139
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH KHOA CÔNG NGHỆ ĐIỆN TỬ ĐỒ ÁN CHUYÊN NGÀNH ĐỀ TÀI: ĐIỀU KHIỂN GIÁM SÁT ĐỘNG CƠ AC VỚI AVR & WINCC GVHD: Th. S TRẦN VĂN TRINH

Dieu khien giam_sat_dong_co_ac_su_dung_avr

  • Upload
    tien-le

  • View
    311

  • Download
    10

Embed Size (px)

Citation preview

Page 1: Dieu khien giam_sat_dong_co_ac_su_dung_avr

BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HỒ CHÍ MINH

KHOA CÔNG NGHỆ ĐIỆN TỬ

ĐỒ ÁN CHUYÊN NGÀNH

ĐỀ TÀI:

ĐIỀU KHIỂN GIÁM SÁT ĐỘNG CƠ AC VỚI

AVR & WINCC

GVHD: Th. S TRẦN VĂN TRINH

SVTH: NGUYỄN QUANG HÒAPHẠM ĐỨC DUY

LỚP: ĐHĐT3ALT

Tp. Hồ Chí Minh, tháng 3 năm 2009

Page 2: Dieu khien giam_sat_dong_co_ac_su_dung_avr

LỜI NÓI ĐẦU---oOo---

So với tất cả động cơ điện sử dụng trong công nghiệp, động cơ không đồng bộ 1, 3 pha được sử dụng rộng rãi nhất, từ công suất nhỏ, trung đến công suất lớn và chúng đang dần thay thế các động cơ một chiều do có nhiều tính năng ưu việt như: kết cấu đơn giản, độ bền cao, dễ bảo trì, chi phí thấp, sử dụng trực tiếp lưới điện. Nhưng quan trọng hơn cả do kỹ thuật điều khiển động cơ phát triển làm cho việc điều khiển động cơ không đồng bộ trở nên dễ dàng nên khắc phục được những nhược điểm của động cơ như: đặc tính đóng, mở máy, điều khiển moment…

Trong các loại động cơ không đồng bộ, thì động cơ không đồng bộ có roto lồng sóc là được sử dụng nhiều hơn cả. Chúng được sử dụng trong các máy nghiền, máy khuấy, ba lăng vận tải, máy bơm, quạt thông gió, quạt giải nhiệt…

Trong thời gian gần đây do sự phát triển của nền công nghiệp chế tạo các khóa bán dẩn có công suất lớn, kỹ thuật điện tử, tin học nên các tính năng của động cơ không đồng bộ được khai thác triệt để. Nó đuợc điều khiển bởi các bộ biến tần bán dẫn và ngày càng được hoàn thiện hơn nên có thể so sánh với hệ truyền động một chiều nhất là ở vùng công suất lớn.

Trong công nghiệp thường sử dụng 4 bộ truyền động để điều khiển tốc độ động cơ không đồng bộ đó là:

- Điều chỉnh điện áp cấp cho động cơ dùng bộ biến đổi thyristor.- Điều chỉnh điện trở roto.- Điều chỉnh công suất trượt.- Điều chỉnh tần số nguồn cung cấp cho động cơ bằng bộ biến đổi tần số.Trong đồ án chuyên ngành này chúng em sẽ thiết kết 2 bộ điều khiển tốc độ

động cơ không đồng bộ bằng 2 phương pháp: thay đổi điện áp cho động cơ không đồng bộ 1 pha bằng cách thay đổi góc kính cho triac và thay đổi tốc độ động cơ không đồng bộ 3 pha dùng bộ biến đổi tần số.

Page 3: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Lời Cảm Ơn---oOo---

Trong quá trình thực hiện đồ án chuyên ngành này. Chúng em xin chân thành cảm ơn thầy TRẦN VĂN TRINH đã hướng dẫn chúng em thực hiện hoàn thành đồ án này. Chúng em cũng xin gửi lời cảm ơn đến thầy cô trong Khoa Điện Tử, các bạn trong và ngoài lớp là những người đã động viên, giúp đỡ chúng em hoàn thành đồ án .

Tuy nhiên do kiến thức còn hạn chế và thời gian thực hiện có hạn nên trong bài báo cáo và mô hình thực tế không tránh khỏi thiếu sót. Mong được sự cảm thông và đóng góp ý kiến chân tình của quý thầy cô và các bạn để đồ án của chúng em được hoàn chỉnh hơn.

Chúng em xin chân thành cảm ơn !!!

Tp. Hồ Chí Minh, tháng 3 năm 2009Sinh viên thực hiện.

Nguyễn Quang HòaPhạm Đức Duy

Page 4: Dieu khien giam_sat_dong_co_ac_su_dung_avr

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

Giáo Viên Hướng Dẫn

Page 5: Dieu khien giam_sat_dong_co_ac_su_dung_avr

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

Giáo Viên Phản Biện

Page 6: Dieu khien giam_sat_dong_co_ac_su_dung_avr

MỤC LỤC

Phần I: LÝ THUYẾT CƠ SỞ................................................................Trang 11.1 CÁC BỘ BIẾN ĐỔI XUNG ÁP...................................................................1

1.1.1 Các sơ đồ van..........................................................................................11.1.2 Hoạt động với tải thuần trở.....................................................................21.1.3 Hoạt động với tải trở cảm.......................................................................3

1.2 BIẾN TẦN & CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN..................................51.2.1 Giới thiệu chung.....................................................................................51.2.2 Phân loại các bộ biến tần........................................................................6

1.2.2.1 Biến tần trực tiếp.............................................................................61.2.2.2 Biến tần gián tiếp.............................................................................6

1.2.2.2.1 Biến tần sử dụng nghịch lưu áp................................................61.2.2.2.2 Biến tần nghịch lưu dòng.........................................................6

1.2.3 Bộ nghịch lưu áp 3 pha...........................................................................71.2.4 Biến tần nguồn áp điều khiển theo phương pháp V/f.............................8

1.2.4.1 Phương pháp E/f..............................................................................81.2.4.2 Phương pháp V/f.............................................................................9

1.2.5 Các phương pháp thông dụng trong đk động cơ KĐB qua biên tần.....111.2.5.1 Phương pháp điều rộng xung SINPWM........................................111.2.5.2 Phương pháp vectơ không gian.....................................................12

1.3 CHUẨN RS-485.........................................................................................151.3.1 Mạch chuyển đổi RS-232  sang RS-485...............................................161.3.2 Mạch Chuyển đổi RS-485  sang TTL và ngược lại..............................17

1.4 MODBUS....................................................................................................181.4.1 Cơ chế giao tiếp....................................................................................181.4.2 Mạng Modbus chuẩn............................................................................191.4.3 Modbus trên các mạng khác.................................................................191.4.4 Chế độ truyền........................................................................................19

1.4.4.1 Chế độ ASCII................................................................................201.4.4.2 Chế độ RTU...................................................................................20

1.4.5 Khung ASCII........................................................................................201.4.6 Khung RTU..........................................................................................201.4.7 Bảo toàn dữ liệu....................................................................................21

1.4.7.1 Kiểm soát LRC..............................................................................211.4.7.2 Kiểm soát CRC..............................................................................21

1.5 LẬP TRÌNH GIAO DIỆN HMI TRONG WINCC.....................................211.5.1 Giới thiệu về HMI.................................................................................211.5.2 Tổng quan về WinCC...........................................................................22

1.5.2.1 Các bước cơ bản để xây dựng một Project....................................231.5.2.2 Lập trình C cho WinCC.................................................................23

1.5.2.2.1 Lập trình theo thuộc tính Properties.......................................241.5.2.2.2 Lập trình theo sự kiện Events.................................................241.5.2.2.3 Các hàm hỗ trợ trong WinCC................................................25

Page 7: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Phần II: KHẢO SÁT LINH KIỆN CHÍNH...................................................262.1 VI ĐIỀU KHIỂN AVR- MEGA 16...........................................................26

2.1.1 Những thông số cơ bản của mega 16...................................................262.1.2 Sơ đồ chân mega16..............................................................................272.1.3 Cấu trúc bên trong của mega 16...........................................................27

2.2 VI ĐIỀU KHIỂN AVR -MEGA 8..............................................................282.2.1 Những thông số cơ bản của mega 8......................................................282.2.2 Sơ đồ chân mega8.................................................................................282.2.3 Cấu trúc bên trong của mega 8............................................................29

2.3 VI ĐIỀU KHIỂN AVR-TINY 13..............................................................292.3.1 Những thông số cơ bản của Tiny 13:....................................................292.3.2 Sơ đồ chân Tiny13................................................................................302.3.3 Cấu trúc bên trong Tiny13....................................................................30

2.4 CẢM BIẾN NHIỆT LM335.......................................................................312.5 OPTO 4N35................................................................................................322.6 MOSFET.....................................................................................................32

Phần III: THI CÔNG ĐỀ TÀI........................................................................343.1 YÊU CẦU ĐỀ TÀI.....................................................................................343.2 ĐIỀU KHIỂN ĐỘNG CƠ AC 1 PHA........................................................35

3.2.1 Phân tích tổng quát sơ đồ khối hệ thống...............................................353.2.1.1 Sơ lược hoạt động của toàn bộ hệ thống:......................................353.2.1.2 Sơ đồ khối hệ thống ......................................................................36

3.2.2 Sơ đồ nguyên lý và chức năng các khối...............................................363.2.2.1 Khối nguồn....................................................................................363.2.2.2 Khối cảm biến nhiệt......................................................................373.2.2.3 Khối đồng bộ.................................................................................373.2.2.4 Khối công suất...............................................................................383.2.2.5 Khối vi xử lý..................................................................................383.2.2.6 Khối đếm.......................................................................................393.2.2.7 Khối nút nhấn................................................................................403.2.2.8 Khối hiển thị..................................................................................403.2.2.9 Khối giao tiếp máy tính.................................................................413.2.2.10 Sơ đồ nguyên lý.............................................................................43

3.2.3 Lưu đồ giải thuật mega 16(master).......................................................443.2.3.1 Lưu đồ chương trình chính ...........................................................443.2.3.2 Lưu đồ xử lý ngắt timer1...............................................................453.2.3.3 Lưu đồ xử lý ngắt timer2...............................................................46

3.2.4 Lưu đồ giải thuật mega 8(slaver)..........................................................473.2.4.1 Chương trình chính .......................................................................473.2.4.2 Lưu đồ xử lý tín hiệu điều khiển ..................................................47

3.3 ĐIỀU KHIỂN ĐỘNG CƠ AC 3 PHA........................................................483.3.1 Sơ đồ khối hệ thống..............................................................................483.3.2 Giải thích chức năng từng khối.............................................................48

3.3.2.1 Source............................................................................................483.3.2.2 Starter............................................................................................493.3.2.3 Switching power............................................................................493.3.2.4 3 Phase driver................................................................................50

Page 8: Dieu khien giam_sat_dong_co_ac_su_dung_avr

3.3.2.5 Inductive sensor.............................................................................503.3.2.6 3 Phase MC...................................................................................503.3.2.7 Main MC.......................................................................................513.3.2.8 LCD 20 * 4....................................................................................513.3.2.9 Key pad variable resistor...............................................................523.3.2.10 RS 485...........................................................................................523.3.2.11 Tem sensor....................................................................................523.3.2.12 Cooling MC...................................................................................533.3.2.13 Fan driver......................................................................................533.3.2.14 DC motor & 3phase motor............................................................53

3.3.3 Sơ đồ mạch của hệ thống......................................................................543.3.3.1 Sơ đồ nguyên lý mạch xử lý..........................................................543.3.3.2 Sơ đồ nguyên lý mạch công suất...................................................55

3.3.4 Lưu đồ giải thuật hệ thống....................................................................563.3.4.1 Lưu đồ giải thuật VĐK trung tâm.................................................56

3.3.4.1.1 Chương trình chính ...............................................................563.3.4.1.2 Chương trình ngắt .................................................................57

3.3.4.2 Lưu đồ giải thuật VĐK 3 pha........................................................573.3.4.2.1 Chương trình chính................................................................573.3.4.2.2 Chương trình ngắt..................................................................58

3.3.4.3 Lưu đồ giải thuật VĐK làm mát....................................................583.4 THIẾT KẾ GIAO DIỆN HMI ĐK & GIÁM SÁT ....................................59

3.4.1 Màn hình đăng nhập.............................................................................593.4.2 Màn hình điều khiển ............................................................................60

3.4.2.1 Giao diện giám sát, điều khiển động cơ AC 1 pha........................603.4.2.2 Giao diện giám sát, điều khiển động cơ AC 3 pha........................62

Phần IV: KẾT LUẬN.......................................................................................65Phần phụ lục.....................................................................................................66Tài liệu tham khảo............................................................................................92

Page 9: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Phần I: LÝ THUYẾT CƠ SỞ

1.1 CÁC BỘ BIẾN ĐỔI XUNG ÁP:Các bộ biến đổi xung áp có chức năng biến đổi mức điện áp xoay chiều về độ

lớn và dạng sóng nhưng tần số không thay đổi. Nguyên lý biến đổi xung áp là dùng một phần tử khóa nối tải vào nguồn trong một thời gian nhất định tx theo một chu kỳ lặp lại T. Bằng cách thay đổi độ rộng xung tx trong khoảng 0 ÷ T, ta thay đổi được giá trị trung bình của điện áp ra tải trong chu kỳ T. Nguyên lý biến đổi điện áp này có ưu điểm là có thể thay đổi giá trị điện áp trong một phạm vi rộng mà hiệu suất của bộ biến đổi rất cao vì tổn thất trong bộ biến đổi chủ yếu là trên phần tử đóng cắt rất nhỏ. Bộ biến đổi xung áp được phân làm 2 loại: đó là biến đổi xung áp xoay chiều (XAAC) và biến đổi xung áp một chiều (XADC).

Các bộ XAAC được dùng để điều chỉnh giá trị điện áp xoay chiều với hiệu suất cao, XAAC chủ yếu sử dụng các thyristor mắc song song ngược hoặc triac để thay đổi giá trị điện áp trong mỗi nửa chu kỳ điện áp lưới theo góc mở α, từ đó mà thay đổi được giá trị hiệu dụng của điện áp ra tải. Góc mở α càng lớn, điện áp xoay chiều đặt lên phụ tải càng nhỏ và dòng điện xoay chiều qua phụ tải càng nhỏ. Sơ đồ kết nối như vậy được dùng cho những ứng dụng có công suất thấp. Ở nội dung đề tài chỉ khảo sát bộ biến đổi xung áp xoay chiều một pha.

Các bộ XAAC được ứng dụng để điều khiển chiếu sáng, nhiệt độ đốt nóng, trong khởi động mềm và điều khiển tốc độ của máy bơm và quạt gió…

1.1.1 Các sơ đồ van:

(a) 2 SCR song song, (b)Triac, (c) 2 SCR và 2 diode(d) Cầu diode và 1 SCR, (e) 1 SCR và 1 diode

Trang 1

Page 10: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Để điều chỉnh điện áp xoay chiều một pha, ta có thể sử dụng các sơ đồ sau:- Sử dụng hai SCR nối song song ngược (hình a).- Sử dụng một Triac về cấu tạo gồm hai SCR nối song song ngược và chỉ có một

cực điều khiển (hình b). Sơ đồ này được ứng dụng trong trường hợp công suất nhỏ.- Sử dụng hai diode và hai SCR cathode nối chung để đơn giản hóa mạch điều

khiển (hình c).- Sử dụng bốn diode và một SCR để giảm giá thành trong trường hợp công suất

lớn nhưng tăng tổn hao dẫn (hình c).Trong bộ biến đổi xung áp xoay chiều, các linh kiện điện tử công suất làm việc ở

chế độ dẫn-khóa theo chu kỳ của điện áp nguồn. Sự chuyển mạch từ dẫn sang khóa một cách tự nhiên tùy theo dấu của điện áp đặt trên các linh kiện.

1.1.2 Hoạt động với tải thuần trở:

Dạng dòng điện và áp ra theo góc kích α khi tải thuần trở.Hình trên trình bày dạng điện áp ra tiêu biểu và dạng của dòng điện một pha

được điều khiển bởi bộ XAAC một pha với tải là thuần trở. Điện áp ra và dòng điện có dạng đối xứng trong một nửa chu kỳ.

Nếu điện áp vào có dạng vs= Vs.sinwt khi đó biên độ điện áp ra trong một nửa chu kỳ T theo góc kích α được tính theo công thức:

Trang 2

Page 11: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Chú ý: Biên độ điện áp ra Vo có thể thay đổi từ Vs ÷ 0 bởi việc thay đổi α từ 0 ÷ π. Khi đó biên độ dòng điện ngõ ra bằng:

Hệ số công suất ngõ vào:

1.1.3 Hoạt động với tải trở cảm:

Dạng dòng điện và áp ra theo góc kích α khi tải trở cảm.

Do ảnh hưởng của độ từ cảm, dòng điện ngõ ra sẽ không đạt được giá trị 0 tại thời điểm wt = π, mà sẽ kéo dài tới thời điểm wt = β.

Biểu thức dòng ngõ ra khi góc điều khiển từ α ÷ β có thể tính được từ công thức:

với Z = : tổng trở của tải.

