- Thanh ghi OPTION_REG 81h, 181h: thanh ghi này cho phép đọc và ghi, cho phép điều khiển chức năng Pull up của các chân trong PORTB, xáclập các tham số về xung tác động, cạnh tác động củ
Trang 1Ketnooi.com vì sự nghiệp giáo dục
Chương 1 TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC16F87xA 1.1 Giới thiệu về vi điều khiển PIC
PIC bắt nguồn từ chữ viết tắt của “Programmable intelligen computer”(Máy tính khả trình thông minh) là sản phẩm của hãng General Instrument đặtcho dòng sản phẩm đầu tiên của họ là PIC 1650 Lúc này Pic dùng để giao tiếpvới các thiết bị ngoại vi cho máy chủ 16 bit CP1600, vì vậy người ta gọi PICvới tên là “Peripheral Interface Controller” (bộ điều khiển giao tiếp ngoại vi)
Ngày nay rất nhiều dòng PIC được xuất xưởng với hàng loạt các modulngoại vi được tích hợp sẵn (như :USART, PWM, ADC…) với bộ nhớ chươngtrình từ 512word đến 32k Word
PIC sử dụng tập lệnh RISC, với dòng PIC low-end (độ dài mã lệnh 12Bit ví dụ PIC12Cxxx) và mid-range (độ dài mã lệnh 14 bit , ví dụPIC16Fxxx), tập lệnh bao gồm khoảng 35 lệnh, và 70 lệnh đối với dòng PIChigh-end (có độ dài mã lệnh 16bit PIC18Fxxxx) Tập lệnh bao gồm các lệnhtính toán trên các thanh ghi, và các hằng số, hoặc các vị trí ô nhớ, cũng như cócác lệnh điều kiện, nhảy/ gọi hàm, và các lệnh quay trở về, nó cũng có cácchức năng phần cứng khác như ngắt hoặc sleep (chế độ hoạt động tiết kiệmđiện) Microchip cung cấp môi trường lập trình MPLAB0, nó bao gồm phầnmềm mô phỏng và trình dịch ASM
Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng,nhưng chúng ta có thể điểm qua một vài nét như sau :
- 8/16 bit CPU, xây dựng theo kiến trúc Harvard
- Flash và Rom có thể tuỳ chọn 256 byte đến 256 kbybe
- Các cổng xuất/ nhập (mức lôgic thường từ 0v đến 5 v, ứng với mức logic 0
và 1)
- 8/16 bit timer
- Các chuẩn giao tiếp ngoại vi nối tiếp đồng bộ/ không đồng bộ
- Bộ chuyển đổi ADC
- Bộ so sánh điện áp
SVTH: Lê Tiến Thanh
Trang 1
Trang 2
Ketnooi.com vì sự nghiệp giáo dục
- MSSP Pripheral dùng cho các giao tiếp I2C, SPI
- Bộ nhớ nội EEPROM - có thể ghi/ xoá lên tới hàng triệu lần
- Modul điều khiển động cơ, đọc encoder
- Hỗ trợ giao tiếp USB
- Hỗ trợ điều khiển Ethernet
- Hỗ trợ giao tiếp CAN
- Hỗ trợ giao tiếp LIN
- Hỗ trợ giao tiếp IrDA
- DSP những tính năng xử lý tín hiệu số
1.2 Tổng quan vi điều khiển PIC16F87xA
1.2.1 Sơ đồ chân của PIC16F87xA
Hình 1.1 Sơ đồ chân của PIC16F87xA
1.2.2 Các thông số về vi điều khiển PIC16F877A
CPU tốc độ cao :
- Chỉ có 35 cấu trúc lệnh
- Hầu hết các cấu trúc lệnh chỉ mất một chu kỳ máy, ngoại trừ lệnh rẻ nhánhchương trình mất hai chu kỳ máy
- Tốc độ làm việc: xung đồng hồ đến 20MHz, tốc độ thực thi lệnh 200ns
- 8K*14 words của bộ nhớ chương trình (flash program memory)
- 368*8 byte bộ nhớ dữ liệu RAM
- 256*8 byte bộ nhớ dữ liệu EEPROM
SVTH: Lê Tiến Thanh
Trang 2
Trang 3
Ketnooi.com vì sự nghiệp giáo dục
Đặc điểm ngoại vi:
- Timer 0: 8 bit timer/counter với 8 bít bộ chia tỉ lệ
- Timer 1: 16 bit timer/counter với bộ chia tỉ lệ có thể tăng lên trong chế độSleep theo xung đồng hồ bên ngoài
- Timer2 : 8 bit timer/counter
- Hai Modul capture, compare, PWM
+ Capturre 16 bit có độ phân giải 12,5ns
+ Compare 16 bit có độ phân giải 200ns
+ PWM 16 bít có độ phân giải 10 bit
- Cổng giao tiếp nối tiếp đồng bộ với chế độ Master và Master/ Slave
- Bộ truyền nhận nối tiếp vạn năng
- Cổng Slave song song 8 bit được điều khiển đọc ghi từ bên ngoài
Đặc điểm tương tự
- Độ phân giải 10 bit với 8 kênh chuyển đổi tương tự- số
- Modul so sánh tương tự gồm:
+ Hai modul so sánh tương tự
+ Modul tham chiếu điện áp trên chip (VEF) có thể lập trình được, có thểlập trình nhiều chức năng đầu vào từ các đầu vào và điện áp bên trong
+ Hai đầu ra so sánh có thể sử dụng bên ngoài
SVTH: Lê Tiến Thanh
Trang 3
Trang 4
Ketnooi.com vì sự nghiệp giáo dục
1.3 Sơ đồ khối của vi điều khiển PIC16F877A
Hình 1.2 Sơ đồ khối vi điều khiển PIC16F877A
SVTH: Lê Tiến Thanh
Trang 4
Trang 5
Ketnooi.com vì sự nghiệp giáo dục
Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ0000h (Reset vector) Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địachỉ 0004h (Interup Vector) Bộ nhớ chương trình không bao gồm stack và
SVTH: Lê Tiến Thanh
Trang 5
Trang 6
Ketnooi.com vì sự nghiệp giáo dục
không được địa chỉ hoá bởi bộ đếm chương trình Bộ nhớ Stack sẽ được đềcập trong phần sau
1.3.1.2 Bộ nhớ dữ liệu
SVTH: Lê Tiến Thanh
Trang 6
Trang 7
Ketnooi.com vì sự nghiệp giáo dục
Hình 1.4 Sơ đồ bộ nhớ dữ liệu của PIC16F877A
SVTH: Lê Tiến Thanh
Trang 7
Trang 8
Ketnooi.com vì sự nghiệp giáo dục
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều
bank Đối với PIC16F877A bộ nhớ dữ liệu được chia làm 4 bank Mỗi bank códung lượng 128byte, bao gồm các thanh ghi có chức năng đặc biệt SFG
(Speccial Function Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank Các thanh ghi SFR thường xuyên được sử dụng sẽ được đặt ở tất
cả các bank của bộ nhớ dữ liệu giúp thuận tiện trong quá trình truy xuất và làm
giảm bớt lệnh của chương trình Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877Anhư hình 1.4
1.3.1.2.1 Thanh ghi chức năng đặc biệt
Đây là thanh ghi được sử dụng bởi CPU hoặc được dùng để thiết lập vàđiều khiển các khối chức năng tích hợp trên vi điều khiển
- Thanh ghi STATUS (03h, 83h, 103h, 183h): thanh ghi chứa kết quả thực
hiện phép toán của khối ALU, trạng thái RESET và các bit chọn bank cần truyxuất trong bộ nhớ dữ liệu
- Thanh ghi OPTION_REG (81h, 181h): thanh ghi này cho phép đọc và
ghi, cho phép điều khiển chức năng Pull up của các chân trong PORTB, xáclập các tham số về xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếm
Timer0
- Thanh ghi INTCON (0B, 8Bh, 10Bh, 18Bh): thanh ghi cho phép đọc và
ghi, chứa các bit điều khiển và các bit cờ hiệu khi Timer0 bi tràn, ngắt ngoại viRB0/INT và ngắt Interup un change tại các chân của PORTB
- Thanh ghi PIE1 (8Ch): chứa các bit điều khiển chi tiết các ngắt của các
khối chức năng ngoại vi
SVTH: Lê Tiến Thanh
Trang 8
Trang 9
Ketnooi.com vì sự nghiệp giáo dục
- Thanh ghi PIR1 ( 0Ch) : chứa cờ ngắt của các khối chức năng ngoại vi
các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE1
- Thanh ghi PIE2 (8Dh): chứa các bit điều khiển các ngắt của các khối
chức năng CCP2, SSP bus, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ
EEPROM
- Thanh ghi PIR2 (0Dh): chứa các cờ ngắt của các khối chức năng ngoại
vi, các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghiPIE2
- Thanh ghi PCON (8Eh): chứa các cờ hiệu cho biết trạng thái các chế độ
Reset của vi điều khiển
1.3.1.3 Stack
Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà làmột vùng nhớ đặc biệt không cho phép đọc hay ghi Khi lệnh Call được thựchiện hay khi một ngắt xảy ra làm chương trình bị rẻ nhánh, giá trị của bộ đếmchương trình PC tự động được vi điều khiển cất vào trong Stack Khi mộttrong các lệnh RETURN, RETLW, RETFIE được thực thi, giá trị PC sẽ tựđộng được lấy ra từ trong stack, vi điều khiển sẽ thực hiện tiếp chương trìnhtheo đúng quy trình định trước
SVTH: Lê Tiến Thanh
Trang 9
Trang 10
Ketnooi.com vì sự nghiệp giáo dục
Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứađược 8 địa chỉ và hoạt động theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộnhớ Stack lần thứ 9 sẽ ghi đè lên giá trị cất vào Stack lần đầu tiên và giá trị cấtvào bộ nhớ Stack lần thứ 10 sẽ ghi đè lên giá trị cất vào Stack lần thứ 2
1.3.2 Các cổng xuất nhập
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng
để tương tác với thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua
sự tương tác đó, chức năng của vi điều khiển được thể hiện một cách rỏ ràng
Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA,PORTB, PORTC, PORTD và PORTE Tương ứng với các thanh ghi điềukhiển các cổng xuất nhập là TRISA, TRISB, TRISC, TRISD, TRISE Chứcnăng của từng port xuất nhập được cho ở bảng 1.1
Bảng 1.1 Sơ đồ chân của vi điều khiển PIC
Số chân Tên chân Loại(I/O/P) Chức năng
Vpp
IP
Chân Reset ,tích cực ở mức thấpĐầu vào điện áp nguồn
Đầu vào tương tự 2Đầu vào điện áp tham chiếuĐầu ra Vref bộ so sánh5
RA3
AN3
VREF+
I/OII
Đầu vào tương tự 3Đầu vào điện áp tham chiếu 6
RA4
TOCKI
C1OUT
I/OI/OO
Đầu vào xung đồng bộ bên ngoài Đầu ra bộ so sánh 1
Đầu vào tương tự 4Đầu vào chọn chip ( SPI) SVTH: Lê Tiến Thanh
Trang 10
Trang 11
Ketnooi.com vì sự nghiệp giáo dục
Điều khiển đọc từ port slave song songĐầu vào tương tự 5
Điều khiển ghi từ port slave song songĐầu vào tương tự 6
CS*
AN7
I/OII
Điều khiển chọn chip từ port slaveĐầu vào tương tự 7
Trong chế độ RC chân OSC2 cung cấpCLK0 ,có tần số bằng ¼ tần số OSC1
Đầu ra bộ dao động timer 1Đầu vào xung đồng hồ timer 1
T1OSI
CCP2
I/OII/O
Đầu vào bộ dao động timer 1Đầu vào/ra capture 2 đầu ra PWM2
CCP1
I/OI/O Đầu vào/ra capture 1, đầu ra PWM1
SCK
I/OI/O Đầu vào ra xung đồng hồ đồng bộ nối tiếp
SVTH: Lê Tiến Thanh
Trang 11
Trang 12
Ketnooi.com vì sự nghiệp giáo dục
Dữ liệu vào (SPI)
Dữ liệu vào ra chế độ I2C
Truyền không đồng bộ USARTXung đồng bộ USART 1
RX
DT
I/OII/O
Nhận không đồng bộ USART
Dữ liệu đồng bộ USARTPORT D Là cổng hai hướng
PSP0
I/OI/O Dữ liệu cổng Slave song song
PSP1
I/OI/O
PSP2
I/OI/O
PSP3
I/OI/O
PSP4
I/OI/O
PSP5
I/OI/O
PSP6
I/OI/O
PSP7
I/OI/O33
PORT B là cổng hai hướng
Trang 13Ketnooi.com vì sự nghiệp giáo dục
Hình 1.5 Sơ đồ khối của Timer0
Các thanh ghi điều khiển liên quan đến Timer0 bao gồm:
TMR0(01h, 101h): chứa giá trị đếm của Timer0
INTCON (0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE và PEIE).OPTION_REG (81h, 181h) điều khiển prescaler
SVTH: Lê Tiến Thanh
Trang 13
Trang 14
Ketnooi.com vì sự nghiệp giáo dục
1.3.4 Bộ đếm Timer1
Timer1 là bộ định thời 16 bit, giá trị của Timer1 được lưu trong haithanh ghi TMR1H và TMR1L Cờ ngắt của Timer1 là bit TMR1IF (PIR1<0>).Bit điều khiển của Timer1 là TMR1IE (PIE<0>)
Tương tự như Timer0, Timer1 cũng có hai chế độ hoạt động : chế độ định thời(Timer) với xung kích là xung clock của oscillator (tần số của timer bằng ¼tần số của oscillator) và chế độ đếm (counter) với xung kích là xung phản ánhcác sự kiện cần đếm lấy từ bên ngoài thông qua chân RC0/T1OSO/T1CKI(cạnh tác động là cạnh lên)
Hình 1.6 Sơ đồ khối của timer 1
Các thanh ghi liên quan đến Timer1 bao gồm:
INTCON (địa chỉ 0Bh, 08Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE vàPEIE )
PIR1 (địa chỉ 0Ch): chứa cờ ngắt Timer1 (TMR1IF)
PIE1 (địa chỉ 8Ch): cho phép ngắt Timer1 (TMR1IE)
TMR1L (địa chỉ 0Eh): chứa giá trị 8 bit thấp của bộ đếm Timer1
TMR1H (địa chỉ 0Eh): chứa giá trị 8 bit cao của bộ đếm Timer1
T1CON (địa chỉ 10h): xác lập các thông số cho Timer1
SVTH: Lê Tiến Thanh
Trang 14
Trang 15
Ketnooi.com vì sự nghiệp giáo dục
1.3.5 Bộ đếm Timer2
Timer2 là bộ định thời 8 bit và được hổ trợ bởi hai bộ chia tần sốprescaler và postscaler Thanh ghi chứa giá trị đếm của Timer2 là TMR2 Bitcho phép ngắt của Timer2 tác động là TMR2ON (T2CON<2>) Cờ ngắt củaTimer2 là bit TMR2IF (PIR1<1>) Xung ngõ vào (tần số bằng ¼ tần sốoscillator) được đưa qua bộ chia tần
số prescaler 4 bit ( với các tỉ số chia tần số là: 1:1, 1:4, 1:16 và được điềukhiển bởi các bit T2CKPS1:T2CKPS0 ( T2CON<1:0>) )
Hình 1.7 Sơ đồ khối của Timer2 Các thanh ghi liên quan đên Timer2 bao gồm:
INTCON( địa chỉ 0Bh, 8Bh,10Bh, 18Bh): cho phép toàn bộ các ngắt (GIE vàPEIE)
PIR1 ( địa chỉ 0Ch): chứa cờ ngắt Timer2 (TMR2IF)
PIE1 ( địa chỉ 8Ch): chứa bit điều khiển Timer2 (TMR2IE)
TMR2 (địa chỉ 11h): chứa giá trị đếm của Timer2
T2CON ( địa chỉ 12h): xác lập các thông số cho Timer2
PR2 (địa chỉ 92h): thanh ghi hổ trợ cho Timer2
Ta có nhận xét về các timer như sau:
- Timer0 và Timer2 là bộ đếm 8 bít ( giá trị đếm tối đa là FFh), trong khiTimer1 là bộ đếm 16bit ( giá trị đếm tối đa là FFFFh)
SVTH: Lê Tiến Thanh
Trang 15
Trang 16
Ketnooi.com vì sự nghiệp giáo dục
- Timer0, Timer1 và Timer2 đều có hai chế độ hoạt động là timer vàcounter Xung clock có tần số bằng ¼ tần số của oscillator
1.3.6 Bộ chuyển tín hiệu ADC
ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa haidạng tương tự và số PIC16f877A có 8 ngõ vào analog (RA4: RA0 và RE2:RE0) Hiệu điện thế chuẩn VREF có thể được lựa chọn là VDD, Vss hay hiệuđiện thế chuẩn được xác lập trên hai chân RA2 và RA3 Kết quả chuyển đổi từtín hiệu tương tự sang tín hiệu số là 10 bit số tương ứng và được lưu trong haithanh ghi ADRESH: ADRESL
Khi không sử dụng bộ chuyển đổi ADC, các thanh ghi này có thể được sửdụng như những thanh ghi thông thường khác Khi quá trình chuyển đổi hoàntất, kết quả sẽ được lưu vào hai thanh ghi ADRESH:ADRESL, bit GO/DONE(ADCON0<2>) được xoá về 0 và cờ ngắt ADIF được set
Quy trình chuyển đổi từ tương tự sang số bao gồm các bước sau :
1 Thiết lập các thông số cho bộ chuyển đổi ADC:
2 Thiết lập các cờ ngắt cho bộ AD
3 Đợi cho tới khi quá trình lấy mẫu hoàn tất
4 Bắt đầu quá trình chuyển đổi (set bit GO/DONE)
5 Đợi cho tới khi quá trình chuyển đổi bằng cách :
- Kiểm tra bit GO/DONE nếu GO/DONE =0 quá trình chuyển đổi hoàn tất
- Kiểm tra cờ ngắt
6 Đọc kết quả chuyển đổi và xoá cờ ngắt, set bit GO/DONE (nếu cần chuyểnđổi)
7 tiếp tục thực hiện các bước 1 và 2 cho quá trình chuyển đổi tiếp theo
Các thanh ghi liên quan đến bộ chuyển đổi ADC bao gồm:
INTCON: cho phép các ngắt (các bit GIE, PEIE)
PIR1: chứa cờ ngắt AD (bit ADIF)
ADRESH (địa chỉ 1Fh) và ADCON1 (địa chỉ 9Fh): xác lập các thông số của
bộ chuyển đổi AD
Các PORTA, PORTE liên quan đến các ngõ vào analog
SVTH: Lê Tiến Thanh
Trang 16
Trang 17
Ketnooi.com vì sự nghiệp giáo dục
Hình 1.8 sơ đồ khối bộ chuyển đổi ADC
1.3.7 Bộ so sánh Comparator
Bộ so sánh bao gồm hai bộ so sánh tín hiệu analog và được đặt ởPortA Ngõ vào bộ so sánh là các chân RA3: RA0, ngõ ra là hai chân RA4 vàRA5 Thanh ghi điều khiển bộ so sánh là CMCON Các bit CM2: CM0 trongthanh ghi CMCON đóng vai trò chọn lựa các chế độ hoạt động cho bộComparator
Cơ chế hoạt động của bộ Compartor như sau:
Tín hiệu analog ở chân Vin + sẽ được so sánh với điện áp chuẩn ở chân
Vin- và tín hiệu ở ngõ ra bộ so sánh sẽ thay đổi tương ứng như hình vẽ Khiđiện áp ở chân Vin- lớn hơn điện áp ở chân Vin+ ngõ ra sẽ ở mức 1 và ngượclại
Cực tính của bộ so sánh có thể thay đổi dựa vào các giá trị đặt vào các bitC2INV và C1INV (CMCON<4:5>)
Các thanh ghi liên quan đến bộ so sánh bao gồm:
CMCON (địa chỉ 9Ch) và CVRCON (địa chỉ 9Dh): xác lập các thống số cho
bộ so sánh
SVTH: Lê Tiến Thanh
Trang 17
Trang 18
Ketnooi.com vì sự nghiệp giáo dục
Thanh ghi INTCON: chứa các bit cho phép ngắt( GIE và PEIE)
Thanh ghi PIR2 (địa chỉ 0Dh): chứa cờ ngắt của bộ so sánh (CMIF)
Thanh ghi PIE2 (địa chỉ 8Dh): chứa bit cho phép bộ so sánh ( CNIE)
Thanh ghi PORTA (địa chỉ 05h) và TRISA (địa chỉ 85h): các thanh ghi điềukhiển PORTA
* Bộ tạo điện áp so sánh
Bộ so sánh này chỉ hoạt động khi bộ compartor được định dạng hoạtđộng ở chế độ ‘110’ Khi đó các Pin RA0/AN0 và RA1/AN1 (khi CIS=0)hoặc Pin RA3/AN3 và RA2/AN2 ( khi CIS=1) sẽ là ngõ vào analog của điện
áp cấn so sánh đưa vào ngõ Vin- của hai bộ so sánh C1 và C2 Trong khi đóđiện áp đưa vào ngõ Vin+ sẽ được lấy từ
một bộ tạo điện áp so sánh Sơ đồ khối của bộ tạo điện áp so sánh được trìnhbày như hình 1.9
Hình 1.9 Sơ đồ khối bộ tạo điện áp so sánh
Bộ tạo điện áp so sánh này có thể xem như một bộ chuyển đổi D/A đơngiản Giá trị điện áp cần so sánh ở ngõ ra vào analog sẽ được so sánh với cácmức điện áp do bộ tạo điện áp tạo ra cho tới khi hai điện áp này đạt được giátrị xấp xỉ bằng nhau Khi có kết quả chuyển đổi xem như được chứa trong cácbit CVR3: CVR0
SVTH: Lê Tiến Thanh
Trang 18
Trang 19
Ketnooi.com vì sự nghiệp giáo dục
1.3.8 CCP
CCP (Capture/Comparator/PWM) bao gồm các thao tác trên các xungđếm cung cấp bởi các bộ đếm Timer1 và Timer2 PIC16F877A được tích hợpsẵn hai khối CCP: CCP1 và CCP2 Mỗi CCP có một thanh ghi 16 bit(CCPR1H: CCPR1L và CCPR2H:CCPR2L), pin điều khiển dùng cho khốiCCPx là RC2/CCP1 và RC1/T1PSI/CCP2 Các chức năng của CCP bao gồm:Capture
So sánh (compare)
Điều chế độ rộng xung PWM (Pulse Width Modulation)
Cả CCP1 và CCP2 về nguyên tắc hoạt động đều giống nhau và chứcnăng của từng khối là khá độc lập Tuy nhiên trong một số trường hợp ngoại lệCCP1 và CCP2 có khả năng phối hợp với nhau, để tạo ra các hiện tượng đặcbiệt (Special event trigger) hoặc các tác động lên Timer1 va Timer2 cáctrường hợp đặc biệt được liệt kê trong bảng 1.2
Bảng 1.2 Các thông số của CCP
Capture Capture Dùng chung nguồn xung clock từ TMR1
Capture Compare tạo ra hiện tượng làm xoá TMR1
Compare Compare tạo ra hiện tượng đặc biệt làm xoá TMR1
động của ngắt TMR2
Một số điểm cần lưu ý khi sử dụng CCP như sau:
Các Pin dùng cho khối CCP phải được ấn định là input (set các bit tương ứngtrong thanh ghi TRISC) Khi ấn định các pin dùng cho khối CCP là output,việc đưa giá trị vào PORTC cũng có thể gây ra các hiện tượng tác động lênkhối CCP do trạng thái của pin thay đổi
Timer1 phải hoạt động ở chế độ timer hoặc chế độ đếm đồng bộ
Tránh sử dụng ngắt CCP bằng cách clear bit CCPxIE (thanh ghi PIE1), cờngắt CCPIF nên được xoá bằng phần mềm mỗi khi được set để tiếp tục nhậnđịnh được trạng thái hoạt động của CCP
SVTH: Lê Tiến Thanh
Trang 19
Trang 20
Ketnooi.com vì sự nghiệp giáo dục
Khi hoạt động ở chế độ PWM (khối điều chế độ rộng xung), tín hiệusau khi điều chế sẽ được đưa ra các pin của khối CCP (cần ấn định các pin này
là output)
Độ rộng của xung điều chế được tính theo công thức sau:
PWM duty cycle = (CCJPRxL:CCPxCON<5:4>)*Tosc*(giá trị bộ chia tấn sốTMR2
Như vậy 2 bit CCPxCON<5:4> sẽ chứa hai bit LSB Thanh ghi CCPxL chứabyte cao của giá trị quyết định độ rộng xung Thanh ghi CCPRxH đóng vai trò
là Buffer cho khối PWM Khi giá trị trong thanh ghi CCPxH bằng với giá trịtrong thanh ghi TMR2 và hai bit CCPxCON<5:4> bằng với giá trị 2 bit của bộchia tần số prescler, pin của khối CCP lại được đưa về mức thấp, như vậy ta cóđược hình ảnh của xung điều chế tại ngõ ra của khối PWM
1.3.9 Giao tiếp nối tiếp
1.3.9.1 Chuẩn giao tiếp USART
USART (Universal Synchronous Asynchronous Receiver Transmitter)
là một trong hai chuẩn giao tiếp nối tiếp USART còn được gọi là giao diệngiao tiếp nối tiếp SCI (Serial Communication Interface) Có thể sử dụng giaodiện này cho các giao tiếp với các thiết bị ngoại vi, với các vi điều khiển kháchay với máy tính Các dạng của giao diện USART ngoại vi bao gồm:
Không đồng bộ (Asynchronous); Đồng bộ _ Master mode; Đồng bộ _ Slavemode
PIC16F877A được tích hợp sẵn bộ tạo tốc độ baud BRG (Baud RateGenetator) 8 bit dùng cho giao diện USART BRG thực chất là một bộ đếm cóthể có thể được sử dụng cho cả hai dạng đồng bộ và được điều khiển bởi thanhghi PSPRG Ở dạng bất đồng bộ, BRG còn được điều khiển bởi bit BRGH(TXSTA<2>) Ở dạng đồng bộ tác động của bit BRGH được bỏ qua Tốc độBaud do BRG tạo ra được tính theo công thức trong bảng 1.3
Bảng 1.3 Công thức tính tốc độ Baud
0 (Asychronous )baud rate = Fosc/ Baud rate = Fosc/
SVTH: Lê Tiến Thanh
Trang 20
Trang 21
Ketnooi.com vì sự nghiệp giáo dục
(Asychronous )baud rate = Fosc/
(4(x+1))
(64(x+1))N/A
Trong đó X là giá trị của thanh ghi RSBRG ( X là số nguyên va 0<X<255) Các thanh ghi liên quan đến BRG bao gồm:
TXSTA(địa chỉ 98h): chọn chế độ đồng bộ hay bất đồng bộ (bit SYNC ) vàchọn mức tốc độ baud (bit BRGH)
RCSTA(địa chỉ 18h): cho phép hoạt động cổng nối tiếp (bit PSEN)
RSBRG(địa chỉ 99h): quyết định tốc độ baud
USART bất đồng bộ
Ở chế độ này USART hoạt động theo chuẩn NRZ(None – Return – to –Zero) Nghĩa là các bit truyền đi bao gồm: 1 bit Start, 8 hay 9 bit dữ liệu(thông thường là 8 bit) và một bit Stop Bit LSB sẽ được truyền đi trước Cáckhối truyền và nhận data độc lập với nhau sẽ dùng chung tần số tương ứng vớitốc độ baud cho quá trình dịch dữ liệu (tốc độ baud gấp 16 hay 64 lần tốc độdịch dữ liệu tuỳ theo giá trị của bit BRGH), và để đảm tính hiệu quả của dữliệu thì hai khối truyền và nhận phải dùng chung một định dạng dữ liệu
• Truyền dữ liệu qua chuẩn giao tiếp USART bất đồng bộ
Thành phần quan trọng nhất của khối truyền dữ liệu là thanh ghi dịch
dữ liệu TSR(Transmit Shift Register) Thanh ghi TSR sẽ lấy dữ liệu từ thanhghi đệm dùng cho quá trình truyền dữ liệu TXREG Dữ liệu cần truyền phảiđược đưa vào thanh ghi TXREG Ngay sau khi bit Stop của dữ liệu cần truyềntrước đó được truyền xong, dữ liệu từ thanh ghi TXREG sẽ được đưa vàothanh ghi TSR, thanh ghi TXREG bị rổng, ngắt xảy ra và cờ hiệu TXIF(PIR1<4>) được set Ngắt này được điều khiển bởi bit TXIE(PIE1<4>) Cờhiệu TXIF vẫn được set bất chấp trạng thái của bit TXIE hay tác động củachương trình (không thể xoá TXIF bằng chương trình) mà chỉ có reset về 0 khi
có dữ liệu mới đưa vào thanh ghi TXREG
SVTH: Lê Tiến Thanh
Trang 21
Trang 22
Ketnooi.com vì sự nghiệp giáo dục
Hình 1.10: sơ đồ khối của khối truyền dữ liệu USART
Trong trường hợp dữ liệu cần truyền là 9 bit, bit TX9(TXSTA<6>)được set và bit dữ liệu thứ 9 sẽ được lưu trong bit TX9D(TXSTA<0>) Nênghi bit dữ liệu thứ 9 vào trước, vì khi ghi 8 bit dữ liệu vào thanh ghi TXREGtrước có thể xảy ra trường hợp nội dung thanh ghi TXREG sẽ được load vàothanh ghi TSG trước, như vậy dữ liệu truyền đi sẽ bi sai khác so với yêu cầu
• Nhận dữ liệu qua chuẩn giao tiếp USART bất đồng bộ
Dữ liệu được đưa vào từ chân RC7/RX/DT sẽ kích hoạt khối phục hồi
dữ liệu Khối phục hồi dữ liệu thực chất là một bộ dịch dữ liệu tốc độ cao và
có tần số hoạt động gấp 16 lần hoặc 64 lần tần số baud Trong khi đó tốc độdịch của thanh ghi nhận dữ liệu sẽ bằng với tần số baud hoặc tần số củaOscillator
Bit điều khiển cho phép khối nhận dữ liệu là bit RCEN (RCSTA<4>).Thành phần quan trọng nhất của khối nhận dữ liệu là thanh ghi nhận dữ liệuRSR (Receive Shift Register) Sau khi nhận diện bit stop của dữ liệu truyềntới, dữ liệu nhận được trong thanh ghi RSR sẽ được đưa vào thanh ghiRCGER, sau đó cờ hiệu RCIF(PIR1<5>) sẽ được set và ngắt nhận được kíchhoạt Ngắt này được điều khiển bởi bit RCIE(PIE1<5>) Bit cờ hiệu RCIF làbit chỉ đọc và không thể được tác động bởi chương trình RCIF chỉ reset về 0khi dữ liệu nhận vào ở thanh ghi RCREG đã được đọc và khi đó thanh ghiRCREG rỗng Thanh ghi RCREG là thanh ghi có bộ đệm kép và hoạt độngtheo cơ chế FIFO cho phép nhận 2 byte và byte thứ 3 tiếp tục
SVTH: Lê Tiến Thanh
Trang 22
Trang 23
Ketnooi.com vì sự nghiệp giáo dục
Hình 1.11 Sơ đồ khối của khối nhận dữ liệu USRAT
được đưa vào thanh ghi RSR Nếu sau khi nhận được bit Stop của byte dữ liệuthứ 3 mà thanh ghi RCREG vẫn còn đầy, cờ hiệu báo tràn dữ liệuOERR(RCSTA<1>) sẽ được set, dữ liệu trong thanh ghi RSR sẽ bị mất đi vàquá trình đưa dữ liệu từ thanh ghi RSR vào thanh ghi RCREG sẽ bị gián đoạn.Khi đọc dữ liệu từ thanh ghi RCREG, hai bit FERR và RX9D sẽ nhận các giátrị mới Do đó cần đọc dữ liệu từ thanh ghi RCSTA trước khi đọc dữ liệu từthanh ghi RCREG để tránh bị mất dữ liệu
USART đồng bộ
Giao diện USART đồng bộ được kích hoạt bằng cách set bit SYNC.Cổng giao tiếp nối tiếp vẫn là hai chân RC7/RX/DT, RC6/TX/CK và được chophép bằng cách set bit SPEN USART cho phép hai chế độ truyền nhận dữliệu la Master mode và Slave mode Master mode được kích hoạt bằng cáchset bit CSRC(TXSTA<7>), Slave mode được kích hoạt bằng cách clear bitCSRC Điểm khác biệt duy nhất giữa hai chế độ này là Master mode sẽ lấyxung clock đồng bộ từ bộ tạo xung baud BRG còn Slave mode lấy xung clockđồng bộ từ bên ngoài qua chân RC6/TX/CK Điều này cho phép Slave modehoạt động ngay cả khi vi điều khiển đang ở chế độ Sleep
1.3.9.2 MSSP ( Master Synchronous Serial Port)
SVTH: Lê Tiến Thanh
Trang 23
Trang 24
Ketnooi.com vì sự nghiệp giáo dục
Là giao diện đồng bộ nối tiếp dùng để giao tiếp với các thiết bị ngoạivi(EERPROM, ghi dich, chuyển đổi ADC…) hay các vi điều khiển khác.MSSP hoạt động dưới hai dạng giao tiếp:
SPI (Serial Pheripheral Interface) I2C ( Inter- Intergrated Circuit)
Các thanh ghi điều khiển giao tiếp này bao gồm thanh ghi trạng tháiSSPSTAT và hai thanh ghi điều khiển SSPCON và SSPCON2 Tuỳ theochuẩn giao tiếp được sử dụng (SPI hay I2C) mà chức năng các thanh ghi nàyđược thể hiện khác nhau
• Chuẩn giao tiếp SPI
Chuẩn giao tiếp SPI cho phép truyền nhận đồng bộ Ta cần sử dụng 4pin cho chuẩn giao tiếp này:
RC5/SDO: ngõ ra dữ liệu dạng nối tiếp (Serial Data Output)
RC4/SDI/SDA: ngõ vào dữ liệu dạng nối tiếp (Serial Data Input)
RC3/SCK/SCL: xung đồng bộ nối tiếp (Serial Clock)
RA5/SS/C2OUT: chọn đối tượng giao tiếp (Serial Select) khi giao tiếp ở chế
độ Slave mode
MSSP bao gồm thanh ghi dịch dữ liệu SSPSR và thanh ghi đệm dữ liệuSSPBUF Hai thanh ghi này tạo thành bộ đệm dữ liệu kép Dữ liệu sẽ đượcdịch vào hoặc ra qua thanh ghi SSPSR, bit MSB được dịch trước, đây là mộttrong những điểm khác biệt giữa hai giao diện MSSP và USART (USARTdịch LSB trước)
Trong quá trình nhận dữ liệu, khi dữ liệu được đưa vào chân RC4/SDI/SDAtrong thanh ghi SSPSR, dữ liệu được đưa vào thanh ghi SSPBUF bit chỉ trạngthái của bộ đệm BF sẽ được set báo hiệu bộ đệm đã đầy đồng thời cờ ngắtSSPIF cũng được set, bit BF sẽ tự động reset về 0 khi dữ liệu trong thanh ghiSSPBUF Bộ đệm kép cho phép đọc byte tiếp theo trước khi byte dữ liệu trước
đó được đọc vào Tuy nhiên ta nên đọc dữ liệu từ thanh ghi SSPBUF trước khinhận byte dữ liệu tiếp theo
Quá trình truyền dữ liệu cũng hoàn toàn tương tự như ngược lại: dữ liệucần truyền sẽ được đưa vào thanh ghi SSPBUF đồng thời đưa vào thanh ghiSSPSR, khi đó cờ hiệu BF được set Dữ liệu được dịch vào thanh ghi SSPSR
SVTH: Lê Tiến Thanh
Trang 24
Trang 25
Ketnooi.com vì sự nghiệp giáo dục
và được dịch ra ngoài qua chân RC5/SDO Ngắt xảy ra khi quá trình dịch dữliệu hoàn tất Tuy nhiên dữ liệu trước khi được đưa ra ngoài phải được chophép bởi tín hiệu từ chân RA5/SS/C2OUT Chân này đóng vai trò chọn đốitượng giao tiếp khi SPI ở chế độ Slave mode Cổng giao tiếp của giao diệnSPI được điều khiển bởi bit SSPEN, bên cạnh đó cần điều khiển chiều xuấtnhập của portc thông qua thanh ghi TRISC sao cho phù hợp với giao diện SPI
Sơ đồ kết nối chuẩn giao tiếp SPI như sau:
Hình 1.13 Sơ đồ kết nối của chuẩn giao tiếp SPI
Trong sơ đồ kết nối này, khối master sẽ bắt đầu truyền nhận dữ liệubằng cách gởi tín hiệu xung đồng bộ SCK Dữ liệu sẽ được dịch từ cả haithanh ghi SSPSR đưa ra ngoài nếu có một cạnh của xung đồng bộ tác động vàngưng dịch khi có tác động của cạnh còn lại
Cả hai khối Master và Slave nên được ấn định chung các quy tắc độngcủa xung clock đồng bộ để dữ liệu có thể dịch chuyển đồng thời
• Chuẩn giao tiếp I2C
SVTH: Lê Tiến Thanh
Trang 25
Trang 26
Ketnooi.com vì sự nghiệp giáo dục
Đây là một dạng khác của MSSP, chuẩn giao tiếp I2C cũng có hai chế
độ Master và slave và cũng được kết nối với ngắt I2C sử dụng 2 pin để truyền
và nhận dữ liệu :
RC3/SCK/SCL: chân truyền dẫn xung clock
RC4/SDI/SDA: chân truyền dẫn dữ liệu
Các khối cơ bản trong sơ đồ khối của I2C không có nhiều khác biệt so vớiSPI Tuy nhiên còn có thêm khối phát hiện bit start và bit Stop của dữ liệu vàkhối xác định địa chỉ
Hình 1.14 Sơ đồ khối MSSP( I2C mode)
Trong quá trình nhận dữ liệu, sau khi nhận được một byte dữ liệu hoànchỉnh, thanh ghi SSPSR chuyển dữ liệu vào thanh ghi SSPBUF Thanh ghiSSPSR không đọc và ghi được, quá trình truy xuất thanh ghi này phải thôngqua thanh ghi SSPBUF
Trong quá trình truyền dữ liệu, dữ liệu cần truyền đưa vào thanh ghi SSPBUFcũng sẽ đồng thời đưa vào thanh ghi SSPSR
SVTH: Lê Tiến Thanh
Trang 26
Trang 27
Ketnooi.com vì sự nghiệp giáo dục
PIC16F877A có đến 15 nguồn tạo ra hoạt động ngắt được điều khiểnbởi thanh ghi INTCON(bit GIE) Bên cạnh đó mỗi ngắt còn có một bit điềukhiển và cờ ngắt riêng Các cờ ngắt vẫn được set binh thường khi thỏa mãnđiều kiện ngắt xảy ra bất chấp trạng thái của GIE Tuy nhiên hoạt động ngắtvẫn phụ thuộc vào bit GIE và các bit điều khiển khác Bit điều khiển ngắtRB0/INT và TMR0 nằm trong thanh ghi INTCON, thanh ghi còn chứa bit chophép ngắt ngoại vi PEIE Bit điều khiển các ngắt nằm trong thanh ghi PIE1 vàPIE2 Cờ ngắt của các ngắt nằm trong thanh ghi PIR1 và PIR2
Trong một thời điểm chỉ có một chương trình ngắt được thực thi,chương trình ngắt được kết thức bằng lệnh RETFIE Khi chương trình ngắtđược thực thi, bit GIE tự động đuợc xóa, địa chỉ lệnh tiếp theo của chươngtrình chính được cất vào trong bộ nhớ Stack và bộ đệm chương trình sẽ chỉđến địa chỉ 0004h Lệnh RETFIE được dùng để thoát khoải chương trình ngắt
và quay về chương trình chính, đồng thời GIE cũng được set để cho phép cácngắt hoạt động trở lại Các cờ hiệu được dùng để kiểm tra ngắt nào đang xảy
ra và phải được xóa vào chương trình trước khi cho phép ngắt tiếp tục hoạtđộng trở lại để ta có thể phát hiện được thời điểm tiếp theo mà ngắt xảy ra.Đối với ngắt ngoại vi như ngắt từ chân INT hay ngắt từ sự thay đổi trạng tháicác pin của portB, việc xác định ngắt nào xảy ra ta cần 3 hoặc 4 chu kì lệnhtùy thuộc vào thời điểm ngắt xảy ra ngắt
Ngắt INT
Ngắt này dựa trên sự thay đổi trạng thái của pin RB0/INT Cạnh tácđộng gây ra ngắt có thể là cạnh lên hay cạnh xuống và được điều khiển bởi bitINTEDG( thanh ghi OPTIONREG<6>) Khi có cạnh tác động thích hợp xuấthiện tại pin RB0/INT, cờ ngắt INTF được set bất chấp trạng thái các bit điềukhiển GIE và PEIE Ngắt này có khả năng đánh thức vi điều khiển từ chế độSleep nếu bit cho phép ngắt được set trước khi lệnh sleep được thực thi
Ngắt do sự thay đổi trạng thái các pin trong portB
Các pin portB<7:4> được dùng cho ngắt này và được điều khiển bởi bit RBIE( thanh ghi INTCON<4>), cờ ngắt của ngắt này là bit RBIF(INTCON<0>)
SVTH: Lê Tiến Thanh
Trang 27
Trang 28
Ketnooi.com vì sự nghiệp giáo dục
Chương 2
ĐỘNG CƠ ĐIỆN MỘT CHIỀU VÀ CÁC PHƯƠNG PHÁP ĐIỀU
CHỈNH TỐC ĐỘ
2.1 Đặc tính cơ tĩnh của động cơ điện một chiều ( Động cơ DC )
Có 4 loại động cơ DC thông dụng, bao gồm: Động cơ DC kích từ độc lập, kích từ song song, kích từ nối tiếp và kích từ hỗn hợp
+ Động cơ DC kích từ độc lập: Dòng phần ứng và dòng kích từ có thể
điều khiển độc lập với nhau
+ Động cơ DC kích từ song song: Phần ứng và cuộn kích từ được đấu với
nguồn cung cấp Vì vậy, với loại động cơ này, dòng phần ứng hoặc dòngkích từ chỉ có thể điều khiển độc lập bằng cách thay đổi điện trở phụ trongmạch phần ứng hoặc mạch kích từ Tuy nhiên, đây là cách điều khiển có iệusuất thấp
+ Động cơ kích từ nối tiếp: Dòng phần ứng cũng là dòng kích từ, và do
đó, từ thông động cơ là một hàm của dòng phần ứng
+ Động cơ DC kích từ hỗn hợp: Bao gồm cả kích từ nối tiếp và kích từ
song song Yêu cầu cần đấu dây sao cho sức từ động của cuộn nối tiếp cùngchiều với sức từ động của cuộn song song
Iư A1 F1 Ikt Iư A1 Ikt
+ + + + +
U - - - Ukt U
SVTH: Lê Tiến Thanh
Trang 28
Trang 29
Ketnooi.com vì sự nghiệp giáo dục
Iư A1
F1
S1 S2 Iư S1 S2 A1 + + + +
Iư Rư
+
U Uư =KΦω -
Hình 2.2: Mạch tương đương chế độ tĩnh của động cơ DC
Hệ phương trình cơ bản của động cơ một chiều là:
Trang 30Ketnooi.com vì sự nghiệp giáo dục
ω : Tốc độ động cơ (rad/s)
Φ: Từ thông trên mỗi cực (Wb)
M: moment do động cơ sinh ra (Nm)
K: Hằng số, phụ thuộc cấu trúc động cơ
Với động cơ một chiều kích từ, từ thông Φ là một hàm của dòng phầnứng Nếu giả thiết động cơ hoạt động trong vùng tuyến tính của đặc tính từ hóa, cóthể xem là từ thông tỷ lệ bậc nhất với dòng phần ứng, nghĩa là :
Trang 31Ketnooi.com vì sự nghiệp giáo dục
Hình 2.3 Đặc tính cơ các loại động cơ DM
Đặc tính cơ động cơ một chiều kích từ nối tiếp được vẽ trên hình2.3 Có thể thấy rằng tốc độ động cơ suy giảm nhiều theo moment tải Tuynhiên trong thựïc tế, các động cơ tiêu chuẩn thường được thiết kế làm việctại các cánh nhỏ ( knee-point ) của đặc tính từ hóa khi mang tải định mức.Với tải trên định mức, mạïch từ động cơ bão hòa, khi đó từ thông Ф khôngthay đổi nhiều theo dòng tải Iư dẫn đặc tính cơ tiệm cận với đường thẳng.Động cơ một chiều kích từ nối tiếp thích hợp cho các ứng dụng đòi hỏimoment khởi động cao và có thể quá tải nặng Với moment tải tăng, từ thôngđộng cơ cũng tăng theo Như vậy với cùng một lượng gia tăng của momentnhư nhau, dòng phần ứng Iư của động cơ một chiều kích từ nối tiếp sẽ tăng
ít hơn so với động cơ kích từ độc lập Do đó, trong điều kiện quá tải nặng,
sự quá tải của nguồn cung cấp và sự quá nhiệt của động cơ cũng ít hơn so vớiđộng cơ kích từ độc lập
Theo công thức (2.10), tốc độ động cơ kích từ nối tiếp tỷ lệ nghịch vớicăn bậc hai của moment Vì vậy tốc độ động cơ khi không tải có thể tăng lên SVTH: Lê Tiến Thanh
Trang 31
Trang 32
Ketnooi.com vì sự nghiệp giáo dục
rất cao, chỉ bị hạn chế bởi từ dư của động cơ và có thể gấp hàng chục lần tốc
độ định mức Điều này là không cho phép với máy điện thường chỉ chophép hoạt động gấp hai lần tốc độ định mức Do đó, động cơ kích từnối tiếp không được dùng với các ứng dụng trong đó moment tải có thể nhỏ đếnmức làm tốc độ động cơ vượt quá mức giới hạn cho phép
Đặc tính của động cơ một chiều kích từ hỗn hợp có dạng biểu diễntrên hình 2.3 Tốc độ không tải của động cơ phụ thuộc vào dòng kích từ quacuộn song song, trong khi độ dốc đặc tính cơ phụ thuộc vào sự phối hợp giữacuộn song song và cuộn nối tiếp Động cơ kích từ hỗn hợp được sử dụngtrong những ứng dụng cần có đặc tính cơ tương tự động cơ kích từ nối tiếpđồng thời hạn chế tốc độ không tải ở một giá trị giới hạn thích hợp Cũng cầnlưu ý các đặc tính cơ đề cập trên hình 2.3 là đặc tính cơ tự nhiên của động cơ,nghĩa là các đặc tính này nhận được khi động cơ hoạt động với điện áp cungcấp và từ thông định mức, và không có điện trở phụ nào trong mạch phần ứnghoặc kích từ
2.2 Các phương pháp điều chỉnh tốc độ động cơ DC
Từ công thức (2.5) biểu diễn quan hệ giữa tốc độ–moment động cơ, có thểthấy rằng tốc độ động cơ có thể được điều chỉnh bằng các phương pháp sau:+ Điều chỉnh tốc độ bằng cách thay đồi từ thông kích từ của động cơ
+ Điều chỉnh tốc độ bằng cách thay đổi điện áp phần ứng
+ Điều chỉnh tốc độ bằng cách thay đổi điện trở phụ trong mạch phần ứng
2.2.1 Điều chỉnh từ thông kích từ của động cơ
Điều chỉnh từ thông được sử dụng khi cần tăng tốc độ làm việc củađộng cơ cao hơn tốc độ định mức Có thể thấy điều đó qua công thức (2.5): ω
Đặc tính tĩnh của động cơ kích từ độc lập và kích từ nối tiếp khi điều
khiển từ thông được biểu diễn lần lượt trên hình 2.4 (a) và (b) bằng các đường
nét đứt Lưu ý là độ cứng đặc tính cơ giảm nhanh khi giảm từ thông
Tốc độ cao của động cơ đạt được khi giảm từ thông bị hạn chế bởi:
+ Sự không ổn định của động cơ gây ra bởi ảnh hưởng của phản ứng phần ứng
SVTH: Lê Tiến Thanh
Trang 32
Trang 33
Ketnooi.com vì sự nghiệp giáo dục
+ Giới hạn về mặt cơ khí của động cơ: các động cơ thông thường cho phép tốc
độ đạt đến 1.5 - 2 lần tốc độ định mức Một số động cơ chế tạo đặc biệt cho phéptốc độ cao nhất đạt tới 6 lần định mức
Đối với động cơ DC kích từ độc lập và song song, công suất cực đại chophép của động cơ gần như không đổi với mọi tốc độ khi điều khiển từ thông(xem hình 2.5) Có thể thấy điều này nếu giả thiết là dòng cực đại cho phép, Iưcủa động cơ không thay
đổi khi điều chỉnh từ thông và điện áp cung cấp cho phần ứng, U là định mức,không đổi
Khi đó , ta có: Eư = U – R ưI ư = const (2.11)
P = E ưI ư = const ( vì Iư = const ) (2.12)Vậy công suất động cơ không thay đổi khi điều chỉnh tốc độ bằng phương phápthay đổi từ thông Do đóù moment cực đại cho phép của động cơ sẽ biến thiên tỉ
lệ nghịch với tốc độ, vì: M =
ω
P
(2.13)
Lưu ý: Trong thực tế, giả thiết dòng phần ứng cực đại cho phép I không thay
đổi khi giảm từ thông chỉ là gần đúng Tác động của phản ứng phần ứng cànglớn khi từ thông càng giảm, do đó dòng phần ứng cực đại cho phép cần giảmxuống để không sinh ra tia lửa điện quá mức trên cổ góp Điều n ày dẫn đếnviệc giá trị thực tế của I sẽ giảm xuống khi tốc độ tăng cao
Đối với động cơ DC kích từ độc lập, việc điều khiển kích từ được thựchiện bằng cách thay đổi điện áp kích từ với bộ chỉnh lưu có thể điều khiểnhoặc bộ chopper, tùy theo nguồn cung cấp được sử dụng là AC hay DC Vớiđộng cơ công suất nhỏ, cũng có thể nối tiếp biến trở vào mạch kích từ để điềukhiển từ thông
Với động cơ DC kích từ nối tiếp, việc điều khiển từ thông được thựchiện bằng cách thay đổi điện trở song song với cuộn kích từ Một số động cơkích từ nối tiếp có cuộn kích từ nhiều đầu ra, và do đó có thể thay đổi từ thôngbằng cách thay đổi số vòng dây cuộn kích từ
SVTH: Lê Tiến Thanh
Trang 33
Trang 34
Ketnooi.com vì sự nghiệp giáo dục
2.2.2 Điều chỉnh theo điện áp phần ứng
Với động cơ DC kích từ độc lập, nếu điện áp kích từ được duy trì khôngđổi, hoặc động cơ kích từ dùng nam châm vĩnh cửu có thể giả thiết rằng từthông động cơ không đổi khi moment động cơ thay đổi
Khi đó: KФ = const (2.14)
Vậy để thay đổi tốc độ động cơ ta thay đổi điện áp phần ứng Bằng cáchthay đổi điện áp phần ứng, động cơ có thể làm việc tại bất kỳ tốc độ nào,moment nào
Tính chất quan trọng của phương pháp này là độ cứng đặc tính cơ không thayđổi khi
tốc độ động cơ được điều chỉnh Điều này khiến hệ có khả năng đáp ứng vớitải có moment hằng số vì dòng phần ứng cực đại cho phép Iưmax- tương ứng với
nó là moment tải cực đại cho phép của động cơ không đổi với mọi tốc độ.Điện áp phần ứng động cơ có thể được điều khiển bằng cách sử dụng:
+ Máy phát DC (Hệ Máy phát – Động cơ)
+ Bộ chỉnh lưu có điều khiển (Biến đổi AC → DC )
+ Bộ Chopper (Bộ biến đổi xung áp) : DC → DC
Hình 2.4: Điều khiển bằng cách thay đổi điện áp phần ứng, từ thông báo
2.2.3 Điều chỉnh điện trở phụ trong mạch phần ứng
Hình 2.6 biểu diễn đặc tính cơ của động cơ DC kích từ độc lập và nốitiếp khi điều khiển tốc độ bằng cách thêm điện trở phụ vào phần ứng
Nhược điểm chính của phương pháp này là có hiệu suất của hệ thống rất kém
SVTH: Lê Tiến Thanh
Trang 34
Trang 35
Ketnooi.com vì sự nghiệp giáo dục
và độ cứng đặc tính cơ thấp Do đó, phương pháp này hiện nay ít được sử dụng
để điều khiển tốc độ động cơ, trừ các trường hợp :
+ Khởi động động cơ
+ Thay đổi tốc độ động cơ trong một thời gian ngắn trong chế độ ngắn hạn hoặcchế độ ngắn hạn lặp lại
Hình 2.5 Đặc tính động cơ DC khi thêm điện trở phụ vào phần ứng
2.3 Phương pháp điều chế độ rộng xung
Phương pháp điều rộng xung (PWM: Pulse Width Modulation) làphương pháp thay đổi điện áp phần ứng của động cơ DC bằng cách thay đổithời gian đóng ngắt công tắc nguồn Đây là phương pháp sử dụng rất phổ biến vìnhững ưu điểm của nó như :
+ Mạch thiết kế khá đơn giản
+ Tốc độ động cơ thay đổi êm và như mong muốn
+ Tổn hao công suất nhỏ
Xét mạch điện như hình vẽ : S R
L
U E
Hình 2.6 Mạch nguyên lý điều rộng xung
Bằng cách thay đổi thời gian đóng ngắt công tắc S, ta có thể thu đượcợcđiện áp trung bình đặt trên động cơ thay đổi theo ý muốn, khoảng thay đổi từ0V đến U Dạng áp ra như sau :
SVTH: Lê Tiến Thanh
Trang 35
Trang 36
Ketnooi.com vì sự nghiệp giáo dục
0 t
Hình 2.7 Dạng áp ra sau khi điều chế
Trị trung bình điện áp trên tải tính theo công thức :
Ut = U Uγ
T
Với T = ton + toff là chu kỳ không đổi của xung kích S.
Từ công thức (2.15) ta thấy 0 ≤Ut ≤ U , và Ut phụ thuộc tỉ số γ, vậy có thểđiều chỉnh điện áp trên tải theo ý muốn bằng cách thay đổi tỉ số γ
Trong điều khiển động cơ DC bằng phương pháp PWM với tần số của xungđiều khiển cao, người ta có thể sử dụng các vi điều khiển để tạo xung (tần số
từ 5Khz đến 20Khz) để điều khiển các mạch động lực (trong các khối mạchđộng lực, thường dùng IGBT hay MosFet làm khóa đóng ngắt )
2.4 Sơ đồ khối của động cơ điện một chiều kích từ độc lập
Trang 37Ketnooi.com vì sự nghiệp giáo dục
Hình 2.8 Sơ đồ khối động cơ điện một chiều kích từ độc lập
Sơ đồ có ba thông số đầu vào: - Điện áp phần ứng (Uư)
- Điện áp kích từ (Ukt)
- Moment cản (Mc)
Và có hai thông số đầu ra: - Tốc độ động cơ (ω)
- Moment điện từ của động cơ (M)
2.4.1 Sơ đồ khối của động cơ điện một chiều kích từ độc lập với kích từ
Gđc(p)=
Jp
K p T R
Jp
K p T R
đm u
u
đm u
u
1.).(
1
/11
1 1
/1
2
Φ++
Φ+
(2.16)
Gđc(p)= u( u 1) ( đm)2
đm
K Jp p T R
K
Φ++
K
Φ++
Φ
(2.18)
Gđc(p)=
1)()
Φ
p K
J R p
K
J R T
K
đm
u đm
u u
, Hệ số khuếch đại động cơ (2.21)
SVTH: Lê Tiến Thanh
Trang 37
1
/ 1
+
p T
Ru
Jp
1
KΦdm
Trang 38Ketnooi.com vì sự nghiệp giáo dục
Tc = ( đm)2
u
K
J R
Φ , Hằng số thời gian cơ (2.22)
2.4.2 Thực nghiệm nhận dạng đối tượng điều khiển:
Từ trước đến nay khi tổng hợp các hệ truyền động nhiều thông số người
ta thường phân hệ thành cấu trúc nhiều mạch vòng có các bộ điều chỉnh nốitheo cấp Do đó việc xác định được các tham số của đối tượng điều khiển (màkhông phải nhà sản xuất nào cũng cung cấp) là tất yếu
Thông thường đối động cơ điện một chiều nhà sản xuất sẽ cung cấp cácthông số cơ bản: Uưđm, Iưđm, Pđm, ηđm Tuy nhiên để tổng hợp và mô phỏng hệchúng ta cần phải biết thêm một số tham số khác như: Điện trở phần ứng (Rư),Điện cảm phần ứng (Lư), Mômen quán tính của rôto (J), Hằng số mômen (Km),Mômen tổn hao theo tốc độ (Bω) Đây là các tham số động nên để xác địnhđược cần phải thí nghiệm nhiều lần và lấy giá trị trung bình
Có nhiều phương pháp thực nghiệm hay các công thức lý thuyết gần đúng để tính chúng
Sử dụng động cơ một chiều kích từ độc lập bằng nam châm vĩnh cửu
Do hãng HITACHI sản xuất có các thông số:
- Điện áp định mức Uđm= 24VDC
- Dòng điện định mức Iđm = 2A
- Công suất định mức Pđm =20W
2.5 Giới thiệu về Encoder sử dụng trong đồ án
Trong thực tế có nhiều loại encoder khác nhau như: Encoder tiếp xúc,Encoder từ trường, Encoder quang (gồm: Encoder quang tương đối, Encoderquang tuyệt đối) Mỗi loại lại có một nguyên lý hoạt động khác nhau, trong đồ
án này, tôi chỉ sử dụng loại Encoder quang tương đối (incremental encoder)
nên trình bày về loại encoder này
Loại incremental encoder dùng trong đồ án được gắn đồng trục với động
cơ DC 24V – 20W, và có độ phân giải là 100 xung/vòng
SVTH: Lê Tiến Thanh
Trang 38
Trang 39
Ketnooi.com vì sự nghiệp giáo dục
- Mô hình thứ 1:
Incremental encoder về cơ bản là một đĩa tròn quay quanh một trụcđược đục lỗ như hình 2.9 Ví dụ Encoder có 100, 200, 500 hay 1000 vạch khe
hở trên vành đĩa
Hình 2.10 Encoder quang loại tương đối- mô hình 1
Ở hai bên mặt của cái vành đĩa, sẽ có một bộ thu phát quang Trong quátrình encoder quay quanh trục, nếu gặp lỗ trống thì ánh sáng chiếu qua được,nếu gặp mãnh chắn thì tia sáng không chiếu qua được Do đó tín hiệu nhận được từencoder quang là một chuỗi xung Mỗi encoder được chế tạo với số khe hởtrên vành đĩa, sẽ cho biết sẵn số xung khi quay hết một vòng Do đó ta cóthể dùng vi điều khiển đếm số xung đó trong một đơn vị thời gian và tính ratốc độ động cơ (có encoder được gắn đồng trục), khi đó encoder nào có sốkhe hở (lỗ) trên vành đĩa càng nhiều thì độ chính xác càng cao
Hình 2.11 Cách thức hoạt động của encoder quang loại tương đối
Encoder mà tôi sử dụng trong đồ án, hoàn toàn giống với mô hình ởtrên Tuy nhiên, mô hình trên có nhược điểm lớn là: ta không thể xác định
SVTH: Lê Tiến Thanh
Trang 39
Trang 40
Ketnooi.com vì sự nghiệp giáo dục
được động cơ quay trái hay quay phải, vì có quay theo chiều nào đi nữa thìchỉ có một dạng xung đưa ra Ngoài ra thời điểm bắt đầu hoạt động củađộng cơ, ta cũng không thể nào biết được
- Mô hình thứ 2: (Cải tiến mô hình 1, nhằm khắc phục các nhược điểm )
Hình 2.12 Mô hình 2 của encoder quang loại tương đối
Trong mô hình này, người ta đục tất cả là 2 vòng lỗ Vòng ngoài cũnggiống như mô hình 1 ( thường được gọi là vòng A) , vòng giữa lệch pha so vớivòng ngoài là 90 độ ( gọi là vòng B ) Khi đó, dạng xung ra từ 2 vòng trên nhưsau :
Hình 2.13 Sơ đồ xung ra của encoder quang tương đối – mô hình 2
Hai xung đưa ra từ 2 vòng lệch nhau 90 độ, nếu vòng ngoài (chuỗi xungA) nhanh pha hơn vòng trong (chuỗi xung B) thì chắc chắn động cơ quay từtrái sang phải và ngược lại
Một lỗ ở vòng trong cùng dùng để phát hiện điểm bắt đầu của động cơ Có thểviết chương trình cho vi điều khiển nhận biết: nếu có một xung phát ra từvòng trong cùng này, tức là động cơ đã quay đúng một vòng Tín hiệu củachuỗi xung do 1 lỗ này tạo ra thường gọi là xung Z
Với những đặc tính trên, encoder loại này (mô hình 2) được dùng rất
SVTH: Lê Tiến Thanh
Trang 40