0
Tải bản đầy đủ (.pdf) (48 trang)

Sơ đồ mơ phỏng bộ điều khiển PID mờ cho hệ thống

Một phần của tài liệu ỨNG DỤNG MATLAB THIẾT KẾ BỘ ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU KÍCH TỪ ĐỘC LẬP (Trang 29 -29 )

Hình3.17: Sơ đồ simulink bộ điều khiển PID mờ khi khơng cĩ tải

- Với bộ Kp = 1.45, Ki = 21.2125, Kd = 0.00005 mơ phỏng hệ thống với trường hợp khơng cĩ tải Mc = 0 Nm

22

Hình 3.19: Đáp ứng dịng điện động cơ với bộ điều khiển PID mờ ở chế độ khơng tải

- Trường hợp khi cĩ tải Mc = 0.2 Nm

23 - Với bộ Kp = 1.45, Ki = 25.2125, Kd = 0.00005 mơ phỏng hệ thống với

trường hợp cĩ tải Mc = 0.2 Nm

Hình 3.21: Đáp ứng tốc độ gĩc của động cơ với bộ điều khiển PID mờ ở chế độ cĩ tải

24

CHƯƠNG 4. KẾT NỐI PHẦN MỀM MATLAB/SIMULINK VỚI BO

ARDUINO VÀ THIẾT KẾ PHẦN CỨNG

4.1. Cách tải và cài đặt thư viện Simulink hỗ trợ boArduino cho Matlab

- Chọn Add – Ons Get Hardware Support Packages trên giao diện làm việc của Matlab

Hình 4.1: Chọn Get Hardware Support Packages

- Tìm kiếm với nội dụng Simulink Support Package for Arduino Hardware

Hình 4.2 : Tìm kiếm thư viện Simulink hỗ trợ bo arduino

- Chọn thư viện vừa tìm kiếm được và tiến hành cài đặt

25 - Chọn I Accept khi hộp thoại bên dưới xuất hiện

Hình 4.4: Một số điều khoản thỏa thuận

- Chọn Next ở hộp thoại tiếp theo

Hình 4.5: Một số giấy phép

- Đợi cho đến khi cài đặt xong thư viện

26

Hình 4.7 : Cài đặt hồn tất thư viện

Hình 4.8 : Thư viện simulink hỗ trợ bo arduino khi cài đặt hồn tất

4.2. Thiết kế phần cứng 4.2.1. Vi điều khiển 4.2.1. Vi điều khiển

Giới thiệu về vi điều khiển

- Arduino là nền tảng giúp phát triển các ứng dụng vi điều khiển nhanh và thuận tiện

- Ứng dụng rộng rãi trong các thiết kế (cả nghiên cứu lẫn thương mại) - Được hỗ trợ bởi cộng đồng lớn

- Arduino Uno là dịng Arduino phổ biến nhất - Chính vì vậy em chọn Arduino Uno R3

27

Hình 4.9: Arduino Uno R3

Thơng số kĩ thuật

- Vi điều khiển: Atmega328 (họ 8bit) - Điện áp hoạt động: 5V

- Tần số hoạt động: 16MHz - Dịng tiêu thụ: 30mA

- Điện áp vào khuyên dùng: 7-12VDC - Điện áp vào giới hạn: 6-20VDC

- Số chân Digital I/O: 14 chân (6 chân PWM) - Số chân Analog: 6 chân ( độ phân giải 10bit) - Dịng tối đa trên mỗi trân I/O: 30mA

- Dịng ra tối đa (5V): 500mA - Dịng ra tối đa (3.3V): 50mA

- Bộ nhớ flash: 32KB (Atmega328) với 0.5KB dùng bởi bootloader - Kích thước: 68.6 x 53.4mm

- Trọng lượng: 25g

28

Hình 4.10: Sơ đồ chân Arduino Uno R3

Chân giao tiếp Digital (tín hiệu số): - Cĩ 14 chân, từ 0 đến 13

- Những chân cĩ dấu ~ (3, 5, 6, 9, 10,11) là những chân cĩ thể xuất ra xung cĩ thể thay đổi độ rộng(PWM), được ứng dụng để điều khiển tốc độ động cơ hoặc độ sáng của đèn.

Chân đọc tín hiệu Analog (tín hiệu tương tự): - Cĩ 6 chân, từ A0 đến A5.

- Đọc tín hiệu Analog từ cảm biến để IC Atmega 328 xử lý. Chân cấp nguồn:

- Bao gồm các chân: GND (nối đất/âm), 5V, 3.3V

- Các chân này dùng để cấp nguồn cho các thiết bị bên ngồi như role, cảm biến, RC servo,…

29

4.2.2. Encoder

Giới thiệu encoder