φ = arctg(wL/R): góc pha của tải.Tại góc β dòng io sẽ giảm xuống bằng 0. Dựa vào công thức (1 có thể xác định

được góc dẫn β nhờ vào điều kiện io = 0 tại thời điểm wt = β.

Từ phương trình này có thể xác định được β.

Trang 3

(2

Page 12: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Góc dẫn dòng θ = β – α phụ thuộc vào thời điểm góc kích α và góc pha của tải φ. Từ đó lập được mối quan hệ giữa góc dẫn dòng θ và góc kích α với góc pha φ đã được xác định. Khi tăng góc kích α sẽ làm giảm góc dẫn dòng θ và biên độ dòng tải sẽ giảm theo.

Mối quan hệ giữa θ và α theo góc pha φ.

Biên độ áp ngõ ra được tính theo công thức:

Điện áp ngõ ra Vo có thể đạt được giá trị cực đại tại 2 giá trị φ = 0 khi đó β = π

và φ = 90 khi đó β = 2π – α. Đặc tính đó được thể hiện rõ nét qua hình bên dưới:

Tại φ = 0 và φ = 90 thì hệ số công suất bằng 1

Đặc tính cần thiết của tín hiệu điều khiển:- Tín hiệu điều khiển phải độc lập với nhau ở mỗi nửa chu kỳ T.- Đối với tải thuần trở:Biên độ điện áp ra Vo có thể thay đổi từ Vs ÷ 0 bởi việc thay đổi α từ 0 ÷ π.

Khoảng dẫn dòng sẽ kết thúc tại điểm cuối của mỗi nửa chu kỳ với xung điều khiển là xung hẹp.

Trang 4

Page 13: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

→ Góc điều khiển nằm trong phạm vi 0 ≤ α ≤ π.- Đối với tải trở cảm:

+ Khi góc điều khiển α < φ:Dòng điện trong một nửa chu kỳ sẽ kéo dài quá thời điểm π + α. Do đó ở bán

kỳ âm khi nhận được tín hiệu điều khiển tại π + α thì bán kỳ âm sẽ bị bỏ qua (không dẫn). Điều này dẫn đến điện áp trên tải chỉ có trong một nửa chu kỳ và có dạng như mạch chỉnh lưu. Để khắc phục trong trường hợp này ta sử dụng xung mồi có độ rộng đủ lớn. Để khi qua thời điểm φ, vẫn còn xung kích làm dẫn Triac trong nửa bán kỳ còn lại.

+ Khi góc điều khiển α = φ, từ (2 ta được:

Ta thấy góc dẫn dòng θ không thể vượt quá π, sẽ bằng 0 tại thời điểm α=φ. → Góc điều khiển nằm trong phạm vi φ ≤ α ≤ π.

1.2 BIẾN TẦN VÀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN:1.2.1 Giới thiệu chung:Biến tần là một thiết bị biến đổi năng lượng điện một chiều hoặc xoay chiều có

tần số f1 sang nguồn điện xoay chiều có tần số khác f2 . Tần số của lưới điện quyết định tốc độ quay của từ trường trong stator .Vì vậy

bằng cách thay đổi tần số dòng điện stator ta có thể thay đổi tốc độ động cơ. Ở bộ biến tần này yêu cầu điện áp và tần số ngõ ra phải thoả mãn tỉ số:

Trang 5

Page 14: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

1.2.2 Phân loại các bộ biến tần:Trong thực tế biến tần được chia làm 2 loại:

- Biến tần trực tiếp.- Biến tần gián tiếp.

1.2.2.1 Biến tần trực tiếp:

Là bộ biến đổi tần số, trong đó tần số được tạo bằng cách đóng cắt từng đoạn

thích hợp một dòng điện xoay chiều có tần số cao hơn. Từ điện áp U1 có tần số f1 chỉ qua mạch van là có thể chuyển ngay ra tải một điện áp U2 có tần số f2.

Trong bộ biến tần trực tiếp, chứng năng chỉnh lưu và nghịch lưu nằm trên cùng 1 bộ biến đổi, không dùng tụ chuyển mạch và chỉ chuyển đổi một lần nên hiệu suất cao. Nhưng thực tế mạch van khá phức tạp, và số lượng van lớn, nhất là với mạch 3 pha. Do đó việc thay đổi tần số khó khăn và phụ thuộc vào f1 và pham vi điều chỉnh nhỏ f2<f1.

1.2.2.2 Biến tần gián tiếp:

Trong loại biến tần này điện áp xoay chiều đầu tiên được chỉnh lưu để tạo ra

nguồn một chiều qua bộ chỉnh lưu, sau đó qua bộ lọc, bộ băm rồi mới tạo ra nguồn xoay chiều qua bộ nghịch lưu độc lập.

Việc biến đổi điện áp 2 lần làm hiệu suất của bộ biến đổi giảm. Song việc thay đổi f2 lại không phụ thuộc vào f1 nên tạo được dãy tần số rộng cả trên và dưới f1. Hơn nữa được sự hỗ trợ của kỹ thuật số mà tâm điểm là vi điều khiển cùng với sự ra đời của các van bán dẫn công suất như: IGBT, mosfet đã làm phát huy ưu điểm loại này nên phương pháp này ngày càng được sử dụng rộng rãi.

Do tính chất của bộ lọc nên biến tần loại này còn được chia làm 2 loại:- Biến tần dùng nghịch lưu áp.- Biến tần dùng nghịch lưu dòng.

1.2.2.2.1 Biến tần sử dụng nghịch lưu áp:Ta xét biến tần sử dụng nghịch lưu áp:Bộ lọc sử dụng tụ C lớn ở đầu vào của bộ nghịch lưu nên điện áp đặt vào bộ

nghịch lưu xem như nguồn áp. Ngoài ra tụ C còn tạo điều kiện trao đổi công suất phản kháng Q giữa tải với bộ nghịch lưu và mạch một chiều.

Khi sử dụng bộ băm áp hay phương pháp điều rộng xung thì có thể sử dụng bộ chỉnh lưu không điều kiển(chỉnh lưu diode).

1.2.2.2.2 Biến tần nghịch lưu dòng:Bộ lọc có cuộn dây san bằng có cảm kháng nên có tác dụng như nguồn dòng cấp

cho bộ nghịch lưu. Dòng điện trong mạch một chiều được san bằng bởi L và dòng điện này không thể đảo chiều.

Trang 6

Page 15: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Ngoài ra cuộn L còn có tác dụng đảo chiều công suất phản kháng của tải trong mạch một chiều. Cuộn kháng này cho phép đảo chiều điện áp đặt vào bộ nghịch lưu mà không ảnh hưởng bộ chỉnh lưu. Do vậy, rất phù hợp với việc hãm tái sinh động cơ. Tuy nhiên, chỉ điều chỉnh được dòng và áp của tải theo phương pháp biên độ nên chỉnh lưu phải sử dụng linh kiện bán dẫn có điều khiển.

1.2.3 Bộ nghịch lưu áp 3 pha:Là bộ biến đổi nguồn điện một chiều thành nguồn điện xoay chiều có thể thay

đổi được tần số cũng như điện áp trung bình thông qua việc kích các khoá công suất như sơ đồ minh họa sau:

K3D2

D5

Za

D1

C

k6

k1

k5 K6K4

L

K1 k3

D6k4

K2

K5

Zc

E

Zb

D4

D3k2

Nguyên lý hoạt động:Các transistor làm việc với góc dẫn và góc lệch pha giữa 2 transistor là . Như vậy ở bất kì thời điểm nào cũng có transistor dẫn điện (2 khóa ở nhóm trên

và 1 khóa nóm dưới) và ngược lại. Ở mỗi thời điểm sơ đồ đều có một pha mắc nối tiếp với 2 pha mắc song song.

Do đó, điện áp trên tải chỉ có 2 giá trị hoặc Ed/3( khi pha đó mắc song song với một pha khác) hoặc 2Ed/3(khi pha đó mắc nối tiếp với 2 pha khác).

Giả sử rằng tải đối xứng Za=Zb=Zc theo dạng điện áp ra ta có trị hiệu dụng của nó:

Để có giá trị điện áp ra tải tại mỗi thời điểm ta xét một chu kỳ làm việc của mạch, trong đó chỉ xét nguyên lý hoạt động của transistor.

- Giá trị áp tại thời điểm 1: T1,T3,T5 làm việc trong khoảng

Zb

E

Za Zc

Ta có:

Trang 7

Page 16: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

- Giá trị áp tại thời điểm 2: T1,T5,T6 làm việc trong khoảng

Za

Zc ZbE

Ta có:

- Giá trị áp tại thời điểm 3: T1,T2,T6 làm việc trong khoảng

Za

Zc

Zb

E

Ta có:

1.2.4 Biến tần nguồn áp điều khiển theo phương pháp V/f:Được sử dụng nhiều trong các biến tần hiện nay. Tốc độ của động cơ không

đồng bộ tỉ lệ trực tiếp tần số nguồn cung cấp. Do đó, nếu thay đổi tần số của nguồn cung cấp cho động cơ thì ta cũng có thể thay đổi được tốc độ đồng bộ, và tương ứng là tốc độ của động cơ.

Tuy nhiên, nếu chỉ thay đổi tần số mà vẫn giữ nguyên biên độ nguồn áp cấp cho động cơ sẽ làm cho mạch từ của động cơ bị bão hòa. Điều này dẫn đến dòng từ hóa tăng, méo dạng điện áp, và dòng điện cung cấp cho động cơ gây ra tổn hao lõi từ, và tổn hao đồng trong dây quấn Stator. Ngược lại, nếu từ thông giảm dưới định mức sẽ làm giảm sẽ làm giảm khả năng mang tải của động cơ làm giảm hiệu suất.

Vì vậy, khi giảm tần số nguồn cung cấp cho động cơ mà nhỏ hơn tần số định mức đòi hỏi phải giảm điện áp V cung cấp cho động cơ, sao cho từ thông trong khe hở không khí được giữ không đổi. Khi động cơ làm việc với tần số cung cấp lớn hơn tần số định mức, phải giữ điện áp cung cấp không đổi và bằng định mức.

1.2.4.1 Phương pháp E/fTa có công thức sau:

Với - f tần số làm việc của động cơ - fđm - tần số định mức của động cơ.

Giả sử động cơ hoạt động dưới tần số định mức (a<1). Từ thông động cơ được giữ ở giá trị không đổi. Do từ thông của động cơ phụ thuộc vào dòng từ hóa của động cơ, nên từ thông được giữ không đổi khi dòng từ hóa được giữ không đổi tại mọi điểm làm việc của động cơ.

Trang 8

Page 17: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Ta có phương trình tính dòng từ hóa tại điểm làm việc định mức như sau:

Với Lm là điện cảm mạch từ hóa. Tại tần số làm việc f:

Từ 2 phương trình trên suy ra điều kiện để dòng điện từ hóa không đổi:

Như vậy từ thông động cơ được giữ không đổi khi tỉ lệ E/f được giữ không đổi (E/f = const).

1.2.4.2 Phương pháp V/fTuy nhiên trong thực tế, việc giữ từ thông không đổi đòi hỏi mạch điều khiển rất

phức tạp. Nếu bỏ qua sụt áp trên điện trở, và điện kháng tản mạch stator, ta có thể xem như U ≈ E. Khi đó, nguyên tắc điều khiển E/f=const được thay bằng phương pháp V/f=const.

Trong phương pháp V/f=const (gọi ngắn là V/f), như đã trình bày ở trên, thì tỉ số V/f được giữ không đổi, và bằng giá trị tỉ số này ở định mức. Cần lưu ý là khi moment tải tăng , dòng động cơ tăng làm gia tăng sụt áp trên điện trở Stator, dẫn đến E giảm, có nghĩa là từ thông động cơ giảm. Do đó, động cơ không hoàn toàn làm việc ở chế độ từ thông không đổi.

Ta có công thức moment định mức ứng với sơ đồ đơn giản của động cơ:

Và moment cực đại ở chế độ định mức:

Khi thay các giá trị định mức bằng giá trị đó nhân với tỉ số a (aωđm, aVđm, aX), Ta

có được công thức moment của động cơ ở tần số f khác định mức:

Và moment cực đại ở tần số f khác định mức:

Trang 9

Page 18: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Dựa theo công thức trên ta thấy, các giá trị X1 và X2 phụ thuộc vào tần số, trong khi R1 lại là hằng số. Như vậy, khi hoạt động ở tần số cao, giá trị (X1+X2.)>> R1/a sụt áp trên R1 rất nhỏ, nên giá trị E suy giảm rất ít, dẫn đến từ thông được giữ gần như không đổi, moment cực đại của động cơ gần như không đổi.

Tuy nhiên, khi hoạt động ở tần số thấp thì giá trị điện trở R1/a sẽ tương đối lớn so với giá trị của (X1+X2.), dẫn đến sụt áp nhiều ở điện trở stator khi moment tải lớn. Điều này làm cho E bị giảm, và dẫn đến suy giảm từ thông và moment cực đại.

Để bù lại sự suy giảm từ thông ở tần số thấp. Ta sẽ cung cấp thêm cho động cơ một điện áp Uo để cung cấp cho động cơ một từ thông định mức khi f=0. Từ đó ta có quan hệ như sau:

U=Uo+K.f

Với K là một hằng số được chọn sao cho giá trị U cấp cho động cơ bằng Uđm tại f=fđm.

Khi a>1 (f>fđm), Điện áp được giữ không đổi và bằng định mức. Khi đó động cơ hoạt động ở chế độ suy giảm từ thông.

Khi đó moment và moment cực đại của động cơ tại tần số f cung cấp sẽ là:

Và moment cực đại ở tần số f:

Sau đây là đồ thị biểu diễn mối quan hệ giữa moment và điện áp theo tần số trong phương pháp điều khiển biến tần với V/f=const.

Trang 10

Page 19: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Quan hệ giữa moment và điện áp theo tần số.

1.2.5 Các phương pháp thông dụng trong điều khiển động cơ không đồng bộ qua biến tần :

Có nhiều phương pháp để điều khiển bộ nghịch lưu áp để tạo ra điện áp có biên độ và tần số mong muốn cung cấp cho động cơ.Trong nội dung này chúng ta khái quát hai phương pháp chính đó là: Phương pháp điều rộng xung (SinPWM). Phương pháp điều chế vectơ không gian ( Space Vectơ).

1.2.5.1 Phương pháp điều rộng xung SINPWM:Để tạo ra một điện áp xoay chiều bằng phương pháp SINPWM, ta sử dụng một

tín hiệu xung tam giác tần số cao, đem so sánh với một điện áp sin chuẩn có tần số f. Nếu đem xung điều khiển này cấp cho một bộ biến tần một pha thì đó ngõ ra sẽ thu được một dạng điện áp dạng điều rộng xung có tần số bằng với tần số nguồn sin mẫu, và biên độ hài bậc nhất phụ thuộc vào nguồn điện một chiều cung cấp, và tỉ số giữa biên độ sóng sin mẫu và sóng mang. Tần số sóng mang phải lớn hơn tần số của sóng sin mẫu. Sau đây là hình vẽ miêu tả nguyên lý của phương pháp điều rộng sin một pha.

Nguyên lý của phương pháp điều rộng sóng sin 1 pha

Trang 11

Page 20: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Khi : Vcontrol > Vtri thì VAO=

Vcontrol < Vtri thì VAO= -Như vậy, để tạo ra nguồn điện 3 pha dạng điều rộng xung, ta cần có nguồn sin 3

pha mẫu. Giản đồ kích, đóng của các pha sẽ được biểu diễn như hình vẽ dưới đây:

1.2.5.2 Phương pháp vectơ không gian:Đối với nguồn áp 3 pha cân bằng ta luôn có phương trình sau:

Ua(t)+Ub(t)+Uc(t)=0. (1)

Bất kì hàm số nào thoả mãn phương trình trên, đều có thể chuyển sang hệ toạ độ 2 chiều vuông góc. Ta có thể biểu diễn phương trình trên dưới dạng 3 vectơ gồm [Ua,0,0] trùng với trục OX, vectơ[0,Ub,0] lệch một góc 1200 so với trục OX , và vectơ[0,0,Uc] lệch 2400 so với trục OX như hình sau:

Trang 12

Page 21: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Các vectơ điện áp trong hệ toạ độ phức

Từ đó ta xây dụng được phương trình của vectơ không gian trong hệ toạ độ phức như sau:

(2)

Trong đó 2/3 là hệ số biến hình. Phân tích u(t) trong phương trình trên thành phần thực và phần ảo.

u(t)=ux+juy. (3)

Ta xây dựng được công thức chuyển đổi hệ toạ độ từ ba pha a,b,c sang hệ toạ độ phức x-y bằng cách cân bằng phần thực và phần ảo trong phương trình(2) ta có:

do đó:

===> (4)

Tiếp theo hình thành toạ độ quay bằng cách cho hệ tọa độ x,y quay với vận tốc , và ta có công thức chuyển đổi hệ toạ độ như sau:

(5)

Trang 13

Page 22: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Nguồn áp 3 pha ra là cân bằng và sin nên ta có thể viết lại phương trình điện áp pha như sau:

(6)

Từ phương trình (5) ta xây dựng được phương trình sau:

(7)

Thể hiện vectơ không gian quay với vận tốc quanh gốc toạ độ 0 phương trình điện áp dây theo phương trình (4) như sau:

(8)

Trong đó để chuyển từ giá trị biên độ thành giá trị hiệu dụng, để chuyển giá trị pha sang giá trị dây. Vectơ điện áp pha sẽ sớm hơn giá trị điện áp dây một góc . Nếu lồng ghép các trạng thái có thể có của q1,q3,q5 vào phương trình (8), ta sẽ thu được phương trình điện áp dây (trị biên độ) theo trạng thái của các khoá.

(9)

với: n=0,1,2,3… ta thành lập được 6 vectơ không gian V1 V6 như hình sau:

Các vectơ không gian trên hệ trục quay

VectơĐiện áp

Trạng thái các khoá Điện áp pha Điện áp dâyQ1 Q2 Q3 Van Vbn Vcn Vab Vbc Vca

V1 1 0 0 2/3 1/3 1/3 1 0 -1V2 1 1 0 1/3 1/3 -2/3 0 1 -1V3 0 1 0 -1/3 2/3 -1/3 -1 1 0

Trang 14

Page 23: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

V4 0 1 1 -2/3 1/3 1/3 -1 0 1V5 0 0 1 -1/3 -1/3 2/3 0 -1 1V6 1 0 1 1/3 -2/3 1/3 1 -1 0

Từ đó ta có biểu đồ đóng cắt các khoá và dạng sóng của điện áp các pha như sau:

1.3 CHUẨN RS-485:Những đặc điểm ưu việt của chuẩn RS-485 và một số vấn đề cần lưu ý khi sử

dụng chuẩn RS-485:Mạng chuẩn RS-485 rất đa dạng: ta có thể ghép nối các PC với nhau, hoặc giữa

PC với các Vi xử lí, hoặc bất kì thiết bị truyền thông nối tiếp bất đồng bộ nào. Khi so sánh với Ethernet và những giao diện truyền thông theo những chuẩn khác thì giao diện RS-485 đơn giản và kinh tế hơn.

Đối với một mạng Multi-network gồm nhiều mạch phát và nhận cùng nối vào một đường dây bus. Mỗi nút đều có thể phát và nhận dữ liệu thì RS485 đáp ứng tốt những yêu cầu này. Chuẩn RS-485 cho phép 32 điểm cùng nối vào đường dây bus (với bộ lặp Repeater và các bộ truyền nhận trở kháng cao, giới hạn này có thể mở rộng lên đến 256 nút mạng). Bên cạnh đó RS-485 còn có thể chịu được các xung đột dữ liệu và kiểm tra các lỗi truyền thông qua hàm checksum.

Trang 15

Page 24: Dieu khien giam_sat_dong_co_ac_su_dung_avr

G N D

V I N

V A

G N D

A

B V B

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Một số ưu điểm của RS-485: Chi phí thấp:Các bộ điều khiển Driver và bộ nhận Receiver không đắt và chỉ yêu cầu cung

cấp nguồn đơn +5V để tạo ra mức điện áp vi sai tối thiểu 0.2V trên đường truyền. Khả năng nối mạng bus:RS-485 là một giao diện đa điểm, thay vì giới hạn ở hai đơn vị như RS232.

RS-485 có thể cung cấp cho việc kết nối có nhiều bộ truyền và nhận. Với bộ nhận có trở kháng cao kết hợp với bộ repeater, RS-485 có thể cho kết nối lên đến 256 nút.

Khoảng cách rộng.RS-485 có thể truyền xa 1200m, tốc độ lên đến 10Mbps. Nhưng 2 thông số

này không xảy ra cùng lúc. Khi khoảng các truyền tăng thì tốc độ baud giảm, chẳng hạn như: Khi tốc độ là 90Kbps thì khoảng cách là 1200m, 1Mbps thì khoảng cách là 120m, còn tốc độ 10Mbps thì khoảng cách 15m.

Sở dĩ, RS-485 có thể truyền trên một khoảng cách lớn là do chúng sử dụng đường truyền cân bằng. Tín hiệu sẽ truyền trên một cặp dây, với mức điện áp trên một dây là điện áp bù (trái dâú ) so với điện áp trên dây kia. Receiver sẽ đáp ứng phần hiệu giữa các mức điện áp, được minh hoạ ở hình dưới:

 

Đường truyền cân bằng.

 

Đường truyền không cân bằngMột thuật ngữ khác của đường truyền tín hiệu dạng này là vi sai tín hiệu.

Chuẩn TIA/EIA-485 gọi hai đường dây vi sai là A và B. Tại bộ truyền tín hiệu vào có mức logic TTL cao sẽ làm cho mức áp trên dây A dương hơn trên dây B, và mức logic thấp sẽ làm cho điện áp trên dây B dương hơn dây A. Tại bộ nhận, nếu mức áp trên dây A dương hơn dây B thì mức logic TTL sẽ xuất ra là cao, ngược lại là thấp.

Tại bộ nhận RS-485, tầm vi sai đầu vào A và B chỉ cần trên 0.2V. Nếu áp tại A lớn hơn B 0.2V thì bộ nhận sẽ hiểu đây là mức logic 1, ngược lại sẽ hiểu là mức logic 0. Nếu chênh lệch giữa A và B nhỏ hơn 0.2V, mức logic sẽ không được xác định. Sự khác nhau về yêu cầu điện áp tại bộ truyền và bộ nhận tạo ra độ giới hạn nhiễu khoảng 1.3V. Tín hiệu vi sai có thể méo dạng hoặc có xung nhiễu bằng 1.3V và tại bộ nhận vẫn nhận được đúng mức logic.

1.3.1 Mạch chuyển đổi RS-232 sang RS-485:Cổng Com của PC thực hiện truyền dữ liệu theo chuẩn RS-232. Do đó để sử

dụng chuẩn 485 ta phải thực hiện một mạch chuyển đổi từ chuẩn RS-232 sang chuẩn RS-485.

Mạch chuyển đổi này phải thỏa mãn các yêu cầu sau: Đáp ứng nhanh.

Trang 16

Page 25: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Hoạt động tin cậy. Đơn giản, kinh tế.

Mạch thiết kế được dựa trên hai IC cơ bản là MAX 232 và MAX 485. Max 232 là IC của hãng Maxim dùng để chuyển đổi tín hiệu từ chuẩn RS-232 sang TTL và ngược lại. MAX 485 (của hãng Maxim ) dùng để chuyển đổi tín hiệu từ RS-485 sang TTL và cũng như từ TTL sang RS-485.

Nguyên lý hoạt động của mạch: Tín hiệu RS-232 từ cổng Com của PC (chân 2,3) được đưa vào ngõ vào

và ra RS-232 của Max 232 (chân 14, 13), ngõ ra và ngõ vào TTL của Max 232 (chân 11, 12) sẽ được đưa vào ngõ vào và ra TTL của Max 485. Ngõ ra của Max 485 (chân 6 và 7) sẽ là tín hiệu ở dạng thức RS-485.

Khi truyền dữ liệu thì đưa chân TXD (chân 3) lên mức cao, chân RE và DE của Max 485 sẽ ở mức cao. RE ở mức cao sẽ cấm nhận, DE tích cực mức cao, do đó mạng ở trạng thái truyền tín hiệu.

Khi nhận dữ liệu thì đưa chân RTS xuống mức thấp, chân DE ở mức thấp sẽ cấm truyền, RE ở mức thấp sẽ cho phép nhận.

I C 1 M A X2 3 2

1

3

4

5

1615

2

6

1 2

9

1 1

1 0

1 3

8

1 4

7

C 1 +

C 1 -

C 2 +

C 2 -

VC

CG

ND

V +

V -

R 1 O U T

R 2 O U T

T1 I N

T2 I N

R 1 I N

R 2 I N

T1 O U T

T2 O U T

R 55 6 0

C 6

1 u F

C 81 u F

R 74 7 0

D 2

1 N 4 1 4 8

V C C

I C 2 M A X4 8 5

14

23

6

7

R OD I

R ED E

A

B

R S 2 3 2

F E M A L E

594837261

R 11 K

C 5 1 u F

V C C

R 64 7 0

R S 4 8 5

M A L E

594837261

D 11 N 4 1 4 8

C 9 1 0 u F / 1 6 V

V C C

D 3

R X

R 45 6 0

C 71 u F

R 41 2 0

D 4

TX

V C C

Sơ đồ tham khảo mạch chuyển đổi 232-485

1.3.2 Mạch Chuyển đổi RS-485  sang TTL và ngược lại:

I C 5M A X4 8 5

14

58

23

6

7

R OD I

GN

DV

CC

R ED E

A

B

TXD

C O N TR O L _ 4 8 5

R XD

J 5

R S 4 8 5

1234

+5 V

Max 485 thực hiện việc chuyển đổi từ RS-485 sang TTL và ngược lại, cho nên việc chuyển đổi từ TTL sang RS-485 và ngược lại rất đơn giản.

Trang 17

Page 26: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Như ở hình bên, chân 6 và 7 là 2 chân mang dữ  liệu theo chuẩn RS-485. Chân 1 và 4 mang dữ liệu theo chuẩn TTL. Khi truyền dữ liệu TTL từ chân 4 (TXD) được chuyển đổi thành dạng RS-485 và truyền đi ở chân 6 và 7. Khi nhận dữ liệu từ chân 6 và 7 được chuyển đổi thành TTL và đưa vào chân 1. Chân 2 (RE) là chân điều khiển việc nhận dữ liệu. Ġ tích cực mức thấp. Chân 3 (DE) là chân điều khiển việc truyền dữ liệu, tích cực mức cao.

1.4 MODBUS:Modbus là một giao thức do hãng Modicon (sau này thuộc AEG và Schneider

Automation) phát triển. Modbus được thực hiện trên các cơ chế vận chuyển cấp thấp như TCP/IP, MAP (Manufacturing Message Protocol), Modbus Plus và ngay cả qua đường truyền nối tiếp RS-232.

Modbus mô tả quá trình giao tiếp giữa một bộ điều khiển với các thiết bị khác thông qua cơ chế yêu cầu/đáp ứng. Đặc biệt trong các hệ thống thu thập dữ liệu, và điều khiển giám sát SCADA (Supervisory Control And Data Acquision).

1.4.1 Cơ chế giao tiếp:Cơ chế giao tiếp ở Modbus phụ thuộc vào hệ thống truyền thông cấp thấp. Cụ

thể có thể phân chia ra hai loại là mạng Modbus chuẩn, và Modbus trên các mạng khác (ví dụ TCP/IP, Modbus Plus, MAP).

Trang 18

Page 27: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Một hệ thống modbus tiêu biểu.

Giao thức Modbus được thiết lập trên 2 khung truyền và nhận như sơ đồ minh hoạ sau:

Chu trình yêu cầu – đáp ứng trong chuẩn Modbus.

Một chu trình hợp lệ bao gồm hai khung dữ liệu gửi và phản hồi. Khung gửi bao gồm 1 byte địa chỉ, 1 byte lệnh, chuỗi byte địa chỉ và dữ liệu, kết thúc là 2 byte checksum. Tương tự như thế ở khung phản hồi ta cũng có những byte tương tự như: 1byte địa chỉ, 1byte lệnh, chuỗi dữ liệu (tùy thuộc vào từng chức năng cụ thể) và cuối cùng là 2 byte checksum để kiểm tra lỗi.

1.4.2 Mạng Modbus chuẩn:Các cổng Modbus chuẩn trên các bộ điều khiển của Modicon cũng như một số

nhà sản xuất khác sử dụng giao diện nối tiếp RS-232. Các bộ điều khiển này có thể được nối mạng trực tiếp hoặc qua modem. Các trạm Modbus giao tiếp với nhau qua cơ chế chủ / tớ (Master/Slaver). Trong đó chỉ một thiết bị chủ có thể chủ động gửi yêu cầu, còn các thiết bị tớ sẽ đáp ứng bằng dữ liệu trả lại hoặc thực hiện một hành động nhất định theo yêu cầu.

Một trạm chủ có thể gửi thông báo yêu cầu tới riêng một trạm tớ nhất định, hoặc gửi thông báo đồng loạt (broadcast) tới tất cả trạm tớ. Chỉ trong trường hợp nhận được yêu cầu riêng, các trạm tớ mới gửi thông báo đáp ứng trả lại trạm chủ. Trong một thông báo yêu cầu có chứa địa chỉ trạm nhận, mã hàm dịch vụ bên nhận cần thực hiện, dữ liệu đi kèm và thông tin kiểm lỗi.

1.4.3 Modbus trên các mạng khác:Với một số mạng như Modbus Plus và MAP sử dụng Modbus là giao thức cho

lớp ứng dụng. Một trạm có thể cùng một lúc có quan hệ logic với nhiều đối tác, vì vậy nó có thể đồng thời đóng vai trò là chủ và tớ trong các giao dịch khác nhau.

Nhìn nhận ở mức giao tiếp thông báo, giao thức Modbus vẫn tuân theo nguyên tắc chủ / tớ mặc dù phương pháp giao tiếp mạng cấp thấp có thể là ngang hàng. Khi một bộ điều khiển gửi một yêu cầu thông báo thì nó đóng vai trò là chủ và chờ đợi đáp ứng từ một thiết bị tớ và ngược lại.

1.4.4 Chế độ truyền:

Trang 19

Page 28: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Khi thực hiện Modbus trên các mạng khác như Modbus Plus hoặc MAP, các thông báo Modbus được đưa vào các khung theo giao thức vận chuyển/liên kết dữ liệu cụ thể.

Đối với các thiết bị ghép nối qua mạng Modbus chuẩn, có thể sử dụng một trong hai chế độ truyền là ASCII hoặc RTU.

Chú ý: chế độ truyền cũng như các tham số phải giống nhau đối với tất cả các thành viên của một mạng Modbus.

1.4.4.1 Chế độ ASCII:Khi các thiết bị trong một mạng Mobbus hoạt động ở chế độ ASCII (American

Standard Code for Information Interchange), mỗi byte thông báo được gửi thành hai ký tự ASCII 7 bit, trong đó mỗi ký tự biểu diễn một chữ số hex. Ưu điểm của chế độ truyền này là nó cho phép một khoảng thời gian trống tối đa một giây giữa hai ký tự mà không gây ra lỗi.

1.4.4.2 Chế độ RTU:Khi các thiết bị trong một mạng Modbus chuẩn được đặt chế độ RTU (Remote

Terminal Unit), mỗi byte trong thông báo được gửi thành một ký tự 8 bit. Ưu điểm chính của chế độ truyền này so với chế độ ASCII là hiệu suất cao hơn. Tuy nhiên, mỗi thông báo phải được truyền thành một dòng liên tục.

Một thông báo Modbus bao gồm nhiều thành phần và có chiều dài khác nhau. Hai chế độ truyền ASCII và RTU không những chỉ khác nhau ở cách mã hóa thông tin gửi đi và cấu trúc ký tự khung, mà còn khác nhau ở cấu trúc một bức điện gửi đi cũng như phương pháp kiểm lỗi.

1.4.5 Khung ASCII:Trong chế độ ASCII, một thông báo bắt đầu với dấu hai chấm (:), tức ký tự

ASCII 3A, và kết thúc bằng hai dấu quay lại - xuống dòng (CRLF), tức hai ký tự ASCII 0D và 0A. Mỗi byte thông báo được truyền đi bằng hai ký tự ASCII, vì vậy các ký tự được phép xuất hiện trong các phần còn lại của khung là 0-9 và A-F.

Khung thông báo Modbus chế độ ASCIIKhung ASCII sử dụng phương pháp LRC (Longitudinal Redundancy Check) để

cho việc kiểm lỗi.

1.4.6 Khung RTU:Trong chế độ RTU, một thông báo bắt đầu với một khoảng trống yên lặng tối

thiểu là 3,5 thời gian ký tự. Ô đầu tiên được truyền sẽ là 8 bit địa chỉ, sau đó đến 8 bit mã hàm, một số byte tùy thuộc dữ liệu và cuối cùng là thông tin kiểm lỗi CRC. Sau khi truyền ký tự cuối của mã CRC, khung thông báo cũng phải được kết thúc bằng một khoảng trống yên lặng tối thiểu là 3,5 thời gian ký tự trước khi bắt đầu một thông báo mới.

Trang 20

Page 29: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Khung thông báo Modbus chế độ RTU

1.4.7 Bảo toàn dữ liệu:Mạng Modbus chuẩn sử dụng hai biện pháp bảo toàn dữ liệu ở hai mức: kiểm

soát khung thông báo và kiểm soát ký tự khung. Đối với hai chế độ truyền ASCII hay RTU, có thể lựa chọn kiểm tra bit chẳn/lẽ cho từng ký tự khung. Hơn nữa, cả khung thông báo lại được kiểm soát một lần nữa bằng mã LRC (chế độ ASCII) hoặc mã CRC (chế độ RTU).

Khi đặt cấu hình cho một thiết bị chủ, có thể chọn một khoảng thời gian timeout mà nó có thể chờ đợi đáp ứng từ trạm tớ. Khoảng thời gian này cần phải đủ lớn để bất cứ thiết bị tớ nào cũng có thể trả lời trong điều kiện bình thường. Trường hợp thiết bị tớ phát hiện lỗi ở thông báo yêu cầu, nó sẽ không trả lời. Vì thế thiết bị chủ cũng tự động nhận biết lỗi và chương trình chủ sẽ có trách nhiệm thực hiện các hành động cần thiết. Lưu ý rằng, một thông báo gửi tới địa chỉ một trạm không tồn tại cũng sẽ gây ra timeout. Trong trường hợp xảy ra lỗi truyền, giao thức mạng cụ thể sẽ báo với thiết bị gửi và cho phép thực hiện gửi lại.

1.4.7.1 Kiểm soát LRC:Trong chế độ ASCII, phần thông tin kiểm lỗi của khung thông báo dựa trên

phương pháp LRC. Dãy bit nguồn được áp dụng để tính mã LRC bao gồm phần địa chỉ, mã hàm và phần dữ liệu. Các ô khởi đầu cũng như kết thúc khung không tham gia vào tính toán. Mã LRC ở đây dài 8 bit (truyền ký tự ASCII), được tính bằng cách cộng đại số toàn bộ các byte của dãy bit nguồn (không để ý đến tràn), sau đó lấy phần bù hai của kết quả.

1.4.7.2 Kiểm soát CRC:Mã CRC được áp dụng trong chế độ RTU dài 16 bit. Để tính toán thông tin kiểm

lỗi đó, người ta dùng một “đa thức phát” G (Generator Polynomial) có một dạng đặc biệt. Đa thức phát được sử dụng G = 1010 0000 0000 0001. Thông tin nguồn P được chia cho đa thức G, dựa vào các qui tắc đơn giản của phép trừ không có nhớ (phép XOR). Bên cạnh đó chỉ cần các phép sao chép và so sánh bit thông thường. Không cần quan tâm tới kết quả của phép chia, phần dư R (lấy n chữ số) chính là mã checksum CRC. Khi đưa vào khung thông báo, byte thấp của mã CRC được gửi đi trước, tiếp sau là byte cao.

1.5 LẬP TRÌNH GIAO DIỆN HMI TRONG WINCC:1.5.1 Giới thiệu về HMI:HMI(Human Machine Interface) là giao diện giữa người và máy. Là một giao

diện dùng để người dùng giao tiếp, thông tin qua lại với hệ thống điều khiển thông qua các hình thức truyền thông. HMI cho phép người dùng theo dõi, ra lệnh điều khiển toàn bộ hệ thống. HMI có giao diện đồ họa, giúp cho người dùng có cái nhìn

Trang 21

Page 30: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

trực quan về trạng thái hệ thống. Ví dụ như những chương trình nhập liệu, báo cáo, văn bản, hiển thị LED, …

Cấu trúc HMI có 2 phần:- Input(Ngõ Vào): cho phép người sử dụng thao tác hệ thống.- Output(Ngõ Ra): cho phép hệ thống điều khiển sinh ra những hiệu ứng theo

những thao tác của người sử dụng. Một hệ thống HMI đảm nhiệm các nhiệm vụ sau:- Hiển thị quá trình:

Quá trình được hiển thị trên thiết bị HMI. Màn hình trên thiết bị HMI được cập nhật một cách năng động. Điều này được dựa trên các sự chuyển tiếp quá trình.

- Điều khiển vận hành của quá trình:Người vận hành có thể đặt trước các giá trị tham chiếu cho điều khiển hay khởi động một động cơ.

- Hiển thị các cảnh báo:Các biến cố sẽ tự động cảnh báo. Chẳng hạn như khi giá trị cài đặt vượt quá giá trị cho phép…

- Lưu trữ các giá trị và cảnh báo quá trình:Hệ thống HMI có thể ghi lại các cảnh báo và biến quá trình. Tính năng này cho phép bạn lưu giữ các chuỗi quá trình và lấy ra các dữ liệu của sản xuất từ những thời điểm trong quá khứ.

- Ghi chép các cảnh báo và các biến quá trình:Hệ thống HMI có thể đưa ra các báo cáo các biến quá trình và các cảnh báo. Tính năng này cho phép bạn in ra các dữ liệu sản xuất ở cuối của ca làm việc, hay vài ngày sau đó.

- Quản lí thông số máy móc và quá trình:Hệ thống HMI có thể lưu giữ các thông số của các quá trình và máy móc dưới dạng công thức. Ví dụ, bạn có thể download những thông số trên một đường dẫn từ thiết bị HMI tới PLC để thay đổi thông số hay chương trình của quá trình công nghệ .

1.5.2 Tổng quan về WinCC:

Thông thường một hệ thống SCADA (Supervisory Control And Data Aquisition) yêu cầu một phần mềm chuyên dụng để xây dựng giao diện điều khiển (Human Machine Interface) cũng như phục vụ việc xử lý và lưu trữ dữ liệu. Phần mềm WinCC của Siemens là một phần mềm chuyên dụng cho mục đích này.

WinCC là chữ viết tắt của Windows Control Center (Trung tâm điều khiển chạy trên nền Windows), nói cách khác, nó cung cấp các công cụ phần mềm để thiết lập một giao diện điều khiển chạy trên các hệ điều hành của Microsoft như Windows NT hay Windows 2000. Trong dòng các sản phẩm thiết kế giao diện phục vụ cho điều khiển và giám sát, WinCC thuộc thứ hạng SCADA (SCADA class) với những công cụ được thiết kế chuyên nghiệp phù hợp với đa số hệ thống điều khiển.

Một trong những đặc điểm của của WinCC là đặc tính mở. Nó có thể sử dụng một cách dễ dàng với các phần mềm chuẩn và phần mềm của người sử dụng, tạo nên giao diện người-máy đáp ứng nhu cầu thực tế một cách chính xác. Những nhà

Trang 22

Page 31: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

cung cấp hệ thống có thể phát triền ứng dụng của họ thông qua giao diện mở của WinCC như một nền tảng để mở rộng hệ thống.

Ngoài khả năng thích ứng cho việc xây dựng các hệ thống có qui mô lớn nhỏ khác nhau, WinCC còn có thể dễ dàng tích hợp với những ứng dụng có qui mô toàn công ty như việc tích hợp với những hệ thống cấp cao như MES (Manufacturing Excution System - Hệ thống quản lý việc thực hiện sản suất) và ERP (Enterprise Resource Planning). WinCC cũng có thể sử dụng trên cơ sở qui mô toàn cầu nhờ hệ thống trợ giúp của Siemens có mặt khắp nơi trên thế giới.

1.5.2.1 Các bước cơ bản để xây dựng một Project:- Tạo một Project:

+ Single – User Project: dự án này được thực hiện trên máy đơn không có nối mạng.+ Multi – User Project: dự án được thực hiện qua mạng Web Navigator có thể giám sát và điều khiển thông qua web.

- Cài đặt Driver kết nối với thiết bị:Để thiết lập kết nối truyền thông giữa WinCC với thiết bị cấp dưới cần có một mạng liên kết chúng với nhau trong việc trao đổi dữ liệu. Do đó cần chọn một Driver.

- Tạo biến sử dụng:Để tạo kết nối các thiết bị trên một dự án trong WinCC, trước tiên phải tạo các Tags (biến) trên WinCC. Biến được tạo dưới Tag Management. Biến gồm có biến nội và biến ngoại:

+ Biến nội (Internal): là biến có sẵn trong WinCC. Những biến nội này là những vùng nhớ trong của WinCC.

+ Biến ngoại (External): là biến quá trình, phản ánh thông tin địa chỉ của hệ thống.Loại dữ liệu khác nhau thì có những địa chỉ khác nhau. Ngoài ra, cần đặt phạm vi giá trị cho biến ngoại, giá trị này được hiển thị trong quá trình hoạt động của biến. Trong WinCC hỗ trợ nhiều kiểu dữ liệu khác nhau, cơ bản giống như lập trình C và VB.

- Tạo và soạn thảo một giao diện người dùng:Tạo hình ảnh, liên kết động và kết nối với công cụ hỗ trợ…Tạo thuộc tính và cài đặt các thông số cần thiết cho hệ thống…Ngoài ra Win CC là phần mềm mở nên hỗ trợ rất phong phú các công cụ để thiết kế giao diện, ứng dụng cũng như ngôn ngữ lập trình cấp cao như lập trình C, Visual Basic. Với mục đích làm cho chương trình linh hoạt và dễ điều khiển cũng như dễ dàng phát triển mở rộng.

- Cài đặt các thông số cho WinCC Runtime: để chạy ứng dụng cần đặt chế độ Runtime.

1.5.2.2 Lập trình C cho WinCC:Ngôn ngữ C trong WinCC dựa trên cấu trúc ngôn ngữ lập trình C cơ bản nên câu

lệnh và cấu trúc lập trình sẽ không được trình bày. Ở đây chỉ nói cơ bản cách thức lập trình C trong WinCC.

Có 2 cấu trúc để lập trình trong WinCC là:- Function: sử dụng hàm khi cần tính toán nhiều lần. Lợi ích là:

Trang 23

Page 32: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

+ Chỉ cần lập trình 1 lần. Khi cần thực thi thì chỉ cần gọi hàm và đưa vào các đối số thích hợp.+ Chương trình ngắn và dễ hiểu.Để tạo và soạn thảo Function dùng Global Script của WinCC.

- Action: khác với Function, Action chỉ hoạt động khi có điều kiện kích (Function không tự hoạt động khi chạy Runtime).

+ Action không có đối số.+ Có thể tạo bản quyền cho Action.

Một đối tượng trong Project có thể được lập trình theo 2 hướng: lập trình theo thuộc tính Properties hoặc theo sự kiện phát sinh Events của đối tượng. Lập trình C-Action cho Properties của đối tượng thì cần phải có Trigger, còn Events thì không (vì bản thân Events là Trigger rồi).

1.5.2.2.1 Lập trình theo thuộc tính Properties:Giá trị của thuộc tính được chọn sẽ được liên kết với 1 trong 4 kết nối sau:

Dynamic Dialog (kết quả của các Tag được chỉ định), C-Action (thực hiện hàm C), VB-Action (thực hiện hàm VB) hoặc Tag (với 1 Tag nhất định). Các kết nối trên được thực hiện theo chu kỳ Trigger do người dùng thiết lập. Kết quả sẽ tác động đến giá trị của thuộc tính được chọn. Vì vậy khi lập trình theo Properties cần phải thiết lập giá trị Trigger mới có tác dụng.

Vd: C-Action cho một Properties bao gồm:

Câu lệnh #include “apdefap.h” là khai báo thư viện các Action và Function mà WinCC hỗ trợ sẵn. Khai báo này sẽ được gọi tự động và không thể thay đổi. Ở mỗi đầu câu lệnh đều có hàm trả về giá trị. Cấu trúc câu lệnh khởi đầu đều giống nhau ở tất cả các Properties khác. Ngoài ra còn truyền 3 thông số đến C-Action là: tên hình (lpszPictureName), tên đối tượng (lpszObjectName), tên thuộc tính (lpszPropertyName).Dòng /*1*/: Khai báo biến.Dòng /*2*/: Tính toán các giá trị cho PropertiesDòng /*3*/: Trả về giá trị cho Properties

1.5.2.2.2 Lập trình theo sự kiện Events:

Khi lập trình theo Events thì chỉ có nội dung trong hàm lập trình mới bị tác động mỗi khi xảy ra sự kiện. Người lập trình có thể chọn sự kiện tác động phù hợp với mục đích. Trong WinCC hỗ trợ rất đa dạng các kiểu sự kiện như: Mouse, Keyboard, Focus, Miscellaneuos. Khi lập trình cho sự kiện Events thì không cần chỉnh xung Trigger.

Trang 24

Page 33: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần I: Lý Thuyết Cơ Sở

Vd: C-Action cho một Events bao gồm:

Phần khai báo đầu cũng tương tự như lập trình cho Properties nhưng không có hàm trả về giá trị.

Dòng /*1*/: Khai báo biến.Dòng /*2*/: Lập trình xử lý sự kiện.

1.5.2.2.3 Các hàm hỗ trợ trong WinCC:Sau đây là một trong số những hàm thường dùng mà WinCC hỗ trợ cho người

lập trình:1/ SetTagBit: Định giá trị cho một Tag có kiểu dữ liệu là Binary.2/ SetTagByte: Định giá trị cho một Tag có kiểu dữ liệu là 8 bit không dấu.3/ SetTagSByte: Định giá trị cho một Tag có kiểu dữ liệu là 8 bit có dấu.4/ SetTagWord: Định giá trị cho một Tag có kiểu dữ liệu là 16 bit không dấu.5/ SetTagDWord: Định giá trị cho một Tag có kiểu dữ liệu là 16 bit có dấu.6/ GetTagBit: Lấy giá trị hiện tại của một Tag có kiểu Binary.7/ GetTagByte: Lấy giá trị hiện tại của một Tag có kiểu dữ liệu là 8 bit không

dấu.8/ GetTagSByte: Lấy giá trị hiện tại của một Tag có kiểu dữ liệu là 8 bit có dấu.9/ GetTagWord: Lấy giá trị hiện tại của một Tag có kiểu dữ liệu là 16 bit không

dấu.10/ GetTagDWord: Lấy giá trị hiện tại của một Tag có kiểu dữ liệu là 16 bit có

dấu.11/ DeactivateRTProject: Thoát khỏi chương trình WinCC đang chạy Runtime.

12/ ExitWinCC: Thoát khỏi chương trình WinCC, kể cả WinCC Explorer.

Trang 25

Page 34: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần II: Khảo Sát Linh Kiện Chính

Phần II: KHẢO SÁT LINH KIỆN CHÍNH

2.1 VI ĐIỀU KHIỂN AVR- MEGA16:Đây là họ vi điều khiển 8 bit, xử lý nhanh và tiêu thụ ít năng lượng

(< 1.1mA tại 3v-1Mhz ). Ngoài ra còn được tích hợp thêm mạch ADC, gõ ra điều rộng xung, giao tiếp I2C, bộ nhớ EEPROM, USART, WATCHDOG, dao động nội và lập trình trên hệ thống ISP. Thêm vào đó AVR còn được hỗ trợ mạnh mẽ bởi các phần mềm lập trình như Code Vision, Bascom. Avr studio.v.v…… làm giảm độ phức tạp cũng như thân thiện hơn với ngôn ngữ con người. Do đó AVR ngày càng được ứng dụng rộng rãi trong đời sống cũng như trong giáo dục và đào tạo.

2.1.1 Những thông số cơ bản của mega 16: Chúng được thiết kế cải tiến trên cấu trúc RISC:

+ 131 tập lệnh hầu hết được thực chỉ 1 chu kỳ máy.+ 32 thanh ghi đa mục đích.+ Tần số hoạt động lên đến 16 Mhz.

Bộ nhớ chương trình và dữ liệu :+ 16k bộ nhớ chương trình. Khả năng ghi, xoá 10.000 lần.+ Các bít cấu hình phần cứng cho phép sử dụng linh hoạt phần cứng cũng như bảo mật việc truy xuất chương trình.+ 512 byte EEPROM. Khả năng ghi, xoá 100.000 lần.+ 1 k SRAM nội.

Phần cứng hoạt động:+ 32 I/O xuất nhập.+ 2 timer/counter 8 bit. Có thể chọn tần số xung clock.+ 1 timer/counter 16. Có thể chọn tần số xung clock.+ 1 bộ đếm thời gian thực được kết nối thạch anh ngoài.+ 4 kênh điều rộng xung PWM.+ 8 kênh ADC 10 bit.+ 1 bộ so sánh analog.+ Giao tiếp I2C.+ Giao tiếp USART.+ WatchDog reset cứng khi chương trình bị lỗi.

Trang 26

Page 35: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần II: Khảo Sát Linh Kiện Chính

2.1.2 Sơ đồ chân mega16:

2.1.3 Cấu trúc bên trong của mega 16.

Trang 27

Page 36: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần II: Khảo Sát Linh Kiện Chính

2.2 VI ĐIỀU KHIỂN AVR-MEGA 8:Cũng như mega 16, mega 8 là vi điều khiển 8 bit, xử lý nhanh và tiêu thụ ít

năng lượng (< 3.6mA tại 3v-4Mhz). Được tích hợp mạch ADC, WATCHDOG, gõ ra điều rộng xung, giao tiếp I2C, USART, bộ nhớ EEPROM, dao động nội và hỗ trợ lập trình trên hệ thống ISP.

2.2.1 Những thông số cơ bản của mega 8: Chúng được thiết kế cải tiến trên cấu trúc RISC:

+ 130 tập lệnh hầu hết được thực chỉ 1 chu kỳ máy.+ 32 thanh ghi đa mục đích.+ Tần số hoạt động lên đến 16 Mhz.

Bộ nhớ chương trình và dữ liệu:+ 8k bộ nhớ chương trình. khả năng ghi, xoá 10.000 lần.+ Các bít cấu hình phần cứng cho phép sử dụng linh hoạt phần cứng cũng như bảo mật việc truy xuất chương trình.+ 512 byte EEPROM. Khả năng ghi, xoá 100.000 lần.+ 1 k SRAM nội.

Phần cứng hoạt động:+ 23 I/O xuất nhập.+ 2 timer/counter 8 bit. Có thể chọn tần số xung clock.+ 1 timer/counter 16. Có thể chọn tần số xung clock.+ 1 bộ đếm thời gian thực được kết nối thạch anh ngoài.+ 3 kênh điều rộng xung PWM.+ 6 kênh ADC 10 bit.+ 1 bộ so sánh analog.+ Giao tiếp I2C.+ Giao tiếp USART.+ WatchDog reset cứng khi chương trình bị lỗi.

2.2.2 Sơ đồ chân mega 8:

Trang 28

Page 37: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần II: Khảo Sát Linh Kiện Chính

2.2.3 Cấu trúc bên trong của mega 8:

2.3 VI

ĐIỀU KHIỂN AVR-TINY 13:Cũng như các dòng AVR khác Tiny13 là vi điều khiển 8 bit. Chúng được thiết

kế cho những ứng dụng đơn giản không cần nhiều port kết nối. tuy vậy nhưng chúng cũng được tích hợp khá nhiều chức năng như: mạch ADC, PWM, I2C, bộ nhớ EEPROM, WATCHDOG, dao động nội và hỗ trợ lập trình trên hệ thống ISP.

2.3.1 Những thông số cơ bản của Tiny13: Chúng được thiết kế cải tiến trên cấu trúc RISC:

+ 120 tập lệnh hầu hết được thực chỉ 1 chu kỳ máy.+ 32 thanh ghi đa mục đích.+ Tần số hoạt động lên đến 20 Mhz.

Trang 29

Page 38: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần II: Khảo Sát Linh Kiện Chính

Bộ nhớ chương trình và dữ liệu:+ 1K bộ nhớ chương trình. khả năng ghi, xoá 10.000 lần.+ 1K bộ nhớ chương trình. khả năng ghi, xoá 10.000 lần.+ Các bít cấu hình phần cứng cho phép sử dụng linh hoạt

phần cứng cũng như bảo mật việc truy xuất chương trình.+ 64 byte EEPROM. Khả năng ghi, xoá 100.000 lần.+ 64 K SRAM nội.

Phần cứng hoạt động:+ 6 I/O xuất nhập.+ 2 timer/counter 8 bit. Có thể chọn tần số xung clock.+ 1 timer/counter 16. Có thể chọn tần số xung clock.+ 2 kênh điều rộng xung PWM.+ 4 kênh ADC 10 bit.+ Giao tiếp I2C.+ WatchDog reset cứng khi chương trình bị lỗi.

2.3.2 Sơ đồ chân Tiny13:

2.3.3 Cấu trúc bên trong Tiny13:

Trang 30

Page 39: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần II: Khảo Sát Linh Kiện Chính

2.4 CẢM BIẾN NHIỆT LM335:

LM335 có độ biến thiên theo nhiệt độ: 10mV / 1oK.Độ chính xác và độ nhạy, ở nhiệt độ 25oC nó có dung sai không quá 1%. Với

tầm đo từ -40oC ÷ +100oC, tín hiệu áp ngõ ra gần như tuyến tính nhiệt độ môi trường.

Thông số kỹ thuật:- Tiêu tán công suất thấp.- Dòng làm việc từ 400A – 5mA.- Dòng ngược max 15mA.- Dòng thuận max 10mA.

Theo thông số của nhà sản xuất LM335, quan hệ giữa nhiệt độ và điện áp ngõ ra như sau:

Vout = 0,01ToK = 2,73 + 0,01ToC.Vậy ứng với tầm hoạt động từ 0oC – 100oC ta có sự biến thiên điện áp ngõ ra

là: Ở 0oC thì điện áp ngõ ra Vout = 2,73 (V).Ở 5oC thì điện áp ngõ ra Vout = 2,78 (V).……………………………………Ở 100oC thì điện áp ngõ ra Vout = 3,73 (V).Tầm biến thiên điện áp tương ứng với nhiệt độ từ 0oC - 100oC là 1V.

Thiết kế cụ thể mạch cảm biến dùng LM335:

V CC

1 0 K

G N D

TE M

U 9L M 3 3 5

2 . 2 K

+ Tính toán và chọn linh kiện:Ta có:

400A < IR < 5mA.

400A < < 5 mA

Trang 31

Page 40: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần II: Khảo Sát Linh Kiện Chính

< R <

Vì: 2,73V Vo 3,73Nên: 454 < R < 3,175k (1)

Mặt khác, theo thông số của nhà sản xuất điện áp trên LM335 tại T = 25 oC, IR

= 1mA thì Vo = 2,982 (V), ta có:

400A < < 5mA (2)

Từ (1) và (2): chọn R = 2,2 k → chọn biến trở chỉnh offset VR = 10 k.Biến trở chỉnh offset để cân chỉnh điện áp ngõ ra là 2,982V ± 1% khi làm việc

ở nhiệt độ 25oC với dòng làm việc 1mA. Dựa vào thông số đó ta mới tính toán chính xác được điện áp ngõ ra biến thiên theo sự thay đổi nhiệt độ môi trường.

2.5 OPTO 4N35:Gồm nguồn phát tia hồng ngoại dùng diode (IR - LED) và mạch thu dùng

phototransistor. Do đó thỏa mãn yêu cầu cách ly về điện, đồng thời đáp ứng của opto tốt hơn dùng biến áp xung.

Ta lựa chọn phương án dùng opto thì yêu cầu đặt ra đối với opto là phải chịu được tần số đóng ngắt khá cao ( ≈10KHz). Trong đó, HCPL-2631 là optocouplers của hãng Fairchild có đáp ứng tần số lên đến 1MHz.

2.6 MOSFET:Có hai lựa chọn chính cho việc sử dụng khoá đóng cắt công suất trong điều

khiển đông cơ đó là mosfet và IGBT. Cả hai loại mosfet và IGBT đều là linh kiện được điều khiển bằng điện áp, nghĩa là việc dẫn và ngưng dẫn của linh kiện được điều khiển bằng một nguồn áp nối với cực gate của linh kiện thay vì là dòng điện trong các bộ nghịch lưu sử dụng transistor như trước đây. Vì vậy cách sử dụng loại linh kiện này làm cho việc điều khiển trở nên dễ dàng và tin cậy hơn.

Trang 32

Page 41: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần II: Khảo Sát Linh Kiện Chính

Đặc điểm, ứng dụng:Thông thường mosfet được sử dụng với các ứng dụng đòi hỏi tốc độ cao, tuy

nhiên mosfet không có khả năng chịu dòng điện cao, trong khi đó IGBT thích hợp với các ứng dụng ở tốc độ thấp. Tuy nhiên IGBT có khả năng chịu được dòng điện cao. Vì vậy tuỳ vào đặc điểm của ứng dụng mà có sự lựa chọn linh kiện phù hợp.

IGBT là linh kiện có tần số đóng cắt giới hạn thấp hơn so với mosfet, vì vậy dẫn đến tổn thất công suất do đóng cắt linh kiện sẽ cao hơn đối với ở mosfet có tần số đóng cắt cao hơn. Các kỹ thuật sử dụng IGBT trong điều khiển đã được sớm áp dụng cách đây hơn 10 năm, nhiều công ty đã sản xuất ra nhiều dòng IGBT khác nhau, một số được chế tạo thích hợp với các ứng dụng ở tốc độ thấp và điện áp VCE-SAT nhỏ, dẫn tới tổn hao sẽ nhỏ, một số khác được sản xuất phù hợp với các ứng dụng đòi hỏi tốc độ cao (60kHz đến 150 kHz) và có tổn thất công suất thấp hơn nhưng có VCE-SAT cao hơn. Khoảng 5 năm trở lại đây nhiều cải tiến trong việc sản xuất mosfet có thể đáp ứng tần số đóng cắt cao hơn với RDS-ON nhỏ (khoảng vài miliohm) làm cho tổn thất công suất được giảm đi rất nhiều. Vì vậy, đa số các bộ nghịch lưu thường sử dụng mosfet hơn là IGBT như trước kia.

Dựa vào các đặc điểm của biến tần thiết kế và Các yêu cầu chính đặt ra cho linh kiện sử dụng làm bộ nghịch lưu :

Điện áp VDS ( mosfet) hay VCE ( IGBT) >> VDC /2Dòng điện qua linh kiện lớn hơn dòng định mức của động cơ ≈ 10A ở nhiệt độ

hoạt động. Chịu được tần số đóng ngắt cao từ đó ta tìm được mosfet phù hợp. dựa trên yêu cầu đó mosfet IRFP460P được lựa chọn : thõa mãn các yếu tố trên, có thể mua dễ dàng và giá thành rẻ !

Trang 33

Page 42: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

Phần III: THI CÔNG ĐỀ TÀI

3.1 YÊU CẦU ĐỀ TÀI:- Thiết kế và thi công mạch điện điều khiển và giám sát động cơ AC như:

trạng thái hoạt động, tốc độ động cơ…- Xây dựng giao diện điều khiển, giám sát động cơ.

Dựa trên yêu cầu đó nhóm đề ra ý tưởng thiết kế hệ thống như sau:

Sơ đồ khối hệ thống

Trang 34

Page 43: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

Phần cứng:- Mạch 1: điều khiển tốc độ động cơ AC 1 pha bằng phương pháp điện áp

trung bình thông qua điều chỉnh góc kích TRIAC, giám sát nhiệt độ, tốc độ và báo lỗi trong suốt quá trình hoạt động, truyền thông với máy tính qua mạng 485 chuẩn MODBUS. Tất cả được điều khiển bởi vi điều khiển họ AVR được lập trình bằng ngôn ngữ cấp cao C.

- Mạch 2: điều khiển tốc độ động cơ AC 3 pha bằng phương pháp biến tần thông qua bộ nghịch lưu áp sử dụng mosfet, mạch giám sát nhiệt độ hệ thống để điều khiển quạt giải nhiệt bằng phương pháp PWM, hiển thị tốc độ động cơ, bộ truyền thông với máy tính qua mạng 485 chuẩn MODBUS, Tất cả được điều khiển bởi vi điều khiển họ AVR được lập trình bằng ngôn ngữ cấp cao BASIC.

- Mạch 3: bộ chuyển đổi RS 232-485 để kết nối mạng BUS cho hệ thống. Phần mềm:

- Thiết kế giao diện giám sát, điều khiển động cơ như: trạng thái hoạt động, nhiệt độ, tốc độ, chiều quay, kết nối …Tất cả được thiết kế trên phầm mền WinCC của SEIMEN, và kết nối với phần cứng qua mạng BUS 485 sử dụng giao thức MODBUS-RTU.

3.2 ĐIỀU KHIỂN ĐỘNG CƠ AC 1 PHA:3.2.1 Phân tích tổng quát sơ đồ khối hệ thống:

3.2.1.1 Sơ lược hoạt động của toàn bộ hệ thống:Mạch điều khiển tốc độ động cơ AC 1 pha chủ yếu dựa trên nguyên tắc thay đổi

giá trị điện áp trung bình ở ngõ ra bằng cách thay đổi góc kích điều khiển thông qua Triac BTA16. Sơ đồ kết nối này được ứng dụng cho những mạch có công suất thấp. Với phương pháp này mạch thiết kế đơn giản nhưng dễ điều khiển với 3 chế độ làm việc: Auto, Man_1, Man_2. Ở chế độ cài Auto mạch sẽ chạy ổn định theo tốc độ được cài đặt sẵn trên màn hình LCD. Với độ sai số từ 8 – 66/rpm so với tốc độ được cài đặt. Ngoài ra thông số cài đặt này có thể lưu lại khi nhấn nút OK trên board. Chế độ Man_1 dùng để điều khiển tốc độ động cơ qua biến trở được tích hợp sẵn trên board với tầm thay đổi từ 1÷100% tốc độ của motor. Chế độ Man_2 cũng có chức năng tương tự nhưng được điều khiển bởi tín hiệu analog (0÷5V) bên ngoài thông qua domino trên board. Với 3 mode hoạt động như trên nhằm đáp ứng nhu cầu của người sử dụng.

Ngoài ra có thể giám sát thông số động cơ (vận tốc, nhiệt độ) và các trạng thái hoạt động (Run/Stop) cũng như báo lỗi (I2c busy, External trouble, Overheat) qua màn hình LCD 4x20. Mạch còn có chế độ giám sát và điều khiển với máy tính thông qua chuẩn RS-485. Với chuẩn này có thể kết nối cùng 1 lúc 32 thiết bị với chiều dài kết nối nhỏ hơn 1200m. Tốc độ truyền nhận phụ thuộc vào khoảng cách kết nối giữa các thiết bị. Đây cũng chính là ưu điểm nổi bật so với chuẩn RS-232 truyền thống (khoảng cách truyền nhận dưới 15m và chỉ kết nối được 2 thiết bị).

Trang 35

Page 44: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.2.1.2 Sơ đồ khối hệ thống:

Sơ đồ khối board điều khiển động cơ AC 1 pha.

3.2.2 Sơ đồ nguyên lý và chức năng các khối:3.2.2.1 Khối nguồn:

Sơ đồ nguyên lý khối nguồn.

Mạch nguồn đơn giản sử dụng diode chỉnh lưu hình tia lấy nguồn 12V DC cấp cho cảm biến đếm xung. Sau đó qua IC ổn áp 7805 lấy 5V DC cấp cho toàn bộ các khối khác trong mạch. Ngoài ra có led để báo tình trạng nguồn.

Trang 36

R 1 2 2 0

C 31 0 0 0 u F / 1 6 V

C 22 2 0 0 u F / 5 0 V

+1 2 V

D 2

P O W E R

12

+5 V

C 12 2 3

D 1 1 N 4 0 0 7 I C 1 7 8 0 51 3

2

1 3

2

Page 45: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.2.2.2 Khối cảm biến nhiệt:

R 1 02 k 2

TE M P

V R 11 0 k

I C 3L M 3 3 5

+5 V

Sơ đồ nguyên lý khối cảm biến nhiệtCảm biến nhiệt độ có nhiệm vụ biến đổi nhiệt độ qua tín hiệu điện. Các IC cảm

biến nhiệt độ có độ chính xác cao, dễ tìm và giá thành rẽ. Một trong số đó là IC LM335, là loại thông dụng trên thị trường hiện nay, đồng thời nó có những đặc tính làm việc phù hợp với thiết kế chi tiết của mạch.

3.2.2.3 Khối đồng bộ:

Sơ đồ nguyên lý khối đồng bộ.Góc kích α được tính từ điểm chuyển mạch tự nhiên. Vì vậy chức năng chính

của mạch đồng bộ để xác định được thời điểm bắt đầu của bán kỳ dương và bán kỳ âm của tín hiệu xoay chiều hình sin. Với nhiệm vụ tạo ra điện áp tựa đồng bộ với điện áp lưới, nghĩa là cho phép xác định giá trị đầu của góc điều khiển α. Tín hiệu đồng bộ đó đưa về vi xử lý (slaver) để thực hiện công việc điều khiển góc kích triac sớm hay muộn. Dẫn đến điện áp trung bình ở ngõ ra thay đổi làm thay đổi tốc độ của động cơ. Đây chính là phương pháp điều khiển động cơ được áp dụng ở đây.

Mạch dựa trên nguyên tắc cảm biến điện từ. Tín hiệu xoay chiều hình sin 220V AC sau khi qua biến thế giảm biên độ xuống 12V AC nhưng có tần số không đổi. Tín hiệu xoay chiều sau đó được đưa qua mạch so sánh sử dụng IC thuật toán LM741. Nhằm biến đổi dạng xung xoay chiều hình sin thành xung vuông. Sau đó được đưa qua transistor C1815 nhằm hóa thành tín hiệu xung vuông có mức logic 0 và 1 để đưa vào 2 chân ngắt ngoài của vi xử lý (slaver) thực hiện tiếp công việc điều khiển.

Trang 37

+5 V

Q 1C 1 8 1 5

R 44 k 7

+5 V

R 5 2 7 k

L

R 2 1 2 k

D 31 N 4 1 4 8

R 62 2 0

S I NR 3 4 k 7

C 42 2 3

T1

2 2 0 V / 1 2 V

1 4

2 3N

-

+I C 2L M 7 4 1

3

26

714

5

Page 46: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.2.2.4 Khối công suất:

Sơ đồ nguyên lý khối công suất.Mạch dùng phần tử cách ly giữa điều khiển và công suất là loại opto triac

MOC3020. Với dòng kích tối đa nhỏ hơn 60mA (IF) và điện áp thuận nhỏ hơn 3V (VR). Điện áp hoạt động cho phép của phần triac lên đến 400V (VDRM). Nhiệm vụ chính của opto trong mạch này là đóng mở xung kích cho triac BTA16 được điều khiển bởi vi xử lý (slaver).

Phần tử thực hiện công suất được dùng là triac BTA16 với những thông số hoạt động đặc trưng như dòng tải định mức lên đến 16A (IT(RMS)), điện áp ngưỡng 600V (VDRM) với dòng kích cho phép từ 10 đến 50mA (IGT).

Khi điện áp thay đổi với tốc độ nhanh thì triac dễ bị hỏng nên thường cần phải có mạch R-C bảo vệ triac.

Đặc tính của triac là có thể điều khiển cho mở dẫn dòng bằng cả xung dương (dòng đi vào cực điều khiển) lẫn dòng xung âm (dòng đi ra khỏi cực điều khiển).

3.2.2.5 Khối vi xử lý:

Mega16 (Master) Mega8 (Slaver)Bao gồm 2 vi xử lý thuộc họ AVR của hãng Atmel. Đó là mega16 (master) và

mega8 (slaver). Mỗi IC đảm nhiệm các chức năng và nhiệm vụ riêng, được truyền thông dữ liệu với nhau thông qua giao thức I2C.

Trang 38

P T1M O C 3 0 2 0

1

2

64

O U T1

C 52 0 4 / 2 5 0 V

F 1 5 A

R 8 1 8 0

N

Q 2B TA 1 6

TR I A C L

R 72 2 0

R 9 1 k 2

O U T2

R 2 91 0 k

C 72 2

A L A R M

M I S O 2

C 1 01 0 u F / 1 6 V

C 82 2

TR I A C

+5 V

A N A L O G 1R S

C 1 22 2

O K

C 91 0 u F / 1 6 V

Y 18 M H z

I C 6 A Tm e g a 1 6

9

1 2

1 3

11

1 4

5

2 22 32 42 52 62 72 82 9

2 12 01 91 81 71 61 5

3 83 73 63 53 4

4321 4 0

3 9

3 2

3 3

3 1

10

876

3 0R S T

XTA L 2

XTA L 1

GN

D

P D 0 (R XD )

P B 4 (S S )

P C 0 (S C L )P C 1 (S D A )P C 2 (TC K )P C 3 (TM S )P C 4 (TD O )

P C 5 (TD I )P C 6 (TO S C 1 )P C 7 (TO S C 2 )

P D 7 (O C 2 )P D 6 (I C P 1 )P D 5 (O C 1 A )P D 4 (O C 1 B )P D 3 (I N T1 )P D 2 (I N T0 )P D 1 (TXD )

P A 2 (A D C 2 )P A 3 (A D C 3 )P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )

P B 3 (A I N 1 / O C 0 )P B 2 (A I N 0 / I N T2 )P B 1 (T1 )P B 0 (XC K / T0 ) P A 0 (A D C 0 )

P A 1 (A D C 1 )

A R E F

P A 7 (A D C 7 )

G N D

VCC

P B 7 (S C K )P B 6 (M I S O )P B 5 (M O S I )

A V C C

D 5D 4

R 2 81 0 k

S I N

TE M P

S C K 1

S C K 2

D O W N

J 6 J U M P E R

1 2

C O U N TE R

R E S E T

Z D 13 V 6M O D E C 1 1

2 2

S D A

E N

R 2 52 2 0

R E S E T

C O N TR O L _ 4 8 5

L I G H T

R 2 72 k 2

U P

S D A

Y 28 M H z

TXD

R U N

S C L

M O S I 2

TR O U B L E

I C 7 A Tm e g a 8

4

78

2 8

91 9

2 0

2 1

2 2

2 32 42 52 6

1 61 51 4

1 31 21 1

1 0

1 81 7

56

32 1

2 7P D 2 (I N T0 )

VCC

GN

D

P C 5 (A D C 5 / S C L )

P B 6 (XTA L 1 / TO S C 1 )P B 5 (S C K )

A V C C

A R E F

G N D

P C 0 (A D C 0 )P C 1 (A D C 1 )P C 2 (A D C 2 )P C 3 (A D C 3 )

P B 2 (S S / O C 1 B )P B 1 (O C 1 A )

P B 0 (I C P 1 )

P D 7 (A I N 1 )P D 6 (A I N 0 )P D 5 (T1 )

P B 7 (XTA L 2 / TO S C 2 )

P B 4 (M I S O )P B 3 (M O S I / O C 2 )

P D 3 (I N T1 )P D 4 (XC K / T0 )

P D 1 (TXD )P D 0 (R XD ) P C 6 (R E S E T)

P C 4 (A D C 4 / S D A )

+5 V

D 7E N A B L E

+5 V

R / W

+5 V

R U N / S TO P

A N A L O G 2

D 6

K E Y

+5 V

+5 V

S C L

R 2 62 k 2

R XD

S C K 1

Page 47: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

Mega16 (Master): đảm nhiệm các công việc như: Đếm xung đo tốc độ động cơ thông qua chân ngắt ngoài. Tốc độ động cơ

được tính theo công thức:Tốc độ = Số xung * 8

Tốc độ: được tính trong 1 phút (rpm: revolutions per minute).Số xung: được lấy mẫu theo chu kỳ 2,5s.

Chuyển đổi các thông số ADC ở 3 kênh đầu vào phục vụ cho công việc điều khiển động cơ và hiển thị nhiệt độ. Cả 3 đầu vào có tầm điện áp từ 0÷5V DC.Độ phân giải ADC được chọn mặc định là 10 bit, điện áp ngưỡng được lấy từ chân AREF = 5V. Với giá trị đầu vào chúng ta có công thức như sau:

ADCx = (V_INT*1024)/AREF Giao tiếp với nút nhấn để nhận lệnh điều khiển và thay đổi thông số cài

đặt. Có xử lý ngắt cho phím nhấn để linh hoạt hơn. Giao tiếp với màn hình LCD 4x20 để hiển thị thông số và báo lỗi khi

hoạt động. Hoạt động giao tiếp được thực hiện ở chế độ 4 bit và 3 chân điều khiển RS, RW, EN nhằm tiết kiệm port ở vi xử lý.

Giao tiếp I2C với vi xử lý (slaver) để truyền thông số điều khiển (lệnh run/stop, dữ liệu điều khiển góc kích α) và nhận lại thông số trạng thái báo lỗi từ slaver. Mỗi chu kỳ truyền nhận là 300ms.

Giao tiếp với máy tính qua chuẩn RS-485 để truyền nhận dữ liệu trong chế độ giám sát qua mạng.

Mega8 (Slaver): đảm nhiệm các công việc như: Giao tiếp I2C với vi xử lý (master) để nhận thông số điều khiển và truyền

trạng thái báo lỗi. Nhận tín hiệu đồng bộ từ khối đồng bộ qua 2 chân ngắt ngoài kết hợp với

thông số nhận được từ master để điều khiển motor.

3.2.2.6 Khối đếm:

Sơ đồ nguyên lý khối đếm.Nhận xung đếm từ cảm biến (nguồn 12V DC) qua mạch opto để chuyển đổi

sang tín hiệu logic đưa về chân ngắt ngoài của vi xử lý (master). Các thông số cơ bản của opto TLP521: dòng điều khiển IF = 50mA, dòng tải IC = 50mA.

Trang 39

C O U N TE R

+5 V

R 1 1 1 0 k

D 4 C L K12

C L K

+1 2 V

R 1 21 0 k

P T2TL P 5 2 1

12

43

Page 48: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.2.2.7 Khối nút nhấn:

Sơ đồ nguyên lý khối nút nhấn.Gồm 5 nút nhấn với các chức năng như: RUN/STOP, MODE, UP, DOWN,

OK. Ngoài ra còn nối chung 1 chân đưa về làm tín hiệu ngắt ở vi xử lý với mục đích xử lý linh hoạt hơn.

-RUN/STOP: cho phép chạy, dừng động cơ.-MODE: lựa chọn các chế độ hoạt động Auto, Man_1, Man_2.-UP: tăng thông số cài đặt.-DOWN: giảm thông số cài đặt.-OK: lưu thông số cài đặt.

3.2.2.8 Khối hiển thị:

Sơ đồ nguyên lý khối hiển thị.Sử dụng màn hình LCD 4x20 với mục đích hiển thị đầy đủ các thông số trong

quá trình hoạt động của mạch. Giao tiếp với vi xử lý ở chế độ 4 bit và 3 chân điều khiển RS, RW, EN. Chế độ 4 bit có ưu điểm là tiết kiệm được các đường dẫn đến cổng vào/ra. Tuy vậy đến khi viết phần mềm điều khiển thì các lệnh và dữ liệu lại

Trang 40

D O W N

K E Y

S 4D O W N

1 4

2 3

S 1R U N / S TO P

1 4

2 3

D 1 1

1 N 4 1 4 8

S 5O K

1 4

2 3

U P

R 2 1

S 3U P

1 4

2 3

M O D E

O K

R U N / S TO P

S 2M O D E

1 4

2 3

+5 V

E ND 6

+5 V

R 1 3 1 kQ 3C 1 8 1 5

R / W

+5 V

D 5

L I G H T

VSS

VDD

V0

RSR/WE

AK

D0D1D2D3D4D5D6D7

I C 4

YM2004A

12

3

456

789

1 01 11 21 31 4

1 51 6

R S

V R 21 0 k

13

2

D 4

D 7

Page 49: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

phải chia thành 2 nhóm, mỗi nhóm ứng với 4 bit dữ liệu, rồi truyền kế tiếp nhau. Việc tiết kiệm đường dẫn tới cổng lại kéo theo việc tăng số lượng các dòng lệnh khi viết chương trình.

Qua đường dẫn RS có thể lựa chọn, lịêu ta sẽ gửi một lệnh hay một byte dữ liệu tới modun hiển thị LCD. Nếu RS ở mức Low, thì byte gửi tới được dịch là lệnh, còn nếu RS ở mức High, thì byte được hiển thị lên màn hình LCD vì đây là byte dữ liệu.

RW cần để khẳng định liệu cần ghi vào hay đọc ra. Mức High có nghĩa là đọc, còn Low có nghĩa là ghi. Khi ta đặt RW sang chế độ đọc và RS sang chế độ gửi lệnh, thì ta có thể đọc cờ báo bận (Busy-Flag) qua chân D7, cờ này chỉ ra liệu modun LCD đã xử lý xong lệnh vừa được gửi đến trước đấy.

Đường dẫn điều khiển E (Enable) kích hoạt/không kích hoạt bộ hiển thị. Khi bộ hiển thị được kích hoạt, nó sẽ kiểm tra trạng thái của hai đường dẫn điều khiển khác và sau đó đánh giá các đường dẫn dữ liệu cho phù hợp. Khi bộ hiển thị không được kích hoạt thì trạng thái của các đường dẫn điều khiển khác bị bỏ qua và các đường dẫn dữ liệu được chuyển mạch sang trạng thái tổng trở cao.

Ngoài ra còn 2 chân 15 và 16 là nguồn cấp cho mạch chiếu sáng từ phía sau được điều khiển qua transistor C1815.

3.2.2.9 Khối giao tiếp máy tính:+5 V

I C 5M A X4 8 5

14

58

23

6

7

R OD I

GN

DV

CC

R ED E

A

B

TXD

C O N TR O L _ 4 8 5

J 5

R S 4 8 5

1234

R XD

Sơ đồ nguyên lý khối giao tiếp máy tính.Đặc tính khác nhau cơ bản của RS-485 so với RS-232 là khả năng ghép nối

nhiều điểm, vì thế được dùng phổ biến trong các hệ thống bus trường. Cụ thể, 32 trạm có thể tham gia ghép nối, được định địa chỉ và giao tiếp đồng thời trong một đoạn RS-485 mà không cần bộ lặp. Khoảng cách tối đa giữa trạm đầu và trạm cuối trong một đoạn mạng là 1200m.

Để đạt được điều này, trong một thời điểm chỉ một trạm được phép kiểm soát đường dẫn và phát tín hiệu, vì thế một bộ kích thích đều phải đưa về chế độ trở kháng cao mỗi khi rỗi, tạo điều kiện cho các bộ kích thích ở các trạm khác tham gia. Chế độ này được gọi là tri-states.

Trong mạch của bộ kích thích RS-485 có một tín hiệu vào “Enable” được dùng cho mục đích chuyển bộ kích thích về trạng thái phát tín hiệu hoặc tri-state. Tín hiệu này được điều khiển bởi vi xử lý mega 16.

Trang 41

Page 50: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

- Khi truyền tín hiệu, chân RE và DE của Max 485 sẽ ở mức cao. RE ở mức cao sẽ cấm nhận, DE tích cực mức cao, do đó mạng ở trạng thái truyền dữ liệu.

- Khi nhận dữ liệu, chân DE ở mức thấp sẽ cấm truyền, RE ở mức thấp sẽ cho phép nhận.

Trạng thái logic của tín hiệu chỉ được định nghĩa trong khoảng từ ±1,5V đến ±5V đối với đầu ra (bên phát) và từ ±0,2V đến ±5V đối với đầu vào (bên thu).

Trang 42

Page 51: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.2.2.10 Sơ đồ nguyên lý:

S C L

J 4

P R O G R A M 2

12345

C O U N TE R

C O N TR O L _ 4 8 5

S D A

J 6 J U M P E R

1 2

A N A L O G 2

S 5O K

1 4

2 3

S C K 2

J 5

R S 4 8 5

1234

+5 V

V R 31 0 k

13

2

Q 3C 1 8 1 5

+5 V

L I G H T

+1 2 V

L

R 9 1 k 2

P T1M O C 3 0 2 0

1

2

64

U P

C 1 01 0 u F / 1 6 V

D 1 21 N 4 1 4 8

C 52 0 4 / 2 5 0 V

L

M O D E

D 1 1 N 4 0 0 7

+5 V

R 2 3 1 0 0

Z D 13 V 6

R 2 1

TR O U B L E

R U N

J 1

I N _ O U T

1234

+1 2 V

L

T1

2 2 0 V / 1 2 V

1 4

2 3

S 4D O W N

1 4

2 3

+5 V

O K

D 7

R 1 4

2 2 0

F 1 5 A

D 31 N 4 1 4 8

+5 V

S C L

+5 V

N

O U T1

A L A R M

R / W

D 6

R S

R E S E T

C 61 0 4

R XD

E N A B L E

VSS

VDD

V0

RSR/WE

AK

D0D1D2D3D4D5D6D7

I C 4

YM2004A

12

3

456

789

1 01 11 21 31 4

1 51 6

+5 V

S C K 2

D 5

E N A B L E

I C 1 7 8 0 51 3

2

1 3

2

D 6

R U N / S TO P

M I S O 2

A N A L O G 2

I C 3L M 3 3 5

R 1 5

2 2 0

R 1 21 0 k

R 3 4 k 7

R 8 1 8 0

R 1 3 1 k

C L K

S I N

Y 28 M H z

C 42 2 3

D 5

R U N

12

C O N TR O L _ 4 8 5

R 62 2 0

N

R 2 52 2 0

R U N / S TO P

K E Y

+5 V

+5 V

+5 V

R U N

Q 1C 1 8 1 5

R 2 81 0 k

-

+

I C 2L M 7 4 1

3

26

714

5

S P E A K E R

R 2 72 k 2

Q 2B TA 1 6

+5 V

C 82 2

S C K 1

+1 2 V

A L A R M

R 1 1 1 0 k

TE M P

I C 5M A X4 8 5

14

58

23

6

7

R OD I

GND

VCC

R ED E

A

B

D O W N

+5 V

+5 V

R STR I A C

N

E N

R E S E T

C 31 0 0 0 u F / 1 6 V

R 1 02 k 2

S 2M O D E

1 4

2 3

C O U N TE R

M O S I 2

M O S I 2

K E Y

D 7

C L K

O K

R 1 2 2 0

TE M P

P T2TL P 5 2 1

12

43

D 4

S D A

D 6

A L A R M

12

O U T1

D 5

TXD

L I G H T

D 4

S C K 1

V R 21 0 k

13

2

R 44 k 7

R 2 62 k 2

J 2

C O N N E C T

12345678

+5 V

R E S E T

R 72 2 0

R 5 2 7 k

C 22 2 0 0 u F / 5 0 V

R 2 91 0 k

S 6

R E S E T

1

4

2

3

C 72 2

D 4 C L K12

S C K 1

C 1 12 2

+5 V

O U T2

+5 V

D O W N

S 3U P

1 4

2 3

V R 11 0 k

U P

C 1 22 2

S 1R U N / S TO P

1 4

2 3

TR O U B L E

A L A R M

+5 V

D 2

P O W E R1

2

+5 V

D 1 1

1 N 4 1 4 8

C 12 2 3

R 2 1 2 k

I C 7 A Tm e g a 8

4

78

2 8

91 9

2 0

2 1

2 2

2 32 42 52 6

1 61 51 4

1 31 21 1

1 0

1 81 7

56

32 1

2 7P D 2 (I N T0 )

VCC

GND

P C 5 (A D C 5 / S C L )

P B 6 (XTA L 1 / TO S C 1 )P B 5 (S C K )

A V C C

A R E F

G N D

P C 0 (A D C 0 )P C 1 (A D C 1 )P C 2 (A D C 2 )P C 3 (A D C 3 )

P B 2 (S S / O C 1 B )P B 1 (O C 1 A )

P B 0 (I C P 1 )

P D 7 (A I N 1 )P D 6 (A I N 0 )P D 5 (T1 )

P B 7 (XTA L 2 / TO S C 2 )

P B 4 (M I S O )P B 3 (M O S I / O C 2 )

P D 3 (I N T1 )P D 4 (XC K / T0 )

P D 1 (TXD )P D 0 (R XD ) P C 6 (R E S E T)

P C 4 (A D C 4 / S D A )

TR I A C

D 5

R XD

S I N

O U T2

A N A L O G 1

Y 18 M H z

I C 6 A Tm e g a 1 6

9

1 2

1 3

11

1 4

5

2 22 32 42 52 62 72 82 9

2 12 01 91 81 71 61 5

3 83 73 63 53 4

4321 4 0

3 9

3 2

3 3

3 1

10

876

3 0R S T

XTA L 2

XTA L 1

GND

P D 0 (R XD )

P B 4 (S S )

P C 0 (S C L )P C 1 (S D A )P C 2 (TC K )P C 3 (TM S )P C 4 (TD O )

P C 5 (TD I )P C 6 (TO S C 1 )P C 7 (TO S C 2 )

P D 7 (O C 2 )P D 6 (I C P 1 )P D 5 (O C 1 A )P D 4 (O C 1 B )P D 3 (I N T1 )P D 2 (I N T0 )P D 1 (TXD )

P A 2 (A D C 2 )P A 3 (A D C 3 )P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )

P B 3 (A I N 1 / O C 0 )P B 2 (A I N 0 / I N T2 )P B 1 (T1 )P B 0 (XC K / T0 ) P A 0 (A D C 0 )

P A 1 (A D C 1 )

A R E F

P A 7 (A D C 7 )

G N D

VCC

P B 7 (S C K )P B 6 (M I S O )P B 5 (M O S I )

A V C C

R / W

M O D E

C 91 0 u F / 1 6 V

R 2 21 0 k

TXD

D 6

M I S O 2

J 3

P R O G R A M 1

12345

R E S E T

A N A L O G 1

E N

R E S E T

Trang 43

Page 52: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.2.3 Lưu đồ giải thuật mega 16 (master):3.2.3.1 Lưu đồ chương trình chính:

Khi mới cấp nguồn, chương trình sẽ thực hiện chương trình con khởi động LCD. Nếu không khởi động được sẽ trả về giá trị 0, khi đó chương trình sẽ ngưng và báo lỗi “LCD Disconnected”. Ngược lại chương trình sẽ thông báo “LCD Connected” và thực hiện chương trình con đọc bộ nhớ EEPROM để lấy thông số cài đặt tốc độ cho chế độ Auto.. Thông số cài đặt có giá trị từ 240 ÷ 2432 rpm.

Sau đó, chương trình sẽ kiểm tra thông số đặt chế độ hoạt động. Nếu ở chế độ Man_1 thực hiện chương trình con đọc kênh ADC 2, còn ở chế độ Man_2 đọc kênh ADC 1 (mặc định được đặt ở chế độ Auto). Ở chế độ Auto thời gian ổn tốc từ 0-2432 rpm là 6.9s. Giá trị đọc được về sau sẽ được truyền cho VXL slaver để điều khiển xung kích α. Tiếp theo chương trình sẽ tiến hành kiểm tra trạng thái của VXL slaver thông qua 1 biến được truyền lên cho VXL master theo chu kỳ 300ms.

Trang 44

Page 53: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

Nếu = 1 (dừng bởi tín hiệu Enable) thì chương trình thông báo “Stop by Slaver”. Nếu = 2 (dừng bởi lỗi ngoài) thì chương trình truyền lệnh stop xuống VXL slaver và thông báo “External Trouble”. Nếu = 0 (slaver không có lỗi) chương trình sẽ đọc trạng thái của VXL master để đưa ra các thông báo phù hợp như: “No Alarm”, “Stop by Master”, “Master I2C”, “Slaver I2C”, “I2C Busy”, “Overheat”.

Tiếp theo sẽ thực hiện chương trình con xuất dữ liệu hiển thị lên LCD 20*4. Dữ liệu hiện thị bao gồm: trạng thái hoạt động Start/Stop, chế độ hoạt động Auto/Man_1/Man_2, tốc độ cài đặt, thông số chỉnh biến trở, nhiệt độ hoạt động và trạng thái hoạt động của mạch.

Cuối cùng thực hiện chương trình con chờ 100ms rồi quay trở về đoạn chương trình kiểm tra thông số đặt chế độ hoạt động.

3.2.3.2 Lưu đồ xử lý ngắt Timer 1 (2,5s):

Khi mới khởi động, chương trình ngắt này được cho phép và chu kỳ xử lý ngắt 2,5s này sẽ được thực hiện liên tục.

Khi có ngắt xảy ra thì đặt lại giá trị định thời cho Timer. Tiếp theo đọc biến đếm tốc độ sau đó reset biến đếm này. Kế đến thực hiện chương trình con đọc kênh ADC 0 lấy giá trị nhiệt độ rồi kiểm tra. Nếu lớn hơn hoặc bằng nhiệt độ đặt thì truyền lệnh stop xuống VXL slaver và thông báo “Overheat”. Nếu nhỏ hơn nhiệt độ đặt thì không làm gì cả.

Trang 45

Page 54: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.2.3.3 Lưu đồ xử lý ngắt Timer 2 (33ms):

Khi mới khởi động, chương trình ngắt này được cho phép và chu kỳ xử lý ngắt 33ms này sẽ được thực hiện liên tục.

Khi có ngắt xảy ra, kiểm tra giá trị đếm Timer. Nếu không bằng 300ms thì không làm gì cả và thoát khỏi ngắt. Nếu bằng 300ms, kiểm tra thông số đặt chế độ hoạt động. Nếu = 0 (ở chế độ Auto), kiểm tra tiếp xung lấy mẫu. Nếu ≠ 0 (ở chế độ Man_1 hoặc Man_2), thực hiện chương trình con truyền giá trị đọc ở biến trở cho VXL slaver để thực hiện việc điều chỉnh xung kích α. Trường hợp kiểm tra tiếp xung mẫu, nếu lớn hơn tốc độ đặt thì giảm dữ liệu 1 đơn vị, ngược lại nhỏ hơn tốc độ đặt thì tăng dữ liệu 1 đơn vị. Sau đó quay về thực hiện chương trình con truyền dữ liệu cho slaver.

Trang 46

Page 55: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.2.4 Lưu đồ giải thuật mega 8 (slaver):3.2.4.1 Chương trình chính:

Bắt đầu chương trình sẽ kiểm tra các trạng thái hoạt động như ngõ vào enable, ngõ vào báo lỗi ngoài. Nếu có lỗi ngoài thì chương trình sẽ cấm ngắt ngoài, và báo lỗi qua đèn vàng. Nếu không có lỗi thì kiểm tra lệnh điều khiển và tín hiệu enable đã tích cực chưa. Nếu đúng thì cho phép ngắt ngoài hoạt động và báo đèn xanh (Run). Ngược lại không cho phép ngắt ngoài và tắt đèn xanh (Stop). Sau đó chu trình trở về ban đầu.

3.2.4.2 Lưu đồ xử lý tín hiệu điều khiển:

Khi nhận được tín hiệu đồng bộ sẽ làm phát sinh sự kiện ngắt ngoài. Lúc đó chương trình sẽ được xử lý: nạp dữ liệu nhận được từ VXL master vào giá trị định

Trang 47

Page 56: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

thời Timer 0 và cho chạy Timer. Tiếp theo khi có sự kiện ngắt Timer 0 thì dừng Timer và thực hiện công việc phát xung kích độ rộng 10us.

Vậy kết hợp tín hiệu đồng bộ và giá trị nhận được từ master thì slaver có thể thay đổi được độ rộng xung kích α một cách chính xác và linh hoạt.

3.3 ĐIỀU KHIỂN ĐỘNG CƠ AC 3 PHA:3.3.1 Sơ đồ khối hệ thống:Dựa trên yêu cầu thiết kế của mạch ta có thể phân tích sơ đồ ra làm các khối

chính như sau:

3.3.2 Giải thích chức năng từng khối:3.3.2.1 Source:

Chỉnh lưu và nắn tạo ra nguồn DC từ lưới điện cấp cho mạch nghịch lưu 3 pha điều khiển motor cũng như cấp nguồn cho toàn mạch hoạt động. Do phần nghịch lưu có 4 nguồn kích là độc lập nên ta phải dùng 4 nguồn cách ly để tránh hiện tượng ngắn mạch cho phần công suất.

Trang 48

Page 57: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.3.2.2 Starter:Mạch khởi động có chức năng nạp điện cho tụ trong khoảng thời gian quá độ

tránh làm hỏng mối nối NP của cầu diode khi cấp nguồn. sau đó VĐK sẽ đóng relay cấp nguồn trực tiếp cho mạch nghịch lưu để đảm bảo công suất cho tải.

R 1 9

1 0 0

C 13 3 0 U F

F 11 2

ac 2

GND

300VA C 1

A C 2 -

+ac 1

BOOT

0V

STARTER

3.3.2.3 Switching power:

Đây là bộ nghịch lưu áp bao gồm 6 mosfet IRFP460 nhận tín hiệu điều khiển từ bộ đệm 3 pha để nghịch lưu từ nguồn một chiều chỉnh lưu để tạo ra nguồn 3 pha có tần số thay đổi cấp cho motor hoạt động.

Q 5

Q 2

SWITCHING POWER

Q 4

W

Q 1

0 V

G2

G6

3 0 0 V

Q 3

V

G4 G5

Q 6

U

G1 G3

Trang 49

Page 58: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.3.2.4 3 Phase driver:Mạch gồm 6 opto cách ly phần điều khiển và phần công suất. nhận tín hiệu từ

VĐK cấp cho mạch nghịch lưu hoạt động.

R 31 0 K

R 1 51 0 K

K2

K4

V _0

U 6

4 N 3 5

R 91 K

S1

G2

K6

GNDG5GND

S4

U 2

4 N 3 5

0 _ 0

R 1 71 K

U 5

4 N 3 5

W _0

U 4

4 N 3 5

R 61 K

GND

K5

G1 R 81 0 K

S4

K1

G6

R 11 K

R 1 21 0 K

R 51 0 K

GND

S2

R 1 11 K

U 3

4 N 3 5

SWITCHING DRIVER

GND

U_0

S3

R 1 81 0 K

G3

U 1

4 N 3 5

GND

G4

R 1 41 K

S4

K3

3.3.2.5 Inductive sensor:Đây là cảm biến tiện cận loại điện cảm. Đo tốc độ động cơ thông qua các đinh

ốc bắt trên trục động cơ. Khi động cơ quay các đinh ốc quét qua mặt sensor làm ngõ ra xuất hiện xung điện áp. Tín hiệu này được cấp cho counter của VĐK để xử lý và hiển thị tốc độ lên màn hình.

3.3.2.6 3 Phase MC:Đây là VĐK ATMEGA 8 có nhiệm vụ nhận dữ liệu về tần số và chiều quay,

sau đó xuất ra 6 tín hiệu điều khiển cấp cho mạch cách li để đưa vào mạch nghịch lưu hoạt động, để tạo ra nguồn 3 pha cấp cho motor hoạt động.

Trang 50

Page 59: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

s 5

link

b7b6

b3

mos is 4

v c c

s 6

U 9

Atmega_8L

2 9

3 03 13 2

12 4

2 1

78

91 01 1

1 21 31 41 51 61 7

1 82 0

5

2 32 42 52 62 72 8

6

P C 6 (/ R S T)

P D 0 (R XD )P D 1 (TXD )P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (XC K / T0 ) V C C

G N D _ 1

(XTA L 1 / TO S C 1 )P B 6(XTA L 2 / TO S C 2 )P B 7

P D 5 (T1 )P D 6 (A I N 0 )P D 7 (A I N 1 )

(I C P 1 )P B 0(O C 1 A )P B 1

(/ S S )-O C 1 B )P B 2(M O S I / O C 2 )P B 3

