Nhiệm vụ của đề tài là sử dụng giải thuật điều khiển kết hợp với vi điều khiển để ổn
định và đồng bộ tốc độ hệ động cơ điện một chiều ( động cơ DC ).
Đề tài được thực hiện như sau: Sử dụng giải thuật điều khiển PI-Mờ kết hợp với vi điều
khiển 16-bit MC9S12DP512 để ổn định và đồng bộ tốc độ hệ động cơ DC . Mô hình phần cứng
bao gồm 3 mô-đun mạch : mô-đun 0 đóng vai trò làm trung tâm điều khiển-giám sát toàn hệ
thống , mô-đun 1 điều khiển động cơ 1, mô-đun 2 điều khiển động cơ 2 .
Vi điều khiển trên mô-đun 1 sẽ nhận tốc độ đặt từ người dùng ,sử dụng giải thuật điều
khiển PI-Mờ để điều rộng xung (PWM: Pulse Width Modulation) điều khiển động cơ 1 chạy
đúng theo tốc độ đặt , đồng thời truyền giá trị tốc độ của động cơ 1 cho vi điều khiển trên môđun
2 qua Port A của 2 vi điều khiển. Vi điều khiển trên mô-đun 2 sẽ lấy giá trị tốc độ của
động cơ 1 từ Port A để làm tốc độ đặt , và sử dụng giải thuật điều khiển PI-Mờ để điều rộng
xung ( PWM ) điều khiển động cơ 2 chạy đúng theo tốc độ của động cơ 1.
Cả 3 mô-đun đều được kết nối với nhau trong mạng CAN ( Controller Area Network) để
hai mô-đun 1 và 2 có thể truyền nhanh dữ liệu về mô-đun 0 (có vai trò là trung tâm điều
khiển-giám sát) cho người dùng có thể giám sát .Thêm vào đó , kết hợp với máy vi tính đặt tại
mô-đun 0, người dùng có thể điều khiển toàn bộ hoạt động của hệ thống.
Kết quả đạt được thỏa mãn khá tốt yêu cầu đề ra: Điều khiển ổn định được tốc độ động
cơ DC , đồng bộ được tốc độ của 2 động cơ DC . Thay đổi tốc độ khá linh hoạt . Xây dựng
thành công mạng CAN dùng để kết nối các mô-đun trong hệ thống , cho phép điều khiển và
giám sát toàn hệ thống từ máy vi tính hay từ mô-đun điều khiển trung tâm.
iv
MỤC LỤC
Đề mục Trang
Trang bìa i
Nhiệm vụ luận văn
Lời cảm ơn ii
Tóm tắt iii
Mục lục iv
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI . 1
1.1 Đặt vấn đề .1
1.2 Các phương pháp đã được sử dụng để đồng bộ tốc độ động cơ và ứng dụng thực tế 2
1.3 Nhiệm vụ của luận văn .5
1.4 Thực hiện 5
1.5 Sơ lược về mô hình hệ thống .7
1.5.1 Sơ đồ khối của mô hình hệ thống .7
1.5.2 Mô tả hoạt động của mô hình hệ thống 7
CHƯƠNG 2: LÝ THUYẾT ĐIỀU KHIỂN MỜ , ĐIỀU KHIỂN PID . . .9
2.1 Lý thuyết điều khiển Mờ 9
2.1.1 Giới thiệu về Logic Mờ .9
2.1.2 Một số khái niệm cơ bản 11
2.1.3 Mệnh đề hợp thành mờ, luật hợp thành mờ 14
2.1.4 Bộ điều khiển mờ .17
2.2 Lý thuyết điều khiển PID .20
2.2.1 Khâu hiệu chỉnh tỷ lệ P 20
2.2.2 Khâu hiệu chỉnh vi phân tỷ lệ PD .20
2.2.3 Khâu hiệu chỉnh tích phân tỷ lệ PI .21
2.2.4 Khâu hiệu chỉnh vi tích phân tỷ lệ PID .21
2.2.5 Thiết kế bộ điều khiển PID 22
CHƯƠNG 3: LÝ THUYẾT GIAO THỨC CAN .24
3.1. Giới thiệu ( CAN: Controller Area Network ) .24
3.2. Giao thức CAN ( CAN Protocol ) .26
3.2.1 Nội dung giao thức 26
v
3.2.2 Mô hình CAN trong OSI .27
3.2.3 Lớp vật lý .29
3.2.4 Cấu trúc bức điện .32
3.2.5 Cấu trúc bit trong giao thức CAN 35
3.2.6 Truy cập và giải quyết tranh chấp trên đường truyền .37
3.2.7 Sự đồng bộ xung clock 38
CHƯƠNG 4: ĐỘNG CƠ ĐIỆN MỘT CHIỀU VÀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN .40
4.1 Đặc tính cơ tĩnh của động cơ điện một chiều ( Động cơ DC ) 40
4.2 Sơ lược về các phương pháp điều khiển tốc độ động cơ DC 44
4.2.1 Điều khiển từ thông 45
4.2.2 Điều khiển điện áp phần ứng .46
4.2.3 Điều khiển hỗn hợp điện áp phần ứng và từ thông kích từ .47
4.3 Phương pháp điều rộng xung (PWM: Pulse Width Modulation) 48
4.4 Giới thiệu về Encoder được sử dụng trong luận văn 50
CHƯƠNG 5: HỌ VI ĐIỀU KHIỂN HCS12 VÀ VI ĐIỀU KHIỂN MC9S12DP512 .53
5.1 Giới thiệu chung về họ vi điều khiển HCS12 53
5.1.1 Các thành phần cơ bản của bộ xử lý 55
5.1.2 Các chế độ hoạt động 56
5.2 Vi điều khiển được sử dụng trong Luận văn - MC9S12DP512 .58
5.2.1 Các Port xuất nhập đa dụng 60
5.2.2 Khối chức năng thời gian ( Timer ) .63
5.2.3 Bộ điều rộng xung ( PWM ) 67
5.2.4 Giao tiếp nối tiếp bất đồng bộ ( SCI ) 70
5.2.5 Khối chức năng Key-WakeUp 72
5.2.6 Khối Mô-đun chức năng CAN ( Controller Area Network ) 73
CHƯƠNG 6: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH PHẦN CỨNG 79
6.1 Cấu trúc phần cứng của các mô-đun trong mô hình 79
6.2 Các khối mạch chức năng trên mô-đun điều khiển động cơ và mô-đun trung tâm. .80
6.2.1 Khối mạch vi điều khiển trung tâm 81
6.2.2 Khối mạch giao tiếp máy vi tính qua cổng nối tiếp 82
6.2.3 Khối giao tiếp CAN 84
6.2.4 Khối giao tiếp song song giữa 2 mô-đun điều khiển 2 động cơ 85
6.2.5 Khối bàn phím điều khiển động cơ ( 4 phím) 85
6.2.6 Khối bàn phím chọn các chế độ hoạt động cho mô hình 86
vi
6.2.7 Khối mạch nguồn 5 Vdc cho hệ thống điều khiển 87
6.2.8 Khối thời gian thực .87
6.2.9 Khối hiển thị LCD 91
6.2.10 Khối mạch động lực điều khiển động cơ .92
6.2 Khối nguồn 24/12/5 Vdc cung cấp cho mạch động lực và động cơ .94
6.3 Sơ đồ mạch BDM-Pod :Mạch dùng để Nạp ,Debug cho họ HCS12 .95
Hình ảnh thật của mô hình phần cứng luận văn . .96
CHƯƠNG 7: GIẢI THUẬT CHƯƠNG TRÌNH . 97
7.1 Thiết kế bộ điều khiển PI-Mờ , ổn định tốc độ động cơ DC .97
7.1.1 Sơ lược sơ đồ khối và hệ phương trình toán 97
7.1.2 Thiết kế bộ điều khiển PI-Mờ 98
7.1.3 Cách tính tốc độ của động cơ DC được sử dụng trong luận văn .102
7.2 Cách thức điều khiển từ máy vi tính ( PC ) .103
7.3 Lưu đồ giải thuật cho vi điều khiển trên các mô-đun 110
7.3.1 Lưu đồ giải thuật đoạn chương trình MAIN 112
7.3.2 Trình tự chi tiết trong các chương trình con và 5 chương trình phục vụ Ngắt .116
CHƯƠNG 8: KẾT QUẢ ĐẠT ĐƯỢC , HƯỚNG PHÁT TRIỂN ĐỀ TÀI .123
8.1 Một số hình ảnh về hoạt động của hệ thống 123
8.1.1 Tại giao diện trên máy tính ở mô-đun điều khiển động cơ 1 .123
8.1.2 Hình ảnh tại giao diện trên máy tính và mô-đun ở trung tâm điều khiển 125
8.2 Các kết quả đã đạt được 127
8.3 Một số điểm hạn chế .128
8.4 Hướng khắc phục các điểm hạn chế và phát triển đề tài 128
8.4.1 Hướng khắc phục các điểm hạn chế 128
8.4.2 Hướng phát triển đề tài 129
TÀI LIỆU THAM KHẢO 130
PHỤ LỤC: BẢN VẼ TỔNG HỢP SƠ ĐỒ NGUYÊN LÝ CÁC MẠCH
139 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2516 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Điều khiển mờ và giao thức can trong đồng bộ tốc độ hệ động cơ DC, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
D4 -:- D7
- Caùc chaân cuûa LCD keát noái vôùi Port K cuûa vi ñieàu khieån MC9S12DP512.
Trình töï keát noái caùc chaân: RS - PK0 ; Enable - PK1 ; D[4:7] - PK[2:5]
Baûng 6.2 : Sô ñoà chaân cuûa LCD kyù töï
Chaân Kí hieäu Chöùc naêng
Chöông 6: Thieát keá vaø thi coâng moâ hình phaàn cöùng GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 92
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ô)
Chöông 6: Thieát keá vaø thi coâng moâ hình phaàn cöùng GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 93
Hình 6.15: Khoái maïch ñoäng löïc ñ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ô .
- Nguyeân taéc hoaït ñoäng nhö sau:
+ Khi tín hieäu cuûa chaân ñieàu roäng xung PWM0 cuûa vi ñieàu khieån MC9S12DP512 ôû möùc
cao , seõ laøm cho OPTO khoâng hoaït ñoäng . AÙp taïi ñieåm 4 (tröôùc Diod D5) seõ laø 12Volt à
laøm Q1 daãn ,Q3 taét , noái taét cöïc C vaø cöïc E cuûa Q1 à Cöïc G cuûa MosFet IRF540 seõ ôû
möùc logic cao (12V) , MosFet daãn à Ñoäng cô seõ chaïy.
+ Ngöôïc laïi: Khi tín hieäu cuûa chaân ñieàu roäng xung PWM0 cuûa vi ñieàu khieån
MC9S12DP512 ôû möùc thaáp, seõ laøm cho OPTO hoaït ñoäng . AÙp taïi ñieåm 4 (tröôùc Diod D5
) seõ laø 0 Volt – do noái taét xuoáng mass à Laøm Q1 taét , Q3 daãn, noái taét cöïc C vaø cöïc E cuûa
Q3 à Cöïc G cuûa MosFet IRF540 seõ ôû möùc logic thaáp ( 0 Volt – do noái taét vôùi Mass ) ,
MosFet bò taét à Ñoäng cô seõ döøng laïi.
Chöông 6: Thieát keá vaø thi coâng moâ hình phaàn cöùng GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 94
- 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ô ø
Chöông 6: Thieát keá vaø thi coâng moâ hình phaàn cöùng GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 95
- 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)
vöôït qua ngöôõng : )(233)(233.0
3
7.0
7
mAA
R
VI EBnguong ==== . Coù nghóa laø chæ khi caùc
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 .
Chöông 6: Thieát keá vaø thi coâng moâ hình phaàn cöùng GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 96
Hình 6.17: Maïch BDM-Pod
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: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 97
CHÖÔNG 7
GIAÛI THUAÄT CHÖÔNG TRÌNH
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
IP dxxeKteKtu
0
)()()(
(7.1)
))(1)(()(
0
ò+=
t
I
P dxxeT
teKtu
(7.2)
)(teK
dt
deK
dt
du
IP +=
(7.3)
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 98
)11()(
sT
K
s
KKsG
i
P
I
pPI +=+= (7.4)
D
P
I K
KK
a
2
=
D
I
T
T
=a
(7.5)
7.1.2 Thieát keá boä ñieàu khieån PI-Môø
· Caùc nguyeân taéc taïo luaät hôïp thaønh cho caùc thoâng soá cuûa boä ñieàu khieån PI-Môø :
- ÔÛ ñaây, ta seõ xaây döïng caùc luaät hôïp thaønh cho caùc thoâng soá PK , DK ,a roài töø ñoù tính ra
giaù trò cuûa heä soá IK ( theo coâng thöùc (7.5) :
D
P
I K
KK
a
2
= ) .
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á
PK , DK ,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
ñònh nhö sau :
- Nguyeân taéc chung laø laø baét ñaàu caùc trò PK , DK , a theo Zeigler-Nichols , sau ñoù döïa
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.
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 99
Hình 7.3: Ñöôøng cong ñaùp öùng Zeigler-Nichols
+ Laân caän 1a ta caàn luaät ñieàu khieån maïnh ñeå ruùt ngaén thôøi gian leân, do vaäy choïn
: PK lôùn , DK nhoû vaø a nhoû.
+ Laân caän 1b ta traùnh voït loá lôùn neân choïn : PK nhoû, DK lôùn , a lôùn
+ Laân caän 1c vaø 1d gioáng nhö laân caän 1a vaø 1b.
+ Khi giaù trò tuyeät ñoái cuûa sai leäch lôùn ta caàn coù tín hieäu ñieàu khieån maïnh ñeå ñöa nhanh sai
leäch veà 0. Döïa theo nguyeân taéc naøy ta coù ma traän quan heä chænh ñònh ( Baûng luaät hôïp
thaønh Môø ) caùc thoâng soá PK , DK , a thöôøng seõ coù daïng gaàn ñoái xöùng qua ñöôøng cheùo
chính hoaëc truïc phuï.
- Nguyeân taéc thöù 2 : Suy ñoaùn coù logic döïa vaøo giaù trò caùc bieán ngoân ngöõ ñaàu vaøo.Ví duï nhö :
+ Khi giaù trò sai soá e(t) laø aâm nhieàu ( nghóa laø toác ñoä thaät cuûa ñoäng cô ñang nhoû hôn raát
nhieàu so vôùi toác ñoä ñaët ) vaø giaù trò ñaïo haøm cuûa sai soá
dt
tde )( cuõng aâm nhieàu ( nghóa laø
ñoäng cô ñang coù xu höôùng tieáp tuïc giaûm nhanh toác ñoä ) thì giaù trò cuûa heä soá PK phaûi laø
Lôùn Nhaát ñeå taêng toác maïnh cho ñoäng cô , coøn DK 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
nhieâu so vôùi toác ñoä ñaët ) vaø giaù trò ñaïo haøm cuûa sai soá
dt
tde )( cuõng aâm ít ( nghóa laø
ñoäng cô ñang coù xu höôùng giaûm toác ñoä ôû möùc chaäm ) thì giaù trò cuûa heä soá PK seõ laø
Lôùn ñeå taêng toác (nhöng khoâng quaù maïnh) cho ñoäng cô , coøn DK vaø a coù giaù trò nhoû.
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 100
· Caùc bieán ngoân ngöõ :
- Ñaàu vaøo : 2 bieán
+ Sai leäch: ET = toác ñoä ño – toác ñoä ñaët ; (caùch tính toác ñoä ñoäng cô: Chöông 7-Phaàn 7.1.3 )
+ Toác ñoä taêng
T
iEiETDET )()1( -+= ; vôùi T laø chu kì laáy maãu (ôû ñaây, T = 20ms )
- Ñaàu ra: 3 bieán
+ PK : heä soá tyû leä
+ DK : heä soá vi phaân
+ IK : heä soá tích phaân ( tính ra töø giaù trò trung gian a :
D
P
I K
KK
a
2
= )
- Soá löôïng bieán ngoân ngöõ : 5 baäc
+ ET = { aâm nhieàu , aâm ít , zero , döông ít , döông nhieàu } = {N2 , N1 , Z , P1 , P2 }
+ DET = { aâm nhieàu , aâm ít , zero , döông ít , döông nhieàu } = {N2 , N1 , Z , P1 , P2 }
+ PK / DK = { zero , nhoû, trung bình , lôùn , raát lôùn } = { Z , S , M , L , U }
+ a = { möùc 1, möùc 2 , möùc 3 , möùc 4 , möùc 5 } = { L1 , L2 , L3 , L4 , L5 }
Taàm giaù trò: ]20;20[];20;20[ -=-= DETET
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 101
Hình 7.4: Caùc bieán ngoân ngöõ vaøo/ra
· Luaät hôïp thaønh:
Coù toång coäng 5x5x3 = 75 luaät IF…Then
Baûng 7.1, 7.2 , 7.3: Luaät hôïp thaønh môø cho caùc thoâng soá PK , DK vaø a
DET
PK N2 N1 Z P1 P2
N2 U L M Z Z
N1 L M S Z Z
Z M S Z S M
P1 Z Z S M L
ET
P2 Z Z M L U
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 102
DET
DK N2 N1 Z P1 P2
N2 Z S M L U
N1 S M L U L
Z M L U L M
P1 L U L M S
ET
P2 U L M S Z
DET a
N2 N1 Z P1 P2
N2 L1 L2 L3 L4 L5
N1 L2 L3 L4 L5 L4
Z L3 L4 L5 L4 L3
P1 L4 L5 L4 L3 L2
ET
P2 L5 L4 L3 L2 L1
· Luaät hôïp thaønh môø : Choïn luaät MAX – MIN
· Giaûi môø : Theo phöông phaùp ñoä cao
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.
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 103
- 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
- Ta coù: + Soá xung cuûa encoder trong 1 giaây laø:
60
100_ RPMxSpeed ( xung/s)
+ Soá xung cuûa encoder trong 20ms seõ laø: ( 1 s = 1000 ms = 50 x 20ms )
Pulse_20MS ( xung/ 20ms) =
60
100_ RPMxSpeed x
50
1
(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.7)
7.2 Caùch thöùc ñieàu khieån töø maùy vi tính ( PC )
Trong luaän vaên , toâi ñaõ thieát keá 2 giao dieän treân PC ñeå ñieàu khieån vaø giaùm saùt heä thoáng:
+ Moät giao dieän treân maùy vi tính ñöôïc ñaët taïi moâ-ñun ñieàu khieån 1 : Duøng ñeå ñieàu khieån-
giaùm saùt 2 moâ-ñun ñieàu khieån 1 vaø 2 ( töông öùng vôùi node 1 vaø node 2 trong maïng CAN
quaûn lyù heä thoáng )
+ Moät giao dieän treân maùy vi tính ñöôïc ñaët taïi moâ-ñun 0 ,ñieàu khieån-giaùm saùt trung taâm ( Laø
node 0 cuûa maïng ) : Duøng ñeå ñieàu khieån-giaùm saùt vaø thu thaäp döõ lieäu cuûa toaøn heä thoáng.
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):
Pulse_20MS ( xung/ 20ms) =
30
_ RPMSpeed
Speed_RPM ( voøng/phuùt) = Pulse_20MS ( xung/ 20ms) x 30
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 104
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
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 105
(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
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 106
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
Gôûi khung ñieàu khieån
xuoáng moâ-ñun trung taâm
Kieåm tra caàn ñieàu
khieån node naøo ?
Maùy tính(PC) taïi trung taâm
Truyeàn khung ñieàu
khieån caû 2 node: 1&2
( Loaïi boû byte-ñòa chæ
trong khung truyeàn )
Chæ truyeàn khung
ñieàu khieån cho node 1
( Loaïi boû byte ñòa chæ
trong khung truyeàn )
Chæ truyeàn khung
ñieàu khieån cho node 2
( Loaïi boû byte-ñòa chæ
trong khung truyeàn )
Node 2
Caû 2 node: 1&2
Node 1
Keát thuùc
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 107
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
Ø Caùch thöùc söû duïng giao dieän taïi trung taâm
- Thoâng soá maëc ñònh: Heä thoáng chaïy ñoàng boä ,ñieàu khieån baèng tay, toác ñoä ñaët laø 2100 R.P.M
- Caøi ñaët thoâng soá ( theo trình töï ) : Click vaøo nuùt “CAØI ÑAËT THOÂNG SOÁ ” ñeå vaøo Form caøi
ñaët ( xem hình 7.9 ôû trang beân )
+ Böôùc 1 : Choïn cheá ñoä ñieàu khieån ( baèng tay – Töï ñoäng) , caùc ñoäng cô hoaït ñoäng ñoàng boä
hay ñoäc laäp à Coù 4 phöông phaùp ñieàu khieån ( xem ôû hình 7.9 vaø baûng 7.6 trang beân )
+ Böôùc 2 : Nhaäp toác ñoä ñaët vaø node caàn ñieàu khieån
+ Böôùc 3 : Click vaøo “ NHAÄP” ñeå löu caùc thoâng soá caøi ñaët
+ Böôùc 4:Click vaøo “ TRUYEÀN” ñeå truyeàn döõ lieäu ñieàu khieán xuoáng vi ñieàu khieån ôû node0
- Nuùt “ Thôøi gian” treân Form chính duøng ñeå ñoàng boä ñoàng hoà cuûa maùy tính vaø cuûa node 0
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 108
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
KIEÅU Ñoäc laäp Phöông phaùp 2 Phöông phaùp 4
+ 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
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 109
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
caàn ñieàu khieån
Byte 1:
Cheá ñoä ñieàu khieån
Byte 2:
Toác ñoä ñaët
Byte 3: Checksum (
kyù töï “F” )
+ Byte 0 – Ñòa chæ node caàn ñieàu khieån:
“1” : Ñieàu khieån moâ-ñun ñoäng cô 1 ( Khi check vaøo NODE 1 treân giao dieän )
“2” : Ñieàu khieån moâ-ñun ñoäng cô 2 ( Khi check vaøo NODE 2 treân giao dieän )
“A” : Ñieàu khieån caû 2 moâ-ñun ñoäng cô 1 vaø 2 (Khi check vaøo TAÁT CAÛ treân giao dieän)
+ Byte 1 – Cheá ñoä ñieàu khieån :
“1” : Cheá ñoä ñieàu khieån baèng tay ( Chæ duøng cho cheá ñoä Manual)
+ Byte 2 – Toác ñoä ñaët (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 3 – checksum : trong chöông trình cuûa luaän vaên , laø kyù töï “F” ( F: Finish )
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 110
Ø 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æ
Node
“2”
( Auto)
Toác ñoä
ñaët
Giôø
chaïy
Phuùt
chaïy
Giaây
chaïy
Giôø
döøng
Phuùt
döøng
Giaây
döøng
Checksum
( “ 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
ñieàu khieån
Byte 1:
Leänh ñieàu khieån
Byte 2:
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 .
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 111
· 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)
- 5 chöông trình phuïc vuï Ngaét goàm coù:
Ngaét Timer 20ms ( thôøi gian laáy maãu toác ñoä ñoäng cô , chæ coù treân node 1 vaø 2) , Ngaét
nhaän böùc ñieän CAN , Ngaét nhaän döõ lieäu töø SCI0 , Ngaét phím nhaán ( KeyWake-UP ) , Ngaét
ngoaøi (theo chu kyø cuûa thôøi gian thöïc: 1s , chæ coù treân Node 0 ) . Trong moãi chöông trình
Ngaét , sau khi nhaän vaø löu thaønh coâng döõ lieäu seõ cho giaù trò cuûa côø baùo hoaøn thaønh töông
öùng vôùi Ngaét ñang thöïc thi leân 1.
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 112
7.3.1 Löu ñoà giaûi thuaät ñoaïn chöông trình MAIN
· Node 1 vaø Node 2 coù löu ñoà giaûi thuaät cuûa chöông trình MAIN haàu nhö gioáng nhau , chæ
khaùc nhau ôû trong chi tieát cuûa caùc chöông trình con phuïc vuï NGAÉT, vaø caáu truùc böùc ñieän
CAN maø moãi node naøy gôûi veà cho node 0 (Xem caáu truùc cuûa böùc ñieän naøy ôû Phaàn 7.3.2.1)
Baét ñaàu
Cho pheùp NGAÊT toaøn
cuïc (Global Interrupt )
Ñaõ nhaän chính xaùc böùc
ñieän töø CAN-Bus ?
1
Khôûi ñoäng caùc khoái
chöùc naêng
Ñaõ nhaän chính xaùc döõ
lieäu töø PC qua RS232?
Xöû lyù döõ lieäu
nhaän töø SCI0
Coù phím Ñ.Khieån
naøo ñöôïc nhaán ?
Xöû lyù phím
ñöôïc nhaán
2
Ñuùng
Sai
Ñuùng
Sai
Sai
Ñuùng
Xöû lyù böùc
ñieän nhaän töø
CAN-Bus
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 113
Hình 7.10: Löu ñoà giaûi thuaät chöông trình Main cuûa node 1 vaø 2
Ñoäng cô ñöôïc pheùp chaïy?
Sai soá: ET 0 ?
1
2
Boä ñieàu khieån
PI-Môø
Ñaõ ñuû chu kyø 200ms ?
Caùc vieäc thöïc thi
khi ñoäng cô döøng
Caùc vieäc thöïc thi khi
ñoäng cô chaïy
Gôûi döõ lieäu toác ñoä thaät cuûa ñoäng cô
veà cho Node 0 qua CAN-Bus
( Caáu truùc böùc ñieän ôû phaàn 7.3.2.1 )
Caäp nhaät toác ñoä ñaët vaø toác ñoä thaät
cuûa ñoäng cô leân LCD 2x16
Ñuùng
Sai
Sai
Ñuùng
Reset côø baùo ñuû 200 ms
Ñuùng
Sai
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 114
· 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
Cho pheùp NGAÊT toaøn
cuïc (Global Interrupt )
Ñaõ nhaän chính xaùc böùc
ñieän töø CAN-Bus ?
3
Khôûi ñoäng caùc khoái
chöùc naêng
Nhaän döõ lieäu ñieàu
khieån töø PC ( RS232 )?
Coù phím ñöôïc nhaán ?
(Ñ.Khieån, choïn MODE)
4
Ñuùng
Sai
Ñuùng
Sai
Sai
Ñuùng
Kieåm tra vaø gôûi ñeán
ñòa chæ node caàn Ñ.K
( xem ôû hình 7.7 )
Gôûi döõ lieäu töø böùc
ñieän leân PC ( RS232)
Gôûi giaù trò phím ñöôïc
nhaán ñeán caùc node ñeå
caùc node thöïc hieän
yeâu caàu töông öùng.
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 115
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ù.
Ñoïc giaù trò thôøi gian
thöïc? ( chu kyø 1s )
Coù yeâu caàu ñoàng boä veà
thôøi gian PC vaø MCU ?
Coù yeâu caàu hoaït ñoäng
cheá ñoä Auto töø PC ?
4
Ñuùng
Sai
Ñuùng
Sai
Sai
Ñuùng
Ghi ra giaù trò thôøi gian
cuûa PC leân ñoàng hoà
thôøi gian thöïc DS1307
Caäp nhaän caùc giaù trò :
Giôø-Phuùt-Giaây
Caøi ñaët giaù trò thôøi
gian döøng vaø chaïy
cuûa ñoäng cô
3
So saùnh vôùi thôøi gian
caøi ñaët ( chaïy-döøng:
neáu ôû cheá doä Auto)
ñeå ñieàu khieån ñoängcô
Hieån thò giaù trò thôøi
gian leân LCD , PC
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 116
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)
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 117
+ 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
· Chöông trình con Xöû lyù phím ñöôïc nhaán
- Giaù trò nuùt ñöôïc nhaán, ñaõ ñöôïc löu laïi trong bieán key ( vieäc löu laø ôû trong haøm ngaét ).
ÔÛ ñaây , ta chæ caàn kieåm tra giaù trò bieán key ñeå thöïc hieän:
+ Neáu giaù trò laø 0xE0: Phím ñöôïc nhaán laø phím CHAÏY à Cho ñoäng cô chaïy
+ Neáu giaù trò laø 0xD0: Phím ñöôïc nhaán laø phím DÖØNG à Cho ñoäng cô döøng
+ Neáu giaù trò laø 0xB0: Laø phím TAÊNG à Cho ñoäng cô taêng toác theâm 90 R.P.M
+ Neáu giaù trò laø 0x70 : Laø phím GIAÛM à Cho ñoäng cô giaûm toác bôùt 90 R.P.M
- Xoùa côø baùo hoaøn thaønh vieäc phaùt hieän Phím nhaán ( cho giaù trò côø baèng 0 )
· Chöông trình con Boä ñieàu khieån PI-Môø
- Môø hoùa caùc bieán ñaàu vaøo ET vaø DET
- Giaûi môø ñeå tính caùc giaù trò PK , DK , a
- Suy ra giaù trò IK theo coâng thöùc
D
P
I K
KK
a
2
=
- Ñ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
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 118
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
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 119
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
cuûa döõ lieäu
Soá haøng
ngaøn
Soá haøng
traêm
Soá haøng
chuïc
Soá haøng
ñôn vò
Kyù töï
“ - ”
Cheá ñoä
hoaït ñoäng
Checksum
(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
7.3.1.2 5 chöông trình phuïc vuï Ngaét
· Chöông trình ngaét Timer OC2 – duøng ñeå laáy maãu: ( chæ duøng cho Node1 vaø Node 2)
- Ñoái vôùi node 1:
+ Ñ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 giaù trò toác ñoä thaät cuûa ñoäng cô 2 töø Port H
+ 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ô 1 ( giaù trò toc_do_do) ra Port A ( neáu giaù trò toc_do_do coù
thay ñoåi )
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 120
+ 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.
Chöông 7: Giaûi thuaät chöông trình GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 121
+ 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 nhaän böùc ñieän CAN :
+ Ñoïc giaù trò chieàu daøi cuûa böùc ñieän trong thanh ghi CAN0RXDLR cuûa boä MSCAN0
+ Laëp voøng ñeå löu taát caû döõ lieäu trong böùc ñieän vaøo bieán maûng rxdata[index] ( vôùi index laø
chæ soá cuûa maûng )
+ Kieåm tra byte CheckSum , neáu ñuùng laø kyù töï “F” thì cho côø baùo hoaøn thaønh vieäc nhaän
döõ lieäu töø CAN-Bus leân 1.
+ Xoùa côø baùo ngaét ( trong thanh ghi CAN0RFLG) ñeå chuaån bò cho laàn ngaét nhaän keá tieáp .
+ Thoaùt khoûi chöông trình phuïc ngaét.
· Chöông trình ngaét cuûa Phím nhaán ( chöùc naêng Key-WakeUp)
+ Caám taát caû caùc chaân thuoäc 4 bit cao cuûa Port P khoâng ñöôïc ngaét Key-WakeUp
+ Ñoïc giaù trò 4 bit cao cuûa Port P ( nôi keát noái vôùi 4 phím nhaán) , roài löu vaøo bieán key ñaõ
khai baùo saün. Sau ñoù cho côø baùo hoaøn thaønh vieäc ñoïc giaù trò phím nhaán leân 1.
+ Xoùa côø ngaét vaø cho pheùp laïi caùc chaân thuoäc 4 bit cao cuûa Port P ñöôïc thöïc hieän chöùc
naêng Key-WakeUp , sau cuøng laø thoaùt khoûi chöông trình phuïc vuï 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: Keát quaû ñaït ñöôïc , höôùng phaùt trieån ñeà taøi GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 123
CHÖÔNG 8
KEÁT QUAÛ ÑAÏT ÑÖÔÏC , HÖÔÙNG PHAÙT TRIEÅN ÑEÀ TAØI
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 (
8.0»lent giaây , 5.1»xlt 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.
Chöông 8: Keát quaû ñaït ñöôïc , höôùng phaùt trieån ñeà taøi GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 124
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ä
Chöông 8: Keát quaû ñaït ñöôïc , höôùng phaùt trieån ñeà taøi GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 125
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 .
Chöông 8: Keát quaû ñaït ñöôïc , höôùng phaùt trieån ñeà taøi GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 126
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
Chöông 8: Keát quaû ñaït ñöôïc , höôùng phaùt trieån ñeà taøi GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 127
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
8.2 Caùc keát quaû ñaõ ñaït ñöôïc
– Ñaõ thieát keá vaø hoaøn thieän moâ hình phaàn cöùng goàm: 2 moâ-ñun ñieàu khieån 2 ñoäng cô vaø
moät moâ-ñun ñieàu khieån-giaùm saùt toaøn heä thoáng . Moâ hình phaàn cöùng hoaït ñoäng oån ñònh
– Boä ñieàu khieån PI-Môø trong vi ñieàu khieån MC9S12DP512 treân 2 moâ-ñun ñieàu khieån ñaõ
oån ñònh ñöôïc toác ñoä ñoäng cô vôùi : ñaùp öùng quaù ñoä khaù toát , thôøi gian leân vaø xaùc laäp
ñeàu nhanh ( 8.0»lent giaây , 5.1»xlt giaây) , voït loá thaáp vaø sai soá xaùc laäp haàu nhö raát
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.
Chöông 8: Keát quaû ñaït ñöôïc , höôùng phaùt trieån ñeà taøi GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 128
– 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.3 Moät soá ñieåm haïn cheá
– Ñoäng cô ñöôïc söû duïng coù toác ñoä toái ña laø 3800 voøng/phuùt , boä ñieàu khieån PI-Môø cuûa
luaän vaên ñieàu khieån toát ñoäng cô trong khoaûng toác ñoä töø :120 voøng/phuùt ñeán 3600
voøng/phuùt. Lyù do laø söû duïng encoder 100 xung/voøng neân khoâng theå ñieàu khieån ñöôïc
ñoäng cô ôû caùc toác ñoä döôùi 120 voøng/phuùt.
– Vieäc trao ñoåi giaù trò toác ñoä giöõa 2 vi ñieàu khieån treân 2 moâ-ñun ñieàu khieån ñoäng cô laø
baèng giao tieáp song song ( qua PortA ) , öu ñieåm laø vieäc trao ñoåi giaù trò toác ñoä cuûa caùc
ñoäng cô raát nhanh vaø deã daøng , khaù phuø hôïp vôùi yeâu caàu ñoàng boä toác ñoä theo thôøi gian
thöïc ( chu kyø cho moãi laàn trao ñoåi toác ñoä söû duïng trong luaän vaên laø 20ms) , nhöng laïi
coù nhöôïc ñieåm:Bò haïn cheá veà khoaûng caùch, chæ coù theå giao tieáp trong khoaûng caùch gaàn
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.
Chöông 8: Keát quaû ñaït ñöôïc , höôùng phaùt trieån ñeà taøi GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 129
– 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.4.2 Höôùng phaùt trieån ñeà taøi
– Thieát keá caùc khoái maïch ñoäng löïc coù coâng suaát lôùn hôn ñeå coù theå ñieàu khieån toác ñoä caùc
ñoäng cô DC coâng suaát cao duøng trong coâng nghieäp.
– Nghieân cöùu vaø caûi tieán boä ñieàu khieån PI-Môø trong luaän vaên leân thaønh boä ñieàu khieån
PI-Môø Thích nghi ñeå coù chaát löôïng ñieàu khieån toát hôn.
– Ngoaøi vieäc ñoàng boä toác ñoä ñoäng cô , coù theå keát hôïp theâm ñieàu khieån moment ñeå coù
theå söû duïng trong caùc baêng chuyeàn caàn toác ñoä quay thay ñoåi theo ñöôøng kính cuoän . Ví
duï nhö: daây chuyeàn cuoán xaû giaáy trong coâng nghieäp …
– Moâ hình heä thoáng trong luaän vaên söû duïng maïng CAN ñeå quaûn lyù, neân coù theå môû roäng
ñeå aùp duïng nhö moät heä thoáng SCADA thöïc thuï nhaèm ñieàu khieån vaø giaùm saùt taát caû caùc
daây chuyeàn saûn xuaát trong xöôûng hay nhaø maùy.
– Töø vieäc xaây döïng maïng CAN ñeå quaûn lyù xöôûng-nhaø maùy,coù theå keát hôïp theâm vôùi caùc
heä thoáng ñieän thoaïi , voâ tuyeán hay Internet ñeå coù theå lieân keát nhieàu xöôûng–nhaø maùy
vôùi nhau, taïo thaønh moät heä thoáng lôùn. Töø ñoù, taïi caùc trung taâm ñieàu khieån ôû raát xa coù
theå ñieàu khieån vaø giaùm saùt töø xa moïi hoaït ñoäng saûn xuaát ôû caùc xöôûng-nhaø maùy naøy.
Ñieàu naøy cuõng seõ raát coù ích cho moät ngöôøi kyõ sö coù theå ñieàu khieån-giaùm saùt moät hay
nhieàu daây chuyeàn do mình coù traùch nhieäm quaûn lyù ngay treân maùy vi tính taïi nhaø.
Taøi lieäu tham khaûo GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 130
TAØI LIEÄU THAM KHAÛO
v Taøi lieäu trong nöôùc
[1] Nguyeãn Thò Phöông Haø, Huyønh Thaùi Hoaøng, Lyù thuyeát ñieàu khieån töï ñoäng , Nhaø xuaát baûn
ñaïi hoïc quoác gia TP Hoà Chí Minh ,2003.
[2] Nguyeãn Thò Phöông Haø, Lyù thuyeát ñieàu khieån hieän ñaïi , Nhaø xuaát baûn ñaïi hoïc quoác gia TP
Hoà Chí Minh, 2007.
[3] Nguyeãn Vaên Nhôø, Giaùo trình ñieän töû coâng suaát, Nhaø xuaát baûn ñaïi hoïc quoác gia TP Hoà Chí
Minh.
[4] Ngoâ Dieân Taäp, Laäp trình gheùp noái maùy tính trong Windows, Nhaø xuaát baûn khoa hoïc vaø kyõ
thuaät Haø Noäi, 2000.
[5] Nguyeãn Ñöùc Thaønh, Ño löôøng ñieàu khieån baèng maùy tính, Nhaø xuaát baûn ñaïi hoïc quoác gia
TP Hoà Chí Minh, 2005.
[6] Phan Quoác Phoâ, Nguyeãn Ñöùc Chieán, Giaùo trình caûm bieán , Nhaø xuaát baûn khoa hoïc vaø kyõ
thuaät.
[7] Nguyeãn Höõu Quoác, Giao thöùc CAN-ñieàu khieån vaø thu thaäp döõ lieäu trong xe bus, Luaän vaên
toát nghieäp ñaïi hoïc, Ñaïi hoïc Baùch khoa Tp. HCM, 2006.
v Taøi lieäu nöôùc ngoaøi
[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
Taøi lieäu tham khaûo GVHD: KS. Leâ Ngoïc Ñình
SVTH: Nguyeãn Gia Minh Thaûo 131
[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]
[21] www.dientuvietnam.net
[22] www.bkpro.info
Các file đính kèm theo tài liệu này:
- Điều khiển mờ và giao thức can trong đồng bộ tốc độ hệ động cơ dc.pdf