- Encoder hay cịn gọi là bộ mã hĩa, là một bộ cảm biến chuyển động cơ học tạo ra tín hiệu kỹ thuật số đáp ứng với chuyển động. Là một thiết bị cơ điện cĩ khả năng làm biến đổi chuyển động thành tín hiệu số hoặc xung.

- Encoder mục đích dùng để quản lý vị trí gĩc của một đĩa quay, cĩ thể là đĩa quay của bánh xe, trục động cơ hay bất kì thiết bị nào cần xác định vị trí gĩc. Đọc encoder

- Để điều khiển số vịng quay hay vận tốc động cơ thì chúng ta nhất thiết phải đọc được gĩc quay của motor. Một số phương pháp cĩ thể được dùng để xác định gĩc quay của motor bao gồm tachometer (thật ra tachometer đo vận tốc quay), dùng biến trở xoay, hoặc dùng encoder. Trong đĩ 2 phương pháp đầu tiên là phương pháp analog và dùng optiacal encoder (encoder quang) thuộc nhĩm phương pháp digital. Hệ thống optical encoder bao gồm một nguồn phát quang (thường là hồng ngoại-infrared), một cảm biến quang và một đĩa cĩ chia rãnh. Optical encoder lại được chia thành 2 loại: encoder tuyệt đối (absolute optical encoder) và encoder tương đối (incremental optical encoder). Đa số các động cơ điện 1 chiều đều thường dùng encoder tương đối

30 - Encoder thường cĩ 3 kênh (3 ngõ ra) bao gồm kênh A, kênh B và kênh I

(Index). Trong hình 2 bạn thấy hãy chú ý một lỗ nhỏ bên phía trong của đĩa quay và một cặp phat-thu dành riêng cho lỗ nhỏ này. Đĩ là kênh I của encoder. Cữ mỗi lần motor quay được một vịng, lỗ nhỏ xuất hiện tại vị trí của cặp phát-thu, hồng ngoại từ nguồn phát sẽ xuyên qua lỗ nhỏ đến cảm biến quang, một tín hiệu xuất hiện trên cảm biến. Như thế kênh I xuất hiện một “xung” mỗi vịng quay của motor. Bên ngồi đĩa quay được chia thành các rãnh nhỏ và một cặp thu-phát khác dành cho các rãnh này. Đây là kênh A của encoder, hoạt động của kênh A cũng tương tự kênh I, điểm khác nhau là trong 1 vịng quay của motor, cĩ N “xung” xuất hiện trên kênh A. N là số rãnh trên đĩa và được gọi là độ phân giải (resolution) của encoder. Mỗi loại encoder cĩ độ phân giải khác nhau, cĩ khi trên mỗi đĩa chĩ cĩ vài rãnh nhưng cũng cĩ trường hợp đến hàng nghìn rãnh được chia. Để điều khiển động cơ, bạn phải biết độ phân giải của encoder đang dùng. Độ phân giải ảnh hưởng đến độ chính xác điều khiển và cả phương pháp điều khiển. Khơng được vẽ trong hình 2, tuy nhiên trên các encoder cịn cĩ một cặp thu phát khác được đặt trên cùng đường trịn với kênh A nhưng lệch một chút (lệch M+0,5 rãnh), đây là kênh B của encoder. Tín hiệu xung từ kênh B cĩ cùng tần số với kênh A nhưng lệch pha 900. Bằng cách phối hợp kênh A và B người đọc sẽ biết chiều quay của động cơ.

- Hình dưới thể hiện sự bộ trí của 2 cảm biến kênh A và B lệch pha nhau. Khi cảm biến A bắt đầu bị che thì cảm biến B hồn tồn nhận được hồng ngoại xuyên qua, và ngược lại. Hình thấp là dạng xung ngõ ra trên 2 kênh. Xét trường hợp motor quay cùng chiều kim đồng hồ, tín hiệu “đi” từ trái sang phải. Lúc tín hiệu A chuyển từ mức cao xuống thấp (cạnh xuống) thì kênh B đang ở mức thấp. Ngược lại, nếu động cơ quay ngược chiều kim đồng hồ, tín hiệu “đi” từ phải qua trái. Lúc này, tại cạnh xuống của kênh A thì kênh B đang ở mức cao. Như vậy, bằng cách phối hợp 2 kênh A và B chúng ta khơng những xác định được gĩc quay (thơng qua số xung) mà cịn biết được chiều quay của động cơ (thơng qua mức của kênh B ở cạnh xuống của kênh A).

31

Hình 4.12: Hai kênh encoder

4.2.3. Nguồn điện

Sử dụng nguồn xung ( hay cịn được gọi là nguồn tổ ong): là bộ nguồn cĩ tác dụng biến đổi từ nguồn điện xoay chiều sang nguồn điện một chiều bằng chế độ dao động xung tạo bằng mạch điện tử kết hợp với một biến áp xung.