(M I S O )P B 4(S C K )P B 5

A V C CA R E F

G N D

(A D C 0 )P C 0(A D C 1 )P C 1(A D C 2 )P C 2(A D C 3 )P C 3(A D C 4 / S D A )P C 4(A D C 5 / S C L )P C 5

V C C _ 1

res et_m8

b1

gnd

v c c

b8

v c c

gnd

s c k

s 2

b4

s 1

b5

b2

3 PHASES DRIVER CONTROL

mis o

s 3

3.3.2.7 Main Mc:Đây là VĐK trung tâm sử dụng ATMEGA 16 có nhiện vụ nhận và xử lý phím

nhấn, xuất thông tin hiển thị cho LCD 20 * 4, truyền thông với máy tính qua mạng MODBUS, xuất data tần số và chiều cho 3 PHASE MC, kiểm soát quạt giải nhiệt.

f f

MAIN PROCESSOR

r r

vcc

b2

vcc

up

BOOTf unc

x 2

b4

run

b1

b3

d7

adc 1

b7

ATMEGA 16

U 1 0

4

78

6

2 82 7

2 9

5

1 92 02 12 22 32 42 52 6

91 01 11 21 31 41 51 6

4 04 14 24 34 4

123

3 73 63 53 43 33 23 13 0

17 38 39 18

