5.1.1 Yêu cầu thiết kế
Tạo được hệ thống điều khiển tốc độ động cơ có hồi tiếp, bao gồm cả phần thiết kế phần cứng và tạo giao diện điều khiển trên máy tính.
5.1.2 Thiết kế
Về thiết kế phần cứng: Bao gồm mạch điều khiển và mạch công suất + Mạch điều khiển: Sử dụng card giao
+ Mạch công suất: sử dụng mach điêu khiển dùng FET và ROLE + Dùng phần mềm Labview để giao tiếp và điều khiển
5.1.3 Động cơ DC sử dụng cho mạch phần cứng
Với các thông số kỹ thuật
+ Type D06D451E + output 42W
+ RPM 2750
5.1.4 Phương pháp điều khiển
Điều khiển động cơ DC bằng cách điều biến độ rộng xung
Động cơ DC sử dụng trong dân dụng thường chỉ hoạt động ở điện áp 24V trở lại. Một trong những phương pháp để điều khiển mô tơ là sử dụng mạch điều chế độ rộng xung (PWM circuit - Pulse Wide Modulation).
Mạch điều khiển mô tơ bằng phương pháp PWM hoạt động dựa theo nguyên tắc cấp nguồn cho mô tơ bằng chuỗi xung đóng mở với tốc độ nhanh. Nguồn DC được chuyển đổi thành tín hiệu xung vuông (chỉ gồm hai mức 0 volt và xấp xỉ điện áp hoạt động). Tín hiệu xung vuông này được cấp cho mô tơ. Nếu tần số chuyển mạch đủ lớn mô tơ sẽ chạy với một tốc độ đều đặn phụ thuộc vào mô men của trục quay. Với phương pháp PWM, điều chỉnh tốc độ của mô tơ thông qua việc điều chế độ rộng của xung, tức là thời gian "đầy xung" ("on") của chuỗi xung vuông cấp cho mô tơ. Việc điều chỉnh này sẽ tác động đến công suất trung bình cấp cho mô tơ và do đó sẽ thay đổi tốc độ của mô tơ cần điều khiển.
Như trên hình, với dãy xung điều khiển trên cùng, xung ON có độ rộng nhỏ nên động cơ chạy chậm. Nếu độ rộng xung ON càng lớn (như dãy xung thứ 2 và thứ 3) động cơ DC chạy càng nhanh
Ưu điểm:
- Transistor ở lối ra chỉ có duy nhất hai trạng thái (ON hoặc OFF) do đó loại bỏ được mất mát về năng lượng đốt nóng hay năng lượng rò rỉ tại lối ra.
- Tốc độ mô tơ quay nhanh hơn khi cấp chuỗi xung điều chế theo kiểu PWM so với khi cấp một điện áp tương đương với điện áp trung bình của chuỗi xung PWM. Nhược điểm:
- Cần các mạch điện tử bổ trợ - giá thành cao
- Các xung kích lên điện áp cao (12 - 24V) có thể gây nên tiếng ồn nếu mô tơ không được gắn chặt và tiếng ồn này sẽ tăng lên nếu gặp phải trường hợp cộng hưởng của vỏ. - Ngoài ra việc dùng chuỗi xung điều chế PWM có thể làm giảm tuổi thọ của mô tơ.
Nguồn 5v cấp cho vi xử lý
Nguồn 12v cấp cho khối công suất Nguồn 24v cấp cho động cơ
Cách ly nguồn 5v với nguồn 12v, 24v để chống nhiễu
5.2.1 Công dụng từng linh kiện trong mạch:
Opto coupler (hay còn gọi là cách ly quang): Là linh kiện tích hợp có cấu tạo gồm 1 led và 1 photo diot hay 1 photo transistor. Khi có dòng nhỏ đi qua 2 đầu của led trong opto làm cho led phát sáng Được sử dụng để cách ly áp giữa hai khối vi xử lý và khối công suất nhằm bảo vệ khối vi xử lý,đồng thời tránh nhiễu cho động cơ. Vì đôi khi động cơ chạy quá dòng thì dòng trả về lớn làm chết linh kiện ở mạch công suất, nếu không có cách ly quang thì dòng điện lớn sẽ theo đường mạch đến tiêu diệt vi điều khiển và toàn bộ những linh kiện khác .Ngõ ra của Opto (chân 3 và 4) được dẫn khi ngõ vào (chân 1) ở mức 1 (tương đương điện áp 5V).
Dòng đóng ngắt là 12v-75mA để đảo chiều là phù hợp. Do điện trở cuộn dây relay là 160Ω điện áp đóng ngắt relay là 12v và dòng tối thiểu để đóng ngắt relay là 75mA. Vì vậy dòng điều khiển phải được khuếch đại trước khi tới điều khiển relay để đảm bảo dòng kích relay trong trường hợp có thể dùng transistor hoặc 1 con IC…. Tôi đã sử dụng IC ULN2803 để sử dụng chức năng đó.
MOSFET IRF540: Mạch công suất sử dụng transistor hiệu ứng trường MOSFET IRF540 có khả năng cung cấp dòng lớn lên đến 5A, điều khiển bằng áp trên ngõ vào G. Mạch kích được lựa chọn là đẩy kéo(PUSH PULL) cho đáp ứng xung tốt. ULN2803 gồm 8 BJT ghép darlington có sẵn các điện trở và diode bảo vệ, cung cấp dòng 500mA, điện áp làm việc lên đến 50V. Ở điều kiện làm việc bình thường của ULN2803: IC =100mA, IB=250μA, VCE=2V.
Giá trị của điện trở công suất trên tải ra của mạch đẩy kéo.
Công suất tiêu thụ trên điện trở . Chọn điện trở R = 330 Ω , P =1 đến 2 W.
IC ULN2803: Dùng để khuếch đại dòng
Điện trở phân áp cho led được tính như sau: Chọn dòng làm việc của led là 10mA
Ở trạng thái ngưng dẫn, khi vi điều khiển xuất ra mức 1 kích vào chân DK_PWM, ngõ ra của opto1 không được kích dẫn, dẫn đến tại ngõ vào ULN 2803(chân 1) được phân cực, nên nó được kích dẫn. ULN 2803 dẫn tạo ra sự sụt áp ở ngõ ra PWM, điện áp tại chân này là mức 0. Điều này kéo theo làm cho Transitor D468 ngưng dẫn,do đó mức logic điện áp tại cực G của FET là 0. FET không được phân cực nên động cơ ngừng hoạt động. Điện áp tại chân PWM không hoàn toàn ở 0V do đó diot D9 là 1N4007 được mắc nhằm ngăn không cho D468 dẫn.
Trong trường hợp ngược lại, ngõ ra của vi điều khiển ở mức 0 được kích vào chân DK_PWM, ngõ ra của opto1 được dẫn. Điện áp tại chân C_PWM là 0v, dẫn đến ngõ ra tại chân PWM có áp là 12v sẽ qua diode đến cực B của tranzitor nghịch D468 làm D468 thông khi đó sẽ có 1 dòng đi từ C xuống E.tranzitor thuận B562 lúc này sẽ tắt tức là k có dòng đi từ E xuống C.Vì vậy điện áp 12V đi đến mosfet IRF540 làm mosfet này thông.Điện áp 24V sẽ qua động cơ DC và xuống mass.-> động cơ chạy
Khi opto2 được kích dẫn, tại chân C_ROLE có áp 12v dẫn đến ULN 2803 dẫn, sẽ có dòng lớn từ chân ROLE xuống mass . Điều này nhằm đáp ứng đủ dòng cho Relay có thể hút.
Diode D5 1N4007 có tác dụng dập dòng ngược. Khi đóng mở Relay, cuộn hút của relay tạo ra một điện áp ngược và có dạng xung nhọn, đưa ngược về trasistor Q2, có thế gây hỏng Q2 (hỏng khóa). Do vậy, tác dụng của diode là bảo vệ khóa. Nó sẽ đưa xung nhọn này về nguồn
5.3 GIAO DIỆN ĐIỀU KHIỂN BẰNG MÁY TÍNH5.3.1 Front Panel và Block diagram của chương trình 5.3.1 Front Panel và Block diagram của chương trình
Xây dựng một VI dùng để điều khiển tốc độ động cơ theo PID Front Panel
Block Diagram:
5.3.2 Các khối lập trình thông dụng
• Các kí hiệu trong toán học: Functions/Express/Arithmetic & Comparsion/Numeric
• Các toán tử so sánh: Functions/Express/Arithmetic & Comparsion/Numeric
• Khối biểu diễn đồ thị: Controls /Grap Indicators
• Các biến: Controls/Numeric controls
Định dạng kiểu dữ liệu cho các biến: Nhấp phải chuột vào biến numeric control/Representation/chọn kiểu dữ liệu
5.4 CODE ĐIỀU KHIỂN DỰA VÀO GIẢI THUẬT
Dựa vào card giao tiếp và mạch công suất để điều khiển động cơ đã được trình bày ở các phần trên, ta thiết kế được code (Block Diagram) như hình bên trên
5.4.1 Yêu cầu đặt ra
a. Tạo được nút nhấn điều khiển cơ bản để điều khiển động cơ: quay/dừng, quay thuận/nghịch
b. Dùng các hàm và công thức toán học để tìm được vận tốc của động cơ dựa trên xung vào của encoder và chu kỳ lấy mẫu.
5.4.2 Giải quyết từng vấn đề5.4.2.1Tạo các nút nhấn (button) 5.4.2.1Tạo các nút nhấn (button)
- QUAY/DUNG: Giá trị mặc định là TRUE
+ TRUE: Giá trị 0 sẽ nạp vào DAC1, tương ứng AVR sẽ xuất ra mức điện áp 0v ở chân tạo xung PWM1
+ FALSE (khi nhấn nút): Giá trị 255 sẽ nạp vào DAC1, tương ứng AVR sẽ xuất ra mức điện áp 5v ở chân tạo xung PWM2.
Chân PWM1 của AVR sẽ xuất xung 0v…5v tương ứng giá trị nạo vào DAC1 từ 0….255
Lưu ý: Trong code ta lấy giá trị tuyệt đối ngõ xung ra sau khi trừ giá trị 255, mục đích để phù hợp với mạch công suất (vi điều khiển xuất xung PWM ở mức 0v cho đến 5v tương ứng động cơ quay ở tốc độ cực đại cho đến ngừng quay)
- CHIEU QUAY:
+ TRUE: Chân SW1 của AVR ở mức 1( động cơ sẽ quay thuận) + FALSE: Chân SW1 của AVR ở mức 0 (động cơ sẽ quay nghịch)
5.4.2.2 Tính vân tốc ngõ vào:
Ta chọn tần số lấy mẫu hay thời gian lặp lại của vòng lập while loop là 20ms
Trường hợp động cơ quay thuận: Tương ứng hàm Select Case trong code ở trường hợp true (nút QUAY/DUNG: false; CHIEU QUAY: true), số xung vi xử lý đếm được tăng lên 65536 (16 bit)
XUNG SAU
XUNG SAU
+ Xung đếm vào chưa bị tràn
Ta có
+ Xung đếm vào bị tràn:(xungsau nhỏ hơn xungtrước)
(
Trường hợp động cơ quay nghịch: Tương ứng hàm Select Case trong code ở trường hợp false ( nút QUAY/DUNG: false , CHIEU QUAY: false) , số xung vi xử lý đếm xuống (65536 đến 0)
+ Xung đếm vào chưa bị tràn:
Ta có
XUNG TRƯỚC
XUNG SAU
+ Xung đếm vào bị tràn:(xungsau lớn hơn xungtrước)
(
5.4.2.3Qua khâu hiệu chỉnh PID
Các thông số phải được đưa vào
+ Setpoint: Vận tốc đặt
+ process variable: vận tốc thực
+ Setpoint range: Giới hạn vận tốc đặt max và
min
+ PID gains: Dùng điều chỉnh 3 thông số P, I, D + dt(s): thời gian lấy mẫu
+ output range: Giới hạn trên và dưới của ngõ ra + output: ngõ ra
5.4.2.4 Khối truyền và nhận dữ liệu
Chức năng và cách sử dụng khối này xem lại trong phần giới thiệu card giao tiếp đã được trình bày ở phần trên
5.5 Giao diện điều khiển trên máy tính
Giao diện điều khiển được thiết kế khá trực quan với người sử dụng hệ thống, đạt các tiêu chuẩn về độ chính xác, tính thẩm mỹ và dễ tiếp cận.
KẾT LUẬN
Hệ thống thiết kế dùng bộ hiệu chỉnh PID cho phép điều khiển được nhiều vị trí đặt …Tuy nhiên so với lý thuyết và chây mô phỏng Simulink thì chất lươngj của hệ thống còn nhiều hạn chế về sai số xác lập
Ảnh hưởng của các thông số PID đến hệ thống như sau: Kd không ảnh hưởng nhiều đến hệ thống, sự chênh lệch giữa Ki thiết kế và mô phỏng khá lớn, Ki tăng làm tăng độ vọt lố, giảm sai số xác lập, nếu tăng Ki lớn hơn giá trị tối ưu thì hệ thống mất ổn định. Tác động của Kp có thể nâng cao chat lượng đáp ứng nếu chọn được một giá trị thích hợp
PHỤ LỤC
Mã lập trình của Labview ở dạng đồ họa, do đó code được viết cho chương trình cũng có thể xen đó là sơ đồ giải thuật để viết nên chương trình
TÀI LIỆU THAM KHẢO
1. Lý thuyết điều khiển tự động (Nguyễn Thị Phương Hà-Nhà xuất bản Đại học Quốc Gia TP. Hồ Chí Minh
2. PHY-Microprocessor Interfacing Techniques Labview (James R.Drummond) 3. Introduction to control system tech nology(Roert N.Bateson)