AUTO.NLU
For more details and questions, contact me: thanhtam.h@gmail.com
S DNG VI ĐIU KHIN ATMEL_AVR ĐIU KHIN VN TC
ĐỘNG CƠ DC THEO PHƯƠNG PHÁP PWM
Bài 1: Gii thiu.
Điu khin vn tc động cơ, trong đó động cơ DC, mt đề tài được quan tâm khá
nhiu trong lĩnh vc điu khin. Có vài phương pháp thường được s dng nhưng l PWM là
phương pháp được ưa chung nht (có th nó d áp dng). Vy PWM là áp dng nó như
thê nào. i viết y s c gng tr li c câu hi trên mc đ đơn gin nht. Bài viết gm 2
phn chính: phn 1 gii thiu phương pháp PWM, phn 2 nói v các chip vi điu khin Atmel
h AVR và ng dng modul PWM ca các chip y.
I. Phương pháp điu rng xung PWM (Pulse Width Modulation)
Để d hiu bn hãy quan sát hình 1 bên dưới
Hình 1: PWM
th gii thích nguyên ca phương pháp này như sau: quan sát hình trên ta thy 2 tín
hiu xung S1 mt S2 cùng chu k T (1ms) tuy nhiên khong Ton (khong thi gian mc
High trong 1chu k ) t khác nhau như thế t s Ton/Toff ca 2 tín hiu cũng khác nhau, vic
điu chnh t s này gi điu rng xung. Áp dng trong điu khin vn tc động cơ, Ton là
thi gian cp ngun và Toff thi gian ngng cp ngun cho động cơ, khi thay đổi t s
Ton/Toff (cũng nghĩa thay đổi đin áp trung nh cp cho động cơ) vn tc động cơ cũng
thay đổi theo.
Hình 2: Ý nim v đin áp trung bình (AVG VOLTS) trong phương pháp PWM
AUTO.NLU
For more details and questions, contact me: thanhtam.h@gmail.com
Tóm li, bng cáchkéo dãn” hay “thu hp” khong Ton (không thay đi chu k T)
th điu khin được vn tc động cơ. Tuy nhiên cn chú ý rng quan h gia vn tc động cơ và
t s độ rng xung không tuyến tính.
Phương pháp PWM không nhng ch được áp dng trong điu khin vn tc động cơ mà
còn có rt nhiu ng dng khác như điu khin nhit độ, đ sáng ...
II. Vi điu khin AVR ca Atmel.
T cách hiu PWM như trên chúng ta th thy rng vic áp dng PWM tương đối d
dàng, ch cn có b to xung là có th to PWM, thm chí bn có th dùng IC 555. Trong i liu
y tôi hướng dn bn s dng các chip vi điu khin để to xung điu rng.
tính ng dng rng rãi ca PWM nên trong hu hết các b điu khin (như PLC,
microcontroller...) thường tích hp modul PWM. Trong các chip vi điu khin modul
PWM thì các chip AVR ca Atmel PIC ca microchip được s dng khá rng rãi. Nếu so
sánh, có th đánh giá mt cách tương đi là modul PWM trong các chip PIC có 1 vài ưu đim so
vi các chip AVR, tuy nhiên PIC s khó m hơn AVR ( VN) nên tôi quyết định gii thiu cho
bn AVR.
AVR ng vi điu khin 8 bits ca hãng Atmel, dòng chip y khá mi nhiu ưu
đim hơn hn dòng chip theo cu trúc 8051. Trong hu hết các chip AVR đều thích hp
modul PWM. Ly d chip ATMega32 3 b Timer vi 4 đường xut xung PWM. đây,
trong các ví d tôi cũng s s dng loi chip này.
Chip ATMega32 b nh chương trình 32KB ( so vi 4KB ca AT89C51 !!!), sn
1KB EEPROM, 2K SRAM...có b chuyn đổi AD 8Bits, 8 nh; 3 b timer vi 4 đường xut
xung PWM (2 chân PWM 18(OCR1B), 19(OCR1A) hot động da vào timer1 (16bit) ,
4(OC0)-timer0 98bit), 21(OC2)-timer2(8bit))...ngoài ra chip y còn rt nhiu đặc đim
khác thích hp vi nhiu loi ng dng khác nhau. Các bn có th đọc datasheet ca chip để biết
thêm.
a) Mch np:
Bây gi trước hết chúng ta đi m mch np cho AVR. Không ging như mch np cho các
chip AT89C51, AT89C52..mch np cho chip AVR tương đi đơn gin. Tôi gii thiu vi các
bn mt loi mch np thuc vào loi d m nht cho AVR, mch np “Kanda System
STK200/+300”
Đây mch np ISP rt đơn gin, đấu ni mch qua cng LPT ca y tính, để làm mch
ch cn 1 cáp cng LPT, 1 IC đệm 74HC244, 1 diode ( loi chnh lưu thông thường), 1 đin tr
100k, và t đin 100nF (t 104), bn có th quan sát sơ đồ nguyên lý ca mch như trong hình 3.
Bn cũng không cn m mch in, ch cn dùng test board được. J1 (Header 6) trong
hình 3 bn m thành 6 đường dây kéo ra, đó chính c đường np. Như vy vi mch np
y, vic np chương trình vào chip s din ra trc tiếp, không cn tháo chip khi mch ng
ng.
AUTO.NLU
For more details and questions, contact me: thanhtam.h@gmail.com
13
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
5
17
4
16
3
15
2
14
1
P1
CONG LPT 25
R1
100k
C1100nF
A1
2
A2
4
A3
6
A4
8
1OE
1
Y1 18
Y2 16
Y3 14
Y4 12
VCC 20
GND
10
A5
11
A6
13
A7
15
A8
17
Y5 9
Y6 7
Y7 5
Y8 3
2OE
19
U1
74ALS244/SO
1
2
3
4
5
6
J1
HEADER 6
D1
DIODE
0
0
0
GND
VCC
RESET
MOSI
MISO
0
CLK
Hình 3: Mch np Kanda system STK200/+300
b. Mch ng dng:
y theo nhu cu s dng mà mch ng dng độ phc tp khác nhau, nhưng cơ bn bn
phi mc các thành phn như trong hình 4. Bn có th hàn mch lên test board hay đơn gin hơn
s dng project board để làm mch ( bn nên làm theo cách y). Mch đin trong hình 4
không đặc bit, ngoài Header J0 (DUONG NAP), bn chú ý Header y, kết ni cho đúng
đây chính là đường np ca mch.
AUTO.NLU
For more details and questions, contact me: thanhtam.h@gmail.com
NA2
NA3
NA4
C?33
C?33
1
2
3
4
5
6
7
8
J1
HEADER 8
+5V
0
0
0
+5V
Y?
4M
1
2
3
4
5
6
7
8
J3
HEADER 8
1
2
3
4
5
6
J0
DUONG NAP
0
1
2
3
4
5
6
7
8
J2
HEADER 8
1
2
3
4
5
6
7
8
J4
HEADER 8
RST
9
PD4[OC1B]
18
PD5[OC1A]
19
PD6[ICP]
20
PC7[TOSC2] 29
AVCC 30
AGND 31
PA0[ADC0] 40
PD7 21
PC0 22
PC1 23
PC2 24
PC3 25
PC4 26
PC5 27
PC6[TOSC1] 28
VCC
10
GND
11
XTAL2
12
XTAL1
13
PD0[RXD]
14
PD1[TXD]
15
PD2[INT0]
16
PD3[INT1]
17
PB0[T0]
1
PB1[T1]
2
PB2[AIN0]
3
PB3[AIN1]
4
PB4[SS]
5
PB5[MOSI]
6
PB6[MISO]
7
PB7[SCK]
8
PO1[ADC1] 39
PA2[ADC2] 38
PA3[ADC3] 37
PA4[ADC4] 36
PA5[ADC5] 35
PA6[ADC6] 34
PA7[ADC7] 33
AREF 32
U?
ATMega32
NA4
NA3
NA2
NA1
0
R?100k NA1
+5V
C?
1uF
0
Hình 4: mch ng dng cơ bn AVR
c. Trình biên dch cho AVR:
Nếu bn đã biết cách lp trình bng Assembly cho các chip AT89C51, bn th tiếp tc
đi theo hướng y. Trong trường hp y bn cn tìm hiu li cu trúc ca AVR (ch cn đọc
datasheet ca chip rt đầy đ), sau đó bn s dng phn mm AvrStudio để lp trình biên
dch chương trình.
Tôi gii thiu bn 1 cách khác lp trình cho AVR, đó là s dng phn mm
CodeVisionAVR. Đây 1 phn mm lp trình theo ngôn ng C cho các chip AVR, h tr gn
như đầy đ các chip, nhiu thư vin m rng và tích hp c chương trình np h tr nhiu
loi mch np ( trong đó mch Kanda STK200/+300). Đây gii pháp khá toàn din cho
người mi bt đầu cũng như người lp trình AVR thành tho.
AUTO.NLU
For more details and questions, contact me: thanhtam.h@gmail.com
Hình 5: giao din CodeVisionAVR
d. Test mch np:
Gi s bn đã trong tay mch np Kanda STK200/+300, mch ng dng trên project
board đã cài được CodeVisionAVR, bn đã th lp trình np cho mch ng ng ca
nh. Bước này tôi hướng dn cách kim tra mch np và np chương trình cho chip.
- Trước hết bn kết ni cab mch np vi cng LPT y tính.
- Kết ni các đường np trên mch np (Header6-J1) vi đường np trên mch ng dng
(DUONG NAP-J0) theo th t tương ng.
- Lp ngun vào mch ng dng.
- Chy chương trình CodevisionAVR.
- Chn file/Open, bn browse đến thư mc có cha file “cavr-pwm1”, m file này lên.
- Bn nhn phím F9 để biên dch, nhn Shilf+F9 để to file hex.
- Tiếp theo bn chn Setting/Programmer, chn loi mch np “Kanda System
STK200/+300”, các thông s khác chn như trong hình 6, nhn OK.