Sau khi phân tích dữ liệu thu được, ta có giá trị thông số động cơ là:
Thông số động cơ Giá trị
Điện trở động cơ (Rm) 2.6824
Hằng số phản điện (Kb) 0.0924
Hệ số ma sát nhớt (Cm) 1.1095e-04
Moment ma sát (Tf) 0.0171
Moment quán tính của rotor (Jm) 3.4812e-04
CHƯƠNG 4: MÔ PHỎNG HỆ PENDUBOT BẰNG MATLAB
4.1 Xây dựng bộ điều khiển Swing-up và cân bằng cho Pendubot
Trong giới hạn luận văn này, học viên sử dụng phương pháp hồi tiếp tuyến tính hóa riêng phần để Swing-up và kết hợp với phương pháp LQR để giữ cân bằng hệ thống trên miền cân bằng không ổn định (hướng lên).
Hệ thống Pendubot được xây dựng trong Simulink như hình 4.1 và hình 4.2.
Hình 4.1 Khối mô phỏng Pendubot
4.2 Mô phỏng bộ điều khiển swing-up và giữ cân bằng LQR
Mơ hình mơ phỏng pendubot gồm có:
+ Một khối mơ hình học pendubot đã được giới thiệu và mô phỏng ở phần trên + Bộ điều khiển Swing-up: bộ điều khiển hồi tiếp tuyến tính hóa riêng phần
+ Bộ điều khiển LQR: khối mux feedback các tín hiệu đo, khối Gain với hệ số - K + Điều kiện chuyển từ Swing-up qua điều khiển cân bằng
+ Hàm chuyển từ điều khiển Swing-up qua điều khiển cân bằng + Khối scope đo các giá trị ngõ ra và giá trị điều khiển
Mô phỏng bộ điều khiển Swing-up sử dụng phương pháp điều khiển hồi tiếp tuyến tính hóa riêng phần và giữ cân bằng LQR.
Hình 4.3 Mơ hình mơ phỏng simulink bộ điều khiển Pendubot khơng có nhiễu tác
Hình 4.4 Mơ hình mơ phỏng simulink khối LQR balance control
Hình 4.5 Mơ hình mơ phỏng simulink khối Swing-up feedback control
Kết quả mô phỏng với điều kiện đầu 1 2 3 4 0 0 0
2 T T x x x x x
4.2.1 Mô phỏng bộ điều khiển swing-up và giữ cân bằng LQR khơng có nhiễu
Sau đây là đáp ứng vị trí góc, vận tốc, điện áp điều khiển khi áp dụng bộ điều khiển hồi tiếp tuyến tính hóa riêng phần để swing-up và LQR để cân bằng (khơng có nhiễu)
Hình 4.6 Đáp ứng vị trí góc link1 của hệ pendubot khi áp dụng bộ điều khiển hồi
tiếp tuyến tính hóa riêng phần để Swing-up và LQR
Hình 4.7 Đáp ứng vị trí góc link2 của hệ pendubot khi áp dụng bộ điều khiển hồi
Ta thấy trong khoảng thời gian 0.5s hai thanh link 1 và link 2 đã lên vị trí top và trong khoảng 2s thì hệ bắt đầu ổn định ở vị trí cân bằng ngược hướng lên.
Hình 4.8 Đáp ứng vận tốc góc link1 của hệ pendubot khi áp dụng bộ điều khiển hồi
tiếp tuyến tính hóa riêng phần để Swing-up và LQR giũ cân bằng
Hình 4.9 Đáp ứng vận tốc góc link2 của hệ pendubot khi áp dụng bộ điều khiển hồi
Hình 4.10 Ngõ ra của bộ điều khiển
Nhận xét:
+ Thời gian đáp ứng của hệ thống là 2s thì hệ đạt trạng thái cân bằng
+ Mô phỏng bộ điều khiển Swing-up sử dụng phương pháp điều khiển hồi tiếp tuyến tính hóa riêng phần và giữ cân bằng LQR khi có nhiễu trong giới hạn cho phép.
4.2.2 Mô phỏng bộ điều khiển swing-up và giữ cân bằng LQR có nhiễu
Hình 4.11 Mơ hình mơ phỏng simulink bộ điều khiển Pendubot có nhiễu tác động
Kết quả mơ phỏng với điều kiện đầu 1 2 3 4 0 0 0
2 T T x x x x x
Trường hợp 1: Tín hiệu nhiễu cho vào hệ pendubot nằm trong khoảng cho phép
(-π/7 <θ2<π/7)
Hình 4.12 Thơng số tín hiệu nhiễu đưa vào hệ pendubot mơ phỏng
Hình 4.13 Tín hiệu nhiễu đưa vào hệ pendubot mô phỏng
Kết quả đáp ứng vị trí góc, vận tốc, điện áp điều khiển khi áp dụng bộ điều khiển hồi tiếp tuyến tính hóa riêng phần để swing-up và LQR để cân bằng khi cho nhiễu vào hệ thống.
Hình 4.14 Đáp ứng vị trí góc link1 của hệ pendubot áp dụng bộ điều khiển hồi tiếp
tuyến tính hóa để swing-up và LQR giữ cân bằng khi có nhiễu
Hình 4.15 Đáp ứng vị trí góc link2 của hệ pendubot áp dụng bộ điều khiển hồi tiếp
Hình 4.16 Đáp ứng vận tốc góc link1 của hệ pendubot áp dụng bộ điều khiển hồi
tiếp tuyến tính hóa để swing-up và LQR giữ cân bằng khi có nhiễu
Hình 4.17 Đáp ứng vận tốc góc link2 của hệ pendubot áp dụng bộ điều khiển hồi
Hình 4.18 Tín hiệu ngõ ra bộ điều khiển khi có nhiễu
Nhận xét:
+ Khi cho tín hiệu nhiễu vào hệ thống với độ lớn và thời gian nằm trong khả năng ổn định của hệ thống thì sẽ tự động cân bằng lại
Trường hợp 2: Tín hiệu nhiễu lớn hơn khả năng ổn định của hệ pendubot
Hình 4.19 Thơng số tín hiệu nhiễu đưa vào hệ pendubot mơ phỏng
Kết quả đáp ứng vị trí góc, vận tốc, điện áp điều khiển khi áp dụng bộ điều khiển hồi tiếp tuyến tính hóa riêng phần để swing-up và LQR để cân bằng khi cho nhiễu vào hệ thống.
Hình 4.20 Đáp ứng vị trí góc link1 của hệ pendubot áp dụng bộ điều khiển hồi tiếp
tuyến tính hóa để swing-up và LQR giữ cân bằng khi có nhiễu
Hình 4.21 Đáp ứng vị trí góc link2 của hệ pendubot áp dụng bộ điều khiển hồi tiếp
Hình 4.22 Đáp ứng vận tốc góc link1 của hệ pendubot áp dụng bộ điều khiển hồi
tiếp tuyến tính hóa để swing-up và LQR giữ cân bằng khi có nhiễu
Hình 4.23 Đáp ứng vận tốc góc link2 của hệ pendubot áp dụng bộ điều khiển hồi
Hình 4.24 Tín hiệu ngõ ra bộ điều khiển khi có nhiễu
Nhận xét:
+ Khi cho tín hiệu nhiễu vào hệ thống với độ lớn và thời gian lớn hơn khả năng cho phép của hệ thống thì sẽ khơng thể swing-up và cân bằng
+ Nhìn theo các đồ thị thì khi khơng thể đáp ứng các thơng số vị trí link 2, vận tốc góc link 2 và đáp ứng ngõ ra đều không thể duy trì trạng thái như trước khi có nhiễu tác động.
CHƯƠNG 5: THIẾT KẾ THI CƠNG MƠ HÌNH THỰC TẾ VÀ ĐIỀU KHIỂN CÂN BẰNG HỆ PENDUBOT
5.1 Giới thiệu
Chương này trình bày thiết kế cơ khí của hệ Pendubot các thiết kế board mạch điều khiển sử dụng vi điều khiển TMS320F28335 của Texas Instruments. Các khối xử lý và giải thuật thực hiện các bộ điều khiển đã được nghiên cứu ở chương 5. Kết quả điều khiển mơ hình thực tế của hệ Pendubot qua trình giữ cân bằng ở vị trí cân bằng ổn định hướng lên.
5.2 Thiết kế cơ khí của hệ Pendubot
Hệ Pendubot thực tế được thiết kế gồm hai thanh: Link1 (l1, m1, v1, I1) và link2 (l2, m2, v2, I2) chuyển động trong mặt phẳng thẳng đứng. Một động cơ DC 24V là cơ cấu động lực của thanh thứ nhất, động cơ được bắt chặt vào đế thép cố định. Thanh thứ hai bắt vào khớp quay tự do. Cả hai đều có gắn encoder đọc giá trị góc quay tuyệt đối về. Link1 và link2 được chế tạo bằng thanh nhôm đúc. Pendubot được thiết kế gọn, nhẹ, chắc chắn khi chuyển động.
Sau đây một số hình ảnh của mơ hình thực:
Hình 5.2 Mơ hình Pendubot thực tế của đề tài
5.3 Mạch điều khiển hệ Pendubot
5.3.1 Vi điều khiển DSP TMS320F28335
Vi điều khiển DSP TMS320F28335 là một vi điều khiển khá mạnh có các ngoại vi phù hợp để đọc các giá trị phản hồi và điều khiển hệ Pendubot, đồng thời hoạt động ở tốc độ 150MHz có bộ tính tốn xử lý số thực (FPU-Foating point Unit) đáp ứng các nhu cầu tính tốn xử lý của các bộ điều khiển. Mặc khác dòng vi điều khiển C2000 này đã được matlab hỗ trợ lập trình liên kết khá trực quan, nên việc thiết kế lập trình các bộ điều khiển thuận tiện và nhanh chóng hơn, dễ sửa lỗi hơn.
Một số chức năng điển hình của chip TMS320F28335
+ Tần số hoạt động lên đến 150MHz, tương ứng chu kỳ máy là 6.67ns nên tốc độ xử lý rất nhanh.
+ CPU 32 bit, hỗ trợ tính năng tính tốn với số dấu chấm động độ chính xác đơn.
+ Có 6 kênh điều khiển DMA cho ADC, McBSP, ePWM, XINTF, SARAM + Bộ nhớ trên chip 256Kx16Flash, 34Kx16SARAM
+ Boot ROM 8Kx16
+ Có 18 ngõ ra điều khiển chê độ rộng xung, 8 timer 32bit/9 timer 16bit, 2 bộ giao tiếp encoder 32bit, 2 bộ ADC
5.3.2 Module vi điều khiển TMS320F2335 value module
Do việc thiết kế board mạch cho chip DSP khó, cần cài đặt các chuẩn điện áp và chống nhiễu tín hiệu phức tạp, nên để đơn giản trong luận văn này sử dụng TMS320F28335 value module.
Hình 5.5 Board điều khiển TMS320F28335
Module này gồm:
+ Một module được tích hợp MCU chính là con chip DSP TMS230F28335 + IC TPS767D310 cấp nguồn điện cho MCU 3.3v và 1.9v
+ IC REF2130 tạo điện áp chuẩn tham chiếu cho các bộ ADC + Thạch anh tạo dao động ngoại 30MHz theo chuẩn công nghiệp
+ Các chân cấp nguồn và tín hiệu được kéo ra header 120 chân dạng cắm, tụ lọc nhiễu các chân tín hiệu MCU đảm bảo đúng yêu cầu thiết kế.
+ Tích hợp cổng kết nối dạng debug và chương trình nạp chương trình chuẩn TI JTAG IEEE1149.1
+ Led báo nguồn, nút Reset và các vùng switch lựa chọn vùng địa chỉ trong bộ nhớ chứa chương trình khởi động (bằng cách hàn hoặc tháo các điện trở)
Hình 5.6 Hình vẽ chi tiết các chân, kích thước của value module
5.3.3 Board điều khiển đọc các giá trị Encoder và xuất xung PWM
Board điều khiển bao gồm mạch cấp nguồn cho các module MCU, UART- USB giao tiếp với máy tính. Các thành phần của board điều khiển chính được trình bày như sau:
5.3.3.1 Sơ đồ nguyên lý chân ra của DSP TMS 320F28335 value module
5.3.3.2 Sơ đồ nguyên lý khối đo dòng và áp đơng cơ để tính thơng số động cơ
Kết nối theo sơ đồ bên dưới để đo dòng và áp cấp cho động cơ. Rồi qua cổng đệm và tăng áp để đưa vào chân ADC của DSP và tính tốn các thơng số của động cơ như trong chương 3 có đề cập
Hình 5.8 Mạch đệm đo dòng áp cấp cho động cơ
5.3.3.2 Sơ đồ nguyên lý khối đọc xung encoder
Khối kết nối cấp nguồn và đọc tín hiệu từ encoder (Encoder conector) là khối có nhiệm vụ cấp nguồn cho các encoder và đọc xung đo về vi điều khiển. Các tín hiệu xung từ encoder đọc về được đưa qua một IC đệm để đệm điện áp 5v thành 3.3v giao tiếp với vi điều khiển, đồng thời nắn tín hiệu đọc về từ encoder giảm thiểu nhiễu.
Hình 5.9 IC đệm cho encoder
Các cảm biến encoder: Dùng để đọc tín hiệu góc quay vận tốc quay của hai thanh của hệ Pendubot, điện áp cấp vào 5Vdc, tuy có nhiễu dây ngõ ra nhưng trong luận văn này chỉ sử dụng ra 2 xung vng pha A, B để xác định vị trí góc và chiều quay, độ phân giải của encoder là 400 xung trên vịng quay.
Hình 5.10 Encoder ứng dụng xác định vị trí
5.3.3.3 Sơ đồ nguyên lý khối phát xung PWM:
Sơ đố khối ngõ ra của bộ phát xung PWM điều khiển động cơ DC: có nhiệm vụ đệm tín hiệu xung PWM ngõ ra từ TMS230F28335 value module có mức điện áp 3.3v thánh mức điện áp 5v để cấp cho mạch cầu H lái động cơ. Khối được thiết kế với hai bộ ngõ ra gồm xung DIR quy định chiều quay và xung PWM nhưng chỉ sử dụng 1 ngõ ra cho hệ Pendubot.
Hình 5.11 Sơ đồ nguyên lý mạch đệm phát xung điều khiển PWM
5.3.3.4 Sơ đồ nguyên lý khối giao tiếp với máy tính
Sơ đồ nguyên lý khối giao tiếp với máy tính: sử dụng IC giao tiếp FT232R chuyển đổi tín hiệu giao tiếp SCI/UART từ vi điều khiển thành giao tiếp USB để truyền tín hiệu lên máy tính.
5.3.3.5 Sơ đồ nguyên lý mạch chuyển đổi xung vi sai qua xung PNP
Hình 5.13 Sơ đồ chuyển đổi xung vi sai qua xung NPN
5.3.3.6 Khối cấp nguồn cho mạch điều khiển
Có nhiệm vụ cung cấp nguồn Dc 24v cho mạch cầu H lái động cơ. Để cung cấp đủ công suất cho DSP, 2 Encoder, các IC đệm và mạch giao tiếp máy tính
Hình 5.15 Sơ đồ mạch điều khiển trung tâm
Kết quả thi công board mạch điều khiển thực tế: Sau khi thi công và lắp đặt mạch
điều khiển đã hoạt động tốt, các giá trị encoder đo về chính xác khơng bị nhiễu. Xung PWM xuất ra chính xác, mạch giao tiếp với máy tính chạy ổn định.
5.3.4 Mạch driver cầu H lái động cơ
Hình 5.16 Sơ đồ nguyên lý mạch cầu H
Kết quả thi công thực tế của mạch cầu H
+ Board cầu H-Brige dùng IC kích MC33833 của hãng free scale
+ Phần công suất dùng 4 POWER MOSFETs IRF3205 có thơng số VDSS=55v, RDS 100KHz
+ Ngõ vào opto cách ly PWM+, PWM-, DIR+, DIR-
+ Sử dụng IC kích Fet chuyên dụng MC338833 của freescale nên cycle đạt 100% ưu điểm hơn so với IC kích fet khác.
+ Có led báo nguồn, báo xung và chiều.
Hình 5.17 Mạch cầu H thực tế
5.4 Thiết kế chương trình điều khiển Pendubot
5.4.1 Giới thiệu các khối điều khiển và thư viện hỗ trợ của simulink
Để thiết kế chương trình ta sử dụng thư viện Matlab/simulink hỗ trợ lập trình đổ xuống chip TMS320F28335, taget support packet C2000lib. Hỗ trợ tất cả các MCU trong dòng vi điều khiển C2000 của TI. Trước hết ta phải lập trình các khối bằng matlab/ simulink, sau đó một trình biên dịch sẽ hỗ trợ phát một project mã C liên kết với Code composer studio v3.3 (CCS v3.3), sau đó CCS sẽ làm nhiệm vụ là môi trường build chạy và debug chương trình.
Việc kết hợp thư viện Target For TI C2000 được tích hợp sẵn trong Simulink của Matlab với Code Composer Studio (CCS) của hãng Taxes Intrument cho phép người sử dụng dịch các chương trình Simulink sang ngơn ngữ C chạy trên các chip DSP C2000 của TI như C280x fixed point DSP, C281x fixed point DSP, C28x3x floating point DSP, …
Hình 5.19 Thư viện target Preferences
Các module ngoại vi xuất nhập I/O, bộ đọc xung encoder QEP, bộ điều chế
độ rộng xung PWM, bộ chuyển đổi ADC, các khối truyền I2C, SCI, CAN của DSP
đều đọc hỗ trợ đầy đủ và cấu hình dễ dàng trực quan.
5.4.2 Sơ đồ giải thuật của chương trình điều khiển
Bắt đầu
Khởi tạo hoạt động cho các thiết bị ngoại
vi
Đọc xung phát từ encoder 1 và
encoder 2
Luật điều khiển cân bằng
Yes
No
|q1 - π/2|< 0.35 & |q1+q2-π/2|< 0.5
Luật điều khiển swing up
Hình 5.21 Sơ đồ giải thuật điều khiển swing up và cân bằng Pendubot
Giải thích sơ đồ giải thuật điều khiển Pendubot:
Đọc xung phát trên encoder 1 để biết q1 (góc giữa link 1 và trục hồnh)
Đọc xung phát trên encoder 2 để biết q2 (góc giữa link 2 và phương của link 1) Nếu góc link 1 lệch với phương thẳng đứng một góc bé hơn 0.35 rad (~20º) và góc link 2 lệch với phương link 1 một góc bé hơn 0.15 rad (~8.6 º) thì sẽ sử dụng bộ điều khiển cân bằng để điều khiển Pendubot nếu ngược lại thì sẽ sử dụng bộ điều khiển Swing-up để điều khiển Pendubot.
Mỗi vòng điều khiển trên được thực hiện với chu kỳ được chọn là 10ms để