R S T

XTA L -2XTA L -1

GN

D

G N D 3A V C C

A R E F

VC

C

P C 0 (S C L )P C 1 (S D A )P C 2 (TK C )P C 3 (TM S )P C 4 (TD O )P C 5 (TD I )

P C 6 (TO S C 1 )P C 7 (TO S C 2 )

P D 0 (R XD )P D 1 (TXD )P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )P D 6 (I C P 1 )P D 7 (O C 2 )

P B 0 (T0 / XC K )P B 1 (T1 )P B 2 (A I N 0 / I N T2 )P B 3 (A I N 1 / O C 0 )P B 4 (/ S S )P B 5 (M O S I )P B 6 / M I S OP B 7 (S C K )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )P A 3 (A D C 3 )P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

VC

C1

VC

C2

GN

D1

GN

D2

dow n

b5

d5

rx d

s top

light

be ll

v r

in t

b6

en

res et_m16

r ts

gnd

s peed

gnd

v c c

rs

tx d

link

d4

x 1 gnd

en_f an

d6

b8

3.3.2.8 LCD 20 * 4:Màn hình tinh thể lỏng gồm 20 cột và 4 dòng. Hiển thị các thông tin trạng thái

động cơ, chiều quay, tốc độ, tần số….từ VĐK trung tâm.