Chúng ta biết rằng nguồn tuyến tính cổ điển sử dụng biến áp sắt từ để làm nhiệm vụ hạ áp rồi sau đĩ dùng chỉnh lưu kết hợp với IC nguồn tuyến tính tạo ra các cấp điện áp một chiều theo yêu cầu như: 3.3V, 5V, 6V…

32 Chức năng của nguồn tổ ong:

- Nguồn tổ ong được cấu tạo để chuyển đổi điện áp từ nguồn xoay chiều thành nguồn một chiều, giúp các thiết bị điện hoạt động.

- Nguồn tổ ong được sử dụng rộng rãi trong mọi hoạt động sinh hoạt và sản xuất. Bộ nguồn này luơn mang lại hiệu suất tối đa cho cơng nghệ LED hiện đại.

- Nguồn tổ ong được dùng rộng rãi trong các thiết bị cơng nghiệp và dân dụng như lắp đặt tủ điện, lắp đèn, camera giám sát, máy tính, loa đài...hoặc bất cứ thiết bị nào sử dụng nguồn một chiều cĩ thơng số tương ứng. Nguồn tổ ong thường được dùng trong các mạch ổn áp, cung cấp dịng áp đủ tranh trường hợp dịng ảnh hưởng tới mạch, sụt áp.

- Bộ nguồn này cĩ các cong dụng nổi bật như chỉnh lưu, biến tần, nắn dịng,...nhằm làm dịng điện, điện áp, tần số dao động ổn định. Khơng những cĩ vai trị quan trọng, nguồn tổ ong làm tăng tuổi thọ của các thiết bị điện lâu hơn.

Thơng số kỹ thuật của nguồn tổ ong cơ bản - Điện áp ngõ vào: 110/220 VAC - Điện áp ngõ ra: 12 VDC

- Sai số điện áp đầu ra: 1-3 % - Cơng suất thực tế :88 % - Nhiệt độ làm việc :0-70 độ C

4.2.4. Mạch Driver động cơ

Sử dụng mạch điều khiển động cơ DC L298N điều khiển 2 động cơ DC, dịng tối đa 2A mỗi động cơ.

Mạch điều khiển động cơ L298N dễ sử dụng, chi phí thấp, dễ lắp đặt, là lựa chọn tối ưu trong tầm giá.

Thơng số kĩ thuật:

- IC chính: L298- Dual Full Bridge Driver - Driver: L298N tích hợp hai mạch cầu H - Điện áp vào: 5-30VDC

33 - Điện áp của tín hiệu điều khiển: +5 V ~ +7 V

- Dịng của tín hiệu điều khiển: 0 ~ 36mA - Nhiệt độ bảo quản: -25 ℃ ~ +130 ℃

- Cơng suất hao phí : 20W (khi nhiệt độ T = 75 °C) - Dịng tối đa cho mỗi cầu H: 2A

Hình 4.14: L298

Chức năng các chân:

- IN1, IN2, IN3, IN4: chân nhận tín hiệu điều khiển - OUT1, OUT2, OUT3, OUT4: nối với động cơ

- ENA, ENB: điều khiển mạch cầu H. Nếu ở mức logic “1” thì cho phép mạch cầu H hoạt động, nếu ở mức logic “0” thì mạch cầu H khơng hoạt động. Mạch nguyên lí:

34 Điều khiển chiều quay:

- Khi ENA, ENB = 0: Động cơ khơng quay với mọi đầu vào - Khi ENA, ENB =1:

- IN1=1, IN2=0: Động cơ quay thuận - IN1=0, IN2=1: Động cơ quay nghịch - IN1=IN2: Động cơ dừng

- IN3=1, IN4=0: Động cơ quay thuận - IN3=0, IN4=1: Động cơ quay nghịch - IN3=IN4: Động cơ dừng

Sơ đồ chân:

Hình 4.16: Sơ đồ chân IC L298

Mạch cầu H:

35

4.2.5. Động cơ NF5475E

Hình 4.18: Động cơ Nisca NF5475E gắn encoder

Thơng số kỹ thuật

- Điện áp: 12-24VDC - Cơng suất: 32W

- Tốc độ: 4500 vịng/phút

- Encoder: 200 xung, 2 kênh A B,điện áp cấp cho encoder 5 VDC

Đầu trục cĩ gắn sẵn một bulley răng 2mm 20 răng, đường kính 12.2mm Encoder 200 xung cho độ chính xác cao. Ứng dụng làm máy CNC, điều khiển bánh xe robot, làm mơ hình tự cân bằng , làm máy bắn các loại bĩng bàn, tennis , cầu lơng.

