Professional Documents
Culture Documents
BK
TP.HCM
i
BOÄ GIAÙO DUÏC VAØ ÑAØO TAÏO COÄNG HOØA XAÕ HOÄI CHUÛ NGHÓA VIEÄT NAM
TRÖÔØNG ÑAÏI HOÏC BAÙCH KHOA Ñoäc Laäp – Töï Do – Haïnh Phuùc
Thaønh phoá Hoà Chí Minh ===================================
Khoa: ÑIEÄN – ÑIEÄN TÖÛ
Boä moân: ÑIEÀU KHIEÅN TÖÏ ÑOÄNG
Tröôùc heát xin caûm ôn ba meï , gia ñình ñaõ laø nguoàn ñoäng vieân raát lôùn vaø laø choã döïa vöõng
chaéc nhaát cuûa con trong suoát quaù trình hoïc taäp.
Kính göûi ñeán thaày LEÂ NGOÏC ÑÌNH lôøi caûm ôn chaân thaønh vaø saâu saéc, caûm ôn thaày ñaõ
taän tình höôùng daãn, chæ daïy em töø caùc ñoà aùn moân hoïc cho ñeán khi hoaøn thaønh luaän vaên toát
nghieäp.
Em xin caûm ôn taát caû quyù thaày coâ cuûa tröôøng ñaïi hoïc Baùch Khoa TP.HCM noùi chung,
quyù thaày coâ cuûa khoa Ñieän-Ñieän töû vaø boä moân Ñieàu Khieån Töï Ñoäng noùi rieâng ñaõ taän tình
giaûng daïy , trang bò cho em nhöõng kieán thöùc boå ích trong khoaûng thôøi gian hoïc ñaïi hoïc.
Toâi xin caûm ôn taát caû baïn beø ñaõ ñoäng vieân, goùp yù, giuùp ñôõ toâi raát nhieàu trong quaù trình
hoïc taäp vaø thöïc hieän luaän vaên .
ii
TOÙM TAÉT LUAÄN VAÊN
Nhieäm vuï cuûa ñeà taøi laø söû duïng giaûi thuaät ñieàu khieån keát hôïp vôùi vi ñieàu khieån ñeå oån
ñònh vaø ñoàng boä toác ñoä heä ñoäng cô ñieän moät chieàu ( ñoäng cô DC ).
Ñeà taøi ñöôïc thöïc hieän nhö sau: Söû duïng giaûi thuaät ñieàu khieån PI-Môø keát hôïp vôùi vi ñieàu
khieån 16-bit MC9S12DP512 ñeå oån ñònh vaø ñoàng boä toác ñoä heä ñoäng cô DC . Moâ hình phaàn cöùng
bao goàm 3 moâ-ñun maïch : moâ-ñun 0 ñoùng vai troø laøm trung taâm ñieàu khieån-giaùm saùt toaøn heä
thoáng , moâ-ñun 1 ñieàu khieån ñoäng cô 1, moâ-ñun 2 ñieàu khieån ñoäng cô 2 .
Vi ñieàu khieån treân moâ-ñun 1 seõ nhaän toác ñoä ñaët töø ngöôøi duøng ,söû duïng giaûi thuaät ñieàu
khieån PI-Môø ñeå ñieàu roäng xung (PWM: Pulse Width Modulation) ñieàu khieån ñoäng cô 1 chaïy
ñuùng theo toác ñoä ñaët , ñoàng thôøi truyeàn giaù trò toác ñoä cuûa ñoäng cô 1 cho vi ñieàu khieån treân moâ-
ñun 2 qua Port A cuûa 2 vi ñieàu khieån. Vi ñieàu khieån treân moâ-ñun 2 seõ laáy giaù trò toác ñoä cuûa
ñoäng cô 1 töø Port A ñeå laøm toác ñoä ñaët , vaø söû duïng giaûi thuaät ñieàu khieån PI-Môø ñeå ñieàu roäng
xung ( PWM ) ñieàu khieån ñoäng cô 2 chaïy ñuùng theo toác ñoä cuûa ñoäng cô 1.
Caû 3 moâ-ñun ñeàu ñöôïc keát noái vôùi nhau trong maïng CAN ( Controller Area Network) ñeå
hai moâ-ñun 1 vaø 2 coù theå truyeàn nhanh döõ lieäu veà moâ-ñun 0 (coù vai troø laø trung taâm ñieàu
khieån-giaùm saùt) cho ngöôøi duøng coù theå giaùm saùt .Theâm vaøo ñoù , keát hôïp vôùi maùy vi tính ñaët taïi
moâ-ñun 0, ngöôøi duøng coù theå ñieàu khieån toaøn boä hoaït ñoäng cuûa heä thoáng.
Keát quaû ñaït ñöôïc thoûa maõn khaù toát yeâu caàu ñeà ra: Ñieàu khieån oån ñònh ñöôïc toác ñoä ñoäng
cô DC , ñoàng boä ñöôïc toác ñoä cuûa 2 ñoäng cô DC . Thay ñoåi toác ñoä khaù linh hoaït . Xaây döïng
thaønh coâng maïng CAN duøng ñeå keát noái caùc moâ-ñun trong heä thoáng , cho pheùp ñieàu khieån vaø
giaùm saùt toaøn heä thoáng töø maùy vi tính hay töø moâ-ñun ñieàu khieån trung taâm.
iii
MUÏC LUÏC
iv
3.2.2 Moâ hình CAN trong OSI .........................................................................................27
3.2.3 Lôùp vaät lyù ...............................................................................................................29
3.2.4 Caáu truùc böùc ñieän ...................................................................................................32
3.2.5 Caáu truùc bit trong giao thöùc CAN ..........................................................................35
3.2.6 Truy caäp vaø giaûi quyeát tranh chaáp treân ñöôøng truyeàn.............................................37
3.2.7 Söï ñoàng boä xung clock............................................................................................38
CHÖÔNG 4: ÑOÄNG CÔ ÑIEÄN MOÄT CHIEÀU VAØ CAÙC PHÖÔNG PHAÙP ÑIEÀU KHIEÅN….40
4.1 Ñaëc tính cô tónh cuûa ñoäng cô ñieän moät chieàu ( Ñoäng cô DC ) ........................................40
4.2 Sô löôïc veà caùc phöông phaùp ñieàu khieån toác ñoä ñoäng cô DC ..........................................44
4.2.1 Ñieàu khieån töø thoâng................................................................................................45
4.2.2 Ñieàu khieån ñieän aùp phaàn öùng .................................................................................46
4.2.3 Ñieàu khieån hoãn hôïp ñieän aùp phaàn öùng vaø töø thoâng kích töø .....................................47
4.3 Phöông phaùp ñieàu roäng xung (PWM: Pulse Width Modulation)....................................48
4.4 Giôùi thieäu veà Encoder ñöôïc söû duïng trong luaän vaên ......................................................50
CHÖÔNG 6: THIEÁT KEÁ VAØ THI COÂNG MOÂ HÌNH PHAÀN CÖÙNG…………………..79
6.1 Caáu truùc phaàn cöùng cuûa caùc moâ-ñun trong moâ hình ......................................................79
6.2 Caùc khoái maïch chöùc naêng treân moâ-ñun ñieàu khieån ñoäng cô vaø moâ-ñun trung taâm. .....80
6.2.1 Khoái maïch vi ñieàu khieån trung taâm ........................................................................81
6.2.2 Khoái maïch giao tieáp maùy vi tính qua coång noái tieáp ................................................82
6.2.3 Khoái giao tieáp CAN................................................................................................84
6.2.4 Khoái giao tieáp song song giöõa 2 moâ-ñun ñieàu khieån 2 ñoäng cô ..............................85
6.2.5 Khoái baøn phím ñieàu khieån ñoäng cô ( 4 phím) ........................................................85
6.2.6 Khoái baøn phím choïn caùc cheá ñoä hoaït ñoäng cho moâ hình ........................................86
v
6.2.7 Khoái maïch nguoàn 5 Vdc cho heä thoáng ñieàu khieån ..................................................87
6.2.8 Khoái thôøi gian thöïc .................................................................................................87
6.2.9 Khoái hieån thò LCD ..................................................................................................91
6.2.10 Khoái maïch ñoäng löïc ñieàu khieån ñoäng cô ...............................................................92
6.2 Khoái nguoàn 24/12/5 Vdc cung caáp cho maïch ñoäng löïc vaø ñoäng cô ...............................94
6.3 Sô ñoà maïch BDM-Pod :Maïch duøng ñeå Naïp ,Debug cho hoï HCS12...............................95
Hình aûnh thaät cuûa moâ hình phaàn cöùng luaän vaên…………………………………….…...96
CHÖÔNG 8: KEÁT QUAÛ ÑAÏT ÑÖÔÏC , HÖÔÙNG PHAÙT TRIEÅN ÑEÀ TAØI……………...123
8.1 Moät soá hình aûnh veà hoaït ñoäng cuûa heä thoáng ................................................................123
8.1.1 Taïi giao dieän treân maùy tính ôû moâ-ñun ñieàu khieån ñoäng cô 1.................................123
8.1.2 Hình aûnh taïi giao dieän treân maùy tính vaø moâ-ñun ôû trung taâm ñieàu khieån ………..125
8.2 Caùc keát quaû ñaõ ñaït ñöôïc..............................................................................................127
8.3 Moät soá ñieåm haïn cheá...................................................................................................128
8.4 Höôùng khaéc phuïc caùc ñieåm haïn cheá vaø phaùt trieån ñeà taøi ............................................128
8.4.1 Höôùng khaéc phuïc caùc ñieåm haïn cheá ......................................................................128
8.4.2 Höôùng phaùt trieån ñeà taøi..........................................................................................129
vi
Chöông 1: Toång quan veà ñeà taøi GVHD: KS. Leâ Ngoïc Ñình
CHÖÔNG 1
- Trong neàn coâng nghieäp hieän ñaïi vaø phaùt trieån , caùc daây chuyeàn saûn xuaát hoaït ñoäng chuû
yeáu döïa treân caùc maùy moùc , döôùi söï ñieàu khieån vaø giaùm saùt cuûa con ngöôøi. Khi coù caøng
nhieàu maùy moùc vaø nhieàu coâng ñoaïn söû duïng maùy moùc thì söï phoái hôïp aên khôùp hay coøn goïi
laø söï ñoàng boä giöõa caùc coâng ñoaïn laø ñieàu caàn phaûi quan taâm. Ñieàu naøy caøng ñöôïc chuù
troïng trong caùc lónh vöïc caàn coù ñoä chính xaùc toác ñoä cuûa caùc ñoäng cô cao nhö: ngaønh coâng
nghieäp vaûi , giaáy , deät ,… .
- Xeùt moät ví duï ñôn giaûn veà öùng duïng cuûa söï ñoàng boä , nhö moâ hình baêng chuyeàn sau:
+ Trong moâ hình baêng chuyeàn naøy ta coù 2 ñoäng cô: ñoäng cô 1 duøng ñeå keùo truïc xaû vaø
ñoäng cô 2 duøng keùo truïc cuoán .
+ Yeâu caàu ñieàu khieån laø: Ñoäng cô 1 vaø ñoäng cô 2 luoân phaûi hoaït ñoäng oån ñònh ôû cuøng moät
toác ñoä ñaët tröôùc , ngay caû khi baêng taûi vaän chuyeån caùc haøng hoùa coù khoái löôïng khaùc
nhau. Khi ñoäng cô 1 thay ñoåi toác ñoä thì ñoäng cô 2 cuõng phaûi thay ñoåi toác ñoä theo-phuø
hôïp vôùi söï thay ñoåi cuûa ñoäng cô 1 , ñeå baêng taûi khoâng quaù ñuøn hay quaù caêng.
- Qua caùc daãn chöùng treân , ta nhaän thaáy vaán ñeà ñöôïc ñaët ra ôû ñaây laø: Söï aên khôùp , ñoàng boä
ñoù töø ñaâu maø coù? Söû duïng phöông phaùp naøo ñeå coù theå oån ñònh ñöôïc toác ñoä caùc ñoäng cô vaø
ñieàu khieån chuùng hoaït ñoäng ñoàng boä toác ñoä vôùi nhau ? Ngoaøi ra, khi heä thoáng coù nhieàu daây
chuyeàn ôû xa nhau, laøm sao ñeå ñieàu khieån ñoàng boä vaø giaùm saùt taát caû hoaït ñoäng cuûa caùc
daây chuyeàn ñoù? Ñaây chính laø yù töôûng cho ñeà taøi cuûa Luaän Vaên naøy.
- Ñoàng boä toác ñoä ñoäng cô ñieän xoay chieàu (ñoäng cô AC ) hay ñoäng cô ñieän moät chieàu (ñoäng
cô DC ) ñeàu ñöôïc söû duïng roäng raõi trong nhieàu lónh vöïc . Phaïm vi cuûa Luaän vaên laø giaûi
quyeát baøi toaùn ñoàng boä toác ñoä ñoäng cô DC .
1.2 Caùc phöông phaùp ñaõ ñöôïc söû duïng ñeå ñoàng boä toác ñoä ñoäng cô vaø öùng duïng thöïc teá
Ø Phöông phaùp ñieàu khieån ñoàng boä toác ñoä ñoäng cô AC duøng bieán taàn
Hình 1.2: Sô ñoà ñoàng boä toác ñoä ñoäng cô AC söû duïng bieán taàn
- Bieán taàn 1 coù nhieäm vuï ñieàu khieån ñoäng cô 1 chaïy ñuùng toác ñoä ñaõ ñaët. Encoder seõ phaûn
hoài toác ñoä thaät cuûa ñoäng cô 1 vaø ñöa vaøo boä tæ leä analog . Sau ñoù bieán taàn 2 seõ ñieàu
khieån ñoäng cô 2 chaïy theo ñuùng toác ñoä maø ñoäng cô 1 ñang chaïy.
- Öu ñieåm : ñöôïc duøng cho caùc ñoäng cô AC coù coâng suaát lôùn vaø ñieàu khieån toác ñoä raát toát.
- Nhöôïc ñieåm: caàn söû duïng nhieàu bieán taàn maø giaù thaønh cuûa moät boä bieán taàn laø khaù cao .
Ø Phöông phaùp ñieàu khieån ñoàng boä toác ñoä toác ñoä ñoäng cô DC
Hình 1.3 : Ñieàu khieån toác ñoä ñoäng cô DC duøng phöông phaùp chænh löu ñieàu khieån pha
- Caùc boä ñieàu khieån 1 vaø 2: söû duïng phöông phaùp chænh löu ñieàu khieån pha ñeå ñieàu khieån
oån ñònh toác ñoä ñoäng cô DC coù hoài tieáp , vôùi phaûn hoài ôû voøng trong laø doøng ñieän vaø phaûn
hoài ôû voøng ngoaøi laø vaän toác.
- Boä ñieàu khieån 1 seõ ñieàu khieån ñoäng cô 1 chaïy ñuùng theo toác ñoä ñaët . Toác ñoä thaät cuûa
ñoäng cô 1 seõ ñöôïc truyeàn ñeán cho boä ñieàu khieån 2 ñeå ñieàu khieån ñoäng cô 2 chaïy ñuùng
theo toác ñoä naøy.
- Öu ñieåm: Heä thoáng ñieàu khieån nhieàu voøng neân ñieàu khieån oån ñònh toác ñoä ñoäng cô toát.
- Nhöôïc ñieåm: Caùch thieát keá boä ñieàu khieån duøng phöông phaùp chænh löu ñieàu khieån pha thì
phöùc taïp , yeâu caàu coù nhieàu kieán thöùc vaø kinh nghieäm trong lónh vöïc ñieän töû coâng suaát.
Ø Moät soá hình aûnh veà öùng duïng thöïc teá cuûa ñoàng boä toác ñoä ñoäng cô
+ Trong daây chuyeàn saûn xuaát baùnh kem:
Hình 1.4: ÖÙng duïng cuûa ñoàng boä toác ñoä ñoäng cô - daây chuyeàn saûn xuaát baùnh kem
Hình 1.5: ÖÙng duïng cuûa ñoàng boä toác ñoä ñoäng cô – heä thoáng nhuoäm vaûi
Hình 1.6: ÖÙng duïng cuûa ñoàng boä toác ñoä ñoäng cô trong maùy xeo giaáy
- Söû duïng caùc giaûi thuaät ñieàu khieån ( kinh ñieån , hieän ñaïi ,thoâng minh ) vaø keát hôïp vôùi vi
ñieàu khieån nhaèm thieát keá boä ñieàu khieån toác ñoä ñoäng cô DC , thoûa maõn caùc yeâu caàu : ñaùp
öùng quaù ñoä , sai soá xaùc laäp , ñaûm baûo hoaït ñoäng toát ôû nhieàu möùc vaän toác vaø oån ñònh ngay
caû khi taûi thay ñoåi….
- Thieát keá vaø thi coâng caùc maïch ñieàu khieån vaø moâ hình coù ít nhaát 2 ñoäng cô ñeå töôïng tröng
heä thoáng nhieàu ñoäng cô.
- Vieát chöông trình ñieàu khieån vôùi 2 muïc ñích chính : Thöù nhaát laø oån ñònh toác ñoä cuûa moät
ñoäng cô DC , sau ñoù laø ñieàu khieån ñoàng boä toác ñoä cuûa taát caû caùc ñoäng cô trong heä thoáng
– nghóa laø: Khi ñoäng cô 1 thay ñoåi toác ñoä thì ñoäng cô 2 , ñoäng cô 3… phaûi thay ñoåi toác ñoä
vaø luoân baùm theo ñoäng cô 1.
- Ñoàng thôøi phaûi ñieàu khieån vaø giaùm saùt ñöôïc hoaït ñoäng cuûa taát caû caùc ñoäng cô töø maïch
ñieàu khieån vaø töø maùy vi tính.
- Ñoäng cô DC ñöôïc söû duïng trong luaän vaên laø ñoäng cô DC 24V-20W , ñöôïc gaén ñoàng truïc
encoder quang loaïi töông ñoái ( 100 xung/voøng ) . Moâ hình cuûa luaän vaên goàm 2 ñoäng cô.
Ñieàu khieån toác ñoä baèng phöông phaùp ñieàu roäng xung ( PWM: Pulse Width Modulation).
- Nghieân cöùu lyù thuyeát ñieàu khieån PID , Logic Môø vaø ñaõ thieát keá boä ñieàu khieån PI-Môø (
vôùi luaät hôïp thaønh môø 5x5 cho töøng tham soá: K P , K D , a ) ñeå ñieàu khieån oån ñònh toác ñoä
ñoäng cô DC . Ñaây laø boä ñieàu khieån tích hôïp giöõa boä ñieàu khieån PI kinh ñieån vaø Logic Môø
, toång hôïp ñöôïc caùc öu ñieåm cuûa ñieàu khieån kinh ñieån vaø ñieàu khieån thoâng minh.
- Vi ñieàu khieån ñöôïc söû duïng trong luaän vaên laø MC9S12DP512 , thuoäc hoï vi ñieàu khieån
HCS12 cuûa haõng Motorola ( HCS12 laø hoï ñieàu khieån 16-bit ñöôïc phaùt trieån töø caùc hoï vi
ñieàu khieån 68HC11 / 68HC12 ) . Ñaây laø vi ñieàu khieån khaù maïnh, toác ñoä nhanh, hoaït
ñoäng oån ñònh , tích hôïp nhieàu moâ-ñun chöùc naêng phuø hôïp vôùi caùc yeâu caàu cuûa ñeà taøi.
- Ñaõ tìm hieåu vaø thieát keá moät maïng truyeàn thoâng ñeå ñieàu khieån vaø giaùm saùt taát caû caùc hoaït
ñoäng 2 ñoäng cô trong moâ hình cuûa luaän vaên ( khi môû roäng coù theå laø nhieàu ñoäng cô ) .
Giao thöùc truyeàn thoâng ñöôïc choïn laø giao thöùc CAN ( Controller Area Network ) vì caùc
ñaëc ñieåm sau:
+ Coù tính oån ñònh , toác ñoä truyeàn khaù cao ( 1 Mbit/s treân khoaûng caùch 40m) , truyeàn
ñöôïc döõ lieäu lôùn , ñaùp öùng thôøi gian thöïc , … , phuø hôïp vôùi yeâu caàu ñieàu khieån vaø giaùm
saùt heä thoáng cuûa ñeà taøi - ñaëc bieät khi môû roäng ra heä thoáng coù nhieàu ñoäng cô .
+ Vi ñieàu khieån MC9S12DP512 coù hoã trôï giao thöùc CAN vaø IC laùi ( Transceiver ) cho
maïng CAN nhö : MCP2551 cuûa haõng MicroChip coù giaù reû , raát deã kieám treân thò tröôøng.
- Thieát keá vaø thi coâng 3 moâ-ñun maïch , goàm: 2 moâ-ñun tröïc tieáp ñieàu khieån 2 ñoäng cô (moâ-
ñun 1 , moâ-ñun 2), moät moâ-ñun coù vai troø laø trung taâm ñieàukhieån-giaùm saùt heä thoáng (
moâ-ñun 0 ) .Bao goàm caùc khoái maïch: maïch nguoàn 24/12/5 VDC cung caáp cho ñoäng cô vaø
khoái maïch ñoäng löïc , maïch vi ñieàu khieån (söû duïng nguoàn 5 VDC rieâng) vaø caùc khoái maïch
giao tieáp : RS232 , CAN , ñoàng hoà thôøi gian thöïc , LCD duøng ñeå hieån thò , phím nhaán….
- Thieát keá giao dieän ñieàu khieån vaø giaùm saùt treân maùy vi tính, söû duïng ngoân ngöõ Visual
Basic 6 . Töø ñoù ngöôøi söû duïng coù theå thieát laäp caùc thoâng soá ñeå ñieàu khieån vaø giaùm saùt heä
thoáng ngay treân maùy tính ñaët taïi moâ-ñun ñieàu khieån ñoäng cô soá 1 ( coøn goïi laø ñoäng cô
“chuû” trong moâ hình ) hay taïi trung taâm ñieàu khieån cuûa toaøn heä thoáng.
- Moâ hình heä thoáng hoaït ñoäng khaù toát , ñaùp öùng ñaày ñuû caùc yeâu caàu cuûa luaän vaên ñeà ra vaø
coøn ñöôïc môû roäng theâm moät soá chöùc naêng khaùc.
Hình 1.7: Moâ hình cuûa heä thoáng trong luaän vaên
1.5.2 Moâ taû hoaït ñoäng cuûa moâ hình heä thoáng
- Moãi moâ-ñun ( 1 vaø 2) seõ ñieàu khieån oån ñònh toác ñoä moät ñoäng cô DC töông öùng:
+ Caûm bieán Incremental encoder duøng ñeå phaûn hoài toác ñoä ñoäng cô veà cho vi ñieàu khieån
+ Vi ñieàu khieån vôùi thuaät toaùn ñieàu khieån PI-Môø seõ taïo ra tín hieäu ñieàu khieån cho maïch
ñoäng löïc ñieàu khieån ñoäng cô chaïy theo ñuùng toác ñoä ñaët baèng phöông phaùp Ñieàu roäng
xung PWM .
- Hai vi ñieàu khieån MC9S12DP512 treân 2 moâ-ñun ñieàu khieån soá 1 vaø soá 2 ñöôïc keát noái vôùi
nhau qua 2 port giao tieáp song song ( Port A, H ) nhaèm trao ñoåi nhanh thoâng tin veà toác ñoä:
+ Vi ñieàu khieån treân Moâ-ñun 1 ñieàu khieån toác ñoä ñoäng cô 1 theo toác ñoä ñaët tröôùc, vaø gôûi
toác ñoä thaät cuûa ñoäng cô 1 ra Port A ( Chu kyø gôûi laø 20ms vaø chæ gôûi khi giaù trò toác ñoä thaät
cuûa ñoäng cô 1 coù thay ñoåi ) , vaø ñoïc giaù trò toác ñoä thaät cuûa ñoäng cô 2 töø Port H ñeå hieån thò
leân LCD vaø maùy vi tính.
+ Vi ñieàu khieån treân moâ-ñun 2 seõ ñoïc giaù trò toác ñoä töø Port A , ñieàu khieån ñoäng cô 2 chaïy
theo ñuùng toác ñoä naøy( luùc ñoù toác ñoä ñoäng cô 2 seõ baùm theo vaø phuï thuoäc vaøo ñoäng cô 1 )
, vaø gôûi toác ñoä thaät cuûa ñoäng cô 2 ra Port H (Chu kyø ñoïc gôûi cuõng laø 20ms )
- Caû ba moâ-ñun goàm: 2 moâ-ñun ñieàu khieån vaø moâ-ñun giaùm saùt (moâ-ñun 0) ñöôïc keát noái vôùi
nhau qua maïng CAN :
+ Taát caû döõ lieäu cuûa 2 moâ-ñun ñieàu khieån nhö : toác ñoä caùc ñoäng cô , cheá ñoä hoaït ñoäng …
ñeàu ñöôïc gôûi ñeán moâ-ñun giaùm saùt ( hay laø moâ-ñun trung taâm) , töø ñoù ñöôïc gôûi leân maùy
tính ñöôïc ñaët taïi moâ-ñun naøy (chuaån RS232C ) ñeå: Hieån thò, veõ ñoà thò kieåm chöùng,….
+ Töø moâ-ñun 0 hay maùy tính ñaët taïi trung taâm , ta coù theå ñieàu khieån vaø giaùm saùt ñöôïc taát
caû caùc ñoäng cô trong maïng vôùi caùc cheá ñoä ñieàu khieån ñaõ ñònh tröôùc.
- Ngoaøi ra , coøn coù moät soá chöùc naêng ñöôïc môû roäng nhö:
+ Töø trung taâm, ta coù theå ñieàu khieån caû 2 ñoäng cô chaïy cuøng toác ñoä , chaïy vaø döøng laïi cuøng
luùc maø khoâng phuï thuoäc vaøo nhau. Vaø cuõng coù theå ñieàu khieån rieâng leû töøng ñoäng cô.
+ Coù 2 cheá ñoä ñieàu khieån : cheá ñoä ñieàu khieån baèng tay ( Manual ) vaø cheá ñoä ñieàu khieån Töï
ñoäng (Auto). Trong cheá ñoä töï ñoäng, heä thoáng töï hoaït ñoäng theo thôøi gian caøi ñaët töø tröôùc
CHÖÔNG 2
thuyeàn canoâ laø ñieàu khieån thuyeàn canoâ tôùi beán an toaøn . Muoán tìm hieåu phöông thöùc thöïc hieän
nhieäm vuï ñoù cuûa ngöôøi laùi thuyeàn canoâ thì phaûi xem xeùt ngöôøi ñoù phaûi xöû lyù nhöõng thoâng tin
gì vaø xöû lyù chuùng nhö theá naøo.
+ Ñaïi löôïng ñieàu khieån thöù nhaát laø höôùng di chuyeån cuûa muõi thuyeàn, phuï thuoäc vaøo doøng
soâng phía tröôùc cuûa thuyeàn . Ngöôøi laùi thuyeàn coù nhieäm vuï ñieàu khieån chieác thuyeàn ñi ñuùng
phaàn soâng quy ñònh, töùc laø phaûi luoân giöõ cho thuyeàn naèm trong phaàn beân phaûi cuûa doøng soâng (
gaàn veà phía bôø beân phaûi cuûa doøng soâng hôn , nhöng traùnh khoâng quaù gaàn bôø ñeå thuyeàn khoûi bò
maéc caïn ), tröø tröôøng hôïp phaûi vöôït chieác thuyeàn khaùc. Ñeå laøm coâng vieäc naøy , ngöôøi laùi
thuyeàn khoâng caàn phaûi bieát moät caùch chính xaùc raèng chieác thuyeàn cuûa mình hieän ñang caùch bôø
soâng beân phaûi bao nhieâu bao nhieâu met , maø chæ caàn nhìn vaøo doøng nöôùc tröôùc maët : ngöôøi ñoù
coù theå suy ra ñöôïc raèng chieác thuyeàn hieän ñang caùch bôø soâng beân phaûi nhieàu hay ít, coù coøn
naèm phía beân phaûi cuûa doøng soâng khoâng vaø töø ñoù ñöa ra quyeát ñònh phaûi ñaùnh tay laùi sang
phaûi maïnh hay nheï.
+ Ñaïi löôïng ñieàu khieån thöù hai laø toác ñoä cuûa thuyeàn canoâ. Vôùi nguyeân taéc: ñeå caûm thaáy
chuyeán ñi ñöôïc thoaûi maùi vaø tieát kieäm xaêng, ngöôøi laùi thuyeàn coù nhieäm vuï giöõ nguyeân toác ñoä
cuûa thuyeàn, traùnh khoâng giaûm toác hoaëc taêng toác khi khoâng caàn thieát . Giaù trò veà toác ñoä thuyeàn
maø ngöôøi laùi xe phaûi giöõ cuõng phuï thuoäc nhieàu vaøo nhieàu yeáu toá nhö: Thôøi tieát möa hay naéng,
caûnh quan, maät ñoä thuyeàn treân soâng…, vaø cuõng coøn phuï thuoäc theâm laø ngöôøi laùi thuyeàn coù
quen ñoaïn soâng ñoù hay khoâng? Tuy nhieân quy luaät ñieàu khieån naøy cuõng khoâng phaûi coá ñònh.
Giaû söû tröôùc maët coù moät chieác thuyeàn khaùc , coù kích côõ lôùn , ñi chaäm hôn vaø choaùng vò trí
doøng soâng phía tröôùc. Vaäy thì thay cho nhieäm vuï giöõ nguyeân toác ñoä, ngöôøi laùi thuyeàn phaûi taïm
thôøi thöïc hieän moät nhieäm vuï khaùc: laø giaûm toác ñoä thuyeàn vaø töï ñieàu khieån thuyeàn theo moät
toác ñoä môùi, phuø hôïp vôùi söï phaûn öùng cuûa chieác thuyeàn phía tröôùc cho tôùi khi ngöôøi laùi thuyeàn
ñieàu khieån thuyeàn cuûa mình vöôït qua ñöôïc chieác thuyeàn kia.
+ Ngoaøi 2 ñaïi löôïng ñieàu khieån treân, ngöôøi laùi thuyeàn cuõng phaûi quan taâm ñeán caùc traïng
thaùi cuûa thuyeàn nhö: Ñoäng cô cuûa thuyeàn hoaït ñoäng coù quaù noùng khoâng , heä thoáng chaân quaït
nöôùc ( chaân vòt ) coøn ñaûm baûo khoâng , thuyeàn coù bò vaøo nöôùc do bò thuûng khoâng… ñeå coù theå
kòp thôøi söûa chöõa ,traùnh bò ñaém thuyeàn, hay gaây tai naïn treân soâng.
+ Ñoái töôïng ñieàu khieån laø chieác thuyeàn cuõng coù nhöõng tham soá thay ñoåi caàn phaûi ñöôïc thu
thaäp vaø giaùm saùt thöôøng xuyeân cho coâng vieäc ra caùc quyeát ñònh veà ñaïi löôïng ñieàu khieån. Söï
thay ñoåi caùc tham soá ñoù, ngöôøi laùi thuyeàn coù theå nhaän bieát ñöôïc tröïc tieáp qua caùc ñeøn baùo hieäu
trong thuyeàn, song cuõng coù theå giaùn tieáp qua phaûn öùng cuûa thuyeàn vôùi caùc ñaïi löôïng ñieàu
khieån.
+ Ngöôøi laùi thuyeàn ñaõ thöïc hieän toát chöùc naêng cuûa moät boä ñieàu khieån: Töø thu thaäp thoâng
tin, thöïc hieän thuaät toaùn ñieàu khieån cho ñeán khi ñöa ra tín hieäu ñieàu khieån kòp thôøi maø khoâng
caàn bieát moät caùch chính xaùc veà vò trí, toác ñoä, tình traïng…. cuûa thuyeàn. Hoaøn toaøn ngöôïc laïi vôùi
khaùi nieäm ñieàu khieån chính xaùc, ngöôøi laùi thuyeàn cuõng chæ caàn ñöa ra nhöõng ñaïi löôïng ñieàu
khieån theo nguyeân taéc xöû lyù “môø” nhö:
- Neáu thuyeàn höôùng nheï veà phía giöõa doøng soâng vaø coù xu höôùng qua phía beân traùi doøng
soâng thì ñaùnh tay laùi nheï sang phaûi. Coøn neáu thuyeàn höôùng ñoät ngoät ra phía giöõa doøng
soâng vaø coù theå ñi laán saâu qua phía beân traùi doøng soâng thì ñaùnh maïnh tay laùi sang phaûi.
- Neáu thuyeàn höôùng nheï veà phía bôø soâng beân phaûi thì ñaùnh tay laùi nheï sang traùi. Coøn neáu
thuyeàn höôùng ñoät ngoät ra phía bôø soâng beân phaûi vaø coù theå bò maéc caïn do quaù gaàn bôø thì
ñaùnh maïnh tay laùi sang traùi.
- Neáu thuyeàn chaïy cuøng chieàu vôùi doøng nöôùc chaûy, maät ñoä thuyeàn treân soâng ít, taàm nhìn
khoâng bò haïn cheá: toác ñoä cuûa thuyeàn coù theå cao hôn bình thöôøng moät chuùt .
- Neáu doøng soâng coù maät ñoä thuyeàn ñoâng , taàm nhìn bò haïn cheá: toác ñoä cuûa thuyeàn coù theå
thaáp hôn bình thöôøng moät chuùt.
- Kyõ thuaät thieát keá moät heä thoáng môø mang raát nhieàu tính chaát chuû quan, tuøy thuoäc raát nhieàu
vaøo kinh nghieäm vaø kieán thöùc cuûa ngöôøi thieát keá. Ngaøy nay , tuy kyõ thuaät Môø ñaõ coù nhieàu phaùt
trieån vöôït baäc ,nhöng vaãn chöa coù moät caùch thöùc chuaån vaø hieäu quaû cho vieäc thieát keá heä thoáng
môø. Vieäc thieát keá vaãn döïa treân kyõ thuaät raát cô baûn laø: Thöû – Sai – Söûa , maát nhieàu thôøi gian
cho vieäc chænh söûa ñeå ñaït ñöôïc moät keát quaû coù theå chaáp nhaän ñöôïc.
2.1.2.1 Ñònh nghóa taäp môø, vaø caùc thuaät ngöõ lieân quan
Ø Ñònh nghóa Taäp môø:
- Taäp môø F xaùc ñònh treân taäp kinh ñieån X laø moät taäp maø moãi phaàn töû cuûa noù laø moät caëp caùc
giaù trò ( x, m F ( x) ) trong ñoù x Î X vaø m F laø aùnh xaï m F : X ® [0,1] .
+ AÙnh xaï m F ñöôïc goïi laø haøm lieân thuoäc cuûa taäp môø F.
+ Taäp kinh ñieån X ñöôïc goïi laø taäp neàn cuûa taäp môø F.
- Vaäy vôùi khaùi nieäm nhö treân thì haøm thuoäc m A cuûa taäp A coù taäp neàn X seõ ñöôïc hieåu laø aùnh
xaï m A : X ® {0,1}.
- Ñoä cao: Ñoä cao cuûa taäp môø F (ñònh nghóa treân taäp neàn X) laø giaù trò: h = sup m F ( x), x Î X
- Mieàn xaùc ñònh: Mieàn xaùc ñònh cuûa taäp môø F (ñònh nghóa treân cô sôû X) ñöôïc kyù hieäu bôûi S
laø taäp con cuûa M thoûa maõn: T = {x Î X | m F ( x) > 0} ; M: taäp roõ cô sôû
- Mieàn tin caäy : Mieàn tin caäy cuûa taäp môø F (ñònh nghóa treân cô sôû X) ñöôïc kyù hieäu bôùi T laø
taäp con cuûa M thoûa maõn: T = {x Î X | m F ( x) = 1}
ì m ratlanh ü
ï ï
ï m hoilanh ï
ï ï
+ Vaäy vôùi moät nhieät ñoä t ta coù moät aùnh xaï nhö sau: t ® m = í m vua ý
ïm ï
ï hoinong ï
ï m ratnong ï
î þ
+ Aùnh xaï nhö treân coøn goïi laø quaù trình Môø hoùa cuûa giaù trò roõ nhieät ñoä t.
Hình 2.2: Ví duï veà logic môø trong öùng duïng ño nhieät ñoä
- Hôïp cuûa hai taäp hôïp: m AÈ B = m A ( x ) + m B ( x) - m A ( x).m B ( x) = max{m A ( x), m B ( x)} (2.2)
2.1.3 Meänh ñeà hôïp thaønh môø, luaät hôïp thaønh môø
2.1.3.1. Meänh ñeà hôïp thaønh:
- Khaùi nieäm: Meänh ñeà hôïp thaønh töông öùng vôùi moät luaät ñieàu khieån thöôøng coù daïng:
IF < meänh ñeà ñieàu kieän > THEN < meänh ñeà keát luaän >
- Quy taéc hôïp thaønh MIN : Xeùt meänh ñeà hôïp thaønh A Þ B , ta coù giaù trò cuûa meänh ñeà
hôïp thaønh môø laø moät taäp môø B’ñònh nghóa treân neàn Y (khoâng gian neàn cuaû B) vaø
coù haøm lieân thuoäc laø: m B ' ( y ) = min {m A , m B ( y )}
+ Neáu moät luaät hôïp thaønh coù nhieàu hôn moät meänh ñeà hôïp thaønh thì goïi laø luaät hôïp thaønh
keùp. Phaàn lôùn caùc heä môø trong thöïc teá coù moâ hình laø luaät hôïp thaønh keùp.
+ Nguyeân lyù cöïc ñaïi : hay coøn goïi laø phöông phaùp ñoä
m
cao, chæ duøng cho loaïi taäp môø ra coù ñænh nhoïn, ñöôïc
bieåu dieãn qua bieåu thöùc
m(z*) ³ m(z), "z Î Z z* z
Trong tröôøng hôïp coù nhieàu ñænh nhoïn hay giaù trò cöïc ñaïi khoâng phaûi laø moät ñieåm duy
nhaát thì ngöôøi ta söû duïng :
+ Trung bình caùc cöïc ñaïi (MoM): m
z1 + z 2
z* =
2
z1 z2 z z1 z2 z
+ Phöông phaùp trung bình theo troïng soá (CoM – Center of Maximum) : laø moät bieán daïng cuûa
phöông phaùp troïng taâm khi thay daáu tích phaân baèng daáu sigma, ñöôïc duøng nhaèm ñôn giaûn hoùa
söï tính toaùn, phuø hôïp vôùi caùc ñieàu khieån nhoû. m
m2
Caùc taäp môø ra coù daïng singleton :
m3
m1
z* =
å m ( z ).z
å m ( z) m z1 z2 z3 z
Caùc taäp môø ra khoâng coù daïng ñænh, nhöng ñoái xöùng :
z* =
å m ( z ).z
å m ( z) z1 z2 z
+ Phöông phaùp troïng taâm dieän tích lôùn nhaát : tính theo phöông phaùp troïng taâm nhöng aùp duïng
trong tröôøng hôïp coù ít nhaát vuøng treân taäp neàn ra, tính treân vuøng coù dieän tích lôùn nhaát.
Ø Coù raát nhieàu phöông phaùp giaûi môø , trong thöïc teá thöôøng chæ duøng: Phöông phaùp troïng
taâm, trung bình theo troïng soá hay trung bình caùc cöïc ñaïi. Phöông phaùp troïng taâm hay phöông
phaùp trung bình theo troïng soá cho keát quaû mang tính chaát thoûa hieäp caùc taäp môø ra, thöôøng duøng
trong caùc öùng duïng ñieàu khieån. Trong khi phöông phaùp trung bình caùc cöïc ñaïi cho keát quaû
mang tính dung hoøa caùc taäp môø ra, thöôøng duøng trong caùc öùng duïng nhaän daïng vaø phaân loaïi.
Hình 2.3: Caáu truùc cuûa moät boä ñieàu khieån môø
Moät boä ñieàu khieån Môø goàm 3 khaâu cô baûn :
+ Khaâu môø hoùa
+ Thöïc hieän luaät hôïp thaønh môø
+ Giaûi môø
Ví duï : Boä ñieàu khieån môø MISO ( nhieàu ñaàu vaøo- moät ñaàu ra ) , vôùi vector ñaàu vaøo laø:
+ Mieàn giaù trò vaät lyù cuûa caùc bieán ngoân ngöõ
+ Soá löôïng taäp môø
+ Xaùc ñònh haøm phuï thuoäc
+ Rôøi raïc hoùa taäp môø
- Böôùc 3: Xaây döïng luaät hôïp thaønh
- Böôùc 4: Choïn thieát bò hôïp thaønh
- Böôùc 5: Giaûi môø vaø toái öu hoùa.
- Tuy ñieàu khieån môø coù nhieàu phaùt trieån ,nhöng cho ñeán bay giôø vaãn chöa coù caùc nguyeân taéc
chuaån möïc cho vieäc thieát keá cuõng nhö chöa coù theå khaûo saùt tính oån ñònh, tính beàn vöõng, chaát
löôïng, quaù trình quaù ñoä cuõng nhö quaù trình aûnh höôûng cuûa nhieãu… cho caùc boä ñieàu khieån môø
vaø nguyeân lyù toái öu cho caùc boä ñieàu khieån naøy veà phöông dieän lyù thuyeát. Ñieåm yeáu cuûa lyù
thuyeát môø laø nhöõng vaán ñeà veà ñoä phi tuyeán cuûa heä, nhöõng keát luaän toång quaùt cho caùc heä thoáng
phi tuyeán haàu nhö khoù ñaït ñöôïc.
- Nhaèm khaéc phuïc nhöôïc ñieåm ñoù , coù moät höôùng giaûi quyeát baøi toaùn thieát keá heä thoáng ñieàu
khieån töï ñoäng raát hieäu quaû laø: Keát hôïp giöõa caùc phöông phaùp ñieàu khieån kinh ñieån ( ñieàu
khieån P, PI, PD, PID ; ñieàu khieån bieán traïng thaùi) vôùi logic môø ,nhaèm taän duïng öu ñieåm cuûa caû
hai phöông phaùp ( kinh ñieån vaø môø )ø. Ñoù laø nguyeân nhaân ra ñôøi caùc boä ñieàu khieån tích hôïp
nhö:
+ PID – Môø
Caùc khaâu hieäu chænh P , PD , PI , PID vaø caùch thieát keá boä ñieàu khieån PID
- Heä soá tæ leä caøng lôùn sai soá xaùc laäp caøng nhoû.
- Trong ña soá caùc tröôøng hôïp heä soá tæ leä caøng lôùn ñoä voït loá caøng cao, heä thoáng caøng keùm
oån ñònh.
2.2.2 Khaâu hieäu chænh vi phaân tyû leä PD
- Laø tröôøng hôïp rieâng cuûa khaâu hieäu chænh sôùm pha, trong ñoù ñoä leäch pha cöïc ñaïi giöõa
tín hieäu ra vaø tín hieäu vaøo laø: , töông öùng vôùi taàn soá
- Khaâu hieäu chænh PD laøm nhanh ñaùp öùng cuûa heä thoáng, nhöng cuõng laøm cho heä thoáng
raát nhaïy vôùi nhieãu taàn soá cao . Chuù yù: Thôøi haèng vi phaân caøng lôùn ñaùp öùng caøng nhanh
KI 1
- Haøm truyeàn: G C (s) = K p + = K p (1 + ) (2.7)
s Ti s
- Khaâu hieäu chænh PI laø moät tröôøng hôïp rieâng cuûa khaâu hieäu chænh treå pha, trong ñoù ñoä
leäch pha cöïc tieåu giöõa tín hieäu ra vaø tín hieäu vaøo laø töông öùng vôùi taàn soá
- Khaâu hieäu chænh PI laøm taêng baäc voâ sai cuûa heä thoáng, tuy nhieân cuõng laøm cho heä
thoáng coù voït loá, thôøi gian quaù ñoä taêng leân
- Chuù yù: Thôøi haèng tích phaân caøng nhoû ñoä voït loá caøng cao
2.2.4 Khaâu hieäu chænh vi tích phaân tyû leä PID
- Coù theå noùi trong lónh vöïc ñieàu khieån , boä ñieàu khieån PID ñöôïc xem nhö moät giaûi phaùp ña
naêng cho caùc öùng duïng ñieàu khieån Analog cuõng nhö Digital . Theo moät nghieân cöùu cho
thaáy: Hôn 90% caùc boä ñieàu khieån ñöôïc söû duïng laø boä ñieàu khieån PID . Boä ñieàu khieån
PID neáu ñöôïc thieát keá toát coù khaû naêng ñieàu khieån heä thoáng vôùi chaát löôïng quaù ñoä toát (
ñaùp öùng nhanh , ñoä voït loá thaáp ) vaø trieät tieâu sai soá xaùc laäp.
KI 1
Haøm truyeàn: G C (s) = K p + + K D s = K p (1 + + TD s ) (2.8)
s Ti s
- Khaâu hieäu chænh PID: Laøm nhanh ñaùp öùng quaù ñoä , taêng baäc voâ sai cuûa heä thoáng.
Hình 2.8: Khaâu hieäu chænh vi tích phaân tyû leä PID
Hình 2.9: Thieát keá boä ñieàu khieån PID baèng phöông phaùp Ziegler – Nichols
KI 1
+ Haøm truyeàn: G C (s) = K p + + K D s = K p (1 + + TD s )
s Ti s
+ Baûng 2.1: Choïn thoâng soá cho boä ñieàu khieån PID theo Ziegler – Nichols
- Tröôøng hôïp 2: Xaùc ñònh thoâng soá boä ñieàu khieån PID döïa vaøo ñaùp öùng cuûa heä
kín ôû bieân giôùi oån ñònh
- Taêng daàn giaù trò heä soá khuyeách ñaïi K cuûa heä kín ñeán giaù trò giôùi haïn K gh ( Nghóa laø giaù trò
lôùn nhaát ñeå heä thoáng vaãn coøn oån ñònh , neáu taêng theâm nöõa thì heä thoáng seõ maát oån ñònh) .
Luùc ñoù ñaùp öùng ra cuûa heä kín ôû traïng thaùi xaùc laäp laø dao ñoäng oån ñònh vôùi chu kyø Tgh
CHÖÔNG 3
- CAN ñöôïc phaùt trieån ñaàu tieân bôûi nhaø cung caáp phuï tuøng xe oâtoâ cuûa Ñöùc: Robert Bosch vaøo
giöõa nhöõng naêm 80. Nhaèm thoûa maõn yeâu caàu ngaøy caøng nhieàu cuûa khaùch haøng trong vaán ñeà an
toaøn vaø tieän nghi, vaø ñeå tuaân theo yeâu caàu vieäc giaûm bôùt oâ nhieãm vaø tieâu thuï naêng löôïng.
Ngaønh coâng nghieäp oâtoâ ñaõ phaùt trieån raát nhieàu heä thoáng ñieän töû nhö :heä thoáng choáng tröôït
baùnh xe, boä ñieàu khieån ñoäng cô, ñieàu hoøa nhieät ñoä, boä ñoùng cöûa v.v…Vôùi muïc ñích chính laø
laøm cho nhöõng heä thoáng cuûa xe oâ toâ trôû neân an toaøn, oån ñònh vaø tieát kieäm nhieân lieäu ; ñoàng
thôøi phaûi giaûm thieåu vieäc ñi daây chaèng chòt, ñôn giaûn hoùa heä thoáng, tieát kieäm chi phí saûn xuaát,
thì CAN ñaõ ñöôïc phaùt trieån.
- Ngaøy nay, CAN ñaõ ñöôïc chuaån hoùa thaønh tieâu chuaån ISO11898 ; vaø töø naêm 1991 , CAN coù
chuaån phaùt trieån cuoái cuøng laø Version 2.0 ( goàm : Version 2.0A vaø Version 2.0B). Haàu nhö
moïi nhaø saûn xuaát chip lôùn nhö: Intel, NEC, siemens, Motorola, Maxim IC, Fairchild,
Microchip, Philips, Texas Instrument, Mitsubishi, Hitachi, STmicro... ñeàu coù saûn xuaát ra chip
CAN, hoaëc coù tích hôïp CAN vaøo thaønh ngoaïi vi ( peripheral ) cuûa vi ñieàu khieån. Do ñoù vieäc
thöïc hieän chuaån CAN trôû neân cöïc kyø ñôn giaûn , ruùt gaén thôøi gian thieát keá vaø chi phí thöïc hieän
reû.
- Ñieåm noåi troäi nhaát ôû chuaån CAN laø tính oån ñònh vaø an toaøn ( Reliability and Safety ). Nhôø
cô cheá truy caäp-choáng xung ñoät ñöôøng truyeàn khaù thoâng minh : CSMD/CD ( Carrier Sense
Multiple Access / Collision Detecsion) vaø cô cheá phaùt hieän , xöû lyù loãi cöïc maïnh, neân taát caû
Loãi haàu nhö ñöôïc phaùt hieän. Theo thoáng keâ, xaùc suaát ñeå moät khung truyeàn cuûa CAN bò loãi
maø khoâng ñöôïc phaùt hieän laø:
Hình 3.1: Thoáng keâ veà söï phaùt hieän loãi khung truyeàn CAN
Nghóa laø: Giaû söû cöù 0.7s thì moâi tröôøng taùc ñoäng leân ñöôøng truyeàn CAN laøm loãi 1 bit, Toác ñoä
truyeàn laø 500 kbits/s ; Hoaït ñoäng 8h/ngaøy vaø 365ngaøy/ naêm.
Thì trong voøng 1000 naêm, trung bình seõ coù moät khung truyeàn bò loãi maø khoâng phaùt hieän.
- Maïng CAN thuoäc loaïi heä thoáng döïa vaøo böùc ñieän (message base system), khaùc vôùi heä thoáng
döïa vaøo ñòa chæ ( address base system)::
+ Nhöõng heä thoáng döïa vaøo ñòa chæ thì moãi node ñöôïc gaùn cho moät ñòa chæ coá ñònh,neân khi
coù theâm hay bôùt ñi 1 hay moät nhoùm node trong heä thoáng naøy – thì baét buoäc phaûi thieát keá
laïi qui trình giaùm saùt maïng , daãn ñeán toán nhieàu thôøi gian vaø chi phí.
+ Nhöõng heä thoáng döïa vaøo böùc ñieän seõ coù tính môû hôn vì: Moãi loaïi böùc ñieän (message) seõ
ñöôïc gaùn moät soá caên cöôùc . Khi theâm, bôùt moät node hay thay moät nhoùm node baèng moät
node phöùc taïp hôn cuõng khoâng laøm aûnh höôûng ñeán caû heä thoáng. Coù theå coù vaøi node cuøng
nhaän böùc ñieän vaø cuøng thöïc hieän moät coâng vieäc ( task ), hay thöïc hieän nhöõng coâng vieäc
khaùc nhau, cuõng coù theå laø khoâng laøm gì caû….. Do ñoù heä thoáng ñieàu khieån phaân boá döïa
treân maïng CAN coù tính môû vaø linh hoaït, deã daøng thay ñoåi maø khoâng caàn phaûi thieát keá laïi
toaøn boä heä thoáng.
- Ngoaøi ra , CAN thöôøng ñöôïc duøng ñeå truyeàn döõ lieäu lôùn ( trong khung truyeàn : coù theå chöùa
töø 0 ñeán 8 bytes döõ lieäu ), coù toác ñoä truyeàn töông ñoái cao ( 1 Mbs ôû khoaûng caùch 40m) , oån
ñònh, ñaùp öùng thôøi gian thöïc vaø trong caùc moâi tröôøng khaùc nhau .
- Caùc chuaån Field bus: DeviceNet, CANopen, J1939 … thöôøng duøng trong coâng nghieäp chính
laø chuaån CAN môû roäng. ( Lôùp vaät lyù vaø Lôùp lieân keát döõ lieäu cuûa caùc chuaån naøy laø CAN ).
· Ñoù laø cuõng laø taát caû caùc lyù do taïi sao CAN ñöôïc söû duïng roäng raõi trong nhieàu ngaønh
coâng nghieäp khaùc ngoaøi oâtoâ nhö : caùc maùy noâng nghieäp, taøu ngaàm, duïng cuï y khoa, daây
chuyeàn saûn xuaát töï ñoäng ..v.v.. vaø trôû thaønh giao thöùc giao tieáp raát phoå bieán.
- Phöông thöùc giao tieáp cuûa bus CAN laø söï phaùt taùn thoâng tin ( broadcast ): Moãi ñieåm keát noái
vaøo maïng thu nhaän khung truyeàn töø node phaùt. Sau ñoù, noãi node seõ quyeát ñònh vieäc xöû lyù böùc
ñieän : coù traû lôøi hay khoâng, coù phaûn hoài hay khoâng… Caùch thöùc naøy gioáng nhö söï phaùt thoâng
tin veà ñöôøng ñi cuûa moät traïm phaùt thanh: khi nhaän ñöôïc thoâng tin veà ñöôøng ñi, ngöôøi laùi xe coù
theå thay ñoåi loä trình cuûa anh ta, döøng xe hay thay ñoåi taøi xeá hoaëc chaúng laøm gì caû…
- Moãi node coù theå nhaän nhieàu loaïi böùc ñieän khaùc nhau, vaø ngöôïc laïi: moät böùc ñieän coù theå
ñöôïc nhaän bôûi nhieàu node vaø coâng vieäc ñöôïc thöïc hieän moät caùch ñoàng boä trong heä thoáng phaân
boá.
- Soá caên cöôùc cuûa böùc ñieän phuï thuoäc vaøo möùc ñoä öu tieân cuûa böùc ñieän. Ñieàu naøy cho pheùp
phaân tích thôøi gian ñaùp öùng cuûa töøng böùc ñieän – ñaây laø YÙ nghóa quan troïng trong vieäc thieát keá
heä thoáng nhuùng thôøi gian thöïc. Tröôùc khi coù maïng CAN, löïa choïn duy nhaát cho maïng giao tieáp
trong heä thoáng thôøi gian thöïc laø maïng token-ring chaäm chaïp.
- Coâng ngheä daây caùp truyeàn cuûa maïng CAN ñôn giaûn : Söï truyeàn döõ lieäu thöïc hieän nhôø caëp
daây truyeàn tín hieäu vi sai, coù nghóa laø chuùng ta ño söï khaùc nhau giöõa 2 ñöôøng ( CAN_H vaø
CAN_L). Ñöôøng daây truyeàn thöôøng ñöôïc keát thuùc baèng ñieän trôû 120 Ohm (thaáp nhaát laø 108
ohm vaø toái ña laø 132 ohm) .
Hình 3.2: Moâ hình ví duï cho heä thoáng söû duïng maïng CAN
+ Lôùp lieân keát döõ lieäu ñöôïc chia laøm 2 lôùp nhoû laø Logical link control ( LLC) vaø Medium
Access Control (MAC) , coù chöùc naêng :
- Ñònh nghóa khung truyeàn ( frame ) vaø nhöõng nguyeân taéc phaân xöû (arbitration ) ñeå traùnh
tröôøng hôïp caû hai node trong maïng cuøng truyeàn ñoàng thôøi.
- Ngoaøi ra, coøn coù theâm nhieàu cô cheá khaùc ñeå: kieåm tra, xöû lyù loãi… . Cô cheá kieåm tra,
xöû lyù loãi chia laøm 5 loaïi loãi: Bit error, Stuff error, CRC error, Form error, ACK error.
Hình 3.3: Giao thöùc CAN trong moâ hình 7 lôùp OSI
· Kyõ thuaät Bit stuffing: Moät trong nhöõng öu ñieåm cuûa caùch maõ hoùa NRZ laø möùc cuûa bit
ñöôïc giöõ trong suoát quaù trình cuûa noù. Ñieàu naøy taïo ra vaán ñeà veà ñoä oån ñònh neáu moät
löôïng lôùn bit gioáng nhau noái tieáp. Kyõ thuaät Bit Stuffing aùp ñaët töï ñoäng moät bit coù giaù trò
ngöôïc laïi khi noù phaùt hieän 5 bit lieân tieáp trong khi truyeàn.
Hình 3.6: Sô ñoà lieân quan giöõa thôøi gian bit vaø Time Quantum
Hình 3.7: Hai traïng thaùi “troäi” vaø “laën” trong giao thöùc CAN
- Toác ñoä truyeàn döõ lieäu treân CAN-bus tyû leä nghòch vôùi chieàu daøi cuûa Bus (ñöôøng truyeàn)
Hình 3.8: Moái lieân quan giöõa toác ñoä truyeàn vaø chieàu daøi cuûa ñöôøng truyeàn
- Bôûi tính chaát vaät lyù cuûa bus, caàn thieát phaûi phaân bieät 2 daïng truyeàn:
+ Truyeàn CAN toác ñoä thaáp ( low speed )
+ Truyeàn CAN toác ñoä cao ( high speed )
Baûng 3.1: Thoâng soá cuûa CAN toác ñoä thaáp vaø CAN toác ñoä cao
Hình 3.9: Sô ñoà ñieän aùp cuûa CAN toác ñoä thaáp
Hình 3.10: Sô ñoà ñieän aùp cuûa CAN toác ñoä cao
- Vì tính chaát vi sai treân ñöôøng truyeàn tín hieäu cuûa bus CAN, söï mieãn tröø taùc ñoäng ñieän
töø ñöôïc baûo ñaûm vì 2 daây cuûa bus ñeàu bò taùc ñoäng nhö nhau cuøng moät luùc bôûi tín hieäu
nhieãu. Laø lyù do cho vieäc söû duïng 2 ñieän trôû 120 Ohm ôû 2 ñaàu cuûa daây daãn ñöôøng truyeàn.
Hình 3.11: Söï khaùng nhieãu cuûa CAN-Bus vôùi aûnh höôûng cuûa ñieän töø
3.2.4 Caáu truùc böùc ñieän
· Chuaån CAN ñònh nghóa boán loaïi khung truyeàn ( Frame):
- Khung döõ lieäu ( DATA FRAME ) : duøng khi node muoán truyeàn döõ lieäu tôùi caùc node
khaùc.
- Khung yeâu caàu ( REMOTE FRAME ) : duøng ñeå yeâu caàu truyeàn döõ lieäu.
- Khung loãi ( ERROR FRAME )
- Khung quaù taûi ( OVERLOAD FRAME ) : Khung loãi vaø Khung quaù taûi ñöôïc duøng trong
vieäc phaùt hieän vaø xöû lyù loãi.
· Khung döõ lieäu: Coù hai daïng : Khung chuaån (standard frame) vaø khung môû roäng
( extended frame)
- Hai loaïi khung naøy chæ khaùc nhau ôû vuøng phaân xöû (Arbitration Field ):
Hình 3.13: Söï khaùc nhau giöõa 2 loaïi khung döõ lieäu
· Ñaëc ñieåm chung cuûa 2 loaïi khung döõ lieäu:
+ Baét ñaàu baèng 1 bit khôûi ñaàu khung truyeàn ( SOF : Start of frame ) luoân ôû traïng thaùi “troäi”
+ Tieáp theo laø phaàn vaøo vuøng phaân xöû : 11-bit ID vôùi khung chuaån , 29-bit ID vôùi khung
môû roäng .
+ 1 bit yeâu caàu truyeàn ( RTR: Remote Transmit Request ) ñeå phaân bieät khung yeâu caàu vaø
khung döõ lieäu: Neáu laø möùc “troäi” nghóa laø khung döõ lieäu, neáu laø möùc “laën” nghóa laøkhung
yeâu caàu.
+ 1 bit caên cöôùc môû roäng ( IDE: Identifier Extension) ñeå phaân bieät giöõa khung chuaån ( khi
laø möùc “troäi” ) vaø Khung môû roäng (khi laø möùc “laën” ) .
+ 1 bit r0 luoân ôû traïng thaùi “troäi” .
+ Vuøng ñieàu khieån : goàm 3 bit ñieàu khieån chieàu daøi ( Data Length Control ) cho bieát soá
löôïng byte döõ lieäu cuûa khung truyeàn.
+ Tieáp ñeán laø vuøng döõ lieäu: Coù töø 0 ñeán 8 bytes döõ lieäu .
+ Vuøng kieåm tra: 15 bit CRC vaø 1 bit CRC delimiter , 1 bit Acknoledge , 1 bit delimiter.
+ Cuoái cuøng laø: 7 bits keát thuùc chuoãi ( End of frame ) luoân ôû traïng thaùi “laën” vaø khoaûng
caùch toái thieåu giöõa hai khung truyeàn ( IFS: inter-frame space).
· Khung yeâu caàu: Duøng ñeå yeâu caàu truyeàn khung döõ lieäu tôùi moät node khaùc. Gaàn gioáng
khung döõ lieäu nhöng coù DLC = 0 ( Data Length Control ) vaø khoâng coù vuøng döõ lieäu
- Ñöôïc gôûi töø baát kì traïm naøo trong maïng khi phaùt hieän loãi treân ñöôøng truyeàn
- Khung loãi bao goàm 2 phaàn: Côø loãi ( Error flag) vaø phaân caùch loãi ( Error demiliter )
- Loãi phaân bieät thaønh loãi chuû ñoäng vaø loãi bò ñoäng : Töông öùng vôùi 2 daïng côø loãi: daïng côø
loãi chuû ñoäng goàm 6 bit “troäi” lieân tieáp , côø loãi bò ñoäng goàm 6 bit laën lieân tieáp
- 1 traïm “loãi chuû ñoäng” khi phaùt hieän loãi seõ baùo hieäu baèng côø loãi chuû ñoäng. Côø loãi chuû
ñoäng laøm vi phaïm luaät nhoài bit neân caùc traïm khaùc seõ phaùt hieän loãi vaø göûi choàng côø loãi.
· Khung quaù taûi: Duøng khi bò traøn boä ñeäm
1. Khung quaù taûi goàm côø quaù taûi ( overload flag ) vaø phaân caùch quaù taûi (overload delimiter )
2. Côø quaù taûi bao goàm 6 bit “troäi” lieân tuïc ( töông töï nhö côø loãi chuû ñoäng )
- Phaân caùch quaù taûi laø 8 bit laën lieân tuïc
+ Ví duï: giaû söû toác ñoä truyeàn Bus laø 1Mhz thì: thôøi gian bit = 1/ 1Mhz = 1 us
· Moãi bit trong CAN goàm 4 ñoaïn (segment ) khoâng choàng laáp:
+ Ñoaïn ñoàng boä hoùa( Synchronization Segment) : Nhieäm vuï ñoàng boä hoùa caùc node treân bus
+ Ñoaïn lan truyeàn ( Propation Segment ): Nhieäm vuï buø thôøi gian truyeàn tín hieäu
trong toaøn maïng
+ Ñoaïn pha 1 ( Phase 1 Segment )
+ Ñoaïn pha 2 (Phase 2 Segment )
- Caû Ñoaïn pha 1 vaø Ñoaïn pha 2 ñeàu coù hieäm vuï laø buø sai soá pha caïnh , vaø chieàu daøi cuûa
2 ñoaïn naøy thay ñoåi daøi ngaén vì hieän töôïng ñoàng boä laïi ( resynchronisation)
· Thôøi gian löôïng töû ( Time Quantum ) vaø ñoä daøi cuûa 4 segment :
- Thôøi gian löôïng töû : laø moät ñôn vò thôøi gian taïo thaønh töø chu kì dao ñoäng noäi cuûa moãi
node. Thôøi gian löôïng töû goàm raát nhieàu xung clock cuûa boä dao ñoäng. Chu kì xung clock
ñöôïc goïi laø thôøi gian löôïng töû nhoû nhaát (Minimum Time Quantum). Neáu giaù trò boä chia (
prescale ) laø m thì:
Thôøi gian löôïng töû = m * Thôøi gian löôïng töû nhoû nhaát
( m coù giaù trò töø 1 ñeán 32 )
o Söï löïa choïn soá löôïng Thôøi gian löôïng töû cho moãi ñoaïn (segment ) phuï thuoäc vaøo taàn soá
cuûa boä dao ñoäng. Moät soá löôïng lôùn Thôøi gian löôïng töû cho ñoaïn seõ taêng tính chính xaùc
cuûa söï ñoàng boä cuûa caùc node trong ñöôøng truyeàn.
Hình 3.19: Soá löôïng Thôøi gian löôïng töû cho moãi ñoaïn
3.2.6 Truy caäp vaø giaûi quyeát tranh chaáp treân ñöôøng truyeàn
- CAN söû duïng phöông phaùp truy caäp CSMA/CD ( Carrier Sense Multiple Access with
Collision Detection ), ñieàu khieån phaân keânh theo töøng bit , coù caùc ñaëc ñieåm chính sau:
+ Moãi node treân maïng phaûi luoân kieåm tra treân ñöôøng truyeàn ,ñeå phaùt hieän thôøi gian ñöôøng
truyeàn raûnh ñeå coù theå truyeàn ñi 1 böùc ñieän ( message )
+ Khi ñöôøng truyeàn raûnh , taát caû caùc node ñeàu coù cô hoäi nhö nhau ñeå truyeàn ñi moät böùc ñieän
+ Moãi böùc ñieän ñöôïc baét ñaàu baèng 1 bit khôûi ñieåm vaø maõ caên cöôùc (soá ID ), neân khi coù 2
node cuøng truyeàn böùc ñieän leân ñöôøng truyeàn , vieäc phaân xöû ñuïng ñoä treân ñöôøng truyeàn döïa
vaøo töøng bit cuûa maõ caên cöôùc . Moãi boä thu phaùt phaûi so saùnh möùc tín hieäu cuûa bit gôûi ñi so vôùi
bit nhaän veà, neáu coù söï khaùc bieät thì phaûi ngöøng phaùt.Böùc ñieän naøy ñöôïc phaùt khi ñöôøng truyeàn
raûnh trôû laïi
+ Thöïc teá laø bit ‘0’ (möùc “troäi ) laán aùt bit ‘1’ (möùc “laën” ) neân böùc ñieän coù theû caên cöôùc caøng
nhoû thì ñoä öu tieân caøng cao.
Hình 3.20: Phöông thöùc giaûi quyeát tranh chaáp treân ñöôøng truyeàn
· Trong tröôøng hôïp naøy , khi so saùnh töøng bit cuûa maõ caên cöôùc ( ID ) cuûa 3 node phaùt
cuøng luùc ,thì node 3 coù ñoä öu tieân cao hôn ( do coù giaù trò maõ caên cöôùc nhoû nhaát) neân
ñöôïc quyeàn phaùt böùc ñieän leân ñöôøng truyeàn ,coøn caùc node coøn laïi vaøo traïng thaùi chôø .
· SJW ( Synchronization Jump Width ) : SJW ñieàu chænh moät bit clock ñi töø 1 ñeán 4 Thôøi
gian löôïng töû (ñöôïc khôûi taïo tröôùc trong thanh ghi vaø khoâng ñoåi trong quaù trình hoaït
ñoäng) ñeå thöïc hieän vieäc ñoàng boä vôùi böùc ñieän truyeàn.
· Loãi pha ( Phase Error ) : Loãi pha ñöôïc phaùt hieän khi söï thay ñoåi 1 bit “troäi” thaønh “laën”
hay 1 bit “laën” thaønh“troäi” khoâng xaûy ra beân trong ñoaïn ñoàng boä( Synchronization
Segment ) .
- Ñoàng boä laïi ( Resynchronization ): ñöôïc thöïc hieän ñeå baûo toaøn söï ñoàng boä ñaõ thöïc hieän
bôûi ñoàng boä cöùng. Thieáu ñoàng boä laïi, node nhaän khoâng theå coù ñöôïc söï ñoàng boä vì söï leäch
pha cuûa caùc boä dao ñoäng taïi moãi node.
CHÖÔNG 4
4.1 Ñaëc tính cô tónh cuûa ñoäng cô ñieän moät chieàu ( Ñoäng cô DC )
- Coù 4 loaïi ñoäng cô DC thoâng duïng, bao goàm : ñoäng cô DC kích töø ñoäc laäp, kích töø song
song, kích töø noái tieáp, kích töø toång hôïp.
+ Ñoäng cô DC kích töø ñoäc laäp : doøng phaàn öùng vaø doøng kích töø coù theå ñieàu khieån ñoäc laäp
vôùi nhau.
+ Ñoäng cô DC kích töø song song: phaàn öùng vaø cuoän kích töø ñöôïc ñaáu vôùi nguoàn cung caáp.
Vì vaäy, vôùi loaïi ñoäng cô naøy, doøng phaàn öùng hoaëc doøng kích töø chæ coù theå ñieàu khieån ñoäc laäp
baèng caùch thay ñoåi ñieän trôû phuï trong maïch phaàn öùng hoaëc maïch kích töø. Tuy nhieân, ñaây laø
caùch ñieàu khieån coù hieäu suaát thaáp.
+ Ñoäng cô DC kích töø noái tieáp: doøng phaàn öùng cuõng laø doøng kích töø, vaø do ñoù, töø thoâng
ñoäng cô laø moät haøm cuûa doøng phaàn öùng.
+ Ñoäng cô DC kích töø hoãn hôïp: Bao goàm caû kích töø noái tieáp vaø kích töø song song . Yeâu
caàu caàn ñaáu noái sao cho söùc töø ñoäng cuûa cuoän noái tieáp cuøng chieàu vôùi söùc töø ñoäng cuûa cuoän
song song.
Hình 4.1: Caùc loaïi ñoäng cô ñieän moät chieàu (ñoäng cô DC)
- Maïch töông ñöông ôû cheá ñoä tónh cuûa ñoäng cô moät chieàu ñöôïc trình baøy ôû hình 3.2, ñieän
trôû Rö bieåu thò ñieän trôû phaàn öùng. Ñoái vôùi ñoäng cô moät chieàu kích töø ñoäc laäp hoaëc song
song, ñieän trôû naøy laø ñieän trôû phaàn öùng. Ñoái vôùi ñoäng cô kích töø noái tieáp hoaëc ñoäng cô
kích töø hoån hôïp, Rö laø toång ñieän trôû cuûa cuoän phaàn öùng vaø cuoän kích töø noái tieáp.
Hình 4.2: Maïch töông ñöông cheá ñoä tónh cuûa ñoäng cô DC
Trong ñoù:
Rö: Ñieän trôû phaàn öùng (W)
- Löu yù: Caùc coâng thöùc töø (4.1) ñeán (4.5) coù theå aùp duïng cho taát caû caùc loaïi ñoäng cô moät
chieàu ñaõ keå ôû treân.
- Vôùi ñoäng cô moät chieàu kích töø ñoäc laäp, neáu ñieän aùp kích töø ñöôïc duy trì khoâng ñoåi, coù
theå giaû thieát raèng töø thoâng ñoäng cô khoâng ñoåi khi moment ñoäng cô thay ñoåi. Khi ñoù ta coù:
KF = constant (4.6)
- Nhö vaäy theo (4.5), ñaëc tính cô cuûa ñoäng cô moät chieàu kích töø ñoäc laäp laø moät ñöôøng
thaúng, nhö veõ treân hình 4.3. Toác ñoä khoâng taûi cuûa ñoäng cô xaùc ñònh bôûi ñieän aùp cung caáp U vaø
töø thoâng kích töø KF. Toác ñoä ñoäng cô suy giaûm khi moment taûi taêng vaø ñoä oån ñònh toác ñoä phuï
thuoäc vaøo ñieän trôû phaàn öùng Rö. Vôùi moment lôùn, töø thoâng coù theå suy giaûm ñeán möùc ñoä doác
ñaëc tính cô trôû neân döông daãn ñeán hoaït ñoäng khoâng oån ñònh. Vì vaäy, cuoän buø thöôøng hay ñöôïc
söû duïng ñeå laøm giaûm hieäu öùng khöû töø cuûa phaûn öùng phaàn öùng. Vôùi ñoäng cô coâng suaát trung
bình, ñoä suït toác khi taûi ñònh möùc so vôùi khi khoâng taûi khoaûng 50%.
- Vôùi ñoäng cô moät chieàu kích töø noái tieáp, töø thoâng F laø moät haøm cuûa doøng phaàn öùng. Neáu
giaû thieát ñoäng cô hoaït ñoäng trong vuøng tuyeán tính cuûa ñaëc tính töø hoùa, coù theå xem laø töø thoâng
tyû leä baäc nhaát vôùi doøng phaàn öùng, nghóa laø :
F = Kkt I (4.7)
Thay (4.7) vaøo (4.1), (4.4) vaø (4.5), ta ñöôïc :
M = KKktI2ö (4.8)
V Rö
w= - (4.9)
KK kt I ö KK kt
V 1 Rö
w= - (4.10)
KK kt M KK kt
Löu yù laø Rö luùc naøy laø toång cuûa ñieän trôû maïch phaàn öùng vaø ñieän trôû cuoän kích töø.
w
(%wñm)
(b)
(c)
- Ñoäng cô DC kích töø ñoäc laäp
100 (a) - Ñoäng cô DC kích töø noái tieáp
- Ñoäng cô DC kích töø hoãn hôïp
100 M(%Mñm)
- Ñaëc tính cô ñoäng cô moät chieàu kích töø noái tieáp ñöôïc veõ treân hình 3.3. Coù theå thaáy raèng toác
ñoä ñoäng cô suy giaûm nhieàu theo moment taûi. Tuy nhieân trong thöïc teá, caùc ñoäng cô tieâu chuaån
thöôøng ñöôïc thieát keá laøm vieäc taïi caùc caùnh choû ( knee-point ) cuûa ñaëc tính töø hoùa khi mang taûi
ñònh möùc. Vôùi taûi treân ñònh möùc, maïch töø ñoäng cô baõo hoøa, khi ñoù töø thoâng F khoâng thay ñoåi
nhieàu theo doøng taûi Iö daãn ñeán ñaëc tính cô tieäm caän vôùi ñöôøng thaúng.
- Ñoäng cô moät chieàu kích töø noái tieáp thích hôïp cho caùc öùng duïng ñoøi hoûi moment khôûi ñoäng
cao vaø coù theå quaù taûi naëng. Vôùi moment taûi taêng, töø thoâng ñoäng cô cuõng taêng theo. Nhö vaäy
vôùi cuøng moät löôïng gia taêngcuûa moment nhö nhau, doøng phaàn öùng Iö cuûa ñoäng cô moät chieàu
kích töø noái tieáp seõ taêng ít hôn so vôùi ñoäng cô kích töø ñoäc laäp. Do ñoù, trong ñieàu kieän quaù taûi
naëng, söï quaù taûi cuûa nguoàn cung caáp vaø söï quaù nhieät cuûa ñoäng cô cuõng ít hôn so vôùi ñoäng cô
kích töø ñoäc laäp.
- Theo coâng thöùc (4.10) , toác ñoä ñoäng cô kích töø noái tieáp tyû leä nghòch vôùi caên baäc hai cuûa
moment. Vì vaäy toác ñoäng cô khi khoâng taûi coù theå taêng leân raát cao, chæ bò haïn cheá bôûi töø dö cuûa
ñoäng cô vaø coù theå gaáp haøng chuïc laàn toác ñoä ñònh möùc. Ñieàu naøy laø khoâng cho pheùp vôùi maùy
ñieän–thöôøng chæ cho pheùp hoaït ñoäng gaáp 2 laàn toác ñoä ñònh möùc. Do ñoù, ñoäng cô kích töø noái
tieáp khoâng ñöôïc duøng vôùi caùc öùng duïng trong ñoù moment taûi coù theå nhoû ñeán möùc laøm toác ñoä
ñoäng cô vöôït quaù möùc giôùi haïn cho pheùp.
- Ñaëc tính cuûa ñoäng cô moät chieàu kích töø hoãn hôïp coù daïng nhö bieåu dieãn treân hình 3.3. Toác
ñoä khoâng taûi cuûa ñoäng cô phuï thuoäc vaøo doøng kích töø qua cuoän song song, trong khi ñoä doác ñaëc
tính cô phuï thuoäc vaøo söï phoái hôïp giöõa cuoän song song vaø cuoän noái tieáp. Ñoäng cô kích töø hoãn
hôïp ñöôïc söû duïng trong nhöõng öùng duïng caàn coù ñaëc tính cô töông töï ñoäng cô kích töø noái tieáp
ñoàng thôøi caàn haïn cheá toác ñoä khoâng taûi ôû moät giaù trò giôùi haïn thích hôïp. Cuõng caàn löu yù caùc
ñaëc tính cô ñeà caäp treân hình 4.3 laø ñaëc tính cô töï nhieân cuûa ñoäng cô, nghóa laø caùc ñaëc tính naøy
nhaän ñöôïc khi ñoäng cô hoaït ñoäng vôùi ñieän aùp cung caáp vaø töø thoâng ñònh möùc, vaø khoâng coù
ñieän trôû phuï naøo trong maïch phaàn öùng hoaëc kích töø.
4.2 Sô löôïc veà caùc phöông phaùp ñieàu khieån toác ñoä ñoäng cô DC
Töø coâng thöùc (4.5) bieåu dieãn quan heä giöõa toác ñoä–moment ñoäng cô, coù theå thaáy raèng toác
ñoä ñoäng cô coù theå ñöôïc ñieàu khieån baèng caùc phöông phaùp sau:
+ Ñieàu khieån töø thoâng
+ Ñieàu khieån ñieän aùp phaàn öùng
+ Ñieàu khieån hoãn hôïp ñieän aùp phaàn öùng vaø töø thoâng
+ Ñieàu khieån ñieän trôû phaàn öùng
- Ñaëc tính tónh cuûa ñoäng cô kích töø ñoäc laäp vaø kích töø noái tieáp khi ñieàu khieån töø thoâng ñöôïc
bieåu dieãn laàn löôït treân hình 4.4 (a) vaø (b) baèng caùc ñöôøng neùt ñöùt. Löu yù laø ñoä cöùng ñaëc tính cô
giaûm nhanh khi giaûm töø thoâng.
- Toác ñoä cao cuûa ñoäng cô ñaït ñöôïc khi giaûm töø thoâng bò haïn cheá bôûi:
+ Söï khoâng oån ñònh cuûa ñoäng cô gaây ra bôûi aûnh höôûng cuûa phaûn öùng phaàn öùng
+ Giôùi haïn veà maët cô khí cuûa ñoäng cô: caùc ñoäng cô thoâng thöôøng cho pheùp toác ñoä ñaït ñeán
1,5 - 2 laàn toác ñoä ñònh möùc. Moät soá ñoäng cô cheá taïo ñaëc bieät cho pheùp toác ñoä cao nhaát ñaït
tôùi 6 laàn ñònh möùc.
- Ñoái vôùi ñoäng cô DC kích töø ñoäc laäp vaø song song, coâng suaát cöïc ñaïi cho pheùp cuûa ñoäng
cô gaàn nhö khoâng ñoåi vôùi moïi toác ñoä khi ñieàu khieån töø thoâng (xem hình 4.5). Coù theå
thaáy ñieàu naøy neáu giaû thieát laø doøng cöïc ñaïi cho pheùp, Iö cuûa ñoäng cô khoâng thay ñoåi khi
ñieàu chænh töø thoâng vaø ñieän aùp cung caáp cho phaàn öùng, U laø ñònh möùc, khoâng ñoåi. Khi
ñoù , ta coù: Eö = U - RöIö = const
è P = EöIö = const ( vì Iö = const )
Vaäy coâng suaát ñoäng cô khoâng thay ñoåi khi ñieàu chænh toác ñoä baèng phöông phaùp thay ñoåi töø
thoâng . Do ñoù moment cöïc ñaïi cho pheùp cuûa ñoäng cô seõ bieán thieân tæ leä nghòch vôùi toác ñoä ,vì
P
M=
w
Löu yù: Trong thöïc teá, giaû thieát doøng phaàn öùng cöïc ñaïi cho pheùp I khoâng thay ñoåi khi giaûm töø
thoâng chæ laø gaàn ñuùng. Taùc ñoäng cuûa phaûn öùng phaàn öùng caøng lôùn khi töø thoâng caøng giaûm, do
ñoù, doøng phaàn öùng cöïc ñaïi cho pheùp caàn giaûm xuoáng ñeå khoâng sinh ra tia löûa ñieän quaù möùc
treân coå goùp. Ñieàu naøy daãn ñeán vieäc giaù trò thöïc teá cuûa I seõ giaûm xuoáng khi toác ñoä taêng cao.
- Vôùi ñoäng cô DC kích töø ñoäc laäp , vieäc ñieàu khieån kích töø ñöôïc thöïc hieän baèng caùch thay
ñoåi ñieän aùp kích töø vôùi boä chænh löu coù ñieàu khieån hoaëc boä chopper, tuyø theo nguoàn cung caáp
ñöôïc söû duïng laø AC hoaëc DC. Vôùi ñoäng cô coâng suaát nhoû, cuõng coù theå noái tieáp bieán trôû vaøo
maïch kích töø ñeå ñieàu khieån töø thoâng.
- Vôùi ñoäng cô DC kích töø noái tieáp, vieäc ñieàu khieån töø thoâng ñöôïc thöïc hieän baèng caùch thay
ñoåi ñieän trôû song song vôùi cuoän kích töø. Moät soá ñoäng cô kích töø noái tieáp coù cuoän kích töø nhieàu
ñaàu ra, vaø do ñoù coù theå thay ñoåi töø thoâng baèng caùch thay ñoåi soá voøng daây cuoän kích töø
4.2.2 Ñieàu khieån ñieän aùp phaàn öùng
- Vôùi ñoäng cô moät chieàu kích töø ñoäc laäp, neáu ñieän aùp kích töø ñöôïc duy trì khoâng ñoåi, hoaëc
ñoäng cô kích töø duøng nam chaâm vónh cöûu coù theå giaû thieát raèng töø thoâng ñoäng cô khoâng ñoåi
khi momen ñoäng cô thay ñoåi.
Khi ñoù: KF = const
- Vaäy ñeå thay ñoåi toác ñoä ñoäng cô ta thay ñoåi ñieän aùp phaàn öùng. Baèng caùch thay ñoåi ñieän
aùp phaàn öùng, ñoäng cô coù theå laøm vieäc taïi baát kì toác ñoä, moment naøo.
- Tính chaát quan troïng cuûa phöông phaùp naøy laø ñoä cöùng ñaëc tính cô khoâng thay ñoåi khi
toác ñoä ñoäng cô ñöôïc ñieàu chænh. Ñieàu naøy khieán heä coù khaû naêng ñaùp öùng vôùi taûi coù
moment haèng soá vì doøng phaàn öùng cöïc ñaïi cho pheùp Iömax- töông öùng vôùi noù laø moment
taûi cöïc ñaïi cho pheùp cuûa ñoäng cô khoâng ñoåi vôùi moïi toác ñoä.
- Ñieän aùp phaàn öùng ñoäng cô coù theå ñöôc ñieàu khieån baèng caùch söû duïng:
+ Maùy phaùt DC (Heä Maùy phaùt- Ñoäng cô)
+ Boä chænh löu coù ñieàu khieån ( bieán ñoåi AC® DC )
+ Boä Chopper (Boä bieán ñoåi xung aùp) : DC® DC .
Hình 4.4: Ñieàu khieån baèng thay ñoåi ñieän aùp phaàn öùng , töø thoâng.
4.2.3 Ñieàu khieån hoãn hôïp ñieän aùp phaàn öùng vaø töø thoâng kích töø
- Phöông phaùp naøy ñöôïc söû duïng khi caàn thieát ñieàu chænh toác ñoä ñoäng cô trong moät daûi roäng
treân vaø döôùi toác ñoä ñònh möùc. Toác ñoä döôùi toác ñoä ñònh möùc ñöôïc ñieàu khieån baèng caùch thay
ñoåi ñieän aùp phaàn öùng trong khi giöõ kích töø ôû giaù trò ñònh möùc. Toác ñoä treân ñònh möùc ñöôïc ñieàu
khieån baèng caùch thay ñoåi ñieän aùp kích töø.
Hình 4.5: Moment vaø coâng suaát ra khi ñieàu khieån hoãn hôïp: ñieän aùp phaàn öùng vaø töø thoâng
4.2.4. Ñieàu khieån ñieän trôû phaàn öùng
- Hình 4.6 bieåu dieãn ñaëc tính cô cuûa ñoäng cô DC kích töø ñoäc laäp vaø noái tieáp khi ñieàu khieån
toác ñoä baèng caùch theâm ñieän trôû phuï vaøo phaàn öùng.
- Khuyeát ñieåm chính cuûa phöông phaùp naøy laø coù hieäu suaát cuûa heä thoáng raát keùm vaø ñoä cöùng
ñaëc tính cô thaáp, nhaát laø khi hoaït ñoäng ôû toác ñoä thaáp. Do ñoù, phöông phaùp naøy hieän nay ít ñöôïc
söû duïng ñeå ñieàu khieån toác ñoä ñoäng cô, tröø caùc tröôøng hôïp:
+ Khôûi ñoäng ñoäng cô
+ Thay ñoåi toác ñoä ñoäng cô trong moät thôøi gian ngaén trong cheá ñoä ngaén haïn hoaëc cheá ñoä
ngaén haïn laëp laïi.
Hình 4.6 : Ñaëc tính ñoäng cô DC khi theâm ñieän trôû phuï vaøo phaàn öùng
Baèng caùch thay ñoåi thôøi gian ñoùng ngaét coâng taéc S, ta coù theå thu ñöôïc ñieän aùp trung bình
ñaët treân ñoäng cô thay ñoåi theo yù muoán, khoaûng thay ñoåi töø 0 V ñeán U. Daïng aùp ra nhö sau :
o Trong ñieàu khieån ñoäng cô DC baèng phöông phaùp PWM vôùi taàn soá cuûa xung ñieàu khieån
cao ,ngöôøi ta coù theå söû duïng caùc vi ñieàu khieån ñeå taïo xung (taàn soá töø 5 Khz ñeán 20 Khz)
ñeå ñieàu khieån caùc khoái maïch ñoäng löïc ( trong caùc khoái maïch ñoäng löïc ,thöôøng duøng
IGBT hay MosFet laøm khoùa ñoùng ngaét ).
4.4 Giôùi thieäu veà Encoder söû duïng trong luaän vaên
- Trong thöïc teá coù nhieàu loaïi encoder khaùc nhau nhö: Encoder tieáp xuùc , Encoder töø tröôøng,
Encoder quang ( goàm : Encoder quang töông ñoái, Encoder quang tuyeät ñoái ) . Moãi loaïi laïi coù
moät nguyeân lyù hoaït ñoäng khaùc nhau, trong luaän vaên naøy , toâi chæ söû duïng loaïi Encoder quang
töông ñoái ( incremental encoder ) neân chæ trình baøy kyõ veà loaïi encoder naøy
- Loaïi incremental encoder duøng trong Luaän vaên ñöôïc gaén ñoàng truïc vôùi ñoäng cô DC 24V-
20W , vaø coù ñoä phaân giaûi laø 100 xung/voøng.
- ÔÛ 2 beân maët cuûa caùi vaønh ñóa, seõ coù moät boä thu phaùt quang. Trong quaù trình encoder
quay quanh truïc, neáu gaëp loã roáng thì aùnh saùng chieáu qua ñöôïc, neáu gaëp maõnh chaén thì
tia saùng khoâng chieáu quaù ñöôïc. Do ñoù tín hieäu nhaän ñöôïc töø encoder quang laø moät
chuoãi xung. Moãi encoder ñöôïc cheá taïo vôùi soá khe hôû treân vaønh ñóa , seõ cho bieát saün soá
xung khi quay heát moät voøng. Do ñoù ta coù theå duøng vi ñieàu khieån ñeám soá xung ñoù trong
moät ñôn vò thôøi gian vaø tính ra toác ñoä ñoäng cô.( coù encoder ñöôïc gaén ñoàng truïc ) , khi
ñoù encoder naøo coù soá khe hôû ( loã ) treân vaønh ñóa caøng nhieàu seõ cho ñoä chính xaùc caøng
lôùn.
Hình 4.14: Caùch thöùc hoaït ñoäng cuûa encoder quang loaïi töông ñoái
- Encoder maø toâi söû duïng trong Luaän vaên,hoaøn toaøn gioáng vôùi moâ hình ôû treân. Tuy nhieân, moâ
hình treân coù nhöôïc ñieåm lôùn laø : ta khoâng theå xaùc ñònh ñöôïc ñoäng cô ñang quay traùi hay quay
phaûi, vì coù quay theo chieàu naøo ñi nöõa thì chæ coù moät daïng xung ñöa ra. Ngoaøi ra thôøi ñieåm baét
ñaàu hoaït ñoäng cuûa ñoäng cô, ta cuõng khoâng theå naøo bieát ñöôïc.
- Moâ hình thöù 2 ( Caûi tieán töø moâ hình 1 , nhaèm khaéc phuïc caùc nhöôïc ñieåm )
Hình 4.15: Moâ hình 2 cuûa encoder quang loaïi töông ñoái
- Trong moâ hình naøy, ngöôøi ta ñuïc taát caû laø 2 voøng loã . Voøng ngoaøi cuøng gioáng nhö moâ hình
1 ( thöôøng ñöôïc goïi laø voøng A ) , voøng giöõa pha so vôùi voøng ngoaøi laø 90 ñoä (goïi laø voøng B).
Khi ñoù, daïng xung ra töø 2 voøng treân nhö sau :
Hình 4.16: Sô ñoà xung ra cuûa encoder quang töông ñoái –moâ hình 2
- Hai xung ñöa ra töø 2 voøng leäch nhau 90 ñoä, neáu voøng ngoaøi ( chuoãi xung A ) nhanh pha hôn
voøng trong ( chuoãi xung B ) thì chaéc chaén ñoäng cô quay töø traùi sang phaûi vaø ngöôïc laïi.
- Moät loã ôû voøng trong cuøng duøng ñeå phaùt hieän ñieåm baét ñaàu cuûa ñoäng cô. Coù theå vieát chöông
trình cho vi ñieàu khieån nhaän bieát : neáu coù moät xung phaùt ra töø voøng trong cuøng naøy, töùc laø
ñoäng cô ñaõ quay ñuùng moät voøng. Tín hieäu cuûa chuoãi xung do 1 loã naøy taïo ra thöôøng goïi laø
xung Z.
- Vôùi nhöõng ñaëc tính treân, encoder loaïi naøy ( moâ hình 2) ñöôïc duøng raát phoå bieán trong vieäc
xaùc ñònh vò trí goùc cuûa ñoäng cô…..
- Tuy nhieân: Vaán ñeà quan troïng trong vieäc tìm mua nhöõng loaïi ñoäng cô coù gaén encoder nhö
theá naøy ñeå laøm ñoà aùn – hay Luaän Vaên ñoái vôùi sinh vieân laø khaù khoù , vaø caëp maét quang 2
beân encoder ñeå taïo xung thöôøng bò hö vaø khoâng coù ñoà thay theá.
CHÖÔNG 5
Hình 5.1: Sô ñoà phaùt trieån cuûa vi ñieàu khieån haõng Motorola-FreeScale
Hoï vi ñieàu khieån HCS12 coù caùc ñaëc ñieåm chính nhö sau :
· Laø hoï vi ñieàu khieån 16-bit coù toác ñoä xöû lyù nhanh, taàn soá xung nhòp bus noäi coù theå leân ñeán
32 Mhz ; vaø coù tích hôïp Voøng-khoùa-pha , thöôøng hay goïi laø boä PLL ( Phase-Lock-Loop)
· Cheá taïo theo coâng nheä HCMOS neân coù ñoä oån ñònh vaø ñoä beàn cao .
· Ñöôïc naâng caáp töø hoï vi ñieàu khieån 68HC11/68HC12 vaø khoâng coù söï thay ñoåi naøo veà toå
chöùc caùc thanh ghi xöû lyù so vôùi 68HC11/68HC12 neân caùc ñoaïn chöông trình vieát baèng hôïp
ngöõ söû duïng cho 68HC11/68HC12 ñeàu coù theå söû duïng laïi ñöôïc vôùi HCS12 .
· Caùc loaïi boä nhôù beân trong goàm coù: RAM , EEPROM , Flash . Dung löôïng boä nhôù lôùn,ñaëc
bieät laø boä nhôù Flash vaø coù khaû naêng môû roäng boä nhôù ngoaøi.
· Tích hôïp nhieàu chöùc naêng thôøi gian nhö: Baét giöõ ngoõ vaøo , so saùnh ngoõ ra, boä ñeám xung vaø
söï kieän coång, boä ñieàu roäng xung PWM, ngaét thôøi gian thöïc, Watchdog…
· Coù caùc moâ-ñun truyeàn thoâng noái tieáp nhö : Giao tieáp baát ñoàng boä (SCI ), giao tieáp ñoàng boä
( SPI ) , IIC.
· Tích hôïp cheá ñoä Debug chaïy neàn ,chæ caàn söû duïng 1 daây tín hieäu duy nhaát (goïi taét laø BDM)
· Coù caùc cheá ñoä hoaït ñoäng ñeå tieát kieäm naêng löôïng
· Coù 1 ñeán 2 boä chuyeån ñoåi tín hieäu töông töï sang tín hieäu soá,ñoä phaân giaûi 10-bit, coù 8 ñeán
16 keânh ( channel )
· Hoã trôï taäp leänh logic Môø khi vieát chöông trình baèng hôïp ngöõ.
· Nhieàu Port xuaát nhaäp ña duïng : Port A, Port B , Port K, Port J, Port H, Port M, Port S…
· Ngoaøi ra, tuøy theo öùng duïng ,moãi doøng chuyeân duïng trong hoï HCS12 seõ tích hôïp theâm caùc
moâ-ñun chöùc naêng chuyeân duïng nhö: USB, CAN , BDLC , Ethernet , ñieàu khieån LCD ,
Ñieàu khieån Motor…:
+ Doøng HCS12A : Daønh cho nhöõng öùng duïng thoâng thöôøng
+ Doøng HCS12B hay C : Coù tích hôïp theâm 1 boä giao tieáp CAN , nhöng laïi khoâng coù giao tieáp
IIC , giaù thaáp
+ Doøng HCS12D : Tích hôïp ñaày ñuû caùc chöùc naêng thoâng duïng ,vaø coù theâm giao tieáp CAN ,
BDLC . Coù nhieàu chaân Xuaát/Nhaäp vaø chöùc naêng veà thôøi gian veà thôøi gian nhaát.
+ Doøng HCS12NE : Tích hôïp boä bieán ñoåi tín hieäu soá sang tín hieäu töông töï beân trong ( DAC)
vaø coù theâm giao tieáp Ethernet
+ Doøng HCS12H : Tích hôïp moâ-ñun ñieàu khieån LCD , ñieàu khieån caàu H theo phöông phaùp
PWM vôùi doøng cao, phuø hôïp cho ñieàu khieån ñoäng cô. Coù giao tieáp CAN
+ Doøng HCS12L : Tích hôïp moâ-ñun ñieàu khieån LCD côõ lôùn (LCD 4x60) , giao tieáp USB , tích
hôïp theâm khoái chöùc naêng DMA
+ Doøng HCS12UF: Giao tieáp USB , coù moâ-ñun giao tieáp vôùi caùc loaïi theû nhôù ngoaøi .Tích hôïp
chuaån giao tieáp ATA ,phuø hôïp cho caùc öùng duïng veà giaûi trí.
Hình 5.2: Caùc thanh ghi xöû lyù cuûa hoï vi ñieàu khieån HCS12
· Thanh ghi tích luõy A: Laø thanh ghi tích luõy 8 bit ,taát caû caùc pheùp toaùn cuûa ALU ñeàu coù theå
thöïc hieän treân döõ lieäu trong thanh ghi naøy. Moät soá thao taùc ñaëc bieät chæ coù theå thöïc hieän treân
thanh ghi naøy, noù ñöôïc söû duïng vôùi teân laø A hay AccA
· Thanh ghi tích luõy B: Laø thanh ghi tích luõy 8 bit ,chöùc naêng gioáng thanh ghi A. Nhöng coù
moät soá thao taùc ñaëc bieät chæ coù theå thöïc hieän treân thanh ghi A, maø khoâng theå thöïc hieän treân
thanh ghi B. Noù ñöôïc söû duïng vôùi teân laø B hay AccB.
· Thanh ghi tích luõy D (A:B): Thanh ghi tích luõy 16 bit ,laø söï keát hôïp cuûa thanh ghi A vaø B ,
khoâng phaûi laø thanh ghi rieâng bieät . Ñöôïc söû duïng vôùi teân D hay AccD.
· Thanh ghi con troû X: Laø thanh ghi ñòa chæ 16-bit , söû duïng trong cheá ñoä ñònh ñòa chæ soá. Noù
cuõng coù theå söû duïng nhö thanh ghi döõ lieäu 16-bit, ñöôïc söû duïng vôùi teân laø X hay IX.
· Thanh ghi con troû Y: Chöùc naêng gioáng nhö thanh ghi X , ñöôïc söû duïngvôùi teân laø Y hay IY.
· Thanh ghi ngaên xeáp con troû – SP (Stack Pointer) : Laø thanh ghi 16-bit, chöùa ñòa chæ cuûa oâ
nhôù khaû duïng tieáp theo trong ngaên xeáp .Ñöôïc söû duïng vôùi teân laø SP.
· Thanh ghi Boä ñeám chöông trình –PC (Program Counter): Laø thanh ghi 16-bit, chöùa ñòa chæ
cuûa leänh keá tieáp. Ñöôïc söû duïng vôùi teân laø PC.
· Thanh ghi ñieàu kieän –CCR (Condition Code Register) : Laø thanh ghi 8-bit traïng thaùi vaø
ñieàu khieån. Ñöôïc söû duïng vôùi teân laø CCR.
5.1.2 Caùc cheá ñoä hoaït ñoäng : Coù 8 cheá ñoä hoaït ñoäng chính
Ñöôïc ñieàu khieån bôûi traïng thaùi cuûa 3 chaân: MODA , MODB vaø MODC (BKGD)
Hình 5.3: Caùc cheá ñoä hoaït ñoäng cuûa hoï vi ñieàu khieån HCS12
(b) Caùp noái chuaån (c) Caùp noái chuaån môû roäng
Hình 5.4: Cheá ñoä debug chaïy neàn ( BDM: Background Debug Mode)
· Ngoaøi ra, hoï vi ñieàu khieån HCS12 coù 3 cheá ñoä hoaït ñoäng tieát kieäm naêng löôïng:
+ Cheá ñoä NGHÆ ( Stop mode)
+ Cheá ñoä GIAÛ-NGHÆ ( Pseudo Stop mode )
+ Cheá ñoä CHÔØ ( Wait mode)
5.2 Vi ñieàu khieån ñöôïc söû duïng trong Luaän vaên - MC9S12DP512
Trong luaän vaên naøy ,toâi söû duïng vi ñieàu khieån coù teân laø MC9S12DP512 , thuoäc doøng D cuûa hoï
HCS12 – laø doøng ñöôïc phaùt trieån cho caùc öùng duïng trong lónh vöïc thuoäc coâng ngheä oâtoâ vaø
trong coâng nghieäp.
· Coù ñaày ñuû caùc chöùc naêng cô baûn chung cuûa hoï vi ñieàu khieån 16-bit HCS12 ( ñaõ ñöôïc trình
baøy ôû chöông 2 – phaàn I : Giôùi thieäu chung hoï vi ñieàu khieån HCS12 )
· Ñöôïc ñoùng goùi theo kieåu chaân LQFP – coù 112 chaân , taàm nhieät ñoä laø: -40 -:-150 ñoä C
· Taàn soá xung nhòp bus noäi toái ña laø 32 Mhz , coù tích hôïp boä PLL
· Boä nhôù: 14 KB boä nhôù RAM ; 4 KB boä nhôù EEPROM ; 512 KB boä nhôù FLASH
· 2 boä giao tieáp noái tieáp baát ñoàng boä ( SCI), 3 boä giao tieáp noái tieáp ñoàng boä ( SPI ),1 boä IIC
· 5 boä CAN , hoã trôï caû 2 chuaån V2.0A vaø V2.0B; 1 boä giao tieáp BDLC ( theo chuaån J1850 )
· 8 keânh chöùc naêng thôøi gian nhö: Baét giöõ ngoõ vaøo , so saùnh ngoõ ra , ñeám xung-söï kieän coång
, ngaét thôøi gian thöïc , WatchDog …
· 2 boä ADC -16 keânh , ñoä phaân giaûi10-bit ; 8 keânh trong moâ-ñun ñieàu roäng xung (PWM)
· 4 Port xuaát nhaäp soá ( toång coäng 29 chaân) : Port A, Port B , Port K , Port E
· 20 chaân coù chöùc naêng taïo ngaét ñeå nhaän bieát phím nhaán ( Key-WakeUp)
Ví duï nhö: PTA ( PortA ) , PTH ( Port H) , PTK ( Port K ) , PTP ( Port P ) ….
Ngoaøi ra: Cuõng coù theå duøng tieàn toá “ PORT” cho caùc port A, B, E , K ñeå goïi teân caùc thanh
ghi döõ lieäu cuûa caùc port naøy.
· Port A ,Port B :
- Trong cheá ñoä môû roäng ( expanded mode ) , Port A ñoùng vai troø laø byte cao cuûa ñòa
chæ / data 16-bit : A15/D15…A8/D
- Trong cheá ñoä môû roäng ( expanded mode ) , Port A ñoùng vai troø laø byte cao cuûa ñòa chæ / data
16-bit : A7/D7…A0/D0
- Trong cheá ñoä ñôn chip ( Single chip mode ) , Port A vaø Port B chæ laø caùc port xuaát nhaäp 8-bit
bình thöôøng
· Port E
- Port E thöôøng ñöôïc duøng ñeå ñieàu khieån bus , choïn boä dao ñoäng thaïc anh , phuïc vuï ngaét
ngoaøi , choïn cheá ñoä hoaït ñoäng cho vi ñieàu khieån.
- Khi khoâng duøng Port E cho caùc chöùc naêng ñieàu khieån , ta cuõng coù theå söû duïng nhö
moät port xuaát nhaäp bình thöôøng . Hai hai thanh ghi cho chöùc naêng xuaát nhaäp laø DDRE (
thanh ghi ñieàu khieån ) vaø PTE ( thanh ghi döõ lieäu )
(b) Kieåu Pierce (c) Kieåu laáy dao ñoäng clock ngoaøi
Hình 5.8: Caùc kieåu dao ñoäng trong HCS12
- Khi PE7 = 0 , coøn coù theå duøng ñeå choïn xung clock beân ngoaøi
Hình 5.9: Thanh ghi ñeám thôøi gian 16-bit TCNT ( Timer Counter Register )
- Coù 3 thanh ghi ñieàu khieån vaø traïng thaùi lieân quan ñeán TCNT :
+ Thanh ghi ñieàu khieån heä thoáng thôøi gian 1: TSCR1 ( Timer System Control Register 1 )
Hình 5.10: Thanh ghi ñieàu khieån heä thoáng thôøi gian 1- TSCR1
TEN (Timer enable) : Bit khôûi ñoäng chöùc naêng thôøi gian
0 - Taét moâ-ñun chöùc naêng thôøi gian ; 1 – Khôûi ñoäng moâ-ñun chöùc naêng thôøi gian
TSWAI (Timer stop while in wait mode) : Bit thieát laäp cho Timer khi vi ñieàu khieån ôû
cheá ñoä chôø ( Wait mode )
0 – Cho pheùp Timer cöù tieáp tuïc chaïy ngay caû khi vi ñieàu khieån ôû cheá ñoä Chôø
1 - Taét Timer khi vi ñieàu khieån ôû cheá ñoä Chôø ( Wait mode)
TSFRZ ( Timer stop while in freeze mode ): Bit thieát laäp cho Timer khi vi ñieàu khieån ôû
cheá ñoä “ñoùng baêng” ( GIAÛ NGHÆ: Pseudo Stop )
0 - Cho pheùp Timer cöù tieáp tuïc chaïy khi vi ñieàu khieån ôû cheá ñoä “ñoùng baêng”
1 - Taét Timer khi vi ñieàu khieån ôû cheá ñoä “ñoùng baêng” (freeze mode)
TFFCA ( Timer fast flag clear all ) : Bit thieát laäp cheá ñoä xoùa caùc côø traïng thaùi cuûa heä
thoáng thôøi gian (Timer)
0 – Xoùa caùc côø traïng thaùi baèng cheá ñoä bình thöôøng
1 – Xoùa caùc côø traïng thaùi cuûa caùc thanh ghi traïng thaùi baèng caùch so saùnh caùc giaù trò
keânh chöùc naêng lieân quan
+ Thanh ghi ñieàu khieån heä thoáng thôøi gian 2: TSCR2 (Timer System Control Register 2)
Hình 5.11: Thanh ghi ñieàu khieån heä thoáng thôøi gian 2- TSCR2
TOI ( Timer Over Flow Interrupt enable ): Bit cho pheùp ngaét khi Timer bò traøn
0 - Khoâng cho pheùp ngaét khi Timer traøn
1 – Cho pheùp ngaét khi bit côø baùo traøn TOF ( Timer Overflow Flag) coù giaù trò 1
TCRE: ( Timer counter reset enable ) : Bit cho pheùp khôûi ñoäng laïi boä ñeám
0 – Boä ñeám khoâng töï ñoäng reset vaø Timer chaïy töï do ,khoâng kieåm soaùt ñöôïc
1 – Timer seõ reset khi moãi laàn chöùc naêng so saùnh ngoõ ra thöù 7 thaønh coâng
PR[2:0] ( PreScale ) : Boä chia tyû leä taàn soá xung nhòp 3-bit , taïo ra xung nhòp cho boä ñeám
thôøi gian töø taàn soá xung nhòp bus noäi.
+ Thanh ghi côø baùo ngaét Timer 2: TFLG2 ( Timer Interrupt Flag 2 Register )
void Timer_Init(void){
TSCR1 = 0x80; // Cho pheùp boä ñeám TCNT hoaït ñoäng
TSCR2 = 0x80; // Cho pheùp ngaét khi Timer traøn , boä chia tyû leä 1:1
PACTL = 0; //
TFLG2 = 0x80; // Xoùa côø baùo ngaét
}
· Hai boä ñeám xung 16-bit naøy , coù theå taùch ra thaønh 2 boä ñeám xung 8-bit rieâng bieät
+ Boä ñeám 16-bit PACA goàm: PAC3 – PAC2 (8-bit)
+ Boä ñeám 16-bit PACB goàm: PAC1 – PAC0 ( 8-bit)
· Boä ñeám xung PACA ( Pulse Accumulator A)
+ Coù 3 thanh ghi lieân quan : PACTL( ñieàu khieån ) , PAFLG( côø ) ; PACN32 ( döõ lieäu)
Hình 5.13: Caùc thanh ghi lieân quan ñeán boä ñeám xung
bit PAEN
0 / 1 : Boä ñeám xung PACA khoâng ñöôïc söû duïng / ñöôïc söû duïng
bit PAMOD
0 / 1 : Cheá ñoä Ñeám söï kieän / Cheá ñoä ñeám thôøi gian Coång
bit PEGDE
0 : Ñeám khi Xung xuoáng ( cheá ñoä ñeám xung) - Choïn Möùc cao ( cheá ñoä COÅNG)
1 : Ñeám khi Xung leân ( cheá ñoä ñeám xung) - Choïn Möùc thaáp ( cheá ñoä COÅNG)
bit PAOVI
0 / 1 : Ngaét khi boä ñeám xung PACA traøn bò caám / Cho pheùp
Bit PAI
0 / 1 : Ngaét khi coù xung ôû chaân PT7 bò caám / Cho pheùp
+ Thanh ghi chöùa döõ lieäu cuûa boä ñeám xung PACA laø thanh ghi 16-bit PAC32 : Chöùa giaù trò
soá xung ñeám ñöôïc ( trong cheá ñoä ñeám söï kieän ) hay thôøi gian cuûa möùc (trong cheá ñoä COÅNG)
+ Thanh ghi 16-bit PACN32 laø do 2 thanh ghi 8-bit gheùp laïi : PACN3 vaø PACN2
· Ví duï: Khai baùo cho boä ñeám xung PACA ,cheá ñoä ñeám söï kieän
void Pulse_Acc_Init(void){
TIOS = TIOS & ~0x80 ; // Khôûi ñoäng chöùc naêng Input Capture cho chaân PT7
· Choïn caùc thuoäc tính cuûa xung vuoâng caàn taïo , cho pheùp caùc keânh PWM hoaït ñoäng:
- Chu kyø cuûa xung , ñöôïc choïn bôûi giaù trò cuûa thanh ghi : PWMPERn khi so saùnh vôùi
giaù trò trong boä ñeám PWMCNTn
- Duty_Cycle cuûa xung , ñöôïc choïn bôûi giaù trò cuûa thanh ghi : PWMDTYn khi so saùnh
vôùi giaù trò trong boä ñeám PWMCNTn ( n : laø thöù töï cuûa keânh PWM , giaù trò töø [ 0:7 ] )
- Thanh ghi PWMPOL duøng ñeå choïn kieåu öu tieân Möùc cuûa xung ra ( möùc Cao hay Thaáp)
Hình 5.19: Kieåu xung canh theo chính giöõa ( center -aligned)
Luùc ñoù ,ta coù caùc coâng thöùc lieân quan:
+ PWMn frequency = Clock (A, B, SA, or SB) frequency ¸ (2 ´ PWMPERn)
+ polarity = 0: PWMn duty cycle = [(PWMPERn – PWMDTYn) ¸ PWMPERn] ´ 100%
+ polarity = 1: PWMn duty cycle = [PWMDTYn ¸ PWMPERn] ´ 100%
Ví duï : Chöông trình söû duïng keânh PWM0 , taïo xung vuoâng 10 Khz , duty_cycle = 40%
/* period (chu_kyø) = PWMPER0 * 2^(PCKA+1) * PWMSCLA (Khi : PWMCLK = 1)
Söû duïng boä PLL --> Bus-Clock laø 24Mhz */
void PWM_Init(void){
PWMCTL = PWMCTL & ~0xF0 ;
PWMPRCLK = PWMPRCLK & ~0x07 ; // PCKA = 0
PWMCLK = PWMCLK | 0x01 ; // söû duïng PWMSCLA
PWMPOL = PWMPOL | 0x01 ; // Choïn baét ñaàu xuûa xung laø möùc cao
PWMSCLA = 6 ; // 10KHz of Square_Wave
PWMCAE = PWMCAE & ~0x01 ; // Chuaån canh theo beân traùi ( Left-aligned)
PWMPER0 = 200 ; // Period = 200 : laø möùc so saùnh vôùi PWMCNT0
PWME = PWME | 0x01 ; // Cho pheùp keânh PWM0 hoaït ñoäng
PWMDTY0 = 50 ; // Hi_duty = 50: 200 = 40%
}
5.2.4 Giao tieáp noái tieáp baát ñoàng boä ( SCI : Asynchronous Serial Comunication Interface)
· Vi ñieàu khieån MC9S12DP512 coù 2 boä SCI : SCI0 vaø SCI1
· Boä SCI0 coù : TxD keát noái vôùi chaân 1 cuûa Port S , RxD keát noái vôùi chaân 0 cuûa Port S
· Boä SCI1 coù : TxD keát noái vôùi chaân 3 cuûa Port S , RxD keát noái vôùi chaân 2 cuûa Port S
· Hoã trôï caùc toác ñoä Baude nhö sau: 1200 ,2400 ,9600 , 19200 , 38400 ,115200 (hai toác
ñoä: 38400 vaø 115200 chæ söû duïng ñöôïc khi coù duøng boä PLL ,luùc ñoù taàn soá xung nhòp Bus
noäi laø 24 Mhz )
· Moãi boä SCIn ( n = [0:1] , laø thöù töï cuûa 2 boä SCI ) seõ coù 8 thanh ghi ñieàu khieån-traïng
thaùi-döõ lieäu lieân quan: ( Caùch thieát laäp ñöôïc trình baøy ôû Ví duï veà SCI )
+ Hai thanh ghi duøng ñeå taïo toác ñoä truyeàn-nhaän (Baud rate) : SCInBDH , SCInBDL
+ Thanh ghi ñieàu khieån cheá ñoä hoaït ñoäng bình thöôøng: SCInCR1 ,duøng ñeå khai baùo coù
söû duïng caùc loaïi ngaét thuoäc boä SCI khoâng ( nhö: Ngaét truyeàn , ngaét nhaän )
+ Thanh ghi ñieàu khieån ôû cheá ñoä ñaëc bieät : SCInCR0
+ Thanh ghi ñieàu khieån duøng taùch rôøi 2 moâ-ñun Truyeàn vaø Nhaän vôùi nhau: SCInCR2
+ Thanh ghi traïng thaùi ôû cheá ñoä hoaït ñoäng: SCInSR1 (bình thöôøng) , SCInSR0(ñaëc bieät)
+ Thanh ghi boä ñeäm truyeàn/nhaän : SCInDRL
· Boä taïo toác ñoä truyeàn-nhaän noái tieáp ( Baud Rate Generation ):
- Boä phaùt vaø nhaän hoaït ñoäng ñoäc laäp vôùi nhau , cho duø söû duïng chung moät boä taïo toác ñoä
Ø Ví duï : Caùch khôûi taïo ,coù duøng ngaét cho boä boä SCI0 . Bus-Clock laø 8 Mhz .
· Haøm con khôûi taïo boä SCI0 : Khi caàn ta chæ caàn goïi haøm naøy vôùi thoâng soá baudRate
void SCI0_Init(unsigned long baudRate){
SCI0BDH = 0; // baud = MCLK/(16*baudRate)
switch(baudRate){
case 2400: SCI0BDL=208; break;
case 4800: SCI0BDL=104; break;
case 9600: SCI0BDL=52; break;
case 19200: SCI0BDL=26; break;
case 38400: SCI0BDL=13; break;
default: SCI0BDL = 1 ; // 250000 kps
} SCI0CR1 = 0; // Cheá ñoä truyeàn nhaän bình thöôøng : 1 start, 8 data, 1 stop ,No Parity
SCI0CR2 = 0x2C ; // Chæ cho pheùp ngaét nhaän bôûi bit RDRF , boä thu phaùt ñöôïc hoaït ñoäng
}
· Baây giôø neáu muoán khôûi taïo boä SCI0 vôùi toác ñoä baudrate laø 38400 Bit/s :
SCI0_Init (38400 ) ; // Khôûi taïo boä SCI0 theo ñuùng yeâu caàu baudRate = 38400 bit/s
5.2.5 Khoái chöùc naêng Key-WakeUp ( laø: Chöùc naêng ñaùnh thöùc baèng Phím nhaán )
- Vieäc tieát kieäm naêng löôïng laø raát quan troïng , neân khi ôû traïng thaùi vi ñieàu khieån khoâng xöû
lyù vieäc gì caû hay chôø söï kieän gì xaûy ra, vi ñieàu khieån seõ hoaït ñoäng ôû caùc cheá ñoä tieát kieäm
naêng löôïng nhö : Chôø ( Wait ) , Giaû Nghæ ( Pseudo-Stop ) , Nghæ (Stop) . Khi coù söï vieäc yeâu
caàu xöû lyù xaûy ra ,seõ taïo ra 1 ngaét töùc thì “ñaùnh thöùc” vi ñieàu khieån thöïc hieän vieäc yeâu caàu.
Hình 5.21 :Löu ñoà tham khaûo söû duïng chöùc naêng Key-WakeUp cuûa trang chuû
- Taát caû caùc vi ñieàu khieån thuoäc hoï HCS12 coù chöùc naêng naøy ,goïi laø Key-WakeUp . Coù coâng
duïng chính laø: Khi nhaán 1 phím – ñöôïc keát noái tröïc tieáp vôùi 1 chaân cuûa vi ñieàu khieån ,seõ
taïo ra 1 ngaét vaø vi ñieàu khieån HCS12 seõ ñoïc giaù trò töø Port coù chaân I/O keát noái vôùi phím
nhaán ñoù . Döïa vaøo giaù trò naøy , vi ñieàu khieån seõ bieát ñöôïc ngay laäp töùc phím naøo ñöôïc nhaán
- Moâ-ñun Key-WakeUp cuûa MC9SDP512 coù toång coäng laø20 keânh , keát noái vôùi 3 port: Port H ,
Port P , Port J .Caùc thanh ghi ñieàu khieån töông öùng laø: PIEX, PIFX ( X: laø H hoaëc P hoaëc J)
5.2.6.1 Caùc thanh ghi ñieàu khieån quan troïng cuûa moâ-ñun MSCAN
· Thanh ghi ñieàu khieån CANnCTL0 ( n = 0 -:- 4 ) : Duøng ñeå thieát laäp ñaàu tieân caùc cheá ñoä
hoaït ñoäng cuûa moâ-ñun MSCAN
· Thanh ghi ñieàu khieån CANnCTL1 ( n = 0 -:- 4 ): Cho pheùp moâ-ñun CAN hoaït ñoäng ,vaø
choïn cheá ñoä hoaït ñoäng sau khi ñaõ khôûi ñoäng xong
Ví duï: Tính toaùn ñeå thieát laäp caùc thoâng soá cho moâ-ñun MSCAN ,theo caùc yeâu caàu sau:
+ Toác ñoä truyeàn: 1 Mbps , Chieàu daøi ñöôøng daây truyeàn : 25 m
+ Thôøi gian delay treân ñöôøng truyeàn: 5 ´ 10-9 sec/m
+ Thôøi gian nhaän xong 1 böùc ñieän laø : 150 ns
+ Taàn soá dao ñoäng cuûa thaïch anh: 24 MHz
Caùch giaûi quyeát
– Böôùc1: Thôøi gian delay cuûa CAN bus = 25 ´ 5 ns = 125 ns
tPROP_SEG = 2 ´ (125 + 150) = 550 ns
– Böôùc 2: Dao ñoäng laø 24 MHz à Thôøi gian löôïng töû (time quantum) = 41.67 ns.
Thôøi gian 1 bit ( One bit time) : 1/1 Mbps = 1 ms.
5.2.6.2 Caùch thöùc truyeàn nhaän döõ lieäu trong moâ-ñun MSCAN
o Truyeàn döõ lieäu ( Transmit )
- Coù 3 boä ñeäm truyeàn ñoäc laäp vôùi nhau , ngöôøi duøng coù theå löïa choïn boä ñeäm naøo theo thöù
töï öu tieân baèng caùch can thieäp vaøo thanh ghi CANnTBSEL .
Ví duï: Chöông trình Truyeàn döõ lieäu trong moâ-ñun MSCAN0 cuûa MC9S12DP512
unsigned char CAN0SendFrame(unsigned long id, unsigned char priority,
unsigned char length, unsigned char *txdata ){
unsigned char index;
unsigned char txbuffer = {0};
for (index=0;index<length;index++) {
*(&CAN0TXDSR0 + index) = txdata[index]; /* Load döõ lieäu caàn truyeàn vaøo */
}
CAN0TXDLR = length; /* Ghi giaù trò chieàu daøi cuûa chuoãi döõ lieäu*/
CAN0TXTBPR = priority; /* Ñaët giaù trò öu tieân cho chuoãi döõ lieäu*/
CAN0TFLG = txbuffer; /* Baét ñaàu vieäc truyeàn döõ lieäu*/
while ( (CAN0TFLG & txbuffer) != txbuffer); /* Chôø cho vieäc truyeàn hoaøn thaønh */
return NO_ERR;
}
o Nhaän döõ lieäu ( Receive ) - Coù 5 boä ñeäm nhaän , caùch thöùc nhaän theo kieåu boä nhôù Vaøo-
tröôùc-ra-tröôùc ( FIFO: First-in-First-out )
Hình 5.25: 5 Boä ñeäm nhaän döõ lieäu cuûa moâ-ñun MSCAN
- Khi coù döõ lieäu ñöôïc nhaän vaøo boä ñeäm nhaän neàn ( Background Receive Buffer ) , döõ
lieäu seõ ñöôïc chuyeån vaøo boä ñeäm nhaän tieàn caûnh ( Foreground Receive Buffer ) .Luùc ñoù
côø RXF seõ leân möùc 1 ñeå baùo coù döõ lieäu ñöôïc nhaän ,vaø thöôøng söû duïng ngaét nhaän.
- Chöông trình seõ ñoïc döõ lieäu trong caùc boä ñeäm nhaän tieàn caûnh , xoùa côø RXF , vaø thoaùt
ra khoûi chöông trình Ngaét nhaän .
- Khi taát caû caùc boä ñeäm nhaän cuûa FIFO ñeàu ñaày döõ lieäu ,seõ baùo loãi traøn.
Ví duï: Chöông trình Nhaän döõ lieäu trong moâ-ñun MSCAN0 cuûa MC9S12DP512
Söû duïng Ngaét ñeå nhaän döõ lieäu.
interrupt 38 void CAN0hndlr(void){ /* Chöông trình Phuïc vuï ngaét nhaän CAN0,soá hieäu 38 */
unsigned char length, index;
length = (CAN0RXDLR & 0x0F); /* Ñoïc chieàu daøi cuûa chuoãi döõ lieäu nhaän*/
for (index=0; index<length; index++)
rxdata[index] = *(&CAN0RXDSR0 + index); /* Laáy döõ lieäu ra khoûi boä ñeäm, löu toaøn boä
vaøo bieán maûng rxdata-ñaõ ñöôïc khai baùo saün */
[...] /* Ñoaïn chöông trình theo muïc ñích rieâng cuûa ngöôøi duøng */
CAN0RFLG = 0x01; /* Xoùa côø RXF , chuaån bò cho laàn nhaän döõ lieäu keá tieáp */
}
CHÖÔNG 6
6.1. Caáu truùc phaàn cöùng cuûa caùc moâ-ñun trong moâ hình
- Giôùi thieäu sô löôïc laïi moâ hình heä thoáng: ( ñaõ ñöôïc trình baøy ñaày ñuû ôû Chöông 1 )
Hình 6.1: Toång quan moâ hình heä thoáng cuûa luaän vaên
- Hai moâ-ñun ñieàu khieån 2 ñoäng cô (moâ-ñun 1 vaø moâ-ñun 2) coù caáu truùc phaàn cöùng hoaøn
toaøn gioáng nhau
Khoái hieån thò: Khoái baøn phím: 4 phím Khoái giao tieáp
LCD kyù töï 2x16 (Chaïy, Döøng , Taêng, Giaûm) Giao thöùc CAN
Hình 6.2: Caáu truùc phaàn cöùng cuûa moâ-ñun ñieàu khieån ñoäng cô
- Trong caáu truùc phaàn cöùng cuûa moâ-ñun ñoùng vai troø laø trung taâm ñieàu khieån-giaùm saùt (
moâ-ñun 0 ) : Khoái Thôøi gian thöïc , 8 phím choïn Cheá ñoä ñieàu khieån ; löôïc boû khoái Maïch
ñoäng löïc, vaø khoái giao tieáp 2 Port song song
Khoái hieån thò: Khoái baøn phím ñieàu khieån Khoái ñoàng hoà
LCD kyù töï 4x20 (Chaïy, Döøng , Taêng, Giaûm) Thôøi gian thöïc
Khoái baøn phím choïn Vi ñieàu khieån trung taâm Khoái giao tieáp
caùc cheá ñoä ñieàu khieån ( MC9S12DP512 ) giao thöùc CAN
( Coù 8 phím nhaán )
Hình 6.3: Caáu truùc phaàn cöùng cuûa moâ-ñun ñieàu khieån-giaùm saùt heä thoáng
6.2 Caùc khoái maïch chöùc naêng treân moâ-ñun ñieàu khieån ñoäng cô vaø moâ-ñun trung taâm.
(b) (c)
Hình 6.4: Khoái maïch vi ñieàu khieån trung taâm
- Khoái maïch vi ñieàu khieån trung taâm chòu traùch nhieäm xöû lyù taát caû caùc hoaït ñoäng cuûa toaøn
moâ-ñun . Boä dao ñoäng laø kieåu Pierce vôùi thaïch anh 16 Mhz.
- Keøm vôùi khoái ñieàu khieån trung taâm laø caùc khoái chöùc naêng hoã trôï keøm theo nhö :
+ Hình 6.4 b : Jump caém BDM-Connector cho cheá ñoä debug-chaïy neàn ( BDM:
Background Debug Mode ) , seõ ñöôïc keát noái vôùi maïch BDM-Pod ñeå Naïp chöông
trình vaøo vi ñieàu khieån vaø debug chöông trình.
+ Hình 6.4 c : Laø coâng taéc duøng ñeà choïn caùc cheá ñoä hoaït ñoäng cho vi ñieàu khieån ( coâng
taéc SW2 ) ; chaân tín hieäu XCLKS noái vôùi GND ( möùc 0 ) laø ñeå choïn dao ñoäng thaïch
anh kieåu Pierce. ( dao ñoäng thaïch anh kieåu Pierce ñöôïc giôùi thieäu trong Chöông 5: Hoï
vi ñieàu khieån HCS12 )
6.2.2 Khoái maïch giao tieáp maùy vi tính qua coång noái tieáp
- Coång noái tieáp trong maùy vi tính thöôøng goïi laø coång COM , thöôøng ñöôïc söû duïng ñeå truyeàn döõ
lieäu hai chieàu giöõa maùy vi tính vaø ngoaïi vi vì caùc lyù do sau:
+ Coång noái tieáp truyeàn möùc 1 (High) :töø -3V ñeán -12V vaø möùc 0 (Low) :töø +3V ñeán +12V
neân tính choáng nhieãu töông ñoái toát, cho pheùp khoaûng caùch truyeàn xa hôn coång song song.
+ Soá daây keát noái ít, toái thieåu 3 daây: TxD (daây truyeàn) ,RxD (daây nhaän) , GND (mass)
+ Gheùp noái deã daøng vôùi vi ñieàu khieån hay PLC.
+ Cho pheùp noái maïng.
- Vieäc truyeàn döõ lieäu xaûy ra treân 2 ñöôøng daãn tín hieäu:TXD (daây truyeàn) vaø RXD (daây nhaän),
caùc chaân khaùc ñoùng vai troø nhö tín hieäu hoã trôï khi trao ñoåi thoâng tin vaø vì theá khoâng phaûi
trong moïi öùng duïng ñeàu caàn ñeán.
- Caùc maïch logic thöôøng duøng ñieän aùp 5V do ñoù caàn boä chuyeån möùc TTL <==> CMOS ñeå coù
ñieän aùp phuø hôïp coång COM treân maùy tính. Caùc IC chuyeån möùc thöôøng duøng laø : MAX232
cuûa haõng Maxim , Hin232 …
Hình 6.5: Khoái maïch giao tieáp maùy tính ,chuaån RS232C
- Trong sô ñoà cuûakhoái maïch naøy, ta duøng 3 daây ñeå truyeàn nhaän döõ lieäu: TXD, RXD, vaø
GND, töùc laø khoâng duøng cheá ñoä baét tay baèng phaàn cöùng (caëp DSR/DTR hay CTS/RTS).
Hình thöùc naøy dieãn ra khaù phoå bieán bôûi vì toác ñoä xöû lyù cuûa maùy vi tính hieän nay raát cao.
Khoâng phaûi nhö luùc tröôùc : coù luùc maùy vi tính ñang laøm vieäc gì ñoù thì phaûi kieåm tra xem
maùy vi tính laøm xong chöa, neáu xong roài thì thöïc hieän vieäc truyeàn thoâng. Neáu vì lyù do gì ñoù
maø caàn phaûi baét tay thì ta coù theå duøng cheá ñoä baét tay baèng phaàn meàm.
- Vi ñieàu khieån MC9S12DP512 coù 2 boä giao tieáp noái tieáp baát ñoàng boä hoaït ñoäng ñoäc laäp vôùi
nhau : SCI0 vaø SCI1 . Sô ñoà naøy ñang söû duïng boä SCI0 .
- Thoâng soá thieát laäp cho boä SCI0 laø : toác ñoä baud 115200 Bit/s , 1-bit Start, 8-bit döõ lieäu , 1-bit
Stop , khoâng coù Parity.
- Khi laø node ôû cuoái ñöôøng truyeàn , ta seõ söû duïng Jump coù teân laø End_NODE ñeå keát noái
ñieän trôû 120 Ohm vaøo 2 daây tín hieäu vi sai : CAN_H vaø CAN_L ñeå choáng nhieãu.
- Led D11 ( maøu saùng ñoû ) duøng ñeå baùo khi ñang phaùt döõ lieäu , coøn Led 10 ( maøu saùng
xanh ) duøng ñeå baùo khi ñang nhaän döõ lieäu.
6.2.4 Khoái giao tieáp song song giöõa 2 moâ-ñun ñieàu khieån 2 ñoäng cô
Hình 6.7 a: Khoái giao tieáp song song giöõa 2 moâ-ñun ñieàu khieån
- Vi ñieàu khieån treân moâ-ñun 1 ( ñieàu khieån toác ñoä ñoäng cô 1 ) gôûi toác ñoä thaät cuûa ñoäng cô 1
ra Port A ( Chu kyø gôûi laø 20ms vaø chæ gôûi khi giaù trò toác ñoä thaät cuûa ñoäng cô 1 coù thay ñoåi )
, vaø ñoïc giaù trò toác ñoä thaät cuûa ñoäng cô 2 töø Port H ñeå hieån thò leân LCD vaø maùy vi tính.
- Vi ñieàu khieån treân moâ-ñun 2 seõ ñoïc giaù trò toác ñoä töø Port A , ñieàu khieån ñoäng cô 2 chaïy
theo ñuùng toác ñoä naøy, vaø gôûi toác ñoä thaät cuûa ñoäng cô 2 ra Port H (Chu kyø ñoïc gôûi cuõng laø
20ms )
6.2.5 Khoái baøn phím ñieàu khieån ñoäng cô ( 4 phím)
6.2.6 Khoái baøn phím choïn caùc cheá ñoä hoaït ñoäng cho moâ hình ( Chæ coù trong moâ-ñun laøm vai
troø ñieàu khieån-giaùm saùt heä thoáng )
Hình 6.8: Khoái baøn phím choïn caùc cheá ñoä hoaït ñoäng cho moâ hình
- Khoái baøn phím naøy coù 8 phím nhaán,ñöôïc noái tröïc tieáp vaøo Port H cuûa vi ñieàu khieån, goàm coù:
+ Phím MODE : Baét ñaàu caøi ñaët
+ Phím OK : Söû duïng cheá chaïy ñoä ñoàng boä chô ñoäng cô 1 vaø 2
+ Phím CANCEL: Huûy boû cheá ñoä chaïy ñoàng boä , 2 ñoäng cô seõ hoaït ñoäng ñoäc laäp vôùi nhau.
+ Caùc phím 0/1 , 2/3 , 4/5 , 6/7 , 8/9 : Duøng ñeå nhaäp soá lieäu
+ Rieâng phím 0/1 coøn ñöôïc duøng ñeå caøi laïi caùc giaù trò toác ñoä ñaët maëc ñònh cho 2 ñoäng cô.
6.2.7 Khoái maïch nguoàn 5 Vdc cho heä thoáng ñieàu khieån
Hình 6.9: Khoái nguoàn 5 VDC cho vi ñieàu khieån vaø caùc IC treân moãi moâ-ñun
- Ngoõ vaøo laø ñieän xoay chieàu ( giaù trò hieäu duïng 12 V trôû xuoáng ) , qua chænh löu caàu diod.
Tuï ñieän C99 ( 2200uF ) laøm phaúng hôn ñieän aùp sau chænh löu.
- Ngoõ ra sau IC oån aùp 7805 laø 5V , ñeøn Led D3 coù nhieäm vuï baùo khi ñaõ coù nguoàn
- Caùc tuï C66 ,C76 ,C87 ( 100nF ) duøng ñeå loïc nhieãu haøi baäc cao cho ñieän aùp 5Vdc , tröôùc
khi cung caáp cho caùc IC treân moâ-ñun.
6.2.8 Khoái thôøi gian thöïc ( Chæ coù trong moâ-ñun laøm vai troø ñieàu khieån-giaùm saùt heä thoáng )
- Chaân SQW cuûa DS1307 ñöôïc taïo xung vuoâng 1 Hz, vaø keát noái vôùi chaân ngaét ngoaøi PE1 (
/IRQ) cuûa vi ñieàu khieån MC9S12DP512 : Cöù chu kì 1s , khi coù xung caïnh leân cuûa xung
vuoâng 1Hz ,seõ xaûy ra ngaét ngoaøi vaø luùc ñoù seõ caäp nhaät giaù trò thôøi gian cho heä thoáng qua
giao tieáp IIC.
- Pin Lithium 3V ( BT1 ) laø nguoàn cung caáp döï phoøng cho IC DS1307 , ñeå ñaûm baûo ñoàng
hoà vaãn chaïy ñuùng khi maát nguoàn.
Ø Vaøi neùt veà hoaït ñoäng cuûa IC DS1307
- Taàn soá dao ñoäng thaïch anh söû duïng 32.768kHz, khoâng caàn coù ñieän trôû, cuõng nhö caùc tuï
gaén theâm.
- IC thôøi gian thöïc ( real-time) DS1307 laø moät IC hoaït ñoäng vôùi cheá ñoä thôøi gian thöïc,
coâng suaát thaáp, söû duïng maõ BCD ñaày ñuû, coù 56 byte ram noäi. Ñòa chæ, cuõng nhö döõ lieäu
ñöôïc ghi vaø ñoïc theo chuaån giao tieáp IIC. IC thôøi gian thöïc DS1307 cung caáp thoâng tin veà
giaây, phuùt, giôø, ngaøy, thaùng, naêm, thoâng tin veà naêm. IC naøy cuõng töï ñieàu chænh cho nhöõng
thaùng coù ít hôn 31 ngaøy vaø bao goàm luoân caû naêm nhuaän. Ñoàng hoà trong IC hoaït ñoäng vôùi
hai cheá ñoä: 24 giôø, hay 12 giôø (bao goàm caû chæ thò cho bieát ñang laø AM hay PM) . IC thôøi
gian thöïc DS1307 cuõng ñöôïc tích hôïp saün moät maïch nhaän bieát söï coá ñieän aùp vaø seõ töï
ñoäng chuyeån sang duøng nguoàn PIN nuoâi döï phoøng khi coù söï coá maát ñieän aùp xaûy ra ñeå
ngaên ngöøa tình traïng maát döõ lieäu.
Toùm taét chöùc naêng caùc chaân cuûa IC real-time DS1307 :
Baûng 6.1 : Caùc chaân cuûa IC Real-Time DS1307
Chaân Teân chaân Chöùc naêng
1 X1 Noái vôùi thaïch anh 32.768 kHZ ñeå taïo xung nhòp cho IC
2 X2 real-time DS1307 . Coù theå söû duïng chæ X1 ñeå caáp xung nhòp
cho IC. Khi ñoù, X2 ôû traïng thaùi “float”
3 Vbat Duøng ñeå caáp nguoàn cho PIN 3V döï phoøng ñeå sao löu döõ
lieäu cho IC real-time DS1307. Ñeå maïch hoaït ñoäng ñuùng, Vbat
phaûi naèm trong khoaûng töø 2.0V ñeán 3.5V. Khi khoâng söû duïng
- Chöùc naêng thanh ghi ñieàu khieån: ( naèm ôû ñòa chæ 07H trong vuøn Ram cuûa DS1307 )
Hình 6.12: Trình töï thöïc hieän vieäc ñoïc döõ lieäu töø DS1307.
Ñaët giôø: Vieäc ñaët giôø ñöôïc thöïc hieän baèng caùch ghi vaøo caùc thanh ghi thích hôïp.
Trình töï thöïc hieän nhö sau:
o Master taïo ñieàu kieän START.
o Master göûi ñòa chæ cuûa DS1307 ( 7 bit ) vaø bit R/W=0 neân döõ lieäu göûi ñeán DS1307 laø
0xD0 . Khi nhaän ñöôïc ñòa chæ naøy, DS1307 seõ taïo acknowledge treân ñöôøng SDA.
o Master göûi ñòa chæ ñeán DS1307 xaùc ñònh vò trí cuûa Thanh ghi ñòa chæ con troû. IC real-
time DS1307 seõ taïo acknowledge.
o Master tieáp theo seõ chuyeån moät hoaëc nhieàu byte döõ lieäu ñeán DS1307 vaø DS1307 taïo
acknowledge moãi byte nhaän ñöôïc. Thanh ghi ñòa chæ con troû töï ñoäng ñöôïc taêng leân sau
moãi byte nhaän ñöôïc.
o Master seõ taïo ñieàu kieän STOP ñeå döøng vieäc ghi döõ lieäu.
Hình 6.13: Trình töï thöïc hieän vieäc ghi döõ lieäu leân DS1307
1 VSS Mass
2 VDD Nguoàn cung caáp cho LCD
3 V_Cons Chænh ñoä töông phaûn cho LCD
4 /RS Choïn thanh ghi trong LCD
5 R/W Ñoïc (1) / Ghi döõ lieäu (0)
6 Enable Cho pheùp choïn LCD
7 D0 Bit 0 cuûa byte döõ lieäu
8 D1 Bit 1 cuûa byte döõ lieäu
9 D2 Bit 2 cuûa byte döõ lieäu
10 D3 Bit 3 cuûa byte döõ lieäu
11 D4 Bit 4 cuûa byte döõ lieäu
12 D5 Bit 5 cuûa byte döõ lieäu
13 D6 Bit 6 cuûa byte döõ lieäu
14 D7 Bit 7 cuûa byte döõ lieäu
15 LED_A Nguoàn cho ñeøn LED neàn cuûa LCD
16 LED_K Mass cho ñeøn LED neàn cuûa LCD
- Vì trong chöông trình , chæ söû duïng cheá ñoä: ghi ra trò leân LCD ( Write) maø khoâng coù ñoïc
giaù trò töø LCD veà ( Read) neân chaân R/W cuûa LCD ñöôïc noái vôùi Mass .
- Bieán trôû 20K ( R14 ) duøng ñeå chænh ñoä töông phaûn cho LCD , khi V_Cons = 0V thì LCD
coù maøu ñaäm nhaát.
- Nuùt nhaán SW4 duøng ñeå baät ñeøn Led neàn beân trong LCD , khi ñoù coù theå söû duïng LCD vaøo
ban ñeâm.
6.2.10 Khoái maïch ñoäng löïc ñieàu khieån ñoäng cô ( Chæ coù treân 2 moâ-ñun ñieàu khieån ñoäng cô)
- Maïch söû duïng MosFet - IRF540 ñeå ñieàu khieån ñoäng cô.
- Maïch ñoäng löïc duøng nguoàn 24V-12V rieâng , khoâng chung Mass vôùi moâ-ñun ñieàu khieån.
Söû duïng OPTO ñeå : caùch ly maïch ñoäng löïc vôùi maïch vi ñieàu khieån vaø chuyeån möùc logic.
- Caëp BJT boå phuï Q1 ( D468 ) vaø Q3 ( B562 ) caûi thieän quaù trình ñoùng ngaét cuûa MosFet
IRF540. Diod D6 duøng ñeå xaû naêng löôïng tích luõy trong ñoäng cô .
- Chuù yù: Trong tröôøng hôïp söû duïng OPTO ñeå caùch ly seõ bò moät haïn cheá laø- Khi ñieàu roäng
xung taàn soá cao ( töø 10 Khz trôû leân ), caùc OPTO coù chaát löôïng ñoùng ngaét keùm seõ khoâng
ñaùp öùng toát daãn ñeán chaát löôïng ñoùng ngaét cuûa MosFet IRF540 giaûm . Töø ñoù ñoäng cô hoaït
ñoäng seõ khoâng nhö yù muoán. Vì theá ,khi muoán ñieàu roäng xung ôû taàn soá cao ; treân sô ñoà
maïch ñoäng löïc, ta coù theå choïn kieåu ñieàu khieån tröïc tieáp ( khoâng duøng OPTO ) nhö sau:
+ ÔÛ coâng taéc gaït SW9 , ta keùo leân ON vò trí thöù 2 ( kyù hieäu Direct_0 ) vaø keùo veà OFF vò
trí thöù 3 ( vò trí duøng OPTO ).
+ Keát noái Mass chung giöõa maïch vi ñieàu khieån vaø maïch ñoäng löïc.
- Daây tín hieäu Encoder ñöa veà seõ ñöôïc gaén vaøo Jump ( J18 hay J19 )- keát noái tröïc tieáp vôùi
chaân PortT.7 , laø chaân chöùc naêng cho boä ñeám xung A cuûa vi ñieàu khieån MC9S12DP512.
6.2 Khoái nguoàn 24/12/5 Vdc cung caáp cho maïch ñoäng löïc vaø ñoäng cô
Hình 6.16: Khoái maïch nguoàn 24/12/5 VDC duøng cho maïch ñoäng löïc vaø ñoäng cô ø
- Ngoõ vaøo laø ñieän aùp xoay chieàu, bieân ñoä 24VAC/ 5A . Sau ñoù qua caàu chænh löu diod
,thaønh ñieäp aùp moät chieàu . Tuï ñieän C10 ( 4700 uF/50V) duøng ñeå laøm phaúng ñieän aùp sau
chænh löu. Ñieän aùp sau chænh löu seõ qua IC oån aùp LM7824 thaønh aùp 24VDC, tieáp tuïc qua
tuï C9 (2200uF ) vaø IC oån aùp LM7812 thaønh aùp 12VDC , cuoái cuøng qua IC oån aùp LM7805
thaønh aùp 5VDC.
- Caùc BJT coâng suaát loaïi PNP laø: Q2 vaø Q3 ( BJT 2SA1302 ) duøng ñeå khuyeách ñaïi doøng
ñieän ngoõ ra sau caùc IC oån aùp (LM7824:24V , LM7812:12V ). Caùc ñieän trôû coâng suaát R7,
R6 ( 3 Ohm/2W ) ñöôïc söû duïng coù caùc chöùc naêng sau:
+ Ñieän aùp möùc daãn treân cöïc E-B cuûa Q2 vaø Q3: V EB = 0.7 V ( theo datasheet) , neân caùc
BJT Q2 vaø Q3 chæ hoaït ñoäng khi doøng ñieän vaøo caùc IC oån aùp (LM7824 vaø LM7812)
VEB 0.7
vöôït qua ngöôõng : I nguong = = = 0.233( A) = 233(mA) . Coù nghóa laø chæ khi caùc
R7 3
ngoõ ra 24V ( hay 12V) caàn söû duïng doøng lôùn ( töø 233mA trôû leân ) thì caùc BJT coâng suaát
môùi hoaït ñoäng ñeå khuyeách ñaïi doøng ngoõ ra.
+ Ngoaøi ra ,caùc ñieän trôû R6, R7 coøn coù chöùc naêng caûi thieän toát vieäc ñoùng/ngaét cuûa caùc
BJT: Q2,Q3.
- Caùc diod D9 , D10 , D13 coù nhieäm vuï baûo veä caùc IC oån aùp khi ngoõ vaøo maát ñieän ñoät ngoät
- Caùc Led D14, D15 , D16 coù nhieäm vuï baùo hieäu khi coù caùc möùc ñieän aùp 24V , 12 V , 5V
- Khoái nguoàn naøy ñöôïc söû duïng theo caùc muïc ñích sau:
+ Ñieän aùp 24V ñöôïc keát noái vaøo 2 khoái maïch ñoäng löïc : cung caáp cho 2 ñoäng cô DC
(24V/20W) trong moâ hình.
+ Ñieän aùp 12V ñöôïc keát noái vaøo 2 khoái maïch ñoäng löïc : thöïc hieän phaân cöïc cho caùc BJT
( D468 vaø B562) laùi MosFet IRF540.
6.3 Sô ñoà maïch BDM-Pod : duøng ñeå Naïp hay Debug cho hoï vi ñieàu khieån HCS12
Sô ñoà maïch naøy söû duïng vi ñieàu khieån 8-bit AT90S2313 , thuoäc hoï AVR cuûa haõng Atmel.
Vi ñieàu khieån AT90S2313 seõ ñöôïc naïp vaøo 1 chöông trình -goïi laø FirmWare . Sô ñoà maïch vaø
FirmWare ñöôïc thöïc hieän döïa theo taøi lieäu höôùng daãn cuûa haõng FreeScale .
Hình 6.18: Hình aûnh thöïc teá cuûa moâ hình phaàn cöùng trong luaän vaên
CHÖÔNG 7
7.1 Thieát keá boä ñieàu khieån PI-Môø , oån ñònh toác ñoä ñoäng cô DC
7.1.1 Sô löôïc sô ñoà khoái vaø heä phöông trình toaùn
Hình 7.1 : Sô ñoà khoái toång quaùt cuûa boä ñieàu khieån PI-Môø
+ ÔÛ ñaây, boä ñieàu khieån Môø ñoùng vai troø laø Boä chænh ñònh caùc thoâng soá cho boä ñieàu khieån
PI , döïa vaøo caùc bieán ñaàu vaøo laø : Sai soá e(t) vaø ñaïo haøm sai soá ( de/dt ).
+ Boä ñieàu khieån PI môùi taïo ra tín hieäu ñieàu khieån tröïc tieáp ñoái töôïng
· Moâ hình toaùn cho boä ñieàu khieån PI :
t
u (t ) = K P e(t ) + K I ò e( x )dx
0 (7.1)
t
1
u (t ) = K P (e(t ) + ò e( x)dx )
TI 0
(7.2)
du de
= KP + K I e(t )
dt dt (7.3)
KI 1
G PI ( s ) = K p + = K P (1 + ) (7.4)
s Ti s
K P2 TI
KI = a=
aK D TD (7.5)
K P2
giaù trò cuûa heä soá K I ( theo coâng thöùc (7.5) : K I = ).
aK D
Hình 7.2 : Sô ñoà chi tieát cuûa boä ñieàu khieån PI-Môø ñöôïc duøng trong luaän vaên
- Trong ñieàu khieån Môø , khoâng coù trình töï thieát keá (caùc luaät hôïp thaønh cho caùc thoâng soá
K P , K D , a ) moät caùch chính quy ,nhöng ta cuõng coù moät vaøi nguyeân taéc cô baûn ñeå chænh
vaøo ñaùp öùng cuûa heä thoáng vaø thay ñoåi daàn ñeå tìm ra höôùng chænh ñònh thích hôïp.
+ Laân caän 1b ta traùnh voït loá lôùn neân choïn : K P nhoû, K D lôùn , a lôùn
Lôùn Nhaát ñeå taêng toác maïnh cho ñoäng cô , coøn K D vaø a coù giaù trò nhoû nhaát.
+ Khi giaù trò sai soá e(t) laø aâm ít ( nghóa laø toác ñoä thaät cuûa ñoäng cô ñang nhoû hôn khoâng bao
de(t )
nhieâu so vôùi toác ñoä ñaët ) vaø giaù trò ñaïo haøm cuûa sai soá cuõng aâm ít ( nghóa laø
dt
ñoäng cô ñang coù xu höôùng giaûm toác ñoä ôû möùc chaäm ) thì giaù trò cuûa heä soá K P seõ laø
Lôùn ñeå taêng toác (nhöng khoâng quaù maïnh) cho ñoäng cô , coøn K D vaø a coù giaù trò nhoû.
K P2
+ K I : heä soá tích phaân ( tính ra töø giaù trò trung gian a : K I = )
aK D
DET
KP
N2 N1 Z P1 P2
N2 U L M Z Z
N1 L M S Z Z
ET Z M S Z S M
P1 Z Z S M L
P2 Z Z M L U
DET
KD
N2 N1 Z P1 P2
N2 Z S M L U
N1 S M L U L
ET Z M L U L M
P1 L U L M S
P2 U L M S Z
a N2 N1
DET
Z P1 P2
N2 L1 L2 L3 L4 L5
N1 L2 L3 L4 L5 L4
ET Z L3 L4 L5 L4 L3
P1 L4 L5 L4 L3 L2
P2 L5 L4 L3 L2 L1
7.1.3 Caùch tính toác ñoä cuûa ñoäng cô DC ñöôïc söû duïng trong luaän vaên
- Moãi ñoäng cô ñöôïc gaén ñoàng truïc vôùi 1 encoder quang loaïi töông ñoái 100 xung/voøng.
- Goïi: + Toác ñoä tính theo voøng/phuùt (R.P.M : Round Per Minute) laø: Speed_RPM
+ Soá xung cuûa encoder trong 20ms ( xung/20ms) laø: Pulse_20MS
Speed _ RPMx100
- Ta coù: + Soá xung cuûa encoder trong 1 giaây laø: ( xung/s)
60
+ Soá xung cuûa encoder trong 20ms seõ laø: ( 1 s = 1000 ms = 50 x 20ms )
Speed _ RPMx100 1
Pulse_20MS ( xung/ 20ms) = x
60 50
<=> Speed _ RPM
Pulse_20MS ( xung/ 20ms) =
30
(7.6)
Vaäy soá xung cuûa encoder trong 20ms seõ baèng toác ñoä cuûa ñoäng cô ( ñôn vò voøng/phuùt: R.P.M )
chia cho 30 . Do ñoù ,khi tính ñöôïc soá xung cuûa encoder trong 20ms , ta chæ caàn nhaân giaù trò naøy
cho 30 laø seõ ñöôïc toác ñoä cuûa ñoäng cô ( tính theo ñôn vò voøng/phuùt: R.P.M )
7.2.1 Caùc loaïi khung truyeàn-nhaän giöõa maùy tính vaø moâ-ñun ñieàu khieån ñoäng cô 1
· Giao dieän treân maùy tính ñaët taïi moâ-ñun ñieàu khieån ñoäng cô 1 ( Node 1):
Hình 7.5: Giao dieän ñieàu khieån-giaùm saùt treân maùy tính cuûa node
Ø Caùch söû duïng giao dieän naøy
– Nhaäp toác ñoä ñaët vaøo oâ Toác ñoä ôû Baûng thoâng soá ; neáu söû duïng ôû cheá ñoä ñoàng boä – Check
vaøo “goàm Motor 2 ” , neáu khoâng check thì chæ ñieàu khieån rieâng ñoäng cô 1.
– Sau khi nhaäp xong thoâng soá, Click vaøo nuùt NHAÄP ñeå löu , tieáp ñeán laø Click vaøo nuùt
TRUYEÀN ñeå truyeàn khung tín hieäu ñieàu khieån xuoáng vi ñieàu khieån.
– Söû duïng caùc nuùt ñeå ñieàu khieån ñoäng cô: CHAÏY , DÖØNG , TAÊNG , GIAÛM
Ø Khung truyeàn ñeå thieát laäp Toác ñoä ñaët töø PC xuoáng moâ-ñun: Goàm 3 byte
Baûng 7.4: Khung thieát laäp toác ñoä ñaët töø PC taïi node 1 xuoáng node 1
Byte 0: Maõ caøi ñaët thoâng soá Byte 1: Toác ñoä ñaët Byte 2: Checksum-kyù töï “F”
+ Byte Maõ caøi ñaët thoâng soá : laø byte kyù töï “1” – Duøng cho vieäc ñaët toác ñoä
+ Byte toác ñoä ñaët ( laø soá xung encoder/ 20ms): Giaù trò laøm troøn cuûa Toác ñoä caàn ñaët
(voøng/phuùt) chia cho 30 ( xem caùch tính toác ñoä ñoäng cô ôû Chöông 7 - Phaàn 7.1.3 )
+ Byte Checksum : Laø kyù töï “F” ( F: Finish )
Ø Khung truyeàn caùc leänh ñieàu khieån töø PC xuoáng moâ-ñun: Goàm 2 byte
Baûng 7.5: Khung truyeàn leänh ñieàu khieån töø PC taïi node 1 xuoáng node 1
Byte 0: Leänh ñieàu khieån Byte 1: Checksum ( kyù töï “F” )
- Byte 0 - Leänh ñieàu khieån, laø moät kyù töï :
+ “S” : Ñoäng cô chaïy ( Töông öùng khi nhaán nuùt CHAÏY treân giao dieän)
+ “P” : Ñoäng cô döøng (Töông öùng khi nhaán nuùt DÖØNG treân giao dieän)
+ “I” : Taêng toác ñoä cuûa ñoäng cô (Töông öùng khi nhaán nuùt TAÊNG treân giao dieän)
+ “D” : Giaûm toác ñoä cuûa ñoäng cô (Töông öùng khi nhaán nuùt GIAÛM treân giao dieän)
+ “Y” : Hai ñoäng cô 1 vaø 2 hoaït ñoäng ñoàng boä ( Khi check vaøo “goàm Motor 2 ”)
+ “N” : Hai ñoäng cô 1 vaø 2 hoaït ñoäng ñoäc laäp vôùi nhau.(Khoâng check vaøo“goàm Motor 2 ”)
Ø Chuoãi döõ lieäu töø moâ-ñun 1 leân PC: Laø moät chuoãi byte nhö hình sau
Hình 7.6: Caùc chuoãi byte truyeàn leân PC khi ñoäng cô döøng vaø khi ñoäng cô chaïy
· Giao dieän treân maùy tính ñaët taïi moâ-ñun trung taâm ( Node 0):
- Moâ-ñun trung taâm coù nhieäm vuï trong vieäc ñieàu phoái tín hieäu ñieàu khieån töø maùy tính taïi
trung taâm(coù quyeàn ñieàu khieån cao nhaát) ñeán töøng moâ-ñun ñieàu khieån ñoäng cô trong maïng
Keát thuùc
Hình 7.7: Löu ñoà caùch thöùc vi ñieàu khieån ôû moâ-ñun trung taâm phaân loaïi ñòa chæ caàn gôûi cuûa caùc
khung truyeàn ñieàu khieån nhaän ñöôïc töø PC trung taâm.
- Khung truyeàn töø maùy tính xuoáng moâ-ñun trung taâm seõ luoân baét ñaàu baèng byte ñòa chæ cuûa
node caàn ñieàu khieån. Döïa vaøo byte ñòa chæ naøy, vi ñieàu khieån ôû moâ-ñun trung taâm seõ quyeát
ñònh gôûi böùc ñieän (message) ñeán ñuùng ñòa chæ thoâng qua CAN-bus
- Caùc maõ caên cöôùc ID cuûa böùc ñieän maø node 0 duøng ñeå gôûi:
+ Maõ ID 0x500 : Duøng ñeå gôûi rieâng khung truyeàn ñeán cho node 1
+ Maõ ID 0x600 : Duøng ñeå gôûi rieâng khung truyeàn ñeán cho node 2
+ Maõ ID 0x100 : Duøng ñeå gôûi chung khung truyeàn ñeán cho caû 2 node 1 vaø 2
Hình 7.8: Giao dieän ñaët treân maùy tính taïi trung taâm ñieàu khieån-giaùm saùt heä thoáng
Hình 7.9: Giao dieän thieát laäp thoâng soá vaø truyeàn döõ lieäu ñieàu khieån.
- Töø khung Choïn cheá ñoä ñieàu khieån ôû giao dieän treân , ta seõ coù 4 phöông phaùp ñieàu khieån heä
thoáng töø Trung Taâm ñieàu khieån nhö sau:
Baûng 7.6: Caùc phöông phaùp ñieàu khieån ñöôïc caøi ñaët cho heä thoáng
Caùc phöông phaùp ñieàu khieån CHEÁ ÑOÄ BAÈNG TAY CHEÁ ÑOÄ TÖÏ ÑOÄNG
KIEÅU Ñoàng boä Phöông phaùp 1 Phöông phaùp 3
+ Phöông phaùp 1 : Caùc ñoäng cô hoaït ñoäng ñoàng boä ( ñoäng cô 2 phuï thuoäc vaøo ñoäng cô 1) ,
ngöôøi duøng ñieàu khieån ñoäng cô ( cho chaïy, döøng, taêng, giaûm ) baèng caùc nuùt nhaán treân
giao dieän .
+ Phöông phaùp 2 : Caùc ñoäng cô hoaït ñoäng ñoäc laäp vôùi nhau ( bao goàm ñieàu khieån rieâng töøng
ñoäng cô hay ñieàu khieån ñoàng thôøi nhieàu ñoäng cô) , ngöôøi duøng ñieàu khieån ñoäng cô ( cho
chaïy , döøng , taêng, giaûm ) baèng caùc nuùt nhaán treân giao dieän
+ Phöông phaùp 3 : Caùc ñoäng cô hoaït ñoäng ñoàng boä ( ñoäng cô 2 phuï thuoäc vaøo ñoäng cô 1),
ngöôøi duøng chæ caàn caøi ñaët thôøi ñieåm chaïy vaø döøng laïi , sau ñoù döïa vaøo Heä thoáng thôøi
gian thöïc ( DS1307 ) – vi ñieàu khieån ôû moâ-ñun ñieàu khieån trung taâm seõ ñieàu khieån heä
ñoäng cô chaïy hay döøng ñuùng thôøi gian.
+ Phöông phaùp 4 : Caùc ñoäng cô hoaït ñoäng ñoäc laäp vôùi nhau ( bao goàm ñieàu khieån rieâng töøng
ñoäng cô hay ñieàu khieån ñoàng thôøi nhieàu ñoäng cô) , ngöôøi duøng chæ caàn caøi ñaët thôøi ñieåm
chaïy vaø döøng laïi , sau ñoù döïa vaøo Heä thoáng thôøi gian thöïc ( DS1307 ) – vi ñieàu khieån ôû
moâ-ñun ñieàu khieån trung taâm seõ ñieàu khieån heä ñoäng cô chaïy hay döøng ñuùng thôøi gian.
- Caùc loaïi khung truyeàn-nhaän giöõa maùy tính vaø moâ-ñun trung taâm (node 0 ) : Caùc khung
truyeàn luoân coù byte baét ñaàu laø: Byte 0-Ñòa chæ node (moâ-ñun ñoäng cô) caàn ñieàu khieån
Ø Khung truyeàn ñeå thieát laäp Toác ñoä ñaët töø PC xuoáng moâ-ñun trung taâm (node 0): Coù 4 byte
Baûng 7.7: Khung truyeàn ñeå thieát laäp Toác ñoä ñaët töø PC xuoáng moâ-ñun trung taâm (node 0):
Byte0: Ñòa chæ Node Byte 1: Byte 2: Byte 3: Checksum (
caàn ñieàu khieån Cheá ñoä ñieàu khieån Toác ñoä ñaët kyù töï “F” )
Ø Khung truyeàn trong cheá ñoä töï ñoäng ( töø PC taïi trung taâm xuoáng node 0): Coù 10 byte
Baûng 7.8: Khung truyeàn töø PC taïi node 0 xuoáng node 0 – söû duïng trong cheá ñoä Töï ñoäng
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Byte 9
Ñòa chæ “2” Toác ñoä Giôø Phuùt Giaây Giôø Phuùt Giaây Checksum
Node ( Auto) ñaët chaïy chaïy chaïy döøng döøng döøng ( “F”)
Ø Khung truyeàn caùc leänh ñieàu khieån töø PC xuoáng moâ-ñun trung taâm (node 0): Coù2 byte
Baûng 7.9: Khung truyeàn caùc leänh ñieàu khieån töø PC taïi node 0 xuoáng node 0
Byte 0: Ñòa chæ Node caàn Byte 1: Byte 2:
ñieàu khieån Leänh ñieàu khieån Checksum ( kyù töï “F” )
- Byte 0 – Ñòa chæ node caàn ñieàu khieån: , maõ hoùa thaønh kyù töï:
+ “1” : Ñieàu khieån moâ-ñun ñoäng cô 1
+ “2” : Ñieàu khieån moâ-ñun ñoäng cô 2
+ “A” : Ñieàu khieån caû 2 moâ-ñun ñoäng cô 1 vaø 2
- Byte 1 – Leänh ñieàu khieån, laø moät kyù töï :
+ “S” : Ñoäng cô chaïy ( Töông öùng khi nhaán nuùt CHAÏY treân giao dieän)
+ “P” : Ñoäng cô döøng (Töông öùng khi nhaán nuùt DÖØNG treân giao dieän)
+ “I” : Taêng toác ñoä cuûa ñoäng cô (Töông öùng khi nhaán nuùt TAÊNG treân giao dieän)
+ “D” : Giaûm toác ñoä cuûa ñoäng cô (Töông öùng khi nhaán nuùt GIAÛM treân giao dieän)
+ “Y” : Hai ñoäng cô 1 vaø 2 hoaït ñoäng trong cheá ñoä ñoàng boä ( Khi choïn KIEÅU ÑOÀNG BOÄ )
+ “N” : Hai ñoäng cô 1 vaø 2 hoaït ñoäng ñoäc laäp vôùi nhau ( khi check vaøo KIEÅU ÑOÄC LAÄP )
7.3 Löu ñoà giaûi thuaät cho vi ñieàu khieån treân caùc moâ-ñun
- Ghi chuù: Trong luaän vaên söû duïng maïng CAN ñeå quaûn lyù heä thoáng , moâ-ñun ñieàu khieån
trung taâm(moâ-ñun 0) töông öùng laø Node 0 , moâ-ñun ñieàu khieån ñoäng cô 1 (moâ-ñun 1)
töông öùng laø Node 1 , moâ-ñun ñieàu khieån ñoäng cô 2 (moâ-ñun 2) töông öùng laø Node 2 .
· Giaûi thuaät chung cuûa chöông trình caùc vi ñieàu khieån treân caùc moâ-ñun laø :
- Ñoaïn chöông trình MAIN (chính) coù nhieäm vuï:
i. Khôûi ñoäng caùc khoái chöùc naêng caàn söû duïng ( 1 laàn duy nhaát luùc môùi Reset )
ii. Kieåm tra caùc côø baùo hoaøn thaønh vieäc nhaän döõ lieäu ñeå thöïc hieän caùc coâng vieäc ñöôïc
yeâu caàu töông öùng , khi thöïc hieän xong coâng vieäc töông öùng – seõ cho giaù trò cuûa côø
baùo hoaøn thaønh vieäc nhaän döõ lieäu ñoù veà 0. Caùc côø baùo hoaøn thaønh vieäc nhaän döõ
lieäu chæ ñöôïc Set ( cho leân 1) trong caùc chöông trình phuïc vuï NGAÉT töông öùng
iii. Taát caû caùc ñieàu kieän trong löu ñoà giaûi thuaät cuûa ñoaïn chöông trình MAIN ñeàu laø
kieåm tra caùc côø baùo hoaøn thaønh vieäc nhaän döõ lieäu.
Ví duï nhö: Khi Node 1 nhaän moät böùc ñieän ( message) töø Node 0 qua CAN-bus :
+ Vi ñieàu khieån seõ taïo moät NGAÉT ñeå nhaän döõ lieäu , trong chöông trình Ngaét nhaän döõ
lieäu : Döõ lieäu trong böùc ñieän seõ löu tröõ vaøo bieán chuoãi rxdata ñaõ ñöôïc khai baùo saün vaø
seõ cho côø baùo hoaøn thaønh vieäc nhaän döõ lieäu töø CAN-Bus laø: CAN_receive_flag = 1
+ Trong chöông trình MAIN , trong voøng laëp seõ kieåm tra côø baùo hoaøn thaønh vieäc nhaän döõ
lieäu töø CAN-Bus : neáu CAN_receive_flag = 1 thì seõ kieåm tra giaù trò byte ñieàu khieån ôû
trong bieán chuoãi rxdata ñeå thöïc hieän coâng vieäc yeâu caàu töông öùng. Thöïc hieän xong coâng
vieäc ñöôïc yeâu caàu thì seõ cho CAN_receive_flag = 0 (chuaån bò cho laàn kieåm tra keá tieáp)
Baét ñaàu
Sai
Ñoäng cô ñöôïc pheùp chaïy?
Ñuùng
Ñuùng
Sai soá: ET <> 0 ?
2
Sai
Ñaõ ñuû chu kyø 200ms ?
Ñuùng
Hình 7.10: Löu ñoà giaûi thuaät chöông trình Main cuûa node 1 vaø 2
· Löu ñoà giaûi thuaät chöông trình MAIN cuûa Node 0 (moâ-ñun ñieàu khieån-giaùm saùt heä thoáng)
Baét ñaàu
Ñuùng
Coù phím ñöôïc nhaán ?
(Ñ.Khieån, choïn MODE)
Gôûi giaù trò phím ñöôïc
nhaán ñeán caùc node ñeå
Sai
caùc node thöïc hieän
yeâu caàu töông öùng.
4
3
4 3
Ñuùng
Coù yeâu caàu hoaït ñoäng
cheá ñoä Auto töø PC ?
Caøi ñaët giaù trò thôøi
Sai gian döøng vaø chaïy
cuûa ñoäng cô
Hình 7.11: Löu ñoà giaûi thuaät chöông trình Main cuûa Node 0 (moâ-ñun trung taâm)
· Chuù yù: Khi coù ñieàu kieän ñuùng xaûy ra ( coù moät côø baùo hoaøn thaønh naøo ñoù = 1 ) , sau khi
thöïc hieän xong coâng vieäc yeâu caàu töông öùng seõ Reset côø baùo hoaøn thaønh ñoù.
7.3.2 Trình töï chi tieát trong caùc chöông trình con vaø 5 chöông trình phuïc vuï Ngaét
7.3.1.1 Trình töï chi tieát trong caùc chöông trình con (duøng trong caùc löu ñoà giaûi thuaät chöông
trình MAIN )
· Chöông trình con Khôûi ñoäng caùc khoái chöùc naêng : Khôûi ñoäng theo trình töï sau
+ Boä PLL : Bus-Clock seõ laø 24 Mhz
+ Timer OC2 :duøng ñeå laáy maãu toác ñoä ñoäng cô – thôøi gian 20ms, coù söû duïng Ngaét
( Chæ coù treân Node 1& 2 ; Khoâng coù treân node 0 )
+ Boä SCI0 : Toác ñoä laø 115200 Bit/s , coù söû duïng Ngaét khi nhaän döõ lieäu
+ Boä ñieàu xung PWM : Taàn soá xung ñieàu khieån laø 10 Khz
( Chæ coù treân Node 1& 2 ; Khoâng coù treân node 0 )
+ Boä ñeám xung A : Ñeå ñeám xung töø Encoder , ñeám khi caïnh leân cuûa xung
( Chæ coù treân Node 1& 2 ; Khoâng coù treân node 0 )
+ Boä giao tieáp CAN0: toác ñoä 1Mbit/s, söû duïng maõ caên cöôùc chuaån ( Standard ID)
+ Chöùc naêng Key-WakeUp ,duøng Ngaét ñeå ñoïc giaù trò phím ñöôïc nhaán
+ Khôûi ñoäng boä giao tieáp IIC vôùi heä thoáng thôøi gian thöïc DS1307 vaø söû duïng Ngaét
ngoaøi ñeå ñoïc giaù trò thôøi gian töø DS1307 ( Chæ coù treân node 0 )
+ Khoái hieån thò: LCD 2x16 ( ñoái vôùi Node 0 laø LCD 4x20 )
· Chöông trình con Xöû lyù böùc ñieän nhaän töø CAN-Bus: ( duøng cho node 1 vaø 2 )
+ Döõ lieäu ñöôïc chöùa trong bieán chuoãi rxdata ( ñaõ ñöôïc löu giaù trò trong haøm Ngaét nhaän
böùc ñieän CAN, böùc ñieän nhaän töø Node 0 gôûi ñeán )
+ Caáu truùc döõ lieäu trong bieán chuoãi rxdata:
rxdata = khung truyeàn goác (cuûa PC trung taâm truyeàn xuoáng node 0) sau khi loaïi boû
Byte ñòa chæ node caàn ñieàu khieån ( laø byte 0)
+ Döïa vaøo caáu truùc töøng böùc ñieän seõ thöïc hieän coâng vieäc töông öùng
( Xem caáu truùc khung truyeàn cuûa PC trung taâm truyeàn xuoáng node 0 ôû Chöông 7 – phaàn 7.2.2)
+ Xoùa côø baùo hoaøn thaønh vieäc nhaän döõ lieäu töø CAN-Bus.
· Chöông trình Xöû lyù döõ lieäu nhaän töø SCI0 ( duøng cho node 1 vaø 2 )
+ Döïa vaøo caáu truùc khung truyeàn cuûa PC ôû taïi node truyeàn xuoáng node ( Chöông 7 –
phaàn 7.2.1 ) ñeå kieåm tra giaù trò caùc byte ñieàu khieån ñeå thöïc hieän coâng vieäc töông öùng
+ Xoùa côø baùo hoaøn thaønh vieäc nhaän döõ lieäu töø coång noái tieáp COM
K P2
- Suy ra giaù trò K I theo coâng thöùc K I =
aK D
- Ñieàu roäng xung cho maïch ñoäng löïc ñeå ñieàu khieån ñoäng cô.
· Ñoaïn chöông trình con Caùc vieäc thöïc thi khi ñoäng cô döøng
- Ñieàu roäng xung vôùi Hiduty = 2% ñeå döøng ñoäng cô
- Khôûi taïo laïi (Reset) giaù trò caùc tham soá cuûa boä ñieàu khieån PI-Môø
- Gôûi leân PC khung truyeàn nhö sau: Goàm 6 byte
Baûng 7.10: Khung döõ lieäu töø node 1 truyeàn leân PC taïi ñoù – khi ñoäng cô döøng
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
“1”hoaëc “0” Kyù töï “-” “S” “T” “O” “P”
Byte 0 : + Coù giaù trò laø kyù töï “1” khi ñoäng cô hoaït ñoäng ôû cheá ñoä ñoàng boä
+ Coù giaù trò laø kyù töï “0” khi ñoäng cô hoaït ñoäng ôû cheá ñoä ñoäc laäp
Hình 7.12: Hình minh hoïa döõ lieäu truyeàn leân PC ôû node 1 khi ñoäng cô döøng
· Ñoaïn chöông trình con Caùc vieäc thöïc thi khi ñoäng cô chaïy:
- Gôûi leân PC moät chuoãi byte vôùi ñaày ñuû caùc thoâng tin:
+ Giaù trò xung ñoïc töø encoder trong 20ms ( Pulse: )
+ Cheá ñoä maø ñoäng cô ñang hoaït ñoäng
+ Giaù trò vaän toác cuûa ñoäng cô 1 vaø ñoäng cô 2
Hình 7.13: Hình minh hoïa döõ lieäu truyeàn leân PC ôû node 1 khi ñoäng cô chaïy
· Caáu truùc böùc ñieän CAN maø moãi node ( node 1 vaø node 2 ) gôûi veà cho node 0
- Caáu truùc böùc ñieän naøy seõ bao goàm caùc phaàn: Maõ caên cöôùc ID , ñoä öu tieân , chieàu daøi cuûa
khung döõ lieäu trong böùc ñieän vaø khung döõ lieäu:
+ Böùc ñieän cuûa node 1 truyeàn veà seõ coù maõ caên cöôùc ID laø 0x200
+ Böùc ñieän cuûa node 2 truyeàn veà seõ coù maõ caên cöôùc ID laø 0x300
- Caáu truùc khung döõ lieäu cuûa böùc ñieän naøy coù 8 bytes döõ lieäu
Baûng 7.11: Khung truyeàn cuûa böùc ñieän CAN töø node 1 vaø node 2 truyeàn veà node 0
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
Maõ baét ñaàu Soá haøng Soá haøng Soá haøng Soá haøng Kyù töï Cheá ñoä Checksum
cuûa döõ lieäu ngaøn traêm chuïc ñôn vò “-” hoaït ñoäng (kyù töï “E”)
Trong ñoù:
Byte 0 : Laø maõ baét ñaàu cuûa döõ lieäu
+ Laø kyù töï “A” : Khung truyeàn cuûa Node 1 ; Laø kyù töï “B” : Khung truyeàn cuûa Node 2
Byte [1:4] : laø giaù trò haøng ngaøn , traêm, chuïc ,ñôn vò cuûa toác ñoä thaät ñoäng cô ( maõ hoùa ôû
döôùi daïng töøng kyù töï )
Byte 6 : Phaûn hoài cho trung taâm bieát cheá ñoä hoaït ñoäng hieän giôø cuûa ñoäng cô
+ Laø kyù töï “1” : Ñoäng cô ñang hoaït ñoäng ôû cheá ñoä ñoàng boä
+ Laø kyù töï “0” : Ñoäng cô ñang hoaït ñoäng ôû cheá ñoä ñoäc laäp
Byte 7: Laø byte checksum rieâng cuûa chuoãi khung truyeàn naøy – laø kyù töï “E” ( E: End )
Hình 7.14: Khung truyeàn cuûa böùc ñieän CAN töø node 1 vaø node 2 truyeàn veà node 0
+ Reset boä ñeám xung A (thanh ghi PACN32 = 0 ) ; khôûi taïo laïi giaù trò cho Timer OC2 vaø
xoùa côø ngaét ( ôû thanh ghi TFLG1 ) ñeå cho pheùp timer ngaét ôû laàn 20ms keá tieáp.
+ Thoaùt khoûi chöông trình phuïc ngaét.
- Ñoái vôùi node 2:
+ Ñoïc giaù trò trong boä ñeám xung A ( taïi thanh ghi PACN32) , löu vaøo bieán toc_do_do
+ Ñoïc caùc giaù trò cuûa ñoäng cô 1 töø Port A , löu vaøo giaù trò toc_do_dat
+ Tính caùc giaù trò : Sai soá toác ñoä ET = toc_do_do – toc_do_dat ; vaø ñaïo haøm sai soá (toác ñoä
taêng ): DET = ET_môùi – ET_cuõ
+ Gôûi toác ñoä thaät cuûa ñoäng cô 2 ( giaù trò toc_do_do) ra Port H
+ Reset boä ñeám xung A (thanh ghi PACN32 = 0) ; khôûi taïo laïi giaù trò cho Timer OC2 vaø xoùa
côø ngaét ( ôû thanh ghi TFLG1 ) ñeå cho pheùp timer ngaét ôû laàn 20ms keá tieáp
+ Thoaùt khoûi chöông trình phuïc ngaét.
· Chöông trình ngaét nhaän döõ lieäu töø coång COM qua RS232
ÔÛ ñaây , caùc vi ñieàu khieån treân caû 3 moâ-ñun (node) ñeàu söû duïng boä SCI0. Chæ trình baøy
chöông trình daønh cho node 1&2 ( coøn chöông trình daønh cho node 0 ñaõ ñöôïc trình baøy ñaày
ñuû treân löu ñoà giaûi thuaät cuûa node 0 )
+ Ñaõ khai baùo tröôùc 1 bieán kieåu maûng ,goïi laø SCI0_In[ index ] . Moãi khi vaøo thöïc thi
chöông trình ngaét , giaù trò töø boä ñeäm seõ ñöôïc löu vaøo maûng , giaù trò chæ soá cuûa maûng :
index seõ ñöôïc taêng theâm 1.
+ Döïa vaøo byte ñaàu tieân cuûa döõ lieäu nhaän ñöôïc ( khi ñoù ñaõ löu vaøo SCI0_In[0] ) , ta seõ ñònh
bieát khung truyeàn ñang nhaän naøy seõ coù bao nhieâu byte . Töø ñoù xaùc ñònh chính xaùc chieàu
daøi cuûa khung truyeàn , vaø löu vaøo bieán frame_len ( Ñeå xaùc ñònh ñöôïc chieàu daøi haõy xem
caáu truùc Khung truyeàn töø PC xuoáng node 1 taïi Chöông 7 - phaàn 7.2.1 )
+ Khi chæ soá index cuûa maûng SCI0_In[ index ] baèng giaù trò chieàu daøi frame_len , seõ reset
giaù trò cuûa bieán index ( index = 0 ) vaø kieåm tra byte cuoái cuøng cuûa chuoãi - Neáu byte ñoù
ñuùng laø byte CheckSum ( laø kyù töï “F” ) thì vieäc nhaän döõ lieäu thaønh coâng à Seõ cho côø
baùo hoaøn thaønh nhaän döõ lieäu töø SCI0 leân 1.
+ Xoùa côø ngaét ( trong thanh ghi SCI0SR1 ) ñeå chuaån bò cho laàn ngaét nhaän keá tieáp vaø thoaùt
khoûi chöông trình phuïc ngaét.
· Chöông trình ngaét ngoaøi ñeå caäp nhaät thôøi gian töø DS1307 : ( Ngaét naøy chæ coù ôû node 0 )
+ Söû duïng giao tieáp IIC , ñoïc laàn löôït caùc giaù trò: giaây , phuùt , giôø ôû caùc ñòa chæ RAM cuûa
DS1307 töông öùng laø: 0x00 , 0x01 , 0x02. Caùc giaù trò ôû döôùi daïng BCD .
+ Chuyeån caùc giaù trò nhaän ñöôïc ôû treân ( maõ BCD) sang soá daïng thaäp phaân vaø löu vaøo caùc
bieán: sec , minute , hour ( caùc bieán naøy laø bieán toaøn cuïc ,ñöôïc khai baùo töø tröôùc )
+ Cho côø baùo hoaøn thaønh vieäc ñoïc giaù trò thôøi gian leân 1.
+ Thoaùt khoûi chöông trình phuïc vuï ngaét.
CHÖÔNG 8
8.1 Moät soá hình aûnh veà hoaït ñoäng cuûa heä thoáng
8.1.1 Taïi giao dieän treân maùy tính ôû moâ-ñun ñieàu khieån ñoäng cô 1 (node 1)
- Chuù thích: Ñöôøng ñoà thò maøu ñoû laø toác ñoä ñaët , ñöôøng ñoà thò maøu xanh ñaäm laø toác ñoä cuûa
ñoäng cô 1 , ñöôøng ñoà thò maøu xanh laù caây laø toác ñoä cuûa ñoäng cô 2.
Hình 8.1: Hình aûnh hoaït ñoäng 2 ñoäng cô hoaït ñoäng ñoàng boä – khi coù gaén taûi ñeå thöû
+ Toác ñoä cuûa ñoä cô 1 thì baùm theo toác ñoä ñaët raát toát , thôøi gian leân vaø xaùc laäp ñeàu nhanh (
t len » 0.8 giaây , t xl » 1.5 giaây) , voït loá thaáp vaø sai soá xaùc laäp haàu nhö raát nhoû.
+ Ñoäng cô 2 baùm theo ñoäng cô 1 khaù toát . Boä ñieàu khieån vaãn ñaûm baûo chaát löôïng ñieàu khieån
ngay caû khi coù taûi.
Hình 8.2: Hình aûnh 2 ñoäng cô hoaït ñoäng ñoàng boä – khi thay ñoåi caùc möùc toác ñoä ñaët khaùc nhau
Hình 8.3: Toác ñoä 2 ñoäng cô treân caùc LCD , toác ñoä ñaët laø 750 R.P.M – hoaït ñoäng ñoàng boä
8.1.2 Hình aûnh taïi giao dieän treân maùy tính vaø moâ-ñun ôû trung taâm ñieàu khieån (node 0)
Hình 8.4: Treân giao dieän taïi trung taâm– toác ñoä ñaët 2100 R.P.M, hoaït ñoäng ñoàng boä
Hình 8.5: Hình aûnh treân LCD cuûa moâ-ñun trung taâm (node 0)– toác ñoä ñaët 2100 R.P.M .
Hình 8.6: Treân giao dieän taïi trung taâm– toác ñoä ñaët 3000 R.P.M, hoaït ñoäng ñoàng boä
Hình 8.7: Treân giao dieän taïi trung taâm, toác ñoä ñaët 1200 R.P.M – ñieàu khieån rieâng ñoäng cô 1
Hình 8.8: Treân giao dieän taïi trung taâm, Cheá ñoä ñieàu khieån töï ñoäng – caøi ñaët thôøi gian
nhoû … , ngay caû khi ñoäng cô hoaït ñoäng coù taûi hay ôû nhieàu giaù trò toác ñoä khaùc nhau.
– Ñaõ ñoàng boä ñöôïc toác ñoä 2 ñoäng cô vôùi nhau vaø thay ñoåi toác ñoä khaù linh hoaït.
– Xaây döïng thaønh coâng maïng ñieàu khieån-giaùm saùt heä thoáng theo giao thöùc CAN . Vieäc
ñieàu khieån vaø trao ñoåi döõ lieäu giöõa caùc moâ-ñun coù toác ñoä nhanh (1Mbps) vaø oån ñònh, töø
ñoù vieäc ñieàu khieån vaø giaùm saùt heä thoáng trôû neân deã daøng vaø ñaït hieäu quaû cao.
– Keát noái ñöôïc vi ñieàu khieån vôùi maùy tính theo chuaån RS232C ( vôùi toác ñoä trao ñoåi döõ
lieäu toái ña: baurate = 115200 Bit/s) vaø ñaõ thieát keá hoaøn chænh caùc giao dieän treân maùy
tính ñeå ñieàu khieån –giaùm saùt heä thoáng ( Söû duïng ngoân ngöõ Visual Basic 6 )
+ Moät giao dieän ñöôïc ñaët treân maùy tính taïi moâ-ñun ñieàu khieån ñoäng cô 1: Coù theå ñieàu
khieån ñoàng boä toác ñoä 2 ñoäng cô : 1 vaø 2 hay coù theå ñieàu khieån rieâng ñoäng cô 1.
+ Moät giao dieän khaùc ñöôïc ñaët treân maùy tính taïi moâ-ñun trung taâm (node 0) : Coù theå
ñieàu khieån caùc ñoäng cô hoaït ñoäng ñoàng boä hay ñoäc laäp vôùi nhau. Treân giao dieän
naøy , ngoaøi caùch thöùc ñieàu khieån baèng tay (Manual) , ngöôøi duøng coù theå söû duïng
caùch thöùc ñieàu khieån töï ñoäng heä thoáng ( Auto) .
+ Ngoaøi chöùc naêng ñieàu khieån, caû 2 giao dieän ñeàu coù theå thu thaäp ñöôïc giaù trò toác ñoä
cuûa caùc ñoäng cô , hieån thò , tính sai soá vaø veõ ñoà thò kieåm chöùng.
8.4 Höôùng khaéc phuïc caùc ñieåm haïn cheá vaø phaùt trieån ñeà taøi
8.4.1 Höôùng khaéc phuïc caùc ñieåm haïn cheá
– Coù theå söû duïng caùc loaïi encoder coù ñoä phaân giaûi cao nhö : 500 xung/voøng hay 1000
xung/voøng ñeå coù theå ñieàu khieån ñöôïc ñoäng cô ôû caùc toác ñoä döôùi 120 voøng/phuùt.
– Söû duïng caùc boä phaùt toác (encoder , tacho generator) gaén leân truïc quay cô khí coù keát
noái vôùi ñoäng cô “chuû” ( ôû trong luaän vaên laø ñoäng cô 1) ñeå phaûn hoài toác ñoä thaät cuûa
ñoäng cô “chuû” cho caùc boä ñieàu khieån cuûa caùc ñoäng cô “tôù” ( ôû trong luaän vaên laø ñoäng
cô 2) . Caùch thöùc naøy seõ giaûi quyeát ñöôïc vaán ñeà veà khoaûng caùch trao ñoåi döõ lieäu cuûa
giao tieáp song song.
[8] Farzan Rashidi ,Mehran Rasgidi, Arash Hashemi-Hosseini ,Applying Intelligent Controllers
for Speed Regulation of DC Motors, Engineering Research Institute of Jercen – Iran.
[9] J.C.Basilio , S.R.Matos , Design of PI and PID Controllers with Transient Performance
Specification , IEEE Transactions on Education -VOL45 , 4/12/2002
[10] Jan Jantzen , Design of Fuzzy Controllers , Tuning of Fuzzy PID Controllers , Technical
University of Denmark – Department of Automation , 30/9/1998
[11] Steve Mackay, Edwin Wright , etal…, Practical Industrial Data Networks: Design ,
Installation and Troubleshooting
[12] E-Clock CAN bus board datasheet , Matrix Multimedia Website , 2005
[13] Jonathan W.Valvano , Embedded Microcomputer Systems - First , Second Editon ( for
68HC05 , 68HC11 , HC(S)12 ) , Thomson-Engineering Publishers , 2008
[14] Han-Way Huang , The HCS12/ 9S12 : An Introduction , Thomson Delmar Learning , 2006
[15] MC9S12DP512 Device Guide V1.25 , Motorola Inc , 5/7/2005
[16] Bosch Controler Area Network (CAN) V2.0 , FreeScale Semiconductor.
[17] Rebeca Delgado, etal …,Application Note: Using MSCAN on the HCS12 Family,
FreeScale Semiconductor, Mexico 2005.
[18] Martyn Gallop , etal… , Designing Hardware for the HCS12 D-Family , FreeScale
Semiconductor, 2004.
v Caùc Website
[19] www.freescale.com
[20] http://hc12web.de/
[21] www.dientuvietnam.net
[22] www.bkpro.info