d7

Q 7

1 8 1 5b

c

e

BACK LIGHTCONTROL

LCD 20*4

1234567891 01 11 21 31 41 51 6

g n dv c c

v ors

/ W Re nd 0d 1d 2d 3d 4d 5d 6d 7

ak

d5

v c c

R 1 8

1 0 K

d4

d6

gndrs

R 1 9

3 3 0

en

light

v c cgnd

gnd

Trang 51

Page 60: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.3.2.9 Key pad variable resistor:Gồm 5 phím nhấn & biến trở đển chọn mode, chỉnh tốc độ, chiều quay, đóng

mở động cơ. Khi 1 phím được nhấn tạo ra 1 ngắt trên VĐK và thông qua mức điện áp trên từng chân VĐK biết phím nhấn và xử lý lệnh của phím đó.

B 1 6

123

4

B 1 3

123

4

dow

n

FUNCTION BUTTONI N T

stop

D 8

B 1 5

123

4

D 5

run

V CC

D 9

up

D 6

B 1 4

123

4

B 1 7

123

4

R 71 0 K

func

D 7

3.3.2.10 RS 485:Đây là IC truyền thông MAX 485 nhận tín hiệu điều khiển từ VĐK trung tâm

để xác lập trạng thái thu phát cho mạch. Được kết nối với mạng Bus 485 thông qua 2 chân A, B.

v c c

U 1 3

1234 tx d

rx d

r ts

75176

A

B

VC

CG

ND

DD E

RR E

RS 485

3.3.2.11 Tem sensor:

Đây là IC cảm biến nhiệt, nó được gắn vào miếng nhôm giải nhiệt của 6 mosfet công suất. Nó có chức năng cảm biến nhiệt độ toả ra trên mosfet công suất rồi xuất ra tín hiệu điện áp cấp cho VĐK để điều khiển tốc độ quạt giải nhiệt theo phương pháp PWM, giúp hệ thống hoạt động tối ưu hơn.

R 2 52 . 2 K

V CC

G N D

U 9L M 3 3 5

V R 11 0 K

TE M

Trang 52

Page 61: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.3.2.12 Cooling MC:Đây là VĐK TINY 13 nhận trực tiếp tín hiệu áp từ cảm biến nhiệt độ sau đó

điều khiển quạt giải nhiệt DC bằng phương pháp điều rộng xung PWM để tối ưu hoá việc giải nhiệt cho hệ thống.

GND

V CC

TEM EN_FA N

COOLINGCONTROL

FA N_OUT

U 1 5

TI N Y 1 3

1234 5

678

P B . 5P B . 3P B . 4G N D P B . 0

P B . 1P B . 2V C C

3.3.2.13 Fan driver:Đây là transistor công xuất nhận tín hiệu từ VĐK Tiny 13 lái cho quạt DC hoạt

động.

15V

SO

CK

ET

_2

1

2

FA N Q 71 8 1 5

COOLING DRIVER

3.3.2.14 DC motor & 3phase motor:

Trang 53

Page 62: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.3.3 Sơ đồ mạch của hệ thống:3.3.3.1 Sơ đồ nguyên lý mạch xử lý:

b7

x 1

CHIP PROGRAMMING

ligh t

V CC

vcc

BACK LIGHTCONTROL

gnd

SEN

FA N_OUT

POWERLED

r r

link

s 1

GND

gnd

I N T

b1

R 3

5 6 0

D 9

R 1

5 6 0

d5

V R 11 0 K

gnd

k2

EXTERNAL DIRECT CONTROL

gnd

s 1

gnd

U 1 6

gnd

R 1 8

1 0 K

bell

V CC

D 6

gnd

f unc

adc 2res et_m16

FA N_OUT

s 3

func

ATMEGA

16

U 1 0

4

78

6

2 82 7

2 9

5

1 92 02 12 22 32 42 52 6

91 01 11 21 31 41 51 6

4 04 14 24 34 4

123

3 73 63 53 43 33 23 13 0

17 38 39 18

R S T

XTA L -2XTA L -1

GND

G N D 3A V C C

A R E F

VCC

P C 0 (S C L )P C 1 (S D A )P C 2 (TK C )P C 3 (TM S )P C 4 (TD O )P C 5 (TD I )

P C 6 (TO S C 1 )P C 7 (TO S C 2 )

P D 0 (R XD )P D 1 (TXD )P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )P D 6 (I C P 1 )P D 7 (O C 2 )

P B 0 (T0 / XC K )P B 1 (T1 )P B 2 (A I N 0 / I N T2 )P B 3 (A I N 1 / O C 0 )P B 4 (/ S S )P B 5 (M O S I )P B 6 / M I S OP B 7 (S C K )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )P A 3 (A D C 3 )P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

VCC1

VCC2

GND1

GND2

res et_m16

en_f an

D 8

s 4

b2

r ts

gnd

b6

mis o

d5

v c c

rx d

en

R 1 1

5 6 0

OSC

gnd

R 9

5 6 0

S K 4

SOCKET_16

12345678 9

1 01 11 21 31 41 51 6

in t

res ev er

run

runK3

12V

gnd

B 1 7

123

4

GND

gnd

R 71 0 K

RS 485

b4

d7

R 1 2

1 0 K

R 1 65 6 0

d4

V CC

K1

v c c

12V

v c c

d6

12v

D 7

s 2

v c c

U 1 5

TI N Y 1 3

1234 5

678

P B . 5P B . 3P B . 4G N D P B . 0

P B . 1P B . 2V C C

COOLINGCONTROL

r ts

SPEED SENSOR TO MC

mis o

s 3

k5s p e e d

r ts

dow n

b3

v c c

GND

R 1 0

1 K

tx d

s top

v c c

b7

B 1 6

123

4

3 PHASES DRIVER CONTROL

12v

B 1 2+-

vcc

x 2s 6

rx d

CHIP PROGRAMMING

mos i

R 2

5 6 0

R 8

2 . 2 K

b5

U 1 3

1234

BUZZER

res ev er

MAIN PROCESSOR

d7

Q 7

1 8 1 5b

c

e

K4

b8

L E D 2

R 6

5 6 0

s 5

rs

gnd

L E D 1

L E D

ligh t

BOOT

stop

R 1 4

1 K

adc 1

FA N

R R

GND

R 1 9

3 3 0

b3

R 1 55 6 0

Z 13 . 6 V

b2

rs

B 1 3

123

4

b1

B 1 4

123

4

SPEED SELECTING

gnd

socket

_5

S K 6

C H I P P R O G R A M M I N G

K2

tx d

C 1 3

adc 1

gnd

U 1 4

K5

b4

s 4

TEM res et_m8k1

link

s c k

down

F F

V CC

res et_m8 d7

x 2

d5

k4

L E D 3

en

EN_FA N

b5

U 1 7

LINK SOCKET

s 5

s 2

s en

D 5

FUNCTION BUTTON

V CC

v c c

f orw ard

U 9

Atmega

_8L

2 9

3 03 13 2

12 4

2 1

78

91 01 1

1 21 31 41 51 61 7

1 82 0

5

2 32 42 52 62 72 8

6

P C 6 (/ R S T)

P D 0 (R XD )P D 1 (TXD )P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (XC K / T0 ) V C C

G N D _ 1

(XTA L 1 / TO S C 1 )P B 6(XTA L 2 / TO S C 2 )P B 7

P D 5 (T1 )P D 6 (A I N 0 )P D 7 (A I N 1 )

(I C P 1 )P B 0(O C 1 A )P B 1

(/ S S )-O C 1 B )P B 2(M O S I / O C 2 )P B 3

(M I S O )P B 4(S C K )P B 5

A V C CA R E F

G N D

(A D C 0 )P C 0(A D C 1 )P C 1(A D C 2 )P C 2(A D C 3 )P C 3(A D C 4 / S D A )P C 4(A D C 5 / S C L )P C 5

V C C _ 1

C 1 4

v r

b8

k6

V CC

FA NBOOT

d6

s 6

B 1 5

123

4

TERMINAL

s peed

f f

k3

R 5

5 6 0

v c c

TEMLCD 20*4

1234567891 01 11 21 31 41 51 6

g n dv c c

v ors

/ W Re nd 0d 1d 2d 3d 4d 5d 6d 7

ak

v r

s c k

x 1

up

R 1 3

1 K

R 4

5 6 0

gnd

up

socket

_5

S K 5

C H I P P R O G R A M M I N G

mos i

K6

G N D

S K 1

1234567

1234567

b6

d6

v c c

f orw ard

CONNECTLED

R 1 72 . 2 K

bell

V CC

d4

X1

75176

A

B

VCC

GND

DD E

RR E

Trang 54

Page 63: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.3.3.2 Sơ đồ nguyên lý mạch công suất:

Trang 55

Page 64: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

V

R 31 0 K

R 1 51 0 K

K2

K4

V _0

R 2 52 . 2 K

U 6

4 N 3 5

R 91 K

V CC

S1

S4

D 2

L

Q 5

Q 2

SWITCHING POWER

K5

C 7

1 U F

C 21 U F

G2

A C 1

A C 2 -

+12V

v

Q 4

K6

GNDG5

W

0 _ 0

C 9

Q 1

GND

S4

U 2

4 N 3 5

V CC

0 _ 0

K4

G2

R 1 71 K

U

G N D

U 5

4 N 3 5

15V

W _0

U 4

4 N 3 5

R 61 K

GND

C 51 U F

K A 7 8 1 2

V I N

GND

V O U T

D 3

G6

V CC

S3

3 0 0 V

R 1 9

1 0 0

C 13 3 0 U F 3 PHASES MOTOR

V _ 0

F 11 2

Q 3

K5

K6

G1

ac 2

GND

R 81 0 K

GND

S4

w

K21 5 V

C 1 1

K3

K1

G6

V

LINK CONNECTOR

R 11 K

R 1 21 0 K

300V

TEM

R 51 0 K

0V

G4

SOCKET_16

12345678 9

1 01 11 21 31 41 51 6

DC POWER SUPPLIER

S1

C 61 U F

1 2 V

A C 1

A C 2 -

+

SOCKET_2

1

2

M~

BOOT

GND

S2

R 1 11 K

C 8

ac 1

U 3

4 N 3 5

SWITCHING DRIVER

GND

U 9L M 3 3 5

G5

W

C 31 U F

BOOT

0V

W _ 0

C 1 0

FA N Q 71 8 1 5

COOLING DRIVER

GND

U_0

Q 6

S3

FA N

uU _ 0

R 1 81 0 K

STARTER

V R 11 0 K

V CC

G3

U

N

U 1

4 N 3 5

GND

0 V

TEMPORATURE SENSOR

12V

S2

D 4

G1

G4

D 1

R 1 41 K

S4

K3

GND

C 41 U F

K A 7 8 0 5

V I N

GND

V O U T

G3

K1

TE M

C 1 31 U F

3.3.4 Lưu đồ giải thuật hệ thống:3.3.4.1 Lưu đồ giải thuật VĐK trung tâm:

Trang 56

Page 65: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.3.4.1.1 Chương trình chính: - Khi khởi động chương trình sẽ thiết lập các thông số như port, LCD, timer,

ADC, truyền thông, watchdog. Sau đó chương trình sẽ tích cực mạch starter thông qua relay và quạt giải nhiệt thông qua VĐK điều khiển quạt.

- Thông qua phím mode trên panel ta có thể chọn mode cho chương trình để xác lập một trạng thái hoạt động gồm 3 mode như: manual, comunucation, infomation (mặc định là mode manual). Sau đây là hoạt động của từng mode riêng biệt.

Manual: khi ở mode này chương trình sẽ lấy mẫu ADC của biến trở để xác định tần số cài đặt từ (0-250). Ngoài ra ta cũng có thể chỉnh tần số qua hai phím UP, DOWN đảo chiều động cơ qua phím DIRECT và phím RUN/STOP để cho phép động cơ chạy. khi đó màn hình sẽ hiện thông số tần số cài đặt và tốc độ đo được từ sensor.

Communication: khi ở mode này chương trình cho phép bộ thu phát không đồng bộ hoạt động và cấm các phím trên panel trừ phím MODE để trở về trạng thái manual. Chương trình sẽ đáng ứng những yêu cầu của phần mềm SCADA thông qua cổng truyền thông 485 và giao thức MODBUS. Lúc này INVERTER sẽ hoạt động dưới sự điều khiển và giám sát của phầm mềm SCADA.

Information: mode này có nhiện vụ thể hiện các thông tin cơ bản của một INVERTER.

3.3.4.1.2 Chương trình ngắt:

Trang 57

Page 66: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

- Khi một ngắt được phát hiện chương trình chính sẽ tạm ngừng và thực thi chương trình ngắt tuỳ thuộc vào loại ngắt nào được phát hiện. Chẳng hạn khi ta nhấn 1 phím trên panel sẽ tạo ra một ngắt ngoài, thông qua mức logic trên mỗi chân VĐK mà chương trình xác định được phím nào đã được nhấn mà thực thi chương trình tương ứng.Tương tự như thế khi ngắt truyền thông xảy ra do bộ đệm nhận nhận được 1 byte chương trình sẽ thực thi để kiểm tra tính hợp lệ của khung truyền theo chuẩn MODBUS rồi thực thi theo yêu cầu của phần mềm SCADA thông qua từng gói lệnh. Đồng thời khi chương trình chạy ngắt từ timer1 cũng phát ra liên tục để lấy kết quả tốc độ động cơ sau mỗi 600ms. Ngoài ra chương trình còn sử dụng watchdog để phần cứng tự reset khi chương trình bị treo với chu kỳ 2s.

3.3.4.2 Lưu đồ giải thuật VĐK 3 pha:

3.3.4.2.1 Chương trình chính:- Khi khởi động chương trình sẽ cấu hình port, timer, watchdog, ADC rồi đọc

thông số tần số từ VĐK trung tâm thông qua port. Chương trình sẽ phân tần số nhận được ra làm 3 mức:

Mức 0 khi tần số nhận được bằng 0 lúc này ngõ ra port cấp cho mạch cách li sẽ bị khoá xem như động cơ không hoạt động.

Trang 58

Page 67: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

Mức 0< tần số <40 chương trình sẽ cài cho timer1 thời gian tương ứng với tần số nhận được và timer2 là tần số băm có nhiệm vụ băm điện áp ngõ ra để tăng cảm kháng cho motor tránh làm hỏng motor.

Mức >=40 chương chình chỉ cài thông số cho timer1 hoạt động theo tần số đã cài đặt.

3.3.4.2.2 Chương trình ngắt:- Khi một ngắt được phát hiện chương trình chính sẽ tạm ngừng và thực thi chương trình ngắt tuỳ thuộc vào loại ngắt nào được phát hiện. trong chương trình sử dụng 2 ngắt timer để định thời xuất tín hiệu ngõ ra điều khiển phần công suất và watchdog để reset cứng khi chương trình treo.o Ngắt timer1: khi nhận được tần số, chương trình sẽ cài cho timer1 tần số

thích hợp, để định thời cho từng chu kỳ thay đổi trạng thái theo sơ đồ kích của các khóa công suất.

o Ngắt timer2: khi tần số nhận được nhỏ hơn 40 timer2 được cho phép hoạt động và cài thời gian cố định để băng điện áp ngõ ra tăng cảm kháng bảo vệ motor.

3.3.4.3 Lưu đồ giải thuật VĐK làm mát:

- Khi khởi động chương trình sẽ cấu hình port, ADC và đợi tín hiệu cho phép

hoạt động từ VĐK trung tâm. Khi đã được hoạt động chương trình sẽ lấy mẫu ADC liên tục và nhận giá trị nhiệt độ mỗi chu kỳ quét thông qua cảm biến nhiệt LM355. Tương ứng với mỗi giá trị nhiệt độ nhận được chương trình sẽ điều rộng xung tương ứng để thay đổi tốc độ quạt DC làm mát cho các mosfet công suất.

Trang 59

Page 68: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.4 THIẾT KẾ GIAO DIỆN HMI ĐIỀU KHIỂN & GIÁM SÁT HỆ THỐNG:

3.4.1 Màn hình đăng nhập:

*: Ô đăng nhập passworld

OKOK

: Nút OKĐối tượng được lấy trong thư viện có sẵn trong WinCC theo đường dẫn Global

Library/Displays/Text Fields/Text.Màn hình đăng nhập có nhiệm vụ để bảo mật hệ thống. Chỉ khi nhập đúng

password đã được cài đặt trước mới cho phép người dùng vào trang màn hình điều khiển chính.

Trang 60

Page 69: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

3.4.2 Màn hình điều khiển:

3.4.2.1 Giao diện giám sát, điều khiển động cơ AC 1 pha:

Đối tượng được lấy trong thư viện có sẵn trong WinCC theo đường dẫn Global Library/ Operation/ Controller/DR21.

Giao diện có chức năng điều khiển và hiển thị ở cả 2 chế độ Auto và Man. Ngoài ra còn có chức năng thông báo lỗi mất kết nối và lỗi phát sinh trong quá trình hoạt động của mạch.

Chức năng của các thành phần trong màn hình:

: Hiển thị trạng thái kết nối với thiết bịThông báo cho người sử dụng biết trạng thái kết nối của thiết bị với hệ thống.

Đèn ở trạng thái chớp báo hiệu kết nối tốt, ngược lại nếu mất kết nối đèn sẽ ở trạng thái tắt.

:Thông báo tình trạng kết nối

Trang 61

Page 70: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

Cũng có mục đích báo cho người sử dụng biết tình trạng kết nối của thiết bị dưới dạng văn bản. Khi kết nối sẽ hiển thị “Connected”, ngược lại sẽ báo “Disconnected”. Làm cho hệ thống trở nên sinh động và trực quan hơn.

: Thang báo nhiệt độHiển thị thông tin nhiệt độ hoạt động của mạch dưới dạng mức.

: Hiển thị nhiệt độ dưới dạng sốHiển thị thông tin nhiệt độ dưới dạng số.

: Điều khiển Start/Stop và hiển thị trạng thái đang hoạt độngChức năng chính là điều khiển trạng thái run/stop của hệ thống. Đồng thời cũng

hiển thị trạng thái đang hoạt động hiện tại của mạch giúp cho việc giám sát thuận lợi hơn. Trạng thái màu vàng chỉ ra hệ thống đang ở chế độ stop, còn trạng thái màu cam chỉ ra hệ thống đang ở chế độ run.

: Điều khiển Auto/Man và hiển thị trạng thái đang hoạt độngChức năng chính là thiết lập chế độ hoạt động của hệ thống. Có 2 trạng thái

thiết lập là Auto (trạng thái màu cam) và Man (trạng thái màu vàng). Ở trạng thái Auto người sử dụng có thể nhập thông số tốc độ vào ô bên dưới để thiết lập trạng thái chạy ổn định ở tốc độ đó. Còn ở chế độ Man người sử dụng chỉ có quyền giám sát hệ thống đang hoạt động ở mức bao nhiêu phần trăm tải (thông số này chỉ được phép thay đổi bằng biến trở trên mạch).

: Hiển thị thông số cài đặt ở chế độ Auto/Man. Ngoài ra có thể thay đổi thông số cài đặt xuống thiết bị khi ở chế độ Auto.

Có chức năng hiển thị thông số tốc độ được cài đặt (ở chế độ Auto) và hiển thị mức độ hoạt động theo phần trăm (ở chế đột Man). Có thể thay đổi thông số tốc độ cài đặt khi nhập vào ô hiển thị. Thông số cài đặt sẽ được truyền xuống VXL và được lưu vào bộ nhớ EEPROM phòng ngừa việc mất dữ liệu cài đặt khi mất nguồn.

: Hiển thị tốc độ thiết bị ở trạng thái hiện tạiHiển thị thông số tốc độ hiện tại của motor. Được tính theo đơn vị rpm

(revolutions per minute).

: Thông báo lỗi ở thiết bị. Trong suốt quá trình hoạt động của hệ thống, những trạng thái cũng như lỗi phát

