Việc xây dựng các hệ thống điều khiển ứng dụng trong các quá trình công nghệ vào công nghiệp tự động hóa của nước nhà là điều vô cùng quan trọng.. Hệ thống điều khiển mức dùng giải thuật
Trang 1BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
BÁO CÁO ĐỒ ÁN 2
ĐỀ TÀI: ĐIỀU KHIỂN CÁNH TAY ROBOT HAI BẬC TỰ DO BẰNG ĐỘNG CƠ DC SỬ DỤNG GIẢI THUẬT PID
GIÁO VIÊN HƯỚNG DẪN: T.S ĐẶNG XUÂN BA
SINH VIÊN THỰC HIỆN:
1. Nguyễn Việt Tiến 17150106
2. Vũ Đức Minh 17151106
THÀNH PHỐ HỒ CHÍ MINH
THÁNG 8/ 2020
Trang 2Lời mở đầu
Việt Nam đang bước vào kỷ nguyên Tự Động Hóa & Hiện Đại Hóa hòa mình cùng thế giới để phát triển Việc xây dựng các hệ thống điều khiển ứng dụng trong các quá trình công nghệ vào công nghiệp tự động hóa của nước nhà là điều vô cùng quan trọng Trên cơ sở tiếp thu tri thức của nhân loại để phục vụ cho việc đi tắt, đón đầu là một vấn đề vô cùng cấp thiết Đề tài hướng vào việc tìm hiểu và khám phá lĩnh vực điều khiển chính xác để phục vụ cho yêu cầu điều khiển thực tế.
Hệ thống điều khiển mức dùng giải thuật PID ứng dụng một trong những thuật toán điều khiển quá trình như : Điều khiển mức, điều khiển lưu lượng, điều khiển vận tốc, điều khiển vị trí Việc ứng dụng giải thuật điều khiển chính xác này vào thực tế nhằm làm giảm sai số trong kết quả điều khiển.
Với việc chiếm tỷ lệ cao so với các giải thuật điều khiển khác (> 80%), giải thuật điều khiển PID chiếm một vị trí vô cùng quan trọng trong các giải thuật điều khiển dùng trong công nghiệp Việc nghiên cứu, ứng dụng được thuật giải này làm mở ra
cơ hội cho bản thân trong lĩnh vực điều khiển.
2
Trang 3Mục lục
Chương 1: Mở đầu
1 Đặt vấn đề
- Sự phát triển không ngừng của xã hội mà động lực chính là cuộc cách mạng về khoa học công nghệ đã tạo ra nhiều máy móc, thiết bị phục vụ cho con người Nhu cầu của chúng ta là vô hạn nên máy móc cũng không ngừng phát triển để đáp ứng kịp nhu cầu đó
Trong ngành công nghiệp tự động hóa, điều khiển thiết bị theo yêu cầu có sẵn, thiết bị được lập trình sẵn, thiết bị hoạt động dựa vào các tín hiệu phản hồi ngày càng được áp dụng rộng rãi Điều đó giúp giảm bớt sức lao động và tăng năng suất, chất lượng cho sản phẩm và bảo vệ sức khỏe của người lao động
- Hiện nay có rất nhiều cách điều khiển thiết bị như dùng vi mạch số, vi xử lí, vi điều khiển, PLC, điều khiển bằng máy tính, điều khiển thông minh… Với nhiều phương pháp điều khiển khác nhau Phương pháp điều khiển PID là phương pháp được sử dụng phổ biến nhất hiện nay và phương pháp điều khiển PID thỏa mãn khá tốt các yêu cầu thực tế đặt ra
-Trong bài nghiên cứu này, nhóm em quyết định tìm hiểu về phương pháp điều khiển cánh tay robot với động cơ dùng giải thuật PID Nhóm em mong muốn có thêm những kiến thức về điều khiển tự động nhằm phục vụ tốt hơn cho yêu cầu công việc sau này
2 Mục đích nghiên cứu
-Củng cố và vận dụng kiến thức đã học: điện tử cơ bản, điều khiển tự động,… vào mô hình thực tế
Trang 4-Tìm hiểu về phương pháp điều khiển PID.
-Nâng cao khả năng thi công mô hình thực tế
-Trau dồi kiến thức về robot cũng như mô hình thực tế robot
3 Đối tượng và phạm vi nghiên cứu
-Thiết kế và thi công mô hình
-Nghiên cứu giải thuật điều khiển PID, lập trình và điều khiển hệ thống
Chương 2: Tổng quan về cánh tay hai bậc tự do
2.1 Mô hình cánh tay
- Hệ thống gồm một khung robot hai bậc tự do và hai động cơ DC có encoder Vị trí của động cơ được trả về từ encoder Động cơ được cấp nguồn bằng adapter 12V thông qua module điều khiển động cơ điều khiển bởi board arduino
2.2 Phần cứng của mô hình
2.2.1 Arduino
-Arduino Uno R3 là dòng mạch phổ biến nhất trong các dòng mạch Arduino, phiên bản Uno này là Revision 3 (R3) là phiên bản mới nhất hiện giờ, có độ chính xác và độ bền cao hơn rất nhiều so với Arduino Uno phiên bản cũ
-Arduino UNO R3 có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,
ATmega168, ATmega328 Bộ vi điều khiển thông minh này có thể điều khiển led đơn, điều khiển động cơ, xử lý tín hiệu, thu thập dữ liệu từ các cảm biến để hiển thị lên màn hình Led, LCD,… và nhiều ứng dụng khác
4
Trang 5Thông số kĩ thuật
Vi điều khiển ATmega328 (họ 8bit)
Điện áp hoạt động 5V – DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ 30mA
Điện áp vào khuyên dùng 7-12V – DC
Điện áp vào giới hạn 6-20V – DC
Số chân Digital I/O 14 (6 chân PWM)
Trang 6Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Arduino UNO R3 có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều
có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối)
2.2.2 Module điều khiển động cơ L298N
- Module điều khiển động cơ một chiều (DC Motor Driver) sử dụng chip cầu H L298 giúp điều khiển tốc độ và chiều quay của động cơ DC một cách dễ dàng Ngoài ra module L298 còn điều khiển được 1 động cơ bước lưỡng cực Mạch cầu H của IC L298 có thể hoạt động ở điện áp từ 5V đến 35V
Thông số kỹ thuật của mạch điều khiển động cơ L298N:
Driver: L298N tích hợp hai mạch cầu H
Điện áp điều khiển: +5 V ~ +35 V
Dòng tối đa cho mỗi cầu H: 2A
Điện áp tín hiệu điều khiển: +5 V ~ +7 V
6
Trang 7Dòng tín hiệu điều khiển: 0 ~ 36mA
Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)
Nhiệt độ vận hành: -25 ℃ ~ +130 ℃
2.2.3 Động cơ DC servo GA25
Thông số kỹ thuật:
Điện áp cấp cho động cơ hoạt động: 3 – 12VDC
Điện áp cấp cho Encoder hoạt động: 3.3VDC
Đĩa Encoder 11 xung, hai kênh A-B
Đường kính động cơ: 25mm
Đường kính trục: 4mm
2.2.4 Khung cánh tay robot
Khung cánh tay robot MK2 được in 3D, các khớp của robot dùng được cho cả động cơ step và động cơ DC
Trang 9Chương 3: Thuật toán điều khiển
3.1 Giới thiệu bộ điều khiển PID
-Bộ điều khiển PID là bộ điều khiển vòng kín, được sử dụng rộng rãi trong công
nghiệp.Bộ điều khiển PID được sử dụng để điều chỉnh sai lệch giữa giá trị đo được của
hệ thống( Process Variable-PV) với giá trị đặt (Set point-SP) bằng cách tính toán và điều chỉnh giá trị ở ngõ ra
-Một bộ điều khiển gồm 3 thành phần:
• P(Proportional): Tạo tín hiệu tỉ lệ với sai lệch
• I(Integral): Tạo tín hiệu điều khiển tỉ lệ với tích phân theo thời gian của sai lệch
• D(Derivative): Tạo tín hiệu điều khiển tỉ lệ với vi phân theo thời gian của sai lệch
Sơ đồ hệ thống dùng điều khiển PID
3.1.1 Bộ điều khiển tỉ lệ (P)
Khâu P tạo ra tín hiệu điều khiển tỉ lệ với giá trị của sai lệch Việc này được thực hiện bằng cách nhân sai số e với hằng số Kp gọi là hằng số tỉ lệ
Pout=Kp.e(t)
Trang 10Trong đó: Pout: giá trị ngõ ra
Kp: hằng số tỉ lệ
Nếu hệ số Kp quá lớn thì hệ thống mất ổn định
Nếu hệ số Kp nhỏ sẽ làm cho bộ điều khiển kém nhạy hoặc đáp ứng chậm Hơn nữa tác động điều khiển của bộ P sẽ quá bé làm hệ thống không chính xác
3.1.2 Bộ điều khiển tích phân (I)
Bộ điều khiển tích phân (I) cộng them tổng các sai số trước đó vào giá trị điều khiển Việc tính tổng các sai số được thực hiện liên tục cho đến khi giá trị đạt đươc bằng giá trị đặt và kết quả là hệ thống cân bằng khi sai số bằng 0
Khâu I được tính theo công thức
Iout =Ki
Trong đó: Iout: giá trị ngõ ra khâu I
Ki: hệ số tích phân
Khâu I thường đi kém với khâu P, hợp thành bộ điều khiển PI, nếu chỉ sử dụng khâu I thì đáp ứng của hệ thống sẽ chậm và thường bị dao động
3.1.3 Bộ điều khiển vi phân(D)
Bộ điều khiển vi phân (D) cộng them tốc độ thay đổi sai số vào giá trị điều khiển ở ngõ ra Nếu sai số thay đổi nhanh thì sẽ tạo ra thành phần cộng thêm vào giá trị điều khiển Điều này cải thiện đáp ứng của hệ thống, giúp trạng thái của hệ thống thay đổi nhanh chóng và nhanh chóng đạt được giá trị mong muốn
Khâu D được tính theo công thức:
Dout=Kd
Trong đó: Dout: ngõ ra khâu D
10
Trang 11Kd: hệ số vi phân Khâu D thường đi kèm với khâu P, hợp thành bộ điều khiển PD, hoặc bộ PI để hợp thành bộ điều khiển PID
3.1.4 Tổng hợp 3 khâu, bộ điều khiển PID
Bộ điều khiển PID là tổng hợp ghép song song 3 khâu P,I,D
Phương trình bộ PID lý tưởng
u(t)=Kpe(t)+ Ki+ Kd
3.2 Lí thuyết kĩ thuật robot hai bậc tự do
Cánh tay robot hai bậc tự do gồm hai khớp, hai thanh liên kết Cánh tay robot hai bậc tự
do hoạt động trong một mặt phẳng Sau đây là bảng DH của robot hai bậc tự do với trục được đặt như hình trên
Joint ai-1 aphai-1 di Thetai
z0z1x0 1 0 0 0 Theta1 x0x1z1
z1z2x1 2 L1 0 0 Theta2 x1x2z2
z2z3x2 3 L2 0 0 0 x2x3z3
Trang 123.2.1 Động học thuận
Ma trận biến đổi đồng nhất giữa hệ 1 và 2
Ma trận biến đổi đồng nhất giữa hệ 0 và 1
Ma trận biến đổi đồng nhất giữa hệ 0 và 2
Khi ta có hai góc theta 1 và theta 2 ta có thể tìm ra được vị trí của điểm đầu cuối
12
Trang 133.2.2 Động học nghịch
Cho trước tọa độ điểm đầu cuối X,Y Từ kết quả của bài 0T2 của tính toán động học thuận trên, ta có phương trình
Từ phương trình trên, bằng các phép biến đổi, ta có thể dễ dàng tính được theta 2
Từ theta 2, ta có thể suy ra được theta 1 hai nghiệm
Trang 14Chương 4 Mô phỏng động cơ của cánh tay trên Matlab
4.1 Sơ đồ khối điều khiển động cơ trên Matlab
Với Trajectory planning là tọa độ điểm đầu cuối mà người dùng muốn robot di chuyển đến, Inverse Kinematics là khâu động học nghịch, Mechanical Model of the Robot là khâu điều khiển động cơ, Forward Kinematics là khâu động học thuận và khâu cuối cùng Estimated position là mô phỏng điềm đầu cuối
4.2 Trajectory planning
Với quĩ đạo mong muốn mà em muốn robot vẽ là hình tròn
14
Trang 154.3 Inver Kinematics
Dựa vào lí thuyết ở trên, em viết chương trình để tính động học nghịch cho robot
4.4 Forward Kinematics
Dựa vào lí thuyết ở trên, em viết chương trình tính động học thuận cho robot
Trang 164.5 Mechanical Model of the Robot
Ở các khớp của robot, em mô phỏng sử dụng PID để hồi tiếp góc theta mong muốn để hệ thống tính toán góc theta cho phù hợp Thông số PID em sử dụng công cụ PID tuning để xác định chúng
4.6 Kết quả mô phỏng matlab
Với Trajectory planning đặt là đường tròn với bán kính 0.5, góc xuất phát là pi/2
Cánh tay robot mô phỏng sẽ phải vẽ được hình tròn như sau
16
Trang 17Kết quả mô phỏng đạt được là
Vì mô phỏng là điều kiện lí tưởng không có ảnh hưởng tác động từ bên ngoài nên hình tròn tính toán và hình tròn của cánh tay robot vẽ giống nhau
4.7 Mô hình thực tế
Trang 184.8 Kết quả thực tế
Vị trí ban đầu của động cơ
Khi cho vị trí động cơ bằng 30
Nhận xét: Khi điều chỉnh tốc độ ở vị trí 30 thì động cơ sẽ qua đúng vị trí 30 mong muốn
18
Trang 19Kết luận
Qua quá trình nghiên cứu và thực hiện đề tài đã được một số kết quả sau:
• Đưa ra mô hình toán học của động cơ
• Xác định được hàm truyền, đặc tính thời gian, đặc tính tần số của hệ thống.
• Khảo sát sự ổn định của hệ thống và thiết kế bộ điều khiển PID.
Đề tài “Điều khiển cánh tay robot hai bậc tự do bằng động cơ DC với giải thuật PID” sẽ hỗ trợ đắc lực trong quá trình giảng dạy, học tập và nghiên cứu khoa học cho giảng viên cũng như sinh viên trường Đại học Sư phạm Kỹ thuật TPHCM Việc áp dụng mô hình động cơ sẽ giúp người học kiểm chứng lại các giải thuật, phương pháp điều khiển khác nhau nhằm tìm ra giải thuật tối ưu cho từng ứng dụng cụ thể.
Trang 20Tài liệu tham khảo:
[1] Nguyễn Thị Phương Hà, Huỳnh Thái Hoàng, Lý thuyết Điều khiển tự
động, 2016, Nhà xuất bản Đại học Quốc gia TP.HCM.
[2] http://arduino.vn/bai-viet/42-arduino-uno-r3-la-gi
[3] https://www.youtube.com/watch?v=UsnOuJe0nC0&t=770s
20