36

4.3. Kết nối phần cứng với simulink

4.3.1. Sơ đồ khối và sơ đồ kết nối phần cứng

Hình 4.20: Sơ đồ khối kết nối simulink và phần cứng

Hình 4.21: Sơ đồ kết nối phần cứng

Kết nối chi tiết

- Nguồn 220VAC ra 12VDC

+ Chân “L” và “N” kết nối với 220VAC

+ Chân “V+” kết nối với chân “12V” của Driver L298 + Chân “V-” kết nối với chân “GND” của Driver L298 - Driver L298

+ Chân “IN1” kết nối với chân “7” của Arduino + Chân “IN2” kết nối với chân “8” của Arduino + Chân “ENA” kết nối với chân “5” của Arduino + Chân “GND” kết nối với chân “GND” của Arduino + 2 chân của OUT1 kết nối với 2 chân Động cơ NF5475E

37 - Encoder

+ Chân “+” kết nối với chân “5V” của Arduino + Chân “-” kết nối với chân “GND” của Arduino + Chân “A” kết nối với chân “2” của Arduino + Chân “B” kết nối với chân “3” của Arduino

4.4. Điều khiển động cơ với thư viện simulink hỗ trợ bord arduino

Chương trình điều khiển:

Hình 4.22: Chương trình Simulink điều khiển tốc độ động cơ

38 Kết quả:

Hình 4.24: Đáp ứng tốc độ của động cơ thực tế

Nhận xét:

- Với thời gian là 4 giây để động cơ cĩ thể ổn định sau khi khởi động ,thay đổi vận tốc nhanh hơn hay chậm lại. Khi tăng hay giảm tải thì thời gian ổn định của động cơ cũng khoảng 4 giây.

- Trong các trường hợp động cơ ổn định sau khi khởi động, thay đổi vận tốc hay tăng, giảm tải thì động cơ bám tốt với tốc độ đặt.

- Với đáp ứng tốc độ đã thu thập được sau khi thực hiện điều khiển tốc độ động cơ một chiều bằng bộ điều khiển PID bằng phần mềm Matlab/Simulink thì kết quả này cũng cĩ thể chấp nhận được.

39

CHƯƠNG 5. KẾT LUẬN

5.1. Kết luận

Trên đây là tất cả nội dung qua quá trình học tập trên lớp, tham khảo tài liệu và với sự hướng dẫn của thầy Nguyễn Phú Cơng, em đã trình bày các nội dung yêu cầu của đề tài là “ Ứng Dụng Matlab thiết kế bộ điều khiển tốc độ động cơ 1 chiều kích từ độc lập ”.

Sau khi thực hiện xong đề tài này, em đã cĩ thêm nhiều kiến thức về động cơ điện một chiều trong cuộc sống sinh hoạt và cơng nghiệp.

5.2. Hạn chế

Một sản phẩm hồn thiện và cĩ thể ứng dụng vào thực tế thì địi hỏi phải cần một thời gian thử nghiệm rất dài. Tuy nhiên, điều kiện thời gian ngắn cùng với trình độ cịn hạn chế, các kiến thức học được chưa cĩ nhiều ứng dụng vào thực tế nên chỉ giải quyết một số vấn đề và khơng tránh khỏi thiếu sĩt.

5.3. Hướng phát triển

Ở đề tài này chỉ tập trung điều khiển tốc độ động cơ bằng bộ điều khiển PID, ta cĩ thể phát triển thêm điều khiển về điều khiển vị trí và sử dụng bộ điều khiển PID mờ thay cho bộ điều khiển hiện tại để đạt những kết quả cao hơn.

40

TÀI LIỆU THAM KHẢO

[1] Nguyễn Thị Phương Hà, Huỳnh Thái Hồng (2003), Lý thuyết điều khiển tự

động, NXB ĐH Quốc Gia, Thành Phố Hồ Chí Minh.

[2] Nguyễn Dỗn Phước, Phan Xuân Minh (1997), Lý thuyết điều khiển mờ,

NXB Khoa học và Kỹ thuật.

[3] Nguyễn Phùng Quang (2006), Matlab và Simulink dành cho kỹ sư điều khiển

tự động, NXB Khoa học và Kỹ thuật.

[4] Nguyễn Đức Thành (2004), Matlab Và Ứng Dụng Trong Điều Khiển, NXB

ĐH Quốc Gia, Thành Phố Hồ Chí Minh.

Các website:

http://mathworks.com http://www.dieukhien.net http://www.dientuvietnam.net http://www.dammedientu.vn

Một phần của tài liệu ỨNG DỤNG MATLAB THIẾT KẾ BỘ ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU KÍCH TỪ ĐỘC LẬP (Trang 29 -29 )

×