sinh đều được đưa về hiển thị. Chức năng này rất hữu ích cho người giám sát, giúp biết được tình trạng hoạt động hiện tại cũng như thông báo những sự cố khi hệ thống bị hỏng. Bảng thông báo bao gồm:

Trang 62

Page 71: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

-No alarm: hệ thống hoạt động bình thường.-Stop by Master: hệ thống được dừng bởi nhấn phím stop.-Stop by Slaver: hệ thống được dừng bởi tín hiệu điều khiển enable bên

ngoài.-Master I2C: lỗi phát sinh ở VXL master xảy ra trong quá trình giao tiếp với

VXL slaver như: sai địa chỉ slaver, không có tín hiệu trả lời từ slaver, master nhận sai dữ liệu.

-Slaver I2C: lỗi phát sinh ở VXL slaver xảy ra trong quá trình giao tiếp với VXL master như: nhận sai dữ liệu, mất dữ liệu nhận, không có tín hiệu trả lời từ master.

-External Trouble: sự cố xảy ra ở thiết bị, đường mạch vít rơlay nhiệt bị hở do thiết bị quá nóng.

-I2C busy: báo trạng thái bận trên đường truyền I2C (đường truyền chưa sẵn sàng). Nguyên nhân có thể hư VXL master hoặc slaver.

-Overheat: báo quá nhiệt ở phần công suất. Sensor cảm biến nhiệt sẽ kiểm soát hoạt động này, tránh cho mạch hoạt động quá tải.

-EEProm writed: đang lưu dữ liệu cài đặt vào EEProm, tránh việc mất thông số cài đặt khi mất nguồn. Giúp cho hệ thống hoạt động tối ưu hơn.

-EEProm readed: đọc dữ liệu cài đặt từ EEProm, thực hiện mỗi khi khởi động hệ thống.

Giao diện giám sát, điều khiển động cơ AC 3 pha:

Giao diện có chức năng điều khiển, hiển thị tốc độ và thay đổi chiều quay động cơ. Bên cạnh đó cũng thông báo trạng thái kết nối với thiết bị.

Trang 63

Page 72: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

Đồng hồ hiển thị tốc độ động cơ.

CB đóng cắt điều khiển động cơ chạy hay dừng.

Công tắt đảo chiều quay động cơ

Icon hiển thị trạng thái hoạt động của động cơ.

Slider cài đặt tốc độ cho động cơ.

Icon hiển thị trạng thái kết nối PC với thiết bị.

Trang 64

Page 73: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần III: Thi Công Đề Tài

Biểu đồ hiển thị tốc tộ động cơ theo thời gian thực.

Thông số tốc độ của 2 mạch điều khiển được biểu diễn đồng thời trên đồ thị ứng với thời gian thực. Chức năng đồ thị có thể biểu diễn đồng thời nhiều thông số cùng một thời điểm. Ngoài ra còn có chức năng in ấn, phóng to thu nhỏ rất thuận tiện cho việc giám sát và báo cáo

Trang 65

Page 74: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần IV: Kết Luận

Phần IV:KẾT LUẬN

Qua thời gian thực hiện đề tài dưới sự hướng dẫn của thầy TRẦN VĂN TRINH cùng sự giúp đỡ của quý thầy cô trong Khoa điện tử nên nhóm đã hoàn thành đồ án theo đúng yêu cầu và thời gian qui định. Trong đồ án nhóm đã thực hiện được những công việc sau:

Phần lý thuyết: - Nghiên cứu các phương pháp điều khiển động cơ 1,3 pha.- Khảo sát vi xử lý và các IC sử dụng trong mạch.- Khảo sát chuẩn truyền thông 485 và giao thức MODBUS.- Khảo sát phần mềm WINCC .

Thi công phần cứng: - Mạch điện điều khiển và giám sát động cơ AC 1 pha.- Mạch điện điều khiển và giám sát động cơ AC 3 pha.- Mạch điện chuyển đổi RS232-RS485.

Phần mềm - Viết chương trình cho các vi điều khiển họ AVR dùng ngôn ngữ

cấp cao C và BASIC.- Thiết kế giao diện giám sát điều khiển qua phần mềm WINCC.

Kết quả thực tế đạt được so với nội dung đề tài yêu cầu:

- Mạch hoạt động như ý đồ thiết kế.- Truyền thông giữa hệ thống và thiết bị chính xác, tin cậy.- Tần số ngõ ra rộng (0-250 hz).- Động cơ chạy ổn định.

Mặt hạn chế:

- Đồ thị hiển thị tốc độ còn chưa tinh do phần mềm WINCC không cho lấy mẫu với tần suất cao.

- Mạch điều khiển động cơ AC 1 pha phải chỉnh lại thông số giới hạn cho góc kích α theo góc pha φ mỗi khi thay tải khác. Nhằm tránh hiện tượng hoạt động như mạch chỉnh lưu như trình bày ở lý thuyết. Đặc điểm của mạch hoạt động còn phụ thuộc nhiều vào tải.

- Biến tần mới điều khiển được tốc độ chưa điều khiển được điện ápnên moment thay đổi theo tần số..

Trang 65

Page 75: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

PHẦN PHỤ LỤC

Một số hình ảnh đề tài:

Trang 66

Page 76: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

Chương trình trên Mega 16 (1-pha)./*****************************************************This program was produced by theCodeWizardAVR V1.25.9 ProfessionalAutomatic Program Generator© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.http://www.hpinfotech.com

Project : Version : Date : 12/30/2008Author : F4CG Company : F4CG Comments:

Chip type : ATmega16Program type : ApplicationClock frequency : 8.000000 MHzMemory model : SmallExternal SRAM size : 0Data Stack size : 256*****************************************************/

#include <mega16.h>#include <lcd.h>#include <delay.h>#include <stdio.h>#include <CRC16.h>#include <EEPROM.h> // Alphanumeric LCD Module functions#asm .equ __lcd_port=0x18 ;PORTB#endasm

#define LIGHT PORTB.3#define CONTROL_485 PORTD.4

#define F_XTAL 8000000L#define INIT_TIMER0 TCNT0=0x100L-F_XTAL/1024L/500L#define ADC_VREF_TYPE 0x00#define KEYIN PINC

#define RXB8 1#define TXB8 0#define UPE 2#define OVR 3#define FE 4#define UDRE 5#define RXC 7

#define FRAMING_ERROR (1<<FE)#define PARITY_ERROR (1<<UPE)#define DATA_OVERRUN (1<<OVR)#define DATA_REGISTER_EMPTY (1<<UDRE)#define RX_COMPLETE (1<<RXC)

#define SL_ADD 3

// USART Receiver buffer#define RX_BUFFER_SIZE 8

Trang 67

Page 77: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

unsigned char rx_buffer[RX_BUFFER_SIZE];#if RX_BUFFER_SIZE<256unsigned char rx_wr_index,rx_rd_index,rx_counter;#elseunsigned int rx_wr_index,rx_rd_index,rx_counter;#endif

// USART Transmitter buffer#define TX_BUFFER_SIZE 15unsigned char tx_buffer[TX_BUFFER_SIZE];#if TX_BUFFER_SIZE<256unsigned char tx_wr_index,tx_rd_index,tx_counter;#elseunsigned int tx_wr_index,tx_rd_index,tx_counter;#endif

#define TWINT 7#define TWSTA 5#define TWSTO 4#define TWEN 2#define TWEA 6#define TWIE 0#define START 0x08#define REPEATED_START 0x10#define SL_SLA_ACK 0x18#define SL_R_SLA_ACK 0x40#define SL_DATA_ACK 0x28#define MT_DATA_ACK 0x80#define MT_R_DATA_ACK 0x58#define SL_1 0x04

unsigned char getchar(void);void putchar(char);void i2c_transmit(unsigned char,unsigned char,unsigned char);

char mode[5][10]={"Run","Stop","Auto","Man_1","Man_2"};char message[11][21]={"***** No Alarm *****","** Stop By Master **","** Stop By Slaver **","**** Master I2c ****","**** Slaver I2c ****","* External Trouble *","***** I2c Busy *****","***** Overheat *****","** Load Not Ready **","** EEPROM Writed **","** EEPROM Readed **"};unsigned char a=1,b=2,d,e,t2,repeat,speed_hi,speed_lo,set_speed_hi,set_speed_lo,keys,temp,temp_1,temp_2,lcd_buffer[4][21];unsigned int c,f,clk,speed,set_speed=240,sample,var;unsigned int hold_time;unsigned char status,error,error_1,error_2;

// External Interrupt 0 service routineinterrupt [EXT_INT0] void ext_int0_isr(void){// Place your code here ++clk; ++sample;}

// External Interrupt 1 service routineinterrupt [EXT_INT1] void ext_int1_isr(void){// Place your code here GICR=0x40; INIT_TIMER0; TCCR0=0x05; }

Trang 68

Page 78: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

// USART Receiver interrupt service routineinterrupt [USART_RXC] void usart_rx_isr(void){unsigned char status,data;status = UCSRA;data = UDR;if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { if ((data == SL_ADD) && (rx_counter == 0)) { rx_buffer[rx_wr_index=0]=data; ++rx_wr_index; ++rx_counter; } else if (((rx_buffer[1] == 4) || (rx_buffer[1] == 5) || (rx_buffer[1] == 6)) && (rx_buffer[0] == SL_ADD)) { rx_buffer[rx_wr_index]=data; if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; CRC16(rx_buffer,6); if ((CRCHi == rx_buffer[6]) && (CRCLo == rx_buffer[7])) { //UART transmit switch (rx_buffer[1]) { case 4: putchar(rx_buffer[0]); putchar(rx_buffer[1]); putchar(10); set_speed_hi=set_speed >> 8; set_speed_lo=set_speed & 0x00ff; putchar(set_speed_hi); putchar(set_speed_lo); putchar(0); putchar(var); speed_hi=speed >> 8; speed_lo=speed & 0x00ff; putchar(speed_hi); putchar(speed_lo); putchar(0); putchar(temp); putchar(0); error_2=error; if (a==0) error_2 |=0x10; if (b==2) error_2 |=0x20; putchar(error_2); CRC16(tx_buffer,13); putchar(CRCHi); putchar(CRCLo); break; case 5: switch (rx_buffer[3]) { case 0: a=rx_buffer[4]+1; if (a==0) error_1=0; break; case 1: b=rx_buffer[4]+3; break; }; break; case 6:

Trang 69

Page 79: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

switch (rx_buffer[3]) { case 2: set_speed_hi = rx_buffer[4]; set_speed_lo = rx_buffer[5]; set_speed = ((unsigned int)set_speed_hi << 8 | set_speed_lo); EEPROM_write(0x10,set_speed_hi); EEPROM_write(0x11,set_speed_lo); lcd_gotoxy(0,3); lcd_puts(message[9]); delay_ms(2000); break; }; break; }; } else goto reset; }; } else if (((data == 4) || (data == 5) || (data == 6)) && (rx_counter == 1)) { rx_buffer[1]=data; ++rx_wr_index; ++rx_counter; } else if (data != SL_ADD) goto reset; }else { reset: rx_counter=0; rx_buffer[0]=0; rx_buffer[1]=0; }; }

#ifndef _DEBUG_TERMINAL_IO_// Get a character from the USART Receiver buffer#define _ALTERNATE_GETCHAR_#pragma used+unsigned char getchar(void){unsigned char data;data=rx_buffer[rx_rd_index];if(++rx_rd_index==RX_BUFFER_SIZE) rx_rd_index=0; return data;}#pragma used-#endif

// USART Transmitter interrupt service routineinterrupt [USART_TXC] void usart_tx_isr(void){ if (--tx_counter) UDR=tx_buffer[++tx_rd_index]; else { CONTROL_485=0; UCSRB=0xD0; }; }

#ifndef _DEBUG_TERMINAL_IO_// Write a character to the USART Transmitter buffer

Trang 70

Page 80: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

#define _ALTERNATE_PUTCHAR_#pragma used+void putchar(char c){ tx_buffer[tx_wr_index]=c; if (++tx_wr_index==TX_BUFFER_SIZE) tx_wr_index=0; if (++tx_counter==TX_BUFFER_SIZE) { UCSRB=0xC8; CONTROL_485=1; UDR=tx_buffer[tx_rd_index=0]; };}#pragma used-#endif

// Read the AD conversion resultunsigned int read_adc(unsigned char adc_input){hold_time=0;ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);// Delay needed for the stabilization of the ADC input voltagedelay_us(10);// Start the AD conversionADCSRA|=0x40;// Wait for the AD conversion to completewhile ((ADCSRA & 0x10)==0){ if (++hold_time==250) goto end;};end:ADCSRA|=0x10;return ADCW;}

// Timer 0 overflow interrupt service routine// TIMER 0 interrupt at every 2 msinterrupt [TIM0_OVF] void timer0_ovf_isr(void){// Place your code herestatic unsigned char key_pressed_counter=4;static unsigned char key_released_counter;static unsigned char row_data,crt_key; row_data=0;row_data|=~KEYIN&0xf8; if (row_data==0) { key_pressed_counter=4; TCCR0=0x00; GICR=0xC0; }; if (key_released_counter) --key_released_counter; else { if (--key_pressed_counter==2) crt_key=row_data; else { if (row_data!=crt_key) { key_pressed_counter=3; key_released_counter=0; goto end_key; };

Trang 71

Page 81: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

if (!key_pressed_counter) { switch (keys=row_data) { case 0x80: switch (++a) { case 1: error_1=1;break; case 2: a=0;error_1=0;e=210;break; } i2c_transmit(SL_1,a,c=210); break; case 0x40: if(++b==5) b=2; break; case 0x20: switch (b) { case 0x02: if(++set_speed==2433U) set_speed=240; break; } break; case 0x10: switch (b) { case 0x02: if(--set_speed==239U) set_speed=2432U; break; } break; case 0x08: set_speed_hi=set_speed >> 8; set_speed_lo=set_speed & 0x00ff; EEPROM_write(0x10,set_speed_hi); EEPROM_write(0x11,set_speed_lo); lcd_gotoxy(0,3); lcd_puts(message[9]); delay_ms(2000); break; }; keys=0; key_released_counter=3; key_pressed_counter=4; }; }; }; end_key: row_data=0;}

// Timer 1 overflow interrupt service routine// TIMER 1 interrupt at every 2.5 sinterrupt [TIM1_OVF] void timer1_ovf_isr(void){// Reinitialize Timer 1 value 2.5s TCNT1H=0xB3; TCNT1L=0xB4; // Place your code here speed=clk*8; clk=0; temp_2=(read_adc(0)*4.8828125)/10-273.15; if (temp_1==temp_2) repeat++; else temp_1=temp_2; if (repeat==1) {

Trang 72

Page 82: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

repeat=0; temp=temp_2; if (temp>=60) { a=1; error_1=7; }; } else repeat=0;}

// Timer 2 overflow interrupt service routine// TIMER 2 interrupt at every 300 msinterrupt [TIM2_OVF] void timer2_ovf_isr(void){// Place your code here if (++t2==9) { if(b==2) { if (sample*200<set_speed*3)++e; else if (sample*200>set_speed*3)--e; if (e==231) e=230; if (e==206) e=207; c=e; }; sample=0; i2c_transmit(SL_1,a,c); t2=0; }; }

//TWI transmit-receive void i2c_transmit(unsigned char SLA_W,unsigned char DATA_1,unsigned char DATA_2){ hold_time=0; TWCR=(1<<TWINT) | (1<<TWSTA) | (1<<TWEN); while (!(TWCR & (1<<TWINT))) { if (++hold_time==350) goto end_transmit; }; if (((status=TWSR) & 0xF8) !=START) error_1=6; TWDR=SLA_W; TWCR=(1<<TWINT) | (1<<TWEN); while (!(TWCR & (1<<TWINT))) { if (++hold_time==350) goto end_transmit; }; if (((status=TWSR) & 0xF8) != SL_SLA_ACK) error_1=4; TWDR=DATA_1; TWCR=(1<<TWINT) | (1<<TWEN); while (!(TWCR & (1<<TWINT))) { if (++hold_time==350) goto end_transmit; }; if (((status=TWSR) & 0xF8) !=SL_DATA_ACK) error_1=4; TWDR=DATA_2; TWCR=(1<<TWINT) | (1<<TWEN); while (!(TWCR & (1<<TWINT))) { if (++hold_time==350) goto end_transmit; };

Trang 73

Page 83: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

if (((status=TWSR) & 0xF8) !=SL_DATA_ACK) error_1=4; TWCR=(1<<TWINT) | (1<<TWSTA) | (1<<TWEN); while (!(TWCR & (1<<TWINT))) { if (++hold_time==350) goto end_transmit; }; if (((status=TWSR) & 0xF8) !=REPEATED_START) error_1=6; TWDR=(SLA_W | 0x01); TWCR=(1<<TWINT) | (1<<TWEN); while (!(TWCR & (1<<TWINT))) { if (++hold_time==350) goto end_transmit; }; if (((status=TWSR) & 0xF8) != SL_R_SLA_ACK) error_1=4; TWCR=(1<<TWINT) | (1<<TWEN); while (!(TWCR & (1<<TWINT))) { if (++hold_time==350) goto end_transmit; }; if (((status=TWSR) & 0xF8) != MT_R_DATA_ACK) error_1=4; d=TWDR; end_transmit: TWCR=(1<<TWINT) | (1<<TWEN) | (1<<TWEA) | (1<<TWSTO); }

void main(void){// Declare your local variables here

// Input/Output Ports initialization// Port A initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;DDRA=0x00;

// Port B initialization// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=0 State2=T State1=T State0=T PORTB=0x00;DDRB=0x08;

// Port C initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=P State6=P State5=P State4=P State3=P State2=P State1=T State0=T PORTC=0xFC;DDRC=0x00;

// Port D initialization// Func7=Out Func6=Out Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In // State7=0 State6=0 State5=0 State4=0 State3=T State2=T State1=T State0=T PORTD=0x00;DDRD=0xF0;

// Timer/Counter 0 initialization// Clock source: System Clock// Clock value: Timer 0 Stopped// Mode: Normal top=FFh// OC0 output: DisconnectedTCCR0=0x00;TCNT0=0x00;OCR0=0x00;

Trang 74

Page 84: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

// Timer/Counter 1 initialization// Clock source: System Clock// Clock value: 7.813 kHz// Mode: Normal top=FFFFh// OC1A output: Discon.// OC1B output: Discon.// Noise Canceler: Off// Input Capture on Falling Edge// Timer 1 Overflow Interrupt: On// Input Capture Interrupt: Off// Compare A Match Interrupt: Off// Compare B Match Interrupt: OffTCCR1A=0x00;TCCR1B=0x05;TCNT1H=0xB3;TCNT1L=0xB4;ICR1H=0x00;ICR1L=0x00;OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;

// Timer/Counter 2 initialization// Clock source: System Clock// Clock value: 7.813 kHz// Mode: Normal top=FFh// OC2 output: DisconnectedASSR=0x00;TCCR2=0x07;TCNT2=0x00;OCR2=0x00;

// External Interrupt(s) initialization// INT0: On// INT0 Mode: Falling Edge// INT1: On// INT1 Mode: Falling Edge// INT2: OffGICR|=0xC0;MCUCR=0x0A;MCUCSR=0x00;GIFR=0xC0;

// Timer(s)/Counter(s) Interrupt(s) initializationTIMSK=0x45;

// USART initialization// Communication Parameters: 8 Data, 1 Stop, No Parity// USART Receiver: On// USART Transmitter: On// USART Mode: Asynchronous// USART Baud Rate: 19200UCSRA=0x00;UCSRB=0xD0;UCSRC=0x86;UBRRH=0x00;UBRRL=0x19;

// Analog Comparator initialization// Analog Comparator: Off// Analog Comparator Input Capture by Timer/Counter 1: OffACSR=0x80;

Trang 75

Page 85: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

SFIOR=0x00;

// ADC initialization// ADC Clock frequency: 62.500 kHz// ADC Voltage Reference: AREF pin// ADC Auto Trigger Source: NoneADMUX=ADC_VREF_TYPE & 0xff;ADCSRA=0x87;

// 2 Wire Bus initialization// Generate Acknowledge Pulse: On// 2 Wire Bus Slave Address: 01h// General Call Recognition: Off// Bit Rate: 250.000 kHzTWSR=0x00;TWBR=0x08;TWAR=0x02;TWCR=0x45;

// LCD module initializationLIGHT=1;if (lcd_init(20)!=0){// The LCD is present lcd_putsf(" LCD connected ");}else{// The LCD is not present lcd_putsf(" LCD disconnected ");};delay_ms(2500); set_speed_hi = EEPROM_read(0x10);set_speed_lo = EEPROM_read(0x11);set_speed = ((unsigned int)set_speed_hi << 8 | set_speed_lo);if (set_speed >= 2432U) set_speed = 2432U; lcd_clear();lcd_gotoxy(0,0);lcd_puts(message[10]);delay_ms(2500); // Global enable interrupts#asm("sei")while (1) { switch (b) { case 3: f=read_adc(2); c=207+f/44.47; var=(f/10.23)*100/100; if (var==0) var=1; break; case 4: f=read_adc(1); c=207+f/44.47; var=(f/10.23)*100/100; if (var==0) var=1; break; }; switch (d) { case 0: error=error_1; break; case 1: error=2;

Trang 76

Page 86: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

break; case 2: a=1; error=5; break; }; sprintf(lcd_buffer[3],"%s",message[error]); sprintf(lcd_buffer[0],"Status:%-5s%4u/rpm",mode[a],speed); sprintf(lcd_buffer[2],"Temp:%2u\xdfC",temp); if (b==2) sprintf(lcd_buffer[1],"Mode:%-7s%4u/rpm",mode[b],set_speed); else sprintf(lcd_buffer[1],"Mode:%-11s%3u%%",mode[b],var); //LCD Display lcd_gotoxy(0,0); lcd_puts(lcd_buffer[0]); lcd_gotoxy(0,1); lcd_puts(lcd_buffer[1]); lcd_gotoxy(0,2); lcd_puts(lcd_buffer[2]); if (error==0) { lcd_gotoxy(0,3); lcd_puts(lcd_buffer[3]); } else { lcd_gotoxy(0,3); lcd_puts(lcd_buffer[3]); delay_ms(500); lcd_gotoxy(0,3); lcd_putsf(" "); delay_ms(500); }; // delay_ms(100); };}

Chương trình trên Mega 8 (1-pha)./*****************************************************This program was produced by theCodeWizardAVR V1.25.9 ProfessionalAutomatic Program Generator© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.http://www.hpinfotech.com

Project : Version : Date : 12/23/2008Author : F4CG Company : F4CG Comments:

Chip type : ATmega8LProgram type : ApplicationClock frequency : 8.000000 MHzMemory model : SmallExternal SRAM size : 0Data Stack size : 256*****************************************************/

