Chương I:
CÁC PHƯƠNG PHÁP ĐIỀU CHỈNH TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU KÍCH TỪ ĐỘC LẬP
I. KHÁI NIỆM CHUNG:
I. 1 Định nghĩa:
Điều chỉnh tốc độ động cơ là dùng các biện pháp nhân tạo để thay đổi các thông số nguồn như điện áp hay các thông số mạch như điện trở phụ, thay đổi từ thông Từ đó tạo ra các đặc tính cơ mới để có những tốc độ làm việc mới phù hợp với yêu cầu. Có hai phương pháp để điều chỉnh tốc độ động cơ:
§ Biến đổi các thông số của bộ phận cơ khí tức là biến đổi tỷ số truyền chuyển tiếp từ trục động cơ đến cơ cấu máy sản suất.
§ Biến đổi tốc độ góc của động cơ điện. Phương pháp này làm giảm tính phức tạp của cơ cấu và cải thiện được đặc tính điều chỉnh. Vì vậy, ta khảo sát sự điều chỉnh tốc độ theo phương pháp thứ hai.
Ngoài ra cần phân biệt điều chỉnh tốc độ với sự tự động thay đổi tốc độ khi phụ tải thay đổi của động cơ điện.
Về phương diện điều chỉnh tốc độ, động cơ điện một chiều có nhiều ưu việt hơn so với các loại động cơ khác. Không những nó có khả năng điều chỉnh tốc độ dễ dàng mà cấu trúc mạch động lực, mạch điều khiển đơn giản hơn, đồng thời lại đạt chất lượng điều chỉnh cao trong dãy điều chỉnh tốc độ rộng.
I. 2 Các chỉ tiêu kỹ thuật để đánh giá hệ thống điều chỉnh tốc độ:
Khi điều chỉnh tốc độ của hệ thống truyền động điện ta cần chú ý và căn cứ vào các chỉ tiêu sau đây để đánh giá chất lượng
Chương II:
Sillicon Controlled Rectifier (SCR) và Bộ Chỉnh Lưu
I. Sillicon Controlled Rectifier (SCR):
1. Cấu tạo và nguyên lý :
SCR(silicon controlled rectifier): gọi là chỉnh lưu có điều khiển, là linh kiện quan trọng nhất của họ linh kiện bán dẫn công suất lớn có nhiều hơn 3 lớp P-N gọi là Thyristor. Có nhiều tài liệu gọi SCR là thyristor cũng vì lý do đó.
Thyristor gồm 3 lớp PN và mắc vào mạch ngoài gồm 3 cổng : điện cực anode A cathode C và cổng điều khiển G. Về mặt lí thuyết tồn tại cấu trúc PNPN và NPNP, trong thực tế người ta chỉ phát triển và sử dụng loại PNPN. Sơ đồ thay thế thyristor bằng mạch transitor được vẽ ở hình 1d. Mạch tương đương này giải thích hầu hết những tính chất của SCR. Giả sử anode của thyristor chịu tác dụng của điện áp dương so với cathode (uAK>0). Khi đưa vào mạch G,K của cathode (tương đương với mạch base - emiter của transitor NPN ) xung dòng IG, transitor sẽ đóng. Dòng điện dẫn tiếp tục qua mạch emitor – base của transitor PNP và đóng nó. Các transitor tiếp tục đóng ngay cả khi dòng iG bị ngắt. Dòng qua collector của một transitor cũng chính là dòng đi qua base của transitor thứ hai và ngược lại. Các transitor vì vậy cùng nhau duy trì trạng thái đó
CHƯƠNG III :
GIỚI THIỆU VI ĐIỀU KHIỂN AT89C52
I. VI ĐIỀU KHIỂN HỌ MCS-51
MCS-51TM là họ vi điều khiển do hãng INTEL sản xuất vào đầu những năm 80 và ngày nay đã trở thành một chuẩn trong công nghiệp. Bắt đầu từ IC tiêu biểu là 8051 đã cho thấy khả năng thích hợp với những ứng dụng mang tính điều khiển. Việc xử lí trên byte và các phép toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trên RAM nội. Tập lệnh cung cấp một bản tiện dụng của những lệnh số học 8 bit gồm cả lệnh nhân và lệnh chia. Nó cung cấp những hỗ trợ mở rộng on-chip dùng cho những biến 1 bit như là kiểu dữ liệu riêng cho phép quản lí và kiểm tra bit trực tiếp trong điều khiển và những hệ thống logic đòi hỏi xử lí luận lí.
CHƯƠNG IV:
THIẾT KẾ PHẦN CỨNG
99 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2912 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Điều chỉnh tốc độ động cơ DC kích từ độc lập sử dụng vi điều khiển AT89C52, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
nhaän döõ lieäu ñöôïc ngaàm xaùc ñònh trong maõ leänh laø thanh ghi tích luõy A.
RAM beân trong cuõng coù theå ñöôïc truy xuaát duøng caùch ñaùnh ñòa chæ giaùn tieáp qua R0 hay R1. Ví duï, hai leänh sau thi haønh cuøng nhieäm vuï nhö leänh ñôn ôû treân:
MOV R0, #5FH
MOV A, @R0
Leänh ñaàu duøng ñòa chæ töùc thôøi ñeå di chuyeån giaù trò 5FH vaøo thanh ghi R0, vaø leänh thöù hai duøng ñòa chæ giaùn tieáp ñeå di chuyeån döõ lieäu “ñöôïc troû bôûi R0” vaøo thanh ghi tích luõy.
RAM ñòa chæ hoùa töøng bit:
mC 8952 chöùa 210 bits ñöôïc ñòa chæ hoùa, trong ñoù 128 bits laø ôû caùc ñòa chæ byte 20H ñeán 2FH, vaø phaàn coøn laïi laø trong caùc thanh ghi chöùc naêng ñaëc bieät.
YÙ töôûng truy xuaát töøng bit rieâng reõ baèng phaàn meàm laø moät ñaëc tính tieän lôïi cuûa vi ñieàu khieån noùi chung. Caùc bit coù theå ñöôïc ñaët, xoùa, AND, OR, … vôùi moät leänh ñôn. Trong khi ñoù, ña soá caùc vi xöû lí ñoøi hoûi moät chuoãi leänh ñoïc – söûa – ghi ñeå ñaït ñöôïc hieäu quaû töông töï. Hôn nöõa, caùc port I/O cuõng ñöôïc ñòa chæ hoùa töøng bit laøm ñôn giaûn phaàn meàm xuaát nhaäp töøng bit.
Coù 128 bits ñöôïc ñòa chæ hoùa ña duïng ôû caùc byte 20H ñeán 2FH. Caùc ñòa chæ naøy ñöôïc truy xuaát nhö caùc byte hoaëc nhö caùc bit phuï thuoäc vaøo leänh ñöôïc duøng. Ví duï, ñeå ñaët bit 67H, ta duøng leänh sau:
SET 67H
Chuù yù raèng “ñòa chæ bit 67H” laø bit coù troïng soá lôùn nhaát (MSB) ôû “ñòa chæ byte 2CH”. Leänh treân seõ khoâng taùc ñoäng ñeán caùc bit khaùc ôû ñòa chæ naøy. Caùc vi xöû lí seõ phaûi thi haønh nhieäm vuï töông töï nhö sau:
MOV A, 2CH ; ñoïc caû byte
ORL A, #10000000B ; set MSB
MOV 2CH, A ; ghi laïi caû byte
Caùc bank thanh ghi:
32 bytes thaáp nhaát cuûa boä nhôù noäi laø daønh cho caùc bank thanh ghi. Boä leänh cuûa 8952 hoã trôï 8 thanh ghi (R0 – R7) vaø theo maëc ñònh (sau khi reset heä thoáng) caùc thanh ghi naøy ôû caùc ñòa chæ 00H – 07H. Leänh sau ñaây seõ ñoïc noäi dung ôû ñòa chæ 05H vaøo thanh ghi tích luõy :
MOV A, R5
Ñaây laø leänh moät byte duøng ñòa chæ thanh ghi. Taát nhieân, thao taùc töông töï coù theå ñöôïc thi haønh baèng leänh 2 bytes duøng ñòa chæ tröïc tieáp naèm trong byte thöù hai:
MOV A, 05H
Caùc leänh duøng caùc thanh ghi R0 ñeán R7 thì ngaén hôn vaø nhanh hôn caùc leänh töông öùng nhöng duøng ñòa chæ tröïc tieáp. Caùc giaù trò döõ lieäu ñöôïc duøng thöôøng xuyeân neân duøng moät trong caùc thanh ghi naøy.
Bank thanh ghi tích cöïc coù theå ñöôïc chuyeån ñoåi baèng caùch thay ñoåi caùc bit choïn bank thanh ghi trong töø traïng thaùi chöông trình (PSW). Giaû söû raèng bank thanh ghi 3 ñöôïc tích cöïc, leänh sau seõ ghi noäi dung cuûa thanh ghi tích luõy vaøo ñòa chæ 18H:
MOV R0, A
YÙ töôûng duøng “caùc bank thanh ghi” cho pheùp “chuyeån höôùng” chöông trình nhanh vaø hieäu quaû (töøng phaàn rieâng reõ cuûa phaàn meàm seõ coù moät boä thanh ghi rieâng khoâng phuï thuoäc vaøo caùc phaàn khaùc).
II.5 Caùc thanh ghi chöùc naêng ñaëc bieät:
Caùc thanh ghi noäi cuûa 8952 ñöôïc truy xuaát ngaàm ñònh bôûi boä leänh. Ví duï leänh “INC A” seõ taêng noäi dung cuûa thanh ghi tích luõy A leân 1. Taùc ñoäng naøy ñöôïc ngaàm ñònh trong maõ leänh.
Caùc thanh ghi trong 8952 ñöôïc ñònh daïng nhö moät phaàn cuûa RAM treân chip. Vì vaäy moãi thanh ghi seõ coù moät ñòa chæ (ngoaïi tröø thanh ghi ñeám chöông trình vaø thanh ghi leänh vì caùc thanh ghi naøy hieám khi bò taùc ñoäng tröïc tieáp, neân khoâng lôïi loäc gì khi ñaët chuùng vaøo trong RAM treân chip). Ñoù laø lí do ñeå 8952 coù nhieàu thanh ghi nhö vaäy. Cuõng nhö R0 ñeán R7, coù 21 thanh ghi chöùc naêng ñaëc bieät (SFR: Special Function Register) ôû vuøng treân cuûa RAM noäi, töø ñòa chæ 80H ñeán FFH. Chuù yù raèng haàu heát 128 ñòa chæ töø 80H ñeán FFH khoâng ñöôïc ñònh nghóa. Chæ coù 21 ñòa chæ SFR laø ñöôïc ñònh nghóa.
Ngoaïi tröø thanh ghi tích luõy A coù theå ñöôïc truy xuaát ngaàm nhö ñaõ noùi, ña soá caùc SFR ñöôïc truy xuaát duøng ñòa chæ tröïc tieáp. Chuù yù raèng moät vaøi SFR coù theå ñöôïc ñòa chæ hoùa bit hoaëc byte. Ngöôøi thieát keá phaûi thaän troïng khi truy xuaát bit vaø byte. Ví duï leänh sau:
SETB 0E0H
Leänh naøy seõ set bit 0 trong thanh ghi tích luõy, caùc bit khaùc khoâng ñoåi. Ta thaáy raèng E0H ñoàng thôøi laø ñòa chæ byte cuûa caû thanh ghi tích luõy vaø laø ñòa chæ bit cuûa bit coù troïng soá nhoû nhaát trong thanh ghi tích luõy. Vì leänh SETB chæ taùc ñoäng treân bit, neân chæ coù ñòa chæ bit laø coù hieäu quaû.
a/ Töø traïng thaùi chöông trình:
Töø traïng thaùi chöông trình (PSW: Program Status Word) ôû ñòa chæ D0H chöùa caùc bit traïng thaùi nhö baûng toùm taét sau:
Bit
Kí hieäu
Ñòa chæ
YÙ nghóa
PSW.7
CY
D7H
Côø nhôù
PSW.6
AC
D6H
Côø nhôù phuï
PSW.5
F0
D5H
Côø 0
PSW.4
RS1
D4H
Bit 1 choïn bank thanh ghi
PSW.3
RS0
D3H
Bit 0 choïn bank thanh ghi
00 = bank 0 ( ñòa chæ 00H – 07H )
01 = bank 1 ( ñòa chæ 08H – 0FH )
10 = bank 2 ( ñòa chæ 10H – 17H )
11 = bank 3 ( ñòa chæ 18H – 1FH )
PSW.2
OV
D2H
Côø traøn
PSW.1
_
D1H
Döï tröõ
PSW.0
P
D0H
Côø parity chaün
Côø nhôù:
Côø nhôù (CY) coù coâng duïng keùp. Thoâng thöôøng noù ñöôïc duøng cho caùc leänh toaùn hoïc: noù seõ ñöôïc set neáu coù moät soá nhôù sinh ra bôûi pheùp coäng hoaëc coù moät soá möôïn bôûi pheùp tröø. Ví duï, neáu thanh ghi tích luõy chöùa FFH, thì leänh sau:
ADD A, #1
seõ traû veà thanh ghi tích luõy keát quaû 00H vaø set côø nhôù trong PSWK.
Côø nhôù cuõng coù theå xem nhö moät thanh ghi 1 bit cho caùc leänh luaän lí thi haønh treân bit. Ví duï, leänh sau seõ AND bit 25H vôùi côø nhôù vaø ñaët keát quaû trôû vaøo côø nhôù:
AND C, 25H
Côø nhôù phuï:
Khi coäng caùc soá BCD, côø nhôù phuï (AC) ñöôïc set neáu keát quaû cuûa 4 bit thaáp trong khoaûng 0AH ñeán 0FH. Neáu caùc giaù trò ñöôïc coäng laø soá BCD thì sau leänh coäng caàn coù DA A (hieäu chænh thaäp phaân thanh ghi tích luõy) ñeå ñieàu chænh keát quaû cho phuø hôïp.
Côø 0:
Côø 0 (F0) laø 1 bit côø ña duïng daønh cho caùc öùng duïng cuûa ngöôøi duøng.
Caùc bit choïn bank thanh ghi :
Caùc bit choïn bank thanh ghi (RS0 vaø RS1) xaùc ñònh bank thanh ghi naøo ñöôïc tích cöïc. Chuùng ñöôïc xoùa sau khi reset heä thoáng vaø ñöôïc thay ñoåi baèng phaàn meàm neáu caàn. Ví duï, 3 leänh sau cho pheùp bank thanh ghi 3 vaø di chuyeån noäi dung cuûa thanh ghi R7 (ñòa chæ byte 1FH) ñeán thanh ghi tích luõy:
SETB RS1
SETB RS0
MOV A, R7
Khi chöông trình ñöôïc hôïp dòch, caùc ñòa chæ bit ñuùng ñöôïc thay theá cho caùc kí hieäu “RS1” vaø “RS0”.
Vaäy, leänh SETB RS1 seõ gioáng nhö leänh SETB 0D4H.
Côø traøn:
Côø traøn (OV) ñöôïc set sau moät leänh coäng hoaëc tröø neáu coù pheùp toaùn bò traøn. Khi caùc soá coù daáu ñöôïc coäng hoaëc tröø vôùi nhau, phaàn meàm coù theå kieåm tra bit naøy ñeå xaùc ñònh xem keát quaû coù naèm trong taàm xaùc ñònh khoâng. Khi caùc soá khoâng daáu ñöôïc coäng, bit OV coù theå ñöôïc boû qua. Caùc keát quaû lôùn hôn +127 hoaëc nhoû hôn –128 seõ set bit OV.
Ví duï, pheùp coäng sau bò traøn vaø bit OV ñöôïc set :
Hex 0F Thaäp phaân 15
+ +
7F 127
8E 142
Keát quaû laø moät soá coù daáu 8EH ñöôïc xem nhö –14, khoâng phaûi laø moät keát quaû ñuùng (142), vì vaäy bit OV ñöôïc set.
b/ Thanh ghi B:
Thanh ghi B ôû ñòa chæ F0H ñöôïc duøng vôùi thanh ghi tích luõy A cho caùc pheùp toaùn nhaân vaø chia.
Leänh MUL AB seõ nhaân caùc giaù trò khoâng daáu 8 bit trong A vaø B roài traû veà keát quaû 16 bit trong A (byte thaáp) vaø B (byte cao).
Leänh DIV AB seõ chia A cho B roài traû veà keát quaû nguyeân trong A vaø phaàn dö trong B.
Thanh ghi B cuõng coù theå ñöôïc xem nhö thanh ghi ñeäm ña duïng. Noù ñöôïc ñòa chæ hoùa töøng bit baèng caùc ñòa chæ bit F0H ñeán F7H.
c/ Con troû ngaên xeáp:
Con troû ngaên xeáp (SP) laø moät thanh ghi 8 bit ôû ñòa chæ 81H. Noù chöùa ñòa chæ cuûa byte döõ lieäu hieän haønh treân ñænh cuûa ngaên xeáp. Caùc leänh treân ngaên xeáp bao goàm caùc thao taùc caát döõ lieäu vaøo ngaên xeáp vaø laáy döõ lieäu ra khoûi ngaên xeáp. Leänh caát döõ lieäu vaøo ngaên xeáp seõ laøm taêng SP tröôùc khi caát döõ lieäu, vaø leänh laáy döõ lieäu ra khoûi ngaên xeáp seõ ñoïc döõ lieäu vaø giaûm SP.
Ngaên xeáp cuûa 8952 ñöôïc giöõ trong RAM noäi vaø ñöôïc giôùi haïn caùc ñòa chæ coù theå truy xuaát baèng ñòa chæ giaùn tieáp. Chuùng laø 128 bytes ñaàu cuûa 8952.
Ñeå khôûi ñoäng laïi SP vôùi ngaên xeáp baét ñaàu taïi 60H, caùc leänh sau ñaây ñöôïc duøng:
MOV SP, #5FH
Treân 8952 ngaên xeáp bò giôùi haïn 32 bytes vì ñòa chæ cao nhaát cuûa RAM treân chip laø 7FH. Sôû dó duøng giaù trò 5FH vì SP seõ taêng leân 60H tröôùc khi caát byte döõ lieäu ñaàu tieân.
Ngöôøi thieát keá coù theå choïn khoâng phaûi khôûi ñoäng laïi con troû ngaên xeáp maø ñeå noù laáy giaù trò maëc ñònh khi reset heä thoáng. Giaù trò maëc ñònh ñoù laø 07H vaø keát quaû laø ngaên ñaàu tieân ñeå caát döõ lieäu coù ñòa chæ laø 08H.
Neáu phaàn meàm öùng duïng khoâng khôûi ñoäng laïi SP, thì bank thanh ghi 1 (coù theå caû 2 vaø 3) seõ khoâng duøng ñöôïc vì vuøng RAM naøy ñaõ ñöôïc duøng laøm ngaên xeáp.
Ngaên xeáp ñöôïc truy xuaát tröïc tieáp baèng leänh PUSH vaø POP ñeå löu tröõ taïm thôøi vaø laáy laïi döõ lieäu, hoaëc ñöôïc truy xuaát ngaàm baèng caùc leänh goïi chöông trình con (ACALL, LCALL) vaø caùc leänh trôû veà (RET, RETI) ñeå caát vaø laáy laïi boä ñeám chöông trình.
d/ Con troû döõ lieäu:
Con troû döõ lieäu (DPTR) ñeå truy xuaát boä nhôù ngoaøi laø moät thanh ghi 16 bit ôû ñòa chæ 82H (DPL: byte thaáp) vaø 83H (DPH: byte cao).
Ba leänh sau seõ ghi 55H vaøo RAM ngoaøi ôû ñòa chæ 1000H:
MOV A, #55H
MOV DPTR, #1000H
MOVX @DPTR, A
Leänh ñaàu tieân duøng ñòa chæ töùc thôøi ñeå taûi döõ lieäu 55H vaøo thanh ghi tích luõy. Leänh thöù hai cuõng duøng ñòa chæ töùc thôøi, laàn naøy ñeå taûi döõ lieäu 16 bits 1000H vaøo con troû döõ lieäu. Leänh thöù ba duøng ñòa chæ giaùn tieáp ñeå di chuyeån döõ lieäu trong A (55H) ñeán RAM ngoaøi ôû ñòa chæ ñöôïc chöùa trong DPTR (1000H).
e/ Caùc thanh ghi port xuaát nhaäp:
Caùc port cuûa 8952 bao goàm Port 0 ôû ñòa chæ 80H, Port 1 ôû ñòa chæ 90H, Port 2 ôû ñòa chæ A0H vaø Port 3 ôû ñòa chæ B0H.
Taát caû caùc port ñeàu ñöôïc ñòa chæ hoùa töøng bit. Ñieàu ñoù cung caáp moät khaû naêng giao tieáp thuaän lôïi.
Ví duï, neáu moät motor ñöôïc noái qua moät cuoän daây coù transistor laùi ñeán bit 7 cuûa Port 1, noù coù theå ñöôïc baät vaø taét baèng moät leänh ñôn:
SETB P1.7 ; baät motor
CLR P1.7 ; taét motor
Caùc leänh treân duøng daáu chaám ñeå xaùc ñònh moät bit trong moät byte. Trình hôïp dòch seõ thi haønh söï chuyeån ñoåi caàn thieát, vì vaäy hai leänh sau ñaây laø nhö nhau:
CLR P1.7
CLR 97H
Trong moät ví duï khaùc, xem xeùt giao tieáp ñeán moät thieát bò vôùi moät bit traïng thaùi goïi laø BUSY, ñöôïc set khi thieát bò ñang baän vaø ñöôïc xoùa khi thieát bò ñaõ saün saøng. Neáu BUSY ñöôïc noái tôùi P1.5, voøng laëp sau seõ ñöôïc duøng ñeå chôø thieát bò trôû laïi traïng thaùi saün saøng:
WAIT : JB P1.5, WAIT
Leänh naøy coù nghóa laø “neáu bit P1.5 ñöôïc set thì nhaûy tôùi nhaõn WAIT”.
Noùi caùch khaùc “nhaûy trôû laïi vaø kieåm tra laàn nöõa”.
f/ Caùc thanh ghi timer:
mC 8952 chöùa ba boä ñònh thôøi/ñeám 16 bits ñöôïc duøng cho vieäc ñònh thôøi hoaëc ñeám söï kieän.
Timer 0 ôû ñòa chæ 8AH (TL0: byte thaáp) vaø 8CH (TH0 : byte cao).
Timer 1 ôû ñòa chæ 8BH (TL1: byte thaáp) vaø 8DH (TH1 : byte cao).
Vieäc vaän haønh timer ñöôïc set bôûi thanh ghi Timer Mode (TMOD) ôû ñòa chæ 89H vaø thanh ghi ñieàu khieån timer (TCON) ôû ñòa chæ 88H.
Chæ coù TCON ñöôïc ñòa chæ töøng bit.
Ñaëc bieät 8952 coøn coù timer 2 coù caùc thanh ghi sau:
Caùc thanh ghi Timer 2 caùc bit ñieàu khieån vaø traïng thaùi chöùa trong thanh ghi T2CON vaø T2MOD cho Timer 2. Caëp thanh ghi RCAP2H vaø RCAP2L laø nhöõng thanh ghi Capture/Reload trong cheá ñoä capture 16 bit hay cheá ñoä auto-reload 16 bit.
Thanh ghi T2CON ñòa chæ 0C8H:
TF2
EXF2
RCLK
TCLK
EXEN2
TR2
C/
7
6
5
4
3
2
1
0
Kyù hieäu
Chöùc naêng
TF2
Côø traøn Timer 2, set khi Timer 2 traøn vaø phaûi ñöôïc clear baèng phaàn meàm. TF2 seõ khoâng set khi RCLK = 1 hoaëc TCLK = 1.
EXF2
Côø ngoaøi cuûa Timer 2, set khi xaûy ra capture hoaëc reload do T2EX xuoáng thaáp vaø EXEN2 = 1. Neáu ngaét Timer 2 ñöôïc kích hoaït, EXF2 = 1 seõ laøm CPU troû ñeán ISR cuûa Timer 2. EXF2 phaûi ñöôïc xoùa baèng phaàn meàm. EXF2 khoâng gaây neân ngaét trong cheá ñoä ñeám leân/xuoáng (DCEN = 1).
RCLK
Kích hoaït xung clock boä thu. Khi set, caùc xung traøn Timer 2 seõ laø xung clock cho boä thu port noái tieáp trong mode 1 vaø 3. RCLK = 0 thì boä thu port noái tieáp seõ duøng caùc xung traøn cuûa Timer 1.
TCLK
Kích hoaït xung clock boä phaùt. Khi set, caùc xung traøn Timer 2 seõ laø xung clock cho boä phaùt port noái tieáp trong mode 1 vaø 3. TCLK = 0 thì boä phaùt port noái tieáp seõ duøng caùc xung traøn cuûa Timer 1.
EXEN2
Kích hoaït beân ngoaøi. Khi set, cho pheùp capture hay reload khi T2EX xuoáng thaáp (neáu Timer 2 khoâng söû duïng cho port noái tieáp). EXEN2 = 0 laøm cho Timer 2 boû qua caùc söï kieän treân T2EX.
TR2
Khôûi ñoäng/Döøng Timer 2. TR2 = 1 laøm khôûi ñoäng Timer 2.
C/T2
Bit löïa choïn timer hay counter. C/T2 = 0 : timer. C/T2 = 1 : counter ñeám söï kieän beân ngoaøi (kích caïnh xuoáng).
CP/RL2
Löïa choïn capture hay reload. CP/RL2 = 1: capture xaûy ra khi T2EX xuoáng thaáp neáu EXEN2 = 1. CP/RL2 = 0 : reload xaûy ra khi Timer 2 traøn hoaëc khi T2EX xuoáng thaáp neáu EXEN2 = 1. Neáu TCLK hay RCLK = 1, bit naøy bò boû qua vaø timer bò eùp vaøo cheá ñoä reload khi Timer 2 traøn.
g/ Caùc thanh ghi port noái tieáp:
mC8952 chöùa moät port noái tieáp treân chip daønh cho vieäc trao ñoåi thoâng tin vôùi caùc thieát bò noái tieáp nhö maùy tính, modem hoaëc cho vieäc giao tieáp vôùi caùc IC khaùc coù giao tieáp noái tieáp (caùc boä chuyeån ñoåi A/D, caùc thanh ghi dòch … ).
Moät thanh ghi goïi laø boä ñeäm döõ lieäu noái tieáp (SBUF) ôû ñòa chæ 99H seõ giöõ caû hai döõ lieäu truyeàn vaø nhaän.
Khi truyeàn döõ lieäu thì ghi leân SBUF, khi nhaän döõ lieäu thì ñoïc SBUF.
Caùc mode vaän haønh khaùc nhau ñöôïc laäp trình qua thanh ghi ñieàu khieån port noái tieáp (SCON) (ñöôïc ñòa chæ hoùa töøng bit) ôû ñòa chæ 98H.
h/ Caùc thanh ghi ngaét:
mC 8952 coù caáu truùc 5 nguoàn ngaét (2 möùc öu tieân).
Caùc ngaét bò caám sau khi reset heä thoáng vaø seõ ñöôïc cho pheùp baèng vieäc ghi thanh ghi cho pheùp ngaét (IE) ôû ñòa chæ A8H.
Caû hai thanh ghi ñöôïc ñòa chæ hoùa töøng bit.
i/ Thanh ghi ñieàu khieån coâng suaát:
Thanh ghi ñieàu khieån coâng suaát (PCON) ôû ñòa chæ 87H chöùa nhieàu bit ñieàu khieån. Chuùng ñöôïc toùm taét trong baûng sau:
Bit
Kí hieäu
YÙ nghóa
7
SMOD
Bit gaáp ñoâi toác ñoä baud, neáu ñöôïc set thì toác ñoä baud seõ taêng gaáp ñoâi trong caùc
mode1, 2 vaø 3 cuûa port noái tieáp.
6
_
Khoâng ñònh nghóa
5
_
Khoâng ñònh nghóa
4
_
Khoâng ñònh nghóa
3
GF1
Bit côø ña duïng 1
2
GF0
Bit côø ña duïng 0
1
PD
Giaûm coâng suaát, ñöôïc set ñeå kích hoaït mode giaûm coâng suaát, chæ thoaùt khi
reset.
0
IDL
Mode chôø, set ñeå kích hoaït mode chôø, chæ thoaùt khi coù ngaét hoaëc reset heä thoáng.
II.6 Boä nhôù ngoaøi:
mC 8952 coù khaû naêng môû roäng boä nhôù leân ñeán 64K boä nhôù chöông trình vaø 64K boä nhôù döõ lieäu ngoaøi. Do ñoù, coù theå duøng theâm ROM vaø RAM beân ngoaøi neáu caàn.
Khi duøng boä nhôù ngoaøi, Port 0 khoâng coøn laø moät port I/O thuaàn tuùy nöõa. Noù ñöôïc hôïp keânh giöõa bus ñòa chæ (A0 – A7) vaø bus döõ lieäu (D0 – D7) vôùi tín hieäu ALE ñeå choát byte thaáp cuûa ñòa chæ khi baét ñaàu moãi chu kì boä nhôù. Port 2 thoâng thöôøng ñöôïc duøng cho byte cao cuûa bus ñòa chæ.
Trong nöûa ñaàu cuûa moãi chu kì boä nhôù, byte thaáp cuûa ñòa chæ ñöôïc caáp trong Port 0 vaø ñöôïc choát baèng xung ALE. Moät IC choát 74HC373 (hoaëc töông ñöông) seõ giöõ byte ñòa chæ thaáp trong phaàn coøn laïi cuûa chu kì boä nhôù. Trong nöûa sau cuûa chu kì boä nhôù Port 0 ñöôïc duøng nhö bus döõ lieäu vaø ñöôïc ñoïc hoaëc ghi tuøy theo leänh.
a/ Truy xuaát boä nhôù chöông trình ngoaøi:
Boä nhôù chöông trình ngoaøi laø moät IC ROM ñöôïc cho pheùp bôûi tín hieäu PSEN\. Hình sau moâ taû caùch noái moät EPROM vaøo 8952:
Giao tieáp giöõa 8952 vaø EPROM.
Moät chu kì maùy cuûa 8952 coù 12 chu kì xung nhòp. Neáu boä dao ñoäng treân chip ñöôïc laùi bôûi moät thaïch anh 12 Mhz thì moät chu kì maùy keùo daøi 1 ms.
Trong moät chu kì maùy, seõ coù hai xung ALE vaø hai byte ñöôïc ñoïc töø boä nhôù chöông trình (neáu leänh hieän haønh laø leänh 2 bytes thì byte thöù hai seõ ñöôïc loaïi boû). Giaûn ñoà thôøi gian cuûa moät laàn laáy leänh ñöôïc veõ ôû hình sau:
Giaûn ñoà thôøi gian ñoïc boä nhôù chöông trình ngoaøi.
b/ Truy xuaát boä nhôù döõ lieäu ngoaøi:
Giao tieáp giöõa 8952 vaø RAM.
Boä nhôù döõ lieäu ngoaøi laø moät boä nhôù RAM ñöôïc cho pheùp ghi/ñoïc baèng caùc tín hieäu WR\ vaø RD\ (caùc chaân P3.6 vaø P3.7 thay ñoåi chöùc naêng). Chæ coù moät caùch truy xuaát boä nhôù döõ lieäu ngoaøi laø vôùi leänh MOVX duøng con troû döõ lieäu (DPTR) 16 bits hoaëc R0 vaø R1 xem nhö thanh ghi ñòa chæ.
Keát noái bus ñòa chæ vaø bus döõ lieäu giöõa RAM vaø 8952 cuõng gioáng nhö EPROM vaø do ñoù cuõng coù theå leân ñeán 64 Kbytes boä nhôù RAM.
Ngoaøi ra, chaân RD\ cuûa 8952 ñöôïc noái tôùi chaân cho pheùp xuaát (OE\) cuûa RAM vaø chaân WR\ ñöôïc noái tôùi chaân ghi (WR\) cuûa RAM.
Giaûn ñoà thôøi gian cho leänh ñoïc döõ lieäu ngoaøi ñöôïc veõ treân hình sau ñoái vôùi leänh MOVX A, @DPTR:
Giaûn ñoà thôøi gian cuûa leänh MOVX.
Giaûn ñoà thôøi gian cho leänh ghi (MOVX @DPTR, A) cuõng töông töï chæ khaùc ñöôøng WR\ seõ thay vaøo ñöôøng RD\ vaø döõ lieäu ñöôïc xuaát ra treân chaân Port 0 (RD\ vaãn giöõ möùc cao).
c/ Giaûi maõ ñòa chæ:
Neáu coù nhieàu EPROM vaø/hoaëc nhieàu RAM ñöôïc giao tieáp vôùi 8952, thì caàn phaûi giaûi maõ ñòa chæ.
Maïch giaûi maõ cuõng töông töï nhö caùc heä vi xöû lí khaùc. Ví duï, neáu duøng nhieàu EPROM vaø RAM 8Kbytes thì bus ñòa chæ caàn phaûi ñöôïc giaûi maõ ñeå xaùc ñònh IC nhôù naøo ñöôïc choïïn.
Ngöôøi ta thöôøng duøng IC giaûi maõ 74HC138 vôùi caùc ngoõ ra ñöôïc noái tôùi caùc ngoõ vaøo choïn chip (CS) treân caùc IC nhôù. Hình sau veõ moät heä thoáng vôùi nhieàu EPROM 8K 2764 vaø RAM 8K 6264:
Giaûi maõ ñòa chæ.
d/ Xeáp choàng boä nhôù chöông trình vaø döõ lieäu beân ngoaøi:
Vì boä nhôù chöông trình laø ROM, neân naûy sinh moät vaán ñeà baát tieän khi phaùt trieån phaàn meàm cho 8051/8031. Ñoái vôùi 8952 ñaõ caûi tieán baèng caùch thay theá baèng EEPROM, hoaëc duøng moät caùch ñeå khaéc phuïc nhöôïc ñieåm treân laø xeáp choàng caùc vuøng nhôù chöông trình vaø döõ lieäu.
Moät IC RAM coù theå chöùa caû chöông trình vaø döõ lieäu baèng caùch noái ñöôøng OE\ cuûa RAM vaøo moät maïch logic AND cuûa PSEN\ vaø RD\.
Maïch treân hình sau cho pheùp moät IC RAM ñöôïc duøng laøm boä nhôù chöông trình vaø döõ lieäu:
Vaäy moät chöông trình coù theå ñöôïc taûi vaøo RAM (baèng caùch ghi noù nhö boä nhôù döõ lieäu) vaø thi haønh (baèng caùch truy xuaát noù nhö boä nhôù chöông trình).
II.7 Leänh Reset:
mC8952 ñöôïc reset baèng caùch giöõ chaân RST ôû möùc cao ít nhaát trong hai chu kì maùy vaø traû noù veà möùc thaáp.
RST coù theå ñöôïc kích baèng tay duøng moät nuùt baám hoaëc coù theå ñöôïc kích khi caáp ñieän duøng moät maïch R-C.
Traïng thaùi cuûa taát caû caùc thanh ghi trong 8952 sau khi Reset heä thoáng ñöôïc toùm taét trong baûng sau:
Thanh ghi
Noäi dung
Ñeám chöông trình
0000 H
Tích luõy
00 H
B
00 H
PSW
00 H
SP
07 H
DPTR
0000 H
Port 0 ¸ 3
FF H
IP
XXX00000 B
IE
0XX00000 B
Caùc thanh ghi ñònh thôøi
00 H
SCON
00 H
SBUF
00 H
PCON ( HMOS )
0XXXXXXX B
PCON ( CMOS )
0XXX0000 B
Quan troïng nhaát trong caùc thanh ghi treân laø thanh ghi ñeám chöông trình, noù ñöôïc ñaët laïi 0000H.
Khi RST trôû laïi möùc thaáp, vieäc thi haønh chöông trình luoân baét ñaàu ôû ñòa chæ ñaàu tieân trong boä nhôù chöông trình: ñòa chæ 0000H.
Noäi dung cuûa RAM treân chip khoâng bò thay ñoåi bôûi leänh Reset.
III. TAÄP LEÄNH CUÛA 8952 :
Taäp leänh 8952 coù 255 leänh goàm 139 leänh 1 byte, 92 leänh 2 byte vaø 24 leänh 3 byte.
III.1 Caùc cheá ñoä ñaùnh ñòa chæ:
a/ Ñòa chæ thanh ghi:
mC8952 coù boán bank thanh ghi, moãi bank coù 8 thanh ghi ñaùnh soá töø R0 ñeán R7. Taïi moãi thôøi ñieåm chæ coù moät bank thanh ghi ñöôïc tích cöïc.
Maõ leänh n n n
Ñòa chæ thanh ghi
Muoán choïn bank thanh ghi naøo ta chæ caàn gaùn caùc bít nhò phaân thích hôïp vaøo RS1 (PSW.4) vaø RS0 (PSW.3) trong thanh ghi traïng thaùi chöông trình (PSW).
Ngoaøi ra, moät soá thanh ghi ñaëc bieät nhö thanh ghi tích luõy, thanh ghi con troû döõ lieäu cuõng ñöôïc xaùc ñònh trong caùc leänh treân neân khoâng caàn bit ñòa chæ.
Trong caùc leänh naøy thanh ghi tích luõy ñöôïc kí hieäu laø “A”, con troû döõ lieäu laø “DPTR”, thanh ghi ñeám chöông trình laø “PC”, côø nhôù laø “C”, caëp thanh ghi tích luõy laø “AB”.
b/ Ñòa chæ tröïc tieáp:
Trong cheá ñoä naøy, caùc thanh ghi beân trong 8952 ñöôïc ñaùnh ñòa chæ tröïc tieáp baèng 8 bits ñòa chæ naèm trong byte thöù hai cuûa maõ leänh.
Maõ leänh Ñòa chæ tröïc tieáp
Ñòa chæ tröïc tieáp
Duø vaäy, trình hôïp dòch cho pheùp goïi teân caùc thanh ghi chöùc naêng ñaëc bieät (coù ñòa chæ tröïc tieáp töø 80H ñeán FFH).
Ví duï, P0 cho Port 0, TMOD cho thanh ghi cheá ñoä timer, …
c/ Ñòa chæ giaùn tieáp:
Maõ leänh i
Ñòa chæ giaùn tieáp.
R0 vaø R1 ñöôïc duøng ñeå chöùa ñòa chæ taïm oâ nhôù maø leänh taùc ñoäng ñeán. Ngöôøi ta qui öôùc duøng daáu @ tröôùc R0 hoaëc R1.
d/ Ñòa chæ töùc thôøi:
Ngöôøi ta duøng daáu # tröôùc caùc toaùn haïng töùc thôøi. Caùc toaùn haïng ñoù coù theå laø moät haèng soá, moät kí soá hay moät bieåu thöùc toaùn hoïc …Trình hôïp dòch seõ töï ñoäng tính toaùn vaø thay theá döõ lieäu vaøo maõ leänh.
Maõ leänh Döõ lieäu töùc thôøi
Ñòa chæ töùc thôøi.
e/ Ñòa chæ töông ñoái:
Ñòa chæ töông ñoái ñöôïc duøng trong caùc leänh nhaûy.
mC8952 duøng giaù trò 8 bit coù daáu ñeå coäng theâm vaøo thanh ghi ñeám chöông trình (PC).
Taàm nhaûy cuûa leänh naøy trong khoaûng töø –128 ñeán 127 oâ nhôù. Tröôùc khi coäng, thanh ghi PC seõ taêng ñeán ñòa chæ theo sau leänh nhaûy roài tính toaùn ñòa chæ offset caàn thieát ñeå nhaûy ñeán ñòa chæ yeâu caàu.
Maõ leänh Offset töông ñoái
Ñòa chæ töông ñoái.
Nhö vaäy, ñòa chæ môùi laø ñòa chæ töông ñoái so vôùi leänh keá tieáp chöù khoâng phaûi baûn thaân leänh nhaûy. Thöôøng leänh naøy coù lieân quan ñeán nhaõn ñöôïc ñònh nghóa tröôùc.
f/ Ñòa chæ tuyeät ñoái :
Ñòa chæ tuyeät ñoái chæ duøng tröôùc caùc leänh ACALL vaø AJIMP.
Caùc leänh 2 byte naøy duøng ñeå reõ nhaùnh vaøo moät trang 2Kbyte cuûa boä nhôù chöông trình baèng caùch caáp 11 bit ñòa chæ thaáp (A0-A10) ñeå xaùc ñònh ñòa chæ ñích trong trang maõ. Coøn 5 bit cao cuûa ñòa chæ ñích chính laø 5 bit hieän haønh trong thanh ghi ñeám chöông trình.
Vì vaäy, ñòa chæ cuûa leänh theo sau leänh reõ nhaùnh vaø ñòa chæ ñích cuûa leänh reõ nhaùnh caàn phaûi cuøng trang maõ 2Kbyte (coù cuøng 5 bits ñòa chæ cao).
A10-A8 Maõ leänh Offset töông ñoái
Ñòa chæ tuyeät ñoái
g/ Ñòa chæ daøi :
Ñòa chæ daøi chæ duøng cho leänh LCALL vaø LJIMP. Caùc leänh naøy chieám 3 byte vaø duøng 2 byte sau (byte 2 vaø byte 3) ñeå ñònh ñòa chæ ñích cuûa leänh (16 bit). Öu ñieåm cuûa leänh naøy laø coù theå söû duïng trong toaøn boä vuøng nhôù 64 Kbyte.
Maõ leänh A15 - A8 A7 – A0
Ñòa chæ daøi
Tuy nhieân, leänh naøy chieám nhieàu byte vaø leä thuoäc vaøo vò trí vuøng nhôù.
h/ Ñòa chæ tham chieáu:
Ñòa chæ tham chieáu duøng moät thanh ghi cô baûn (hoaëc thanh ghi ñeám chöông trình PC hoaëc thanh ghi con troû döõ lieäu DPTR) vaø ñòa chæ offset (trong thanh ghi tích luõy A) ñeå taïo ñòa chæ ñöôïc taùc ñoäng cho caùc leänh JMP hoaëc MOVC.
Caùc baûng nhaûy vaø baûng tìm kieám deã daøng ñöôïc taïo ra ñeå söû duïng ñòa chæ tham chieáu.
Ñòa chæ cô baûn Offset
PC hoaëc DPTR
+
ACC
=
Ñòa chæ caàn truy xuaát
Ñòa chæ tham chieáu.
III.2 Caùc nhoùm leänh cuûa 8952:
Taäp leänh cuûa 8952 ñöôïc chia laøm 5 nhoùm:
Soá hoïc
Luaän lí
Chuyeån döõ lieäu
Chuyeån ñieàu khieån
Caùc chæ daãn thieát laäp leänh:
Rn : Thanh ghi R0 ñeán R7 cuûa bank thanh ghi ñöôïc choïn.
Data : 8 bit ñòa chæ vuøng döõ lieäu beân trong. Noù coù theå laø vuøng RAM döõ lieäu trong (0-127) hoaëc caùc thanh ghi chöùc naêng ñaëc bieät.
@Ri : 8 bit vuøng RAM döõ lieäu trong (0-255) ñöôïc ñaùnh ñòa chæ giaùn tieáp qua thanh ghi R0 hoaëc R1.
#data : Haèng 8 bit chöùa trong caâu leänh.
#data16 : Haèng 16 bit chöùa trong caâu leänh.
addr16 : 16 bit ñòa chæ ñích ñöôïc duøng trong leänh LCALL vaø LJMP.
addr11 : 11 bit ñòa chæ ñích ñöôïc duøng trong leänh ACALL vaø AJMP.
rel : Byte offset 8 bit coù daáu ñöôïc duøng trong leänh SJUMP vaø nhöõng leänh
nhaûy coù ñieàu kieän.
bit : Bit ñöôïc ñònh ñòa chæ tröïc tieáp trong RAM döõ lieäu noäi hoaëc caùc thanh
ghi chöùc naêng ñaëc bieät.
a/ Nhoùm leänh xöû lí soá hoïc:
ADD A, Rn (1 byte, 1 chu kì maùy) : Coäng noäi dung thanh ghi Rn vaøo thanh
ghi A.
ADD A, data (2, 1) : Coäng tröïc tieáp 1 byte vaøo thanh ghi A.
AAD A, @Ri (1, 1) : Coäng giaùn tieáp noäi dung RAM chöùa taïi ñòa chæ ñöôïc
khai baùo trong Ri vaøo thanh ghi A.
ADD A, #data (2, 1) : Coäng döõ lieäu töùc thôøi vaøo A.
ADDC A, Rn (1, 1) : Coäng thanh ghi vaø côø nhôù vaøo A.
ADDC A, data (2, 1) : Coäng tröïc tieáp byte döõ lieäu vaø côø nhôù vaøo A.
ADDC A, @Ri (1, 1) : Coäng giaùn tieáp noäi dung RAM vaø côø nhôù vaøo A.
ADDC A, #data (2, 1) : Coäng döõ lieäu töùc thôøi vaø côø nhôù vaøo A.
SUBB A, Rn (1, 1) : Tröø noäi dung thanh ghi A cho noäi dung thanh ghi Rn vaø côø nhôù.
SUBB A, data (2, 1) : Tröø tröïc tieáp A cho moät soá vaø côø nhôù.
SUBB A, @Ri (1, 1) : Tröø giaùn tieáp A cho moät soá vaø côø nhôù.
SUBB A, #data (2, 1) : Tröø noäi dung A cho moät soá töùc thôøi vaø côø nhôù.
INC A (1, 1) : Taêng noäi dung thanh ghi A leân 1.
INC Rn (1, 1) : Taêng noäi dung thanh ghi Rn leân 1.
INC data (2, 1) : Taêng döõ lieäu tröïc tieáp leân 1.
INC @Ri (1, 1) : Taêng giaùn tieáp noäi dung vuøng RAM leân 1.
DEC A (1, 1) : Giaûm noäi dung thanh ghi A xuoáng 1.
DEC Rn (1, 1) : Giaûm noäi dung thanh ghi Rn xuoáng 1.
DEC data (2, 1) : Giaûm döõ lieäu tröïc tieáp xuoáng 1.
DEC @Ri (1, 1) : Giaûm giaùn tieáp noäi dung vuøng RAM xuoáng 1.
INC DPTR (1, 2) : Taêng noäi dung con troû döõ lieäu leân 1.
MUL AB (1, 4) : Nhaân noäi dung thanh ghi A vôùi noäi dung thanh ghi B.
DIV AB (1, 4) : Chia noäi dung thanh ghi A cho noäi dung thanh ghi B.
DA A (1,1) : Hieäu chænh thaäp phaân thanh ghi A.
b/ Nhoùm leänh luaän lí :
ANL A, Rn (1, 1) : AND noäi dung thanh ghi A vôùi noäi dung thanh ghi Rn.
ANL A, data (2, 1) : AND noäi dung thanh ghi A vôùi döõ lieäu tröïc tieáp.
ANL A, @Ri (1, 1) : AND noäi dung thanh ghi A vôùi döõ lieäu giaùn tieáp trong
RAM.
ANL A, #data (2, 1) : AND noäi dung thanh ghi vôùi döõ lieäu töùc thôøi.
ANL data, A (2, 1) : AND moät döõ lieäu tröïc tieáp vôùi A.
ANL data, #data(3, 2): AND moät döõ lieäu tröïc tieáp vôùi döõ lieäu töùc thôøi.
ANL C, bit (2, 2) : AND côø nhôù vôùi moät bit tröïc tieáp.
ANL C, /bit (2, 2) : AND côø nhôù vôùi buø cuûa moät bit tröïc tieáp.
ORL A, Rn (1, 1) : OR thanh ghi A vôùi thanh ghi Rn.
ORL A, data (2, 1) : OR thanh ghi A vôùi moät döõ lieäu tröïc tieáp.
ORL A, @Ri (1, 1) : OR thanh ghi A vôùi moät döõ lieäu giaùn tieáp.
ORL A, #data (2, 1) : OR thanh ghi A vôùi moät döõ lieäu töùc thôøi.
ORL data, A (2, 1) : OR moät döõ lieäu tröïc tieáp vôùi thanh ghi A.
ORL data, #data(3, 2): OR moät döõ lieäu tröïc tieáp vôùi moät döõ lieäu töùc thôøi.
ORL C, bit (2, 2) : OR côø nhôù vôùi moät bit tröïc tieáp.
ORL C, /bit (2, 2) : OR côø nhôù vôùi buø cuûa moät bit tröïc tieáp.
XRL A, Rn (1, 1) : XOR thanh ghi A vôùi thanh ghi Rn.
XRL A, data (2, 1) : XOR thanh ghi A vôùi moät döõ lieäu tröïc tieáp.
XRL A, @Ri (1, 1) : XOR thanh ghi A vôùi moät döõ lieäu giaùn tieáp.
XRL A, #data (2, 1) : XOR thanh ghi A vôùi moät döõ lieäu töùc thôøi.
XRL data, A (2, 1) : XOR moät döõ lieäu tröïc tieáp vôùi thanh ghi A.
XRL data, #data (3, 2): XOR moät döõ lieäu tröïc tieáp vôùi moät döõ lieäu töùc thôøi.
SETB C (1, 1) : Ñaët côø nhôù.
SETB bit (2, 1) : Ñaët moät bit tröïc tieáp.
CLR A (1, 1) : Xoùa thanh ghi A.
CLR C (1, 1) : Xoùa côø nhôù.
CPL A (1, 1) : Buø noäi dung thanh ghi A.
CPL C (1, 1) : Buø côø nhôù.
CPL bit (2, 1) : Buø moät bit tröïc tieáp.
RL A (1, 1) : Quay traùi noäi dung thanh ghi A.
RLC A (1, 1) : Quay traùi noäi dung thanh ghi A qua côø nhôù.
RR A (1, 1) : Quay phaûi noäi dung thanh ghi A.
RRC A (1, 1) : Quay phaûi noäi dung thanh ghi A qua côø nhôù.
SWAP A (1, 1) : Ñaûo 2 nible cuûa thanh ghi A .
c/ Nhoùm leänh chuyeån döõ lieäu:
MOV A, Rn (1, 1) : Chuyeån noäi dung thanh ghi Rn vaøo thanh ghi A.
MOV A, data (2, 1) : Chuyeån döõ lieäu tröïc tieáp vaøo thanh ghi A.
MOV A, @Ri (1, 1) : Chuyeån döõ lieäu giaùn tieáp vaøo thanh ghi A.
MOV A, #data (2, 1) : Chuyeån döõ lieäu töùc thôøi vaøo thanh ghi A.
MOV Rn, A (1, 1) : Chuyeån noäi dung thanh ghi A vaøo thanh ghi Rn.
MOV Rn, data (2, 2) : Chuyeån döõ lieäu tröïc tieáp vaøo thanh ghi Rn.
MOV Rn, #data (2, 1) : Chuyeån döõ lieäu töùc thôøi vaøo thanh ghi Rn.
MOV data, A (2, 1) : Chuyeån noäi dung thanh ghi A vaøo moät döõ lieäu
tröïc tieáp.
MOV data, Rn (2, 2) : Chuyeån noäi dung thanh ghi Rn vaøo moät döõ lieäu
tröïc tieáp.
MOV data, data (3, 2) : Chuyeån moät döõ lieäu tröïc tieáp vaøo moät döõ lieäu
tröïc tieáp.
MOV data, @Ri (2, 2) : Chuyeån moät döõ lieäu giaùn tieáp vaøo moät döõ lieäu
tröïc tieáp.
MOV data, #data (3, 2) : Chuyeån moät döõ lieäu töùc thôøi vaøo moät döõ lieäu
tröïc tieáp.
MOV @Ri, A (1, 1) : Chuyeån noäi dung thanh ghi A vaøo moät döõ lieäu
giaùn tieáp.
MOV @Ri, data (2, 2) : Chuyeån moät döõ lieäu tröïc tieáp vaøo moät döõ lieäu
giaùn tieáp.
MOV @Ri, #data (2, 1) : Chuyeån moät döõ lieäu töùc thôøi vaøo moät döõ lieäu
giaùn tieáp.
MOV DPTR, #data16 (3, 2): Chuyeån moät haèng 16 bit vaøo thanh ghi con troû
döõ lieäu.
MOV C, bit (2, 1) : Chuyeån moät bit tröïc tieáp vaøo côø nhôù.
MOV bit, C (2, 2) : Chuyeån côø nhôù vaøo moät bit tröïc tieáp.
MOVC A, @A+DPTR (1, 2): Chuyeån byte boä nhôù chöông trình coù ñòa chæ laø
@A + DPTR vaøo thanh ghi A.
MOVC A, @A + PC(1, 2) : Chuyeån byte boä nhôù chöông trình coù ñòa chæ laø
@A + PC vaøo thanh ghi A.
MOVX A, @Ri (1, 2) : Chuyeån döõ lieäu ngoaøi (8 bit ñòa chæ) vaøo thanh ghi
A.
MOVX A, @DPTR (1, 2) : Chuyeån döõ lieäu ngoaøi (16 bit ñòa chæ) vaøo thanh ghi
A.
MOVX @Ri, A (1, 2) : Chuyeån noäi dung A ra döõ lieäu ngoaøi (8 bit ñòa chæ).
MOVX @DPTR, A (1, 2) : Chuyeån noäi dung A ra döõ lieäu ngoaøi (16 bit ñòa chæ).
PUSH data (2, 2) : Chuyeån döõ lieäu tröïc tieáp vaøo ngaên xeáp vaø taêng SP.
POP data (2, 2) : Laáy döõ lieäu tröïc tieáp ra khoûi ngaên xeáp vaø giaûm SP.
XCH A, Rn (1, 1) : Trao ñoåi döõ lieäu giöõa thanh ghi Rn vaø thanh ghi A.
XCH A, data (2, 1) : Trao ñoåi giöõa thanh ghi A vaø moät döõ lieäu tröïc tieáp.
XCH A, @Ri (1, 1) : Trao ñoåi giöõa thanh ghi A vaø moät döõ lieäu giaùn tieáp.
XCHD A, @Ri (1, 1) : Trao ñoåi giöõa nibble thaáp (LSN) cuûa
cuûa thanh ghi A vaø LSN cuûa döõ lieäu giaùn tieáp.
d/ Nhoùm leänh chuyeån quyeàn ñieàu khieån :
ACALL addr11 (2, 2) : Goïi chöông trình con duøng ñòa chæ tuyeät ñoái.
LCALL addr16 (3, 2) : Goïi chöông trình con duøng ñòa chæ daøi.
RET (1, 2) : Trôû veà töø leänh goïi chöông trình con.
RETI (1, 2) : Trôû veà töø leänh goïi ngaét.
AJMP addr11 (2, 2) : Nhaûy tuyeät ñoái.
LJMP addr16 (3, 2) : Nhaûy daøi.
SJMP rel (2, 2) : Nhaûy ngaén.
JMP @A + DPTR (1, 2) : Nhaûy giaùn tieáp töø con troû döõ lieäu.
JZ rel (2, 2) : Nhaûy ñeán A baèng 0.
JNZ rel (2, 2) : Nhaûy ñeán A khoâng baèng 0.
JC rel (2, 2) : Nhaûy ñeán côø nhôù ñöôïc ñaët.
JNC rel (2, 2) : Nhaûy neáu côø nhôù khoâng ñöôïc ñaët.
JB bit, rel (3, 2) : Nhaûy töông ñoái neáu bit tröïc tieáp ñöôïc ñaët.
JNB bit, rel (3, 2) : Nhaûy töông ñoái neáu bit tröïc tieáp khoâng ñöôïc ñaët.
JBC bit, rel (3, 2) : Nhaûy töông ñoái neáu bit tröïc tieáp ñöôïc ñaët,
roài xoùa bit.
CJNE A, data, rel (3, 2) : So saùnh döõ lieäu tröïc tieáp vôùi A vaø nhaûy neáu
khoâng baèng.
CJNE A, #data, rel (3, 2) : So saùnh döõ lieäu töùc thôøi vôùi A vaø nhaûy neáu
khoâng baèng.
CJNE Rn, #data, rel (3, 2) : So saùnh döõ lieäu töùc thôøi vôùi noäi dung thanh
ghi Rn vaø nhaûy neáu khoâng baèng.
CJNE @Ri, #data, rel (3, 2) : So saùnh döõ lieäu töùc thôøi vôùi döõ lieäu giaùn tieáp
vaø nhaûy neáu khoâng baèng.
DJNZ Rn, rel (2, 2) : Giaûm thanh ghi Rn vaø nhaûy neáu khoâng baèng.
DJNZ data, rel (3, 2) : Giaûm döõ lieäu tröïc tieáp vaø nhaûy neáu khoâng baèng.
CHÖÔNG IV:
THIEÁT KEÁ PHAÀN CÖÙNG
Sô ñoà khoái toång quaùt cuûa heä thoáng ñieàu khieån ñoäng cô :
Nhieäm vuï caùc khoái trong heä thoáng :
Khoái nguoàn + taùch zero + leäch pha :
+ Taïo nguoàn nuoâi +5V,+24V cho maïch ñieàu khieån.
+ Taïo goùc leäch pha .
+ Taùch ñieåm zero ñeå xaùc ñònh thôøi ñieåm öùng vôùi goùc kích baèng khoâng.
Khoái vi xöû lyù :
+ Phaùt xung kích cho caùc SCR.
+ Xöû lyù caùc tín hieäu hoài tieáp, tín hieäu nhaäp.
+ Hieån thò keát quaû.
Khoái khueách ñaïi vaø caùch ly :
+ Khueách ñaïi tín hieäu kích töø vi xöû lyù ñeå coù theå kích ñöôïc SCR.
+ Caùch ly maïch ñieàu khieån vaø maïch ñoäng löïc.
Maïch coâng suaát :
+ Chænh löu ñieän aùp xoay chieàu ba pha thaønh ñieän aùp moät chieàu cung caáp cho ñoäng cô DC.
Khoái hoài tieáp :
+ Hoài tieáp tín hieäu aùp vaø doøng ñeå hieäu chænh toác ñoä vaø moment cuûa ñoäng cô.
Khoái nhaäp döõ lieäu :
+ Ñöa döõ lieäu ngöôøi söû duïng mong muoán vaøo vi xöû lyù.
Khoái xuaát döõ lieäu :
+ Hieån thò keát quaû leân caùc led 7 ñoaïn.
1. Maïch coâng suaát :
Söû duïng ñoäng cô DC 6000W coù ñieän aùp ñònh möùc Uñm = 24VDC, doøng ñieän ñònh möùc Iñm = 250A, toác ñoä quay xaùc laäp laø 1500 RPM, thôøi haèng ñaït toác ñoä xaùc laäp laø 5s. ÔÛ sô ñoà caàu chænh löu moãi SCR chæ daãn 1/3 chu kì aùp nguoàn neân trò trung bình doøng ñieän qua noù laø:
.
Ñieän aùp khoaù vaø aùp ngöôïc cöïc ñaïi ñaët leân SCR laø:
.
Choïn heä soá an toaøn doøng KI=2.
Heä soá an toaøn aùp laø KU=3.
AÙp khoaù vaø aùp ngöôïc cöïc ñaïi treân SCR laø: Uchoïn= KU.UDRM = 1616,66V
Doøng trung bình cöïc ñaïi qua SCR laø : Ichoïn = KI.ITAV = 166.66A
Ta choïn SCR coù soá hieäu BStN 35110 coù caùc tham soá kó thuaät nhö sau:
type
UDRM
(V)
UDSM
(V)
ItRMS
(A)
IFav
(A)
ItSM
(A)
PGmax
(W)
By t
(ns)
BStN 35110
1650
1650
440
280
6160
20
10000
(A2s)
Ugt
(V)
Igt
(A)
Ih
(A)
Ugmax
(V)
Igmax
(A)
tq
(ms)
D
Case No.
190000
1.5
0.25
0.25
10
10
200000
S
DIN41893 361
Baûo veä doøng cho linh kieän treân ta duøng caàu chì taùc ñoäng nhanh coù doøng ñònh möùc laø 105A, tích phaân cuûa doøng ngaén maïch ñeå caàu chì chaûy =155000 (A2s).
Baûo veä aùp ta söû duïng maïch RC song song vôùi hai chaân A, K cuûa SCR.
Duøng maïch R//C maéc song song hai chaân G, K cuûa SCR ñeå choáng kích nhaàm do nhieãu neân maéc gaàn SCR.
Ñeå hoài tieáp ñieän aùp veà ta duøng maùy phaùt toác (tachometer) coù tyû soá giöõa ñieän aùp vaø toác ñoä quay laø 1000 (voøng/phuùt)/8.2Volt nhaèm caùch ly maïch ñieàu khieån giöõa maïch ñieàu khieån vaø maïch ñoäng löïc.
Duøng ñieän trôû shunt = 0.001 Ohm ñeå hoài tieáp doøng veà ñeå hieäu chænh moment.
Sô ñoà maïch ñoäng löïc :
TÍNH TOAÙN MAÙY BIEÁN AÙP:
Ñieän aùp treân cuoän sô caáp : USC = 380V
Ñieän aùp treân cuoän thöù caáp : UTC = 18V
Tæ soá voøng daây cuoän sô caáp vaø cuoän thöù caáp maùy bieán aùp :
Trò hieäu duïng doøng ñieän qua cuoän thöù caáp :
(A)
Trò hieäu duøng doøng ñieän qua cuoän sô caáp :
ISC = K.ITC = 0.047x245 = 11.515 (A)
Coâng suaát bieåu kieán cuûa cuoän thöù caáp :
STC = 3.UTC.ITC =3x18x245=13230 (W)
Coâng suaát bieåu kieán cuûa cuoän sô caáp :
SSC = 3.USC.ISC = 3x380x11.515=13127 (W)
Coâng suaát bieåu kieán maùy bieán aùp :
(W)
Heä soá söû duïng maùy bieán aùp kT = 1.05
Khoái nguoàn + leäch pha + taùch zero:
a. Khoái leäch pha:
Ñoái vôùi maïch caàu chænh löu ba pha, goùc kích khoâng tính töø thôøi ñieåm 0 vì aùp khoaù chæ xuaát hieän treân linh kieän töø goùc pha neân goùc kích = 0 taïi thôøi ñieåm .
Maïch leäch pha: do tính chaát cuûa nguoàn ba pha thöù töï thuaän ôû sô ñoà tia aùp daây AC chaäm hôn aùp pha A moät goùc 30 0 , nhö vaäy maïch leäch pha ñöôïc thöïc hieän ñôn giaûn baèng caùch söû duïng aùp daây ñöa vaøo maïch ñieàu khieån.
b. Khoái nguoàn : taïo ñieän aùp DC 5V vaø 24V laøm nguoàn nuoâi cho maïch vi ñieàu khieån, maïch khueách ñaïi, maïch hoài tieáp vaø caùc maïch khaùc.
Maïch nguoàn :
ÔÛ maïch naøy ta duøng chænh löu ñieåm giöõa neân ta söû duïng bieán aùp coù ñieåm giöõa ra vaø . Hai tín hieäu TA1, TA2 ñöôïc duøng cho maïch taùch zero.
c. Khoái taùch zero : xaùc ñònh thôøi ñieåm goùc kích ñeå ñöa vaøo vi ñieàu khieån AT89C52 duøng laøm moác ñeå phaùt xung kích. Ta duøng maïch sau:
ÔÛ maïch naøy ta söû duïng OP-AMP LM358 duøng ñöôïc nguoàn ñôn. Hai diode coù nhieäm vuï xeùn aùp vaøo LM358, ngoõ ra seõ ñöôïc ñöa vaøo ngoõ interupt cuûa vi ñieàu khieån.
Daïng soùng cuûa ngoõ vaøo vaø ra :
3. Khoái vi xöû lyù :
Vi ñieàu khieån 89C52 seõnhaän caùc tín hieäu ñaët, tín hieäu hoài tieáp xöû lyù phaùt ra xung kích ñeå oån ñònh toác ñoä cho ñoäng cô.
IC 74LS393 taïo taàn soá hoaït ñoäng 2 MHz cho ADC 0809 baèng caùch laáy taàn soá thaïch anh ñöa vaøo 74LS393 chia 6 ta ñöôïc taàn soá 2MHz.
IC ULN2004 duøng laøm ñeäm ñieän aùp 5V qua 15V ôû ngoõ ra Port 1 cuûa vi xöû lyù ngoõ ra cuûa ULN2004 phaûi duøng ñieän trôû keùo leân.
Coâng duïng caùc port cuûa vi ñieàu khieån AT89C52 :
+ Port 1 : P1.1 – P1.6 laø saùu ngoõ kích xung cho 6 SCR theo thöù töï töø SCR1 ñeán SCR6.
+ Port 0 : duøng xuaát nhaäp döõ lieäu
Sô ñoà maïch :
Maïch giaûi maõ ñòa chæ laø IC 74LS138; ta coù baûng phaân vuøng ñòa chæ nhö sau:
CHIP SELECT
BAÛNG PHAÂN VUØNG ÑÒA CHÆ
CS0
0000H – 1FFFH
CS1
2000H – 3FFFH
CS2
4000H – 5FFFH
CS3
6000H – 7FFFH
CS4
8000H – 9FFFH
CS5
A000H – BFFFH
CS6
C000H – DFFFH
CS7
E000H - FFFFH
Maïch taïo xung dao ñoäng cho vi xöû lyù goàm thaïch anh X2 12 MHz vaø hai tuï C12, C13. Nhö vaäy, vi ñieàu khieån AT89C52 hoaït ñoäng vôùi chu kì maùy laø 1 .
Maïch reset: goàm R7, R21, C14 vaø SW1 taïo xung reset khoaûng 2 laàn chu kì maùy ñeå reset vi ñieàu khieån AT89C52.
Khoái khueách ñaïi vaø caùch ly:
Do tín hieäu phaùt ra töø vi xöû lyù khoâng ñuû naêng löôïng ñeå kích caùc SCR do ñoù ta phaûi duøng maïch khueách ñaïi, ta phaûi ñieàu chænh tín hieäu kích trong vuøng kích ñöôïc. Vaø yeâu caàu cuûa maïch ñieàu khieån laø phaûi caùch ly vôùi maïch ñoäng löïc ta coù theå duøng optron hoaëc bieán aùp xung. Ta söû duïng bieán aùp xung vì maïch bieán aùp xung ñôn giaûn hôn optron vaø khoâng caàn söû duïng nguoàn rieâng.
Maïch khueách ñaïi vaø caùch ly:
Ñieän trôû R11 laø ñieän trôû keùo leân cuûa ngoõ ra vi maïch ULN2004.
Diode D7, D8 duøng ñeå ngaên aùp aâm ñöa vaøo coång kích GK. Diode D39 laøm taét nhanh doøng töø hoùa khi xung bò ngaét.
Ñieän trôû Rhd haïn doøng qua MOSFET M1.
Xaùc ñònh aùp, doøng kích SCR :
Do ta kích xung coù chieàu daøi laø 1ms baèng 1/10 chu kì doøng ñieän löôùi taàn soá 50Hz. Coâng suaát toån hao trung bình ôû cöïc coång naèm ngoaøi vuøng gaïch cheùo ôû hình veõ beân döôùi.
Theo hình veõ vuøng ñöôïc gaïch cheùo laø vuøng ñaûm baûo kích; ta choïn ñieåm kích coù UG= 5 V vaø IG=5 A.
Choïn tyû soá BAX giaûm aùp töø 4 : 1 ñeå giaûm doøng qua transitor vaø nguoàn caáp ñieän. Aùp ngoõ vaøo BAX laø 20V vaø doøng qua cuoän sô laø 1,25 A vaäy ñieän trôû cuoän sô laø Rsô = 20/1.25=16 Ohm.
Choïn loõi bieán aùp xung laø 0.8 cm2 . Soá voøng daây cuûa cuoän sô laø 400 voøng, daây coù tieát dieän laø 0.02 mm2 . Soá voøng daây cuûa cuoän thöù laø 100 voøng, daây coù tieát dieän laø 0.07mm2.
Choïn MOSFET:
Doøng MOSET laø ID= 1.25A vaø aùp treân cöïc DS laø VDS = 4 V. Choïn heä soá khueách ñaïi doøng KI=3. ta choïn ñöôïc MOSFET coù soá hieäu BUZ 60 coù caùc tham soá kyõ thuaät nhö sau:
Type
Kanal
VDS (V)
ID (A)
RDS(on) (Ohm)
BSS 60
N
400
5.5
1.0
5. Khoái hoài tieáp :
Vi maïch ADC 0809 chuyeån ñoåi tín hieäu töông töï ra tín hieäu soá (8 bit). Ñieän aùp so saùnh (VREF) laø 3,6V. Toác ñoä toái ña cuûa ñoäng cô laø 1760 RPM aùp hoài tieáp veà laø 14,4 V ta phaûi giaûm aùp naøy baèng ñieän aùp so saùnh 3.6V, ta seõ coù heä soá tyû leä 3,6/14,4 ta choïn hai ñieän trôû R9=820 Ohm vaø R13=3,3K.
Töông töï, ta coù doøng ñieän toái ña qua ñoäng cô Imax = 300 A. AÙp töø ñieän trôû Shunt hoài tieáp veà seõ laø 0.3V suy heä soá tyû leä 3,6/0,3; ta choïn ñieän trôû R76=8,2K vaø R77=680 Ohm.
Caùc ñieän trôû R1 vaø R5 laøm cho OPAMP hoaït ñoäng oån ñònh hôn.
Sô ñoà maïch:
6. Khoái nhaäp döõ lieäu: nhaäp caùc giaù trò ñaët cho toác ñoä vaø moment.ta söû duïng caùc phím nhaán nhö hình sau:
IC 74LS245 vaø 74AC32 duøng ñeå môû roäng port 0. R1 laø ñieän trôû keùo leân nguoàn. Hoaït ñoäng cuûa maïch: khi SW2 ngaét, ñieän aùp ngoõ vaøo 74lS245 luoân laø 5V; khi SW2 ñoùng ñieän aùp naøy seõ baèng 0V.
7. Khoái xuaát döõ lieäu: hieån thò giaù trò ñaët vaø giaù trò toác ñoä hoài tieáp veà. Ta söû duïng caùc ñeøn LED 7 duøng phöông phaùp choát.
Söû duïng choát 74LS573 coù ngoõ vaøo ñöôïc noái vôùi port 0 cuûa vi ñieàu khieån. Ñieän trôû 330 giaûm doøng vaøo LED. IC 74AC02 taïo tín hieäu choïn chip cho choát 74LS573.
Sô ñoà maïch hieån thò:
8. Giaûi thuaät vi ñieàu khieån:
YÙ töôûng giaûi thuaät:
Khi vi ñieàu khieån nhaän ñöôïc tín hieäu interupt INT0 hoaëc INT1 seõ khôûi ñoäng timer0 vôùi thôøi gian laø alpla, giaù trò naøy ñöôïc nhaäp töø baøn phím (hieäu chænh voøng hôû) hoaëc tính trong phaàn hieäu chænh PI (hieäu chænh voøng kín vôùi giaù trò ñaàu laø ñeå aùp chænh löu ra baèng 0). Khi timer0 traøn chöông trình seõ thöïc hieän : khôûi ñoäng Timer1 vôùi thôøi gian coá ñònh 1/6 chu kì laø ; neáu nguoàn ngaét laø INT0 thì vi ñieàu khieån phaùt ra xung kích 1ms cho SCR1. Khi timer1 traøn chöông trình seõ thöïc hieän laïi vieäc khôûi ñoäng timer1 vaø kích cho SCR2. töông töï nhö vaäy cho SCR3 roài ñôïi timer 0 traøn chuaån bi cho laàn kích keá tieáp. Chöông trình seõ thöïc hieän töông töï cho INT1.
Löu ñoà giaûi thuaät voøng hôû :
Hieäu chænh voøng kín:
Boä ñieàu khieån soá : caùc vi xöû lyù, haït nhaân cuûa boä ñieàu khieån, hieän nay raát thoâng duïng trong caùc heä thoáng ñieàu khieån coâng nghieäp. Söùc maïnh vi xöû lyù laø cung caáp caùc ñaëc ñieåm môùi nhö laø töï ñieàu chænh, ñieàu khieån ña bieán, vaø heä chuyeân gia. Khaû naêng giao tieáp cuûa vi xöû lyù qua caùc ñöôøng bus vaø caùc maïng cuïc boä laø moät lyù do khaùc maø noù ñöôïc caùc boä ñieàu khieån soá chaáp nhaän. Boä ñieàu khieån soá duøng cho ñieàu khieån voøng kín goàm caùc kieåu (mode) ñieàu khieån PI, PD, PID.
Laáy maãu (Sampling):
Moät boä ñieàu khieån soá seõ ño bieán ñieàu khieån taïi nhöõng thôøi ñieåm xaùc ñònh, ñöôïc phaân thaønh khoaûng thôøi gian (time interval), goïi laø thôøi gian laáy maãu,. Moãi laàn laáy maãu (hay ño löôøng) bieán ñieàu khieån seõ chuyeån ñoåi thaønh caùc soá binary laøm input cho caùc maùy vi tính soá hoaëc microcomputer. Maùy tính tröø caùc tín hieäu laáy maãu vôùi tín hieäu ñaët (setpoint) ñeå xaùc ñònh caùc sai soá (error samples).
e1 = sp –cm1 = sai soá ôû laàn laáy maãu ñaàu tieân.
e2 = sp –cm2 = sai soá ôû laàn laáy maãu thöù hai.
e3 = sp –cm3 = sai soá ôû laàn laáy maãu thöù ba.
.
.
.
en = sp –cmn = sai soá ôû laàn laáy maãu hieän taïi.
Giaûi thuaät ñieàu khieån (control algorithms):
Sau khi tính sai soá, boä ñieàu khieån PID theo moät thuû tuïc goïi laø giaûi thuaät PID ñeå tính caùc ngoõ ra ñieàu khieån döïa treân caùc sai soá : e1, e2, e3, …,en. Giaûi thuaät PID coù hai loaïi, baûn caáp baäc (positional version) vaø baûn gia taêng (incremental version).
Baûn caáp baäc (positional version) xaùc ñònh vò trí valve, döïa treân caùc tín hieäu sai soá. Phöông trình (4.1) version ñôn giaûn cuûa giaûi thuaät caáp baäc.
(4.1)
vôùi vn = vi trí valve hieän taïi, percent of full scale.
P = ñoä lôïi ñieàu khieån.
en= sai soá hieän taïi, percent of full scale.
= thôøi gian laáy maãu, second.
I = integral action rate, second-1.
D =derivative action time constant, second.
= thay ñoåi theo tín hieäu sai soá.
Löu ñoà giaûi thuaät nhö sau:
Baûn gia taêng (incremental version) xaùc ñònh söï thay ñoåi cuûa vò trí valve, 0, döïa vaøo caùc sai soá. Giaûi thuaät gia taêng (incremental algorithm) coù theå ñöôïc xaùc ñònh baèng caùch söû duïng phöông trình (4.1) ñeå xaùc ñònh vn vaø vn-1 sau ñoù thöïc hieän pheùp tröø seõ ñöôïc phöông trình (4.2).
(4.2)
vôùi
Giaûi thuaät gia taêng (incremental) ñaëc bieät thích hôïp vôùi caùc thieát bò ñaàu ra gia taêng nhö ñoäng cô böôùc (stepper motor). Giaûi thuaät caáp baäc (positional) töï nhieân hôn coù thuaän lôïi laø boä ñieàu khieån coù nhôù vò trí valve. Neáu thôøi gian laáy maãu, , ngaén hôn haèng soá thôøi gian tích phaân (integral action time constant) nhieàu, Ti = 1/I, giaûi thuaät caáp baäc (positional) seõ laøm vieäc nhö moät boä ñieàu khieån analog.
Hieäu chænh tích phaân (the integral mode):
Hieäu chænh tích phaân ñöôïc tính ôû phöông trình 4.1 coù theå cho keát quaû khoâng thoûa maõn. Heä soá naøy ñöôïc tính theo phöông trình 4.1 nhö sau:
(4.3)
ví duï, hieäu chænh tích phaân phaûi thay ñoåi moät löôïng tính baèng
integral mode change = PI..ej (4.4)
Khi giaù trò PI. nhoû hôn 1, ñieàu ñoù seõ thuaän lôïi hôn ñeå söû duïng PI., ñöôïc löu tröõ trong maùy tính döôùi daïng soá nguyeân (integer). Phöông trình 4.4 seõ ñöôïc söõa laïi
IDIV =
Integral mode change = (4.5)
Neáu PI. raát nhoû, maùy tính seõ boû qua caùc sai soá nhoû do thieáu ñoä phaân giaûi (insufficient resolution). Ví duï, xeùt moät boä ñieàu khieån soá coù chieàu daøi 12-bit. Ñoä phaân giaûi cuûa 12 bit binary laø 1/4096. Ñeå minh hoaï moät ñieåm, ta giaû söû raèng 1 soá binary 12 bit töông öùng vôùi moät khoaûng caùc sai soá töø -2048 ñeán +2047. Neáu P=0.5, , vaø I = 0.002 s-1 thì
PI. =(0.5)(1)(0.002) = 0.001
IDIV = 1000
Baát kì giaù trò naøo cuûa sai soá lôùn hôn -1000 vaø nhoû hôn +1000 ( 48% cuûa khoaûng full_scale ) seõ cho keát quaû trong integral mode change nhoû hôn 1, seõ ñöôïc boû qua. Thay ñoåi nhoû naøy sau ñoù seõ maát tröø khi ñoä phaân giaûi cuûa maùy tính thay ñoåi nhö ôû ví duï tieáp theo. Keát quaû cuoái cuøng luoân coù moät sai soá offset maø hieäu chænh tích phaân khoâng theå trieät tieâu ñöôïc.
Moät caùch giaûi quyeát sai soá offset naøy laø taêng chieàu daøi word cuûa maùy tính. Moät word 16 bit coù ñoä phaân giaûi 1/65.536, coù theå bieåu dieãn khoaûng sai soá töø -32.768 ñeán 32.767. ñieàu naøy seõ giaûm sai soá offset coøn khoaûng 3% khoaûng full-scale.
Moät caùch khaùc laø coäng moät phaàn khoâng duøng ñeán cuûa toång caùc sai soá vôùi sai soá hieän taïi, en, tröôùc khi tính integral mode change. ÔÛ ví duï tröôùc, sai soáø 900 xuaát hieän hai laàn lieân tuïc seõ khoâng tính ñöôïc integral mode change vì maãu beù hôn 1000. Tuy nhieân, maãu ñaàu tieân ñöôïc giöõ laïi, toång seõ laø 1800 seõ tính integral mode change cuûa 1800/1000 =1 dö 800. Soá dö 800 ñöôïc giöõ laïi vaø seõ coäng vôùi sai soá ôû laàn laáy maãu keá tieáp. Moãi laàn soá dö tích luõy coäng vôùi sai soá hieän taïi lôùn hôn 1000, moät soá taêng khaùc seõ coäng vôùi integral mode change.
Hieäu chænh vi phaân (dirivative mode)
Hieäu chænh vi phaân ñöôïc tính ôû phöông trình 4.1 cuõng coù theå cho keát quaû khoâng thoaû maõn. Moät tín ieäu bieán ñoåi chaäm, ví duï, keát quaû trong hieäu chænh vi phaân “jumpy”. Ñieàu naøy seõ xuaát hieän theá naøo vaø ñieàu gì ñöôïc laøm ñeå nhuyeãn hoaù hieäu chænh vi phaân.
Hieäu chænh vi phaân ñöôïc tính theo phöông trình (4-1)
Derivative tern = PD
Phaân soá thöïc söï laø moät döï ñoaùn möùc thay ñoåi cuûa sai soá, de/dt. ñöôïc coá ñònh baèng möùc laáy maãu, nhö vaäy ta chæ caàn taäp trung phaàn (en – en-1), ñöôïc thay theá baèng est1. Heä soá vi phaân ñöôïc tính baèng est1 goïi laø D1.
est1 = en – en-1
D1 =
Neáu P=6, , vaø D=100 s, thì
D1=
Baûng 1 chæ heä soá vi phaân ñöôïc tính töø bieán ñieàu khieån giaûm taïi möùc 0,5%/1s. Chuù yù D1 chæ laø 0 hoaëc 600, bôûi vì phoûng ñoaùn, est1, laø 0 hoaëc 1.
Ñeå phoûng ñoaùn toát hôn laø duøng caùc maãu tröôùc ñeå caûi tieán söï phoûng ñoaùn. Ví duï duøng boán maãu tröôùc ñeå ñoaùn . Ta goïi phoûng ñoaùn naøy est2 ,vaø heä soá vi phaân laø D2.
est2 = (en + en-1) – (en-2 – en-3)
D2 =
Neáu P=6, ,vaø D = 100s, thì
D2=
Baûng 1:
n
c
cm
e
est1
D1
est2
D2
1
9.5
9
0
0
0
0
0
2
9.0
9
0
0
0
0
0
3
8.5
8
1
1
600
1
150
4
8.0
8
1
0
0
2
300
5
7.5
7
2
1
600
2
300
6
7.0
7
2
0
0
2
300
7
6.5
6
3
1
600
2
300
8
6.0
6
3
0
0
2
300
9
5.5
5
4
1
600
2
300
10
5.0
5
4
0
0
2
300
Baûng 1 chæ caùc phoûng ñoaùn laøm nhuyeãn heä soá vi phaân nhö theá naøo. est2 öùng vôùi chu kì laáy maàu laø 2s. Noù duøng 2 maãu ñeå phoûng ñoaùn en vaû hôn hai maãu ñeå phoûng ñoaùn en-2. Thaønh phaàn 22 tính D2 taêng chu kì laáy maãu leân 2 laànvaø duøng hai maãu ñeå ñeå tính giaù trò trung bình. Ta coù theå môû roäng nhieàu maãu tröôùc. Moät phoûng ñoaùn est5 seõ taêng leân 5 vaø duøng 5 maãu ñeå döï ñoaùn en vaû 5 maãu ñeå ñoaùn en-5.
est5 = (en + en-1+ en-2 + en-3 +en-4) – (en-5 – en-6 + en-7 + en-8 + en-9)
=
TAØI LIEÄU THAM KHAÛO
Buøi Quoác Khaùnh – Nguyeãn Vaên Lieãn – Nguyeãn Thò Hieàn. TRUYEÀN ÑOÄNG ÑIEÄN.
Boä Moân Kyõ Thuaät Ñieän Töû Tröôøng Ñaïi Hoïc Baùch Khoa Thaønh Phoá Hoà Chí Minh. GIAÙO TRÌNH VI XÖÛ LYÙ.
TOÙM TAÉT BAØI GIAÛNG ÑIEÄN TÖÛ COÂNG SUAÁT 2
PTS. Nguyeãn Vaên Nhôø. BAØI GIAÛNG ÑIEÄN TÖÛ COÂNG SUAÁT 1 & BAØI TAÄP.
Robert N.Bateson. INTRODUCTION TO CONTROL SYSTEM TECHNOLOGY.
Döông Minh Trí. SÔ ÑOÀ CHAÂN LINH KIEÄN BAÙN DAÃN.
SAÙCH TRA CÖÙU THYRISTOR A…Z…60000.
Phaïm Thò Cö – Tröông Troïng Tuaán Myõ – Leâ Minh Cöôøng. MAÏCH ÑIEÄN 1
Moät Soá Luaän Vaên Lieân Quan cuûa Tröôøng Ñaïi Hoïc Baùch Khoa vaø Tröôøng Ñaïi Hoïc Sö Phaïm Kyõ Thuaät.
Các file đính kèm theo tài liệu này:
- Điều chỉnh tốc độ động cơ DC kích từ độc lập sử dụng vi điều khiển AT89C52.doc