#include <mega8.h>#include <delay.h>

Trang 77

Page 87: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

#define ALARM PORTD.6#define RUN PORTD.7#define TRIAC PORTD.0#define INPUT PIND

#define TWINT 7#define TWSTA 5#define TWSTO 4#define TWEN 2#define TWEA 6#define TWIE 0#define SL_DATA_ACK 0x80#define SL_R_DATA_ACK 0xA8#define MT_1 0x02#define RECEIVE_BUFFER_SIZE 2

unsigned char d,x=210,y=211,status,receive_wr_index,receive_counter;long int receive_buffer[RECEIVE_BUFFER_SIZE],mode=1;

// External Interrupt 0 service routineinterrupt [EXT_INT0] void ext_int0_isr(void){// Place your code here TCNT0=y; TCCR0=0x05; }

// External Interrupt 1 service routineinterrupt [EXT_INT1] void ext_int1_isr(void){// Place your code here TCNT0=x; TCCR0=0x05; }

// Timer 0 overflow interrupt service routineinterrupt [TIM0_OVF] void timer0_ovf_isr(void){// Place your code here TCCR0=0x00; TRIAC=1; delay_us(10); TRIAC=0;};

// 2 Wire bus interrupt service routineinterrupt [TWI] void twi_isr(void){ // Place your code here if ((status=TWSR)==SL_DATA_ACK) { receive_buffer[receive_wr_index]=TWDR; if (++receive_wr_index == RECEIVE_BUFFER_SIZE) receive_wr_index=0; if (++receive_counter == RECEIVE_BUFFER_SIZE) { receive_counter=0; mode=receive_buffer[0]; x=receive_buffer[1]; y=x+1; }; }; if ((status=TWSR)==SL_R_DATA_ACK) TWDR=d;

Trang 78

Page 88: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

TWCR=(1<<TWINT) | (1<<TWEN) | (1<<TWEA) | (1<<TWIE); }

// Declare your global variables here

void main(void){// Declare your local variables here

// Input/Output Ports initialization// Port B initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;DDRB=0x00;

// Port C initialization// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;DDRC=0x00;

// Port D initialization// Func7=Out Func6=Out Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out // State7=0 State6=0 State5=P State4=P State3=T State2=T State1=T State0=0 PORTD=0x00;DDRD=0xC1;

// Timer/Counter 0 initialization// Clock source: System Clock// Clock value: Timer 0 StoppedTCCR0=0x00;TCNT0=0x00;

// Timer/Counter 1 initialization// Clock source: System Clock// Clock value: 7.813 kHz// Mode: Normal top=FFFFh// OC1A output: Discon.// OC1B output: Discon.// Noise Canceler: Off// Input Capture on Falling Edge// Timer 1 Overflow Interrupt: Off// Input Capture Interrupt: Off// Compare A Match Interrupt: Off// Compare B Match Interrupt: OffTCCR1A=0x00;TCCR1B=0x00;TCNT1H=0x00;TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;

// Timer/Counter 2 initialization// Clock source: System Clock// Clock value: Timer 2 Stopped// Mode: Normal top=FFh// OC2 output: DisconnectedASSR=0x00;

Trang 79

Page 89: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

TCCR2=0x00;TCNT2=0x00;OCR2=0x00;

// External Interrupt(s) initialization// INT0: Off// INT0 Mode: Rising Edge// INT1: Off // INT1 Mode: Falling EdgeGICR|=0x00;MCUCR=0x0B;GIFR=0xC0;

// Timer(s)/Counter(s) Interrupt(s) initializationTIMSK=0x01;

// Analog Comparator initialization// Analog Comparator: Off// Analog Comparator Input Capture by Timer/Counter 1: OffACSR=0x80;SFIOR=0x00;

// 2 Wire Bus initialization// Generate Acknowledge Pulse: On// 2 Wire Bus Slave Address: 02h// General Call Recognition: Off// Bit Rate: 250.000 kHzTWSR=0x00;TWBR=0x08;TWAR=0x04;TWCR=0x45;

// Global enable interrupts#asm("sei")while (1) { // Place your code here if (INPUT.4) d=1; else if (INPUT.5) d=2; else d=0; while (INPUT.5) { GICR=0x00; RUN=0; ALARM=1; delay_ms(100); ALARM=0; delay_ms(100); }; if ((INPUT.4 || mode)==0) { GICR=0xC0; RUN=1; } else { GICR=0x00; RUN=0; }; };}

Trang 80

Page 90: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

Chương trình trên Mega16 (3-pha).$regfile = "m16def.dat"$lib "modbus.lbx"$baud = 19200'-------------------------------------------------------------------------------Config Lcdpin = Pin , Db4 = Portb.7 , Db5 = Portb.6 , Db6 = Portb.5 , Db7 = Portb.4 , E = Portb.2 , Rs = Portb.3Config Adc = Single , Prescaler = 128Config Lcd = 20 * 4Config Timer0 = Counter , Edge = Falling , Capture Edge = Falling , Noise Cancel = 8 , , Prescale = 8Config Int0 = Low LevelConfig Timer2 = Timer , Prescale = 1024Config Timer1 = Timer , Prescale = 256'*********************************************************

Dim Mbuf(12) As Byte , Modc As ByteDim Modt As Byte , Modw As Word , Count As Byte , Control As Byte , Tem As Byte , Online As ByteDim Adc_val As Word , Adc_val_new As Word , Sensor As Byte , Xuat_w As WordDim Bell_delay As Byte , Int0_delay As Byte , Le As Single , Percent As Byte , State As ByteDim Run_bit As Bit , Direct_bit As Bit , Spee As Word , Hold As Bit , Adc_change As Integer , Xuat As Byte'-------------------------------------------------On Int0 KeypressOn Timer1 Isr_timer1On Timer2 Isr_timer2On Urxc Urxc_isr'*********************************************************Declare Sub 1beepDeclare Sub State1Declare Sub State2Declare Sub State3Deflcdchar 1 , 32 , 32 , 14 , 14 , 14 , 32 , 32 , 32

'*********************************************************Ddra = &B10000010Porta = &B01111101'---------------------------Ddrb.0 = 0Ddrb.1 = 1'---------------------------Ddrd = &B10011000Portd = &B01100111'---------------------------Ddrc = 255Portc = 0'---------------------------'*********************************************************Light Alias Portb.1Bell Alias Portd.3Speed Alias Pinb.0Rts Alias Portd.4Fan Alias Portd.7Func Alias Pina.6Up Alias Pina.5Down Alias Pina.4Ok Alias Pina.3Run Alias Pina.2Direct Alias Porta.7Boot Alias Porta.1Mega8 Alias Portc'*********************************************************'*********************************************************Const _on = 1

Trang 81

Page 91: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

Const _off = 0Const Nhan = 0Const Fat = 1'******************************Const Slave = 1'******************************Enable Interrupts'********************* INITIAL ****************************ClsCursor OffLight = _onRts = NhanWait 1Set BellWaitms 100Reset BellLocate 1 , 8 : Lcd "BOOT..."Wait 1Set BellWaitms 100Reset BellFan = _onLocate 2 , 1 : Lcd "Cooler............ok"Wait 1Boot = _onWait 1Set BellWaitms 100Reset BellLocate 3 , 1 : Lcd "Power.............ok"Wait 1 .Locate 4 , 1 : Lcd "........READY......."Waitms 500Locate 4 , 1 : Lcd " "Waitms 500Locate 4 , 1 : Lcd "........READY......."Wait 1ClsWaitms 500Set BellWaitms 100Reset Bell

Call State1Fan = _onBoot = _onControl = 2'**************************************Timer1 = 36735Start AdcEnable Int0Enable Timer1'******************************************************************************8DoSelect Case StateCase 0 Adc_val = Getadc(0) Adc_val = 1023 - Adc_val Adc_change = Adc_val - Adc_val_new Adc_change = Abs(adc_change) If Adc_change > 3 Then Adc_val_new = Adc_val Le = Adc_val_new / 4.018

Trang 82

Page 92: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

Xuat = Le Xuat_w = Xuat If Hold = 0 Then If State = 0 Then Timer1 = 36735 Timer0 = 0 Disable Int0 Locate 3 , 7 Lcd " " Locate 3 , 6 Lcd Xuat Enable Int0 End If End If End If If Run_bit = 1 Then Mega8 = Xuat Else Mega8 = 0 End If Waitms 80Case 1Tem = Control Mod 2If Tem = 0 Then Run_bit = 0ElseRun_bit = 1End IfTem = Control \ 4If Tem = 1 ThenDirect_bit = 1ElseDirect_bit = 0End IfIf Run_bit = 1 Then Mega8 = Xuat Else Mega8 = 0 End IfDirect = Direct_bitIncr OnlineIf Online > 20 Then Control = Control And 254Waitms 80

End SelectLoop

'******************************************************************************8End'******************************************************************************8Isr_timer2: If Bell_delay <> 0 Then Decr Bell_delay Bell = _on Else Bell = _off End If '************************ If Int0_delay <> 0 Then Decr Int0_delay Else Enable Int0 Disable Timer2

Trang 83

Page 93: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

End IfReturn'******************************************************************************8Sub 1beep Timer2 = 0 Disable Int0 Enable Timer2 Bell_delay = 4 Int0_delay = 15End Sub'***************************************Keypress:Hold = 1Timer1 = 36735Timer0 = 0 'loai ngatCall 1beepIf Func = 0 ThenIncr StateIf State = 3 Then State = 0ClsSelect Case State Case 0 Call State1 Case 1 Call State2 Case 2 Call State3End SelectEnd IfIf Up = 0 And Xuat < 250 ThenIf State = 0 ThenIncr XuatXuat_w = XuatLocate 3 , 7Lcd " "Locate 3 , 6Lcd XuatEnd If

End If

If Down = 0 And Xuat > 1thenIf State = 0 ThenDecr XuatXuat_w = XuatLocate 3 , 7Lcd " "Locate 3 , 6Lcd XuatEnd IfEnd IfIf Ok = 0 Then If State = 0 Then If Direct_bit = 0 Then Direct_bit = 1 Direct = 1 Locate 4 , 17 : Lcd "REV" Else Locate 4 , 17 : Lcd "FWD" Direct_bit = 0 Direct = 0 End If End If

Trang 84

Page 94: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

End IfIf Run = 0 And State = 0 Then If Run_bit = 1 Then Run_bit = 0 Locate 4 , 7 : Lcd "STOP" Else Run_bit = 1 Locate 4 , 7 : Lcd "RUN " End IfEnd IfHold = 0Return'***************************************Urxc_isr: sbis usr,7 rjmp urxc_isr Modt = Udr If Modc = 0 Then If Modt = Slave Then Modc = Modc + 1 Mbuf(1) = Modt End If Elseif Modc = 1 Then If Modt = 4 Or Modt = 6 Then Mbuf(2) = Modt Modc = Modc + 1 Elseif Modt = 3 Then Mbuf(2) = Modt Modc = Modc + 1 Elseif Modt = Slave Then Mbuf(1) = Modt Else Modc = 0 End If Else Modc = Modc + 1 Mbuf(modc) = Modt If Modc = 8 Then Modw = Makeint(mbuf(7) , Mbuf(8)) If Modw = Crcmb(mbuf(1) , 6) Then Online = 0 Rts = Fat If Mbuf(2) = 4 Then Mbuf(3) = 4 Mbuf(4) = Control Mbuf(5) = Xuat Mbuf(6) = High(spee) Mbuf(7) = Low(spee) Modw = Crcmb(mbuf(1) , 7) Mbuf(8) = Low(modw) Mbuf(9) = High(modw) Printbin Mbuf(1) ; 9 End If If Mbuf(2) = 6 Then Control = Mbuf(5) Xuat = Mbuf(6) Printbin Mbuf(1) ; 8 End If If Mbuf(2) = 3 Then Mbuf(3) = 2 Mbuf(4) = Control Mbuf(5) = Xuat Modw = Crcmb(mbuf(1) , 5)

Trang 85

Page 95: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

Mbuf(6) = Low(modw) Mbuf(7) = High(modw) Printbin Mbuf(1) ; 7 End If Waitms 2 Rts = Nhan End If Modc = 0 End IfEnd IfReturn

'*********************************************Isr_timer0:

Return'******************* STATE1 ******************Sub State1:Locate 1 , 7 : Lcd "-MANUAL-"Locate 2 , 1 : Lcd "Mode: STABLE "Locate 3 , 1 : Lcd "Fre: hz/Spd: "Locate 4 , 1 : Lcd "State: /Dir: "If Run_bit = 1 ThenLocate 4 , 7 : Lcd "RUN "End IfIf Run_bit = 0 ThenLocate 4 , 7 : Lcd "STOP"End IfIf Direct_bit = 0 ThenLocate 4 , 17 : Lcd "FWD"ElseLocate 4 , 17 : Lcd "REV"End IfLocate 3 , 7Lcd " "Locate 3 , 6Lcd XuatDisable UrxcEnd Sub'********************STATE2*************************Sub State2:Locate 1 , 4 : Lcd "-COMMUNICATION-"Locate 2 , 1 : Lcd Chr(1) ; "Protocol:modbus-rtu"Locate 3 , 1 : Lcd Chr(1) ; "Type: 485"Locate 4 , 1 : Lcd Chr(1) ; "Format: 19200,8,N,1"Run_bit = 0Mega8 = 0Enable UrxcEnd Sub'********************STATE3*************************Sub State3:Locate 1 , 5 : Lcd "-INFORMATION-"Locate 2 , 1 : Lcd Chr(1) ; "Frequency:0->250 hz"Locate 3 , 1 : Lcd Chr(1) ; "Power: 4KW "Locate 4 , 1 : Lcd Chr(1) ; "By:Nguyen Quang Hoa "Disable UrxcEnd Sub'*********************************************Isr_timer1:Timer1 = 36735 '36735Sensor = Timer0Spee = Sensor * 30Timer0 = 0

Trang 86

Page 96: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

If State = 0 Then Disable Int0 Locate 3 , 18 : Lcd " " Locate 3 , 17 : Lcd Spee Enable Int0End IfReturn

Chương trình trên Mega 8 (3-pha).Config Watchdog = 2048Config Timer1 = Timer , Prescale = 64Config Timer2 = Timer , Prescale = 64On Timer1 PulseOn Timer2 CutEnable InterruptsEnable Timer1Ddrc = 255Portc = 0Ddrb = 0Portb = 255Portd = 255Ddrd = 0K1 Alias Portc.0K2 Alias Portc.1K3 Alias Portc.2K4 Alias Portc.3K5 Alias Portc.4K6 Alias Portc.5In Alias PindXuat Alias PortcWay Alias Pinb.0Dim Run As Byte , T As Byte , Fre As Byte , Fre_load As Byte , Le As SingleDim Chan As Word , Nap As Word , Run2 As ByteDim Bit_change As Bit , Bit_new As Bit'***************************************Const T1 = 21Const T2 = 49Const T3 = 35Const T4 = 42Const T5 = 14Const T6 = 28Const Dead = 320'***************************************Timer1 = 60000Wait 1Run = 255Start Watchdog'***************************************DoIf Way <> Bit_new ThenSet Bit_changeEnd IfIf Fre > 0 And Fre < 40 ThenEnable Timer2ElseDisable Timer2End IfIf Bit_change = 0 Then If In > Fre Then Incr Fre If In < Fre Then Decr FreElse

Trang 87

Page 97: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

If Fre <> 0 Then Decr Fre Else Reset Bit_change Bit_new = Way End IfEnd IfIf Fre < 3 ThenFre_load = 3Elseif Fre > 250 ThenFre_load = 250ElseFre_load = FreEnd If

Select Case Fre Case 0 Run = 0 Case 1 To 250 Run = 255End Select'***************************************Le = 1 / Fre_loadLe = Le * 1000000Chan = Le / 6Chan = Chan / 8Chan = 65538 - ChanNap = Chan'***************************************Waitms 20'***************************************Reset WatchdogLoopEnd' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *'xuat xung co ban dieu khien toc doPulse:Timer1 = NapIf T = 6 Then T = 0Incr TIf Bit_new = 0 Then If Fre > 39 Then Select Case T Case 1 Xuat = 0 Waitus Dead Xuat = T1 And Run Case 2 Xuat = 0 Waitus Dead Xuat = T2 And Run Case 3 Xuat = 0 Waitus Dead Xuat = T3 And Run Case 4 Xuat = 0 Waitus Dead Xuat = T4 And Run Case 5 Xuat = 0 Waitus Dead Xuat = T5 And Run

Trang 88

Page 98: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

Case 6 Xuat = 0 Waitus Dead Xuat = T6 And Run End Select Else Xuat = 0 End IfElse If Fre > 39 Then Select Case T Case 1 Xuat = 0 Waitus Dead Xuat = T5 And Run Case 2 Xuat = 0 Waitus Dead Xuat = T4 And Run Case 3 Xuat = 0 Waitus Dead Xuat = T3 And Run Case 4 Xuat = 0 Waitus Dead Xuat = T2 And Run Case 5 Xuat = 0 Waitus Dead Xuat = T1 And Run Case 6 Xuat = 0 Waitus Dead Xuat = T6 And Run End Select Else Xuat = 0 End If

End If

Return

'***************************************'xuat xung bam trong xung co ban tang cam khang cho motor de han dongCut:If Run2 = 255 Then Timer2 = 120 Run2 = 0Else Timer2 = 230 Run2 = 255End IfIf Bit_new = 0 Then Select Case T Case 1 Xuat = T1 And Run2 Waitus Dead Case 2 Xuat = T2 And Run2 Waitus Dead Case 3

Trang 89

Page 99: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

Xuat = T3 And Run2 Waitus Dead Case 4 Xuat = T4 And Run2 Waitus Dead Case 5 Xuat = T5 And Run2 Waitus Dead Case 6 Xuat = T6 And Run2 Waitus Dead End SelectElse Select Case T Case 1 Xuat = T5 And Run2 Waitus Dead Case 2 Xuat = T4 And Run2 Waitus Dead Case 3 Xuat = T3 And Run2 Waitus Dead Case 4 Xuat = T2 And Run2 Waitus Dead Case 5 Xuat = T1 And Run2 Waitus Dead Case 6 Xuat = T6 And Run2 Waitus Dead End Select

End If

Return'***************************************

Chương trình trên Tiny 13 (3-pha).Config Adc = Single , Prescaler = AutoStart AdcDdrb.2 = 1Ddrb.1 = 0Portb.1 = 1Fan Alias Pinb.1Led Alias Portb.2Dim W As WordDoW = Getadc(2)If Fan = 1 Then Select Case W Case 500 To 600 Set Led Waitms 2 Reset Led Waitms 8 Case 601 To 607 Set Led Waitms 3 Reset Led

Trang 90

Page 100: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

Waitms 7 Case 608 To 614 Set Led Waitms 4 Reset Led Waitms 6 Case 615 To 621 Set Led Waitms 5 Reset Led Waitms 5 Case 622 To 628 Set Led Waitms 6 Reset Led Waitms 4 Case 629 To 635 Set Led Waitms 7 Reset Led Waitms 3 Case 636 To 642 Set Led Waitms 8 Reset Led Waitms 2 Case 643 To 649 Set Led Waitms 9 Reset Led Waitms 1 Case Else Reset Led End SelectElse Reset LedEnd IfLoopEnd

Trang 91

Page 101: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

TÀI LIỆU THAM KHẢO

1. Kỹ thuật VĐK AVR – Ngô Diên Tập, NXB Khoa Học và Kỹ Thuật.

2. Điện tử công suất – Nguyễn Bính, NXB Khoa Học và Kỹ Thuật.

3. Lý thuyết điều khiển tự động – Nguyễn Thị Phương Hà, NXB Đại Học

Quốc Gia TP.HCM

4. Mạng truyền thông công nghiệp – Hoàng Minh Sơn, NXB Khoa Học và Kỹ

Thuật.

5. Tự động hóa trong công nghiệp với WinCC – TS. Trần Thu Hà, NXB Hồng

Đức.

6. Modbus Protocol – MODICON, Industrial Automation Systems.

7. Simatic WinCC – SIEMENS.

Trang 92

Page 102: Dieu khien giam_sat_dong_co_ac_su_dung_avr

Đồ Án Chuyên Ngành Phần Phụ Lục

Có nhiều bạn thắc mắc vì sao biến tần lại có thể tiết kiểm điện? sau đây là bài viết của tôi trên dientvietnam.net sẽ giải thích một cách đơn giảm để các bạn hiểu thêm. Ta có công thức P=U.I.Cos(phi) (Xin lỗi vì không biết cách gõ ký hiệu này). Ở đây ta không thấy có đại lượng tần số nến nói giảm tần số đồng nghĩa với giảm công suất tiêu thụ là không chính xác. Vậy điều này sẽ mâu thuẫn khi các nhà sản xuất biến tần cũng như lý thuyết nói "dùng biến tần sẽ tiết kiệm điện". Thực ra vấn đề này nói sẽ rất dài nhưng tối chỉ nói đơn giản thế này nhé. "Dùng biến tần tiêt kiệm điện hoàn toàn đúng" nhưng nó chỉ dúng khi chúng ta biết sử dụng các ưu điểm của biến tần. Chắc các bạn đều biết trong biến tần có các chế độ diều khiển V/F khi các bạn lập trình cho biến tần. Đây là một công thức (tạm gọi) điều khiển chuẩn của biến tần mà trong tất cả các biến tần cái nào cũng có. Motor sẽ làm việc khi moment cản bằng với moment động cơ, người ta lợi dụng đặc điểm này để ứng dụng điều khiển làm sao cho tỉ lệ V/F là không đổi tức là từ thông cảm ứng vấn là giá trị maximum trong khi tần số và điện áp giảm theo tỷ lệ V/F=constant. Muốn điều khiển được tỷ lệ này thì chỉ có dùng biến tấn mới làm được và đến đây bạn đã thấy mối liên hệ P và U, I rồi đúng không vì khi giảm tần số và điện áp sao chi tỷ lệ V/F là không đổi thì có nghĩa là moment cũng không đổi mà P=U*I*cos(phi) do U giảm nên P giảm theo. Ở đây tôi chỉ phân tích một phần của lý thuyết thôi còn nhiều và rất nhiều cái khác nữa nhưng tôi không phải là chuyên gia về lý thuyết nên không muốn múa rìu qua mắt các giao sư, tiến sỹ (rất mong được thông cảm vì đã ...). Trên diễn đàn vietnamautomation.com tôi cũng có viết một số bài về biến tần dưới tên dinhbang, anh co thể tham khảo thêm ở đây. Ngoài ra thì tên manato ở trong diễn đàn này cũng có một số bài viết khác về PLC, SCADA, Drive ... có thể tham khảo thêm.

Trang 93