Theo quá trình phát triển của xã hội, nhu cầu nâng cao sản xuất và chất lượng sản phẩm ngày càng đòi hỏi ứng dụng rộng rãi các phương tiện tự động hóa sản xuất. Xu hướng tạo ra những dây chuyền và thiết bị tự động có tính linh hoạt cao đã hình thành và phát triển mạnh mẽ. Vì thế ngày càng tăng nhanh nhu cầu ứng dụng người máy để tạo ra các hệ sản xuất tự động linh hoạt.
TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG ***** BÀI BÁO NGHIÊN CỨU ROBOT CÔNG NGHIỆP RRP Giảng viên hướng dẫn : LÊ CÔNG DANH Sinh viên thực : Nhóm 02 Phạm Trung Hiếu 2051050114 (C) Lê Thành Dự 2051050083 Nguyễn Khoa Điền 2051050095 Nguyễn Chí Trung Nguyên 2051050031 Đào Duy Hải 2051050103 Nguyễn Hải Trường An 2051050060 TP Hồ Chí Minh 27/03/2023 Bài báo nghiên cứu Robot LỜI MỞ ĐẦU Theo trình phát triển xã hội, nhu cầu nâng cao sản xuất chất lượng sản phẩm ngày đòi hỏi ứng dụng rộng rãi phương tiện tự động hóa sản xuất Xu hướng tạo dây chuyền thiết bị tự động có tính linh hoạt cao hình thành phát triển mạnh mẽ Vì ngày tăng nhanh nhu cầu ứng dụng người máy để tạo hệ sản xuất tự động linh hoạt Robot ứng dụng rộng rãi đóng vai trị quan trọng sản xuất đời sống Robot cấu đa chức có khả lập trình dùng để di chuyển nguyên vật liệu, chi tiết, dụng cụ thông qua truyền động lập trình trước Robot đóng vai trị quan trọng tự động hố linh hoạt cơng tác vận chuyển bổ trợ cho máy CNC, dây chuyền lắp ráp, sơn hàn tự động, thao tác lặp lặp lại, vùng nguy hiểm Một robot chuyển động từ vị trí sang vị trí khác để cung cấp chi tiết đồng thời giao tiếp với thiết bị ngoại vi PLC, bàn điều khiển hệ thống mạng truyền thông công nghiệp Ưu điểm quan trọng kỹ thuật robot tạo nên khả linh hoạt hóa sản xuất Điển hình cấu robot RRP ứng dụng nghiều phục vụ cho sản xuất công nghiệp, y tế, vận chuyển Dó lý nhóm em chọn đề tài nghiên cứu thiết kế chế tạo robot công nghiệp cấu RRP Làm tảng để phát triển ứng dụng tương lai Do thời gian trình độ có hạn nên đồ án tốt nghiệp em khơng tránh khỏi thiếu sót Em mong nhận đóng góp ý kiến thầy cô bạn bè để đồ án tốt nghiệp em hoàn thiện Em xin chân thành cảm ơn! Nhóm – TD20A Bài báo nghiên cứu Robot Ứng dụng chip STM32 1.1 Giới thiệu sơ lược STM32 dòng chip phổ biến ST với nhiều họ thông dụng F0,F1,F2,F3,F4… Stm32f103 thuộc họ F1 với lõi ARM COTEX M3 STM32F103 vi điều khiển 32 bit, tốc độ tối đa 72Mhz Giá thành rẻ so với loại vi điều khiển có chức tương tự Mạch nạp cơng cụ lập trình đa dạng dễ sử dụng Hình 1.1 Chip xử lí STM32 1.2 Một ᴠài đặc điểm bật STM32 ST đưa thị trường dòng vi điều khiển STM32, bước tiến quan trọng mặt chi phí hiệu suất, với giá gần Euro với số lượng lớn STM32 có 14 biến thể khác nhau, phân thành hai dòng Performance Access, với tần số hoạt động CPU lên đến 72MHz 36MHz tương ứng Các biến thể STM32 hai nhóm tương thích hồn tồn cách bố trí chân (pin) phần mềm, đồng thời kích thước nhớ FLASH ROM lên tới 512K 64K SRAM STM32 có nhiều ứng dụng thiết bị ngoại vi chơi game, ứng dụng cơng nghiệp, thiết bị lập trình PLC, biến tần, máy in, máy quét, hệ thống cảnh báo, thiết bị liên lạc nội … Nhóm – TD20A Bài báo nghiên cứu Robot Hình 1.2 Cánh tay robot ENCODER TỪ AS5600 2.1 Giới thiệu chung AS5600 cảm biến quay hồi chuyển góc với độ phân giải cao sử dụng giao tiếp I2C, sản xuất công ty Austria Microsystems Nó có tính đo góc quay với độ xác cao lên đến 0.087 độ độ phân giải 12 bit Cảm biến AS5600 sử dụng rộng rãi ứng dụng điện tử, đặc biệt hệ thống điều khiển động cơ, robot thiết bị tự động hóa cơng nghiệp I2C giao thức truyền thông đồng sử dụng để kết nối thiết bị điện tử với Nó phát triển Philips Semiconductor vào năm 1980 Giao thức I2C sử dụng hai dây truyền thông SDA (Serial Data) SCL (Serial Clock) để truyền liệu thiết bị Nhóm – TD20A Bài báo nghiên cứu Robot Hình 2.1 Encoder từ AS5600 Chân Vcc GND OUT Nguồn cấp, 5V.3V Mô tả Chân nối đất Chân Output (Đầu ra), dùng để xuất tín hiệu sóng PWM/sóng Analog SCL Hướng quay (Nếu chân DIR nối với chân GND (DIR = 0), quay chiều kim đồng hồ, giá trị góc quay tăng Nếu chân DIR nối với chân VCC (DIR = 1), quay ngược chiều kim đồng hồ, giá trị góc quay giảm) Serial Clock: đường truyền xung Clock để đồng theo hướng giao thức SDA Serial Data: đường truyền liệu hướng giao thức DIR GPO Chân lựa chọn chế độ (Bắt đầu lập trình để đặt vị trí ban đầu kết thúc góc quay) Bảng Bảng mơ tả sơ đồ chân Encoder từ AS5600 2.2 Nguyên lý hoạt động Encoder AS5600 cảm biến đo góc quay việc cảm nhận từ trường nam châm gắn trục quay Cách thức đo góc quay minh hoạ hình Khi viên nam châm quay, từ trường thay đổi theo góc quay Nhóm – TD20A Bài báo nghiên cứu Robot tương ứng từ cảm biếm xác định qóc quay Do độ phân giải 12 bit nên trả 4096 giá trị từ đến 4095, tương ứng với góc quay từ 0° đến 360° Hình 1.2 Cách thức đo góc quay sử dụng cảm biến AS5600 Như vậy, sử dụng vi điều khiển, ta đọc giá trị nguyên n (từ đến 4095) mà cảm biến trả từ tính góc quay (độ) thực tế theo công thức: 2.3 STM32 giao tiếp với Encoder AS5600 kết nối với STM32 qua giao tiếp I2C Điều giúp đơn giản hóa việc đo góc quay ứng dụng điện tử robot Việc kết nối hai thiết bị thực dễ dàng thư viện hỗ trợ hàm đơn giản Kết đo sử dụng cho ứng dụng khác đo vận tốc quay xác định vị trí Logic mờ (Fuzzy logic) gì? Lý thuyết fuzzy logic được Zadeh, L.A nêu lần vào năm 1965 Lý thuyết giải toán gần với cách tư người Tới nay, lý thuyết logic mờ đã phát triển mạnh mẽ ứng dụng nhiều lĩnh vực sống Giá trị biến biểu thức logic mờ số mà khái niệm, ví dụ “nhanh”, “trung bình”, “chậm” hay “nóng”, “vừa”, “lạnh” Chính cách giải tốn logic mờ gần với cách tư người Nhóm – TD20A Bài báo nghiên cứu Robot Hình 3.1 Hệ thống mờ điều khiển nhiệt độ Nguyên lý hoạt động điểu khiển logic mờ Bộ điều khiển logic mờ được cấu tạo gồm Membership Functions (MF) đầu vào, đầu loạt qui tắc liên hệ chúng Từ giá trị cụ thể đầu vào, điều khiển tiến hành việc “mờ hoá” MF đầu vào, tức đánh giá xem tín hiệu thuộc vào mức mức định nghĩa trước Sau khâu này,tín hiệu đầu vào chuyển sang giá trị dạng khái niệm “nhanh”, “chậm”, “lớn”, “nhỏ” Hình 4.1 Nguyên lí điều khiển mờ Một ứng dụng có đặc điểm khoảng biến liên tục Ví dụ, đo đạc nhiệt độ cho phanh (anti-lock brake) có Nhóm – TD20A Bài báo nghiên cứu Robot vài hàm liên thuộc riêng biệt xác định khoảng nhiệt độ cụ thể để điều khiển phanh cách đắn Mỗi hàm ánh xạ số đo nhiệt độ tới chân giá trị khoảng từ đến Sau chân giá trị dùng để định phanh nên điều khiển Xây dựng điều khiển tốc độ động DC Servo Matlab Mờ hóa ngõ vào BĐK E Độ sai lệch tốc độ so với giá trị đặt DET Đạo hàm độ sai lệch theo thời gian Giải mờ ngõ BĐK U Độ sai chênh điện áp cấp vào động ngõ vào thay đổi Bảng điều khiển tốc độ động DC Servo Matlab Sau bảng luật mờ : E DE T NB NM NS ZE PS PM PB NB NM NS ZE PS PM PB NB NB NB NB NM NS ZE NB NB NB NM NS ZE PS NB NB NM NS ZE PS PM NB NM NS ZE PS PM PB NM NS ZE PS PM PB PB NS ZE PS PM PB PB PB ZE PS PM PB PB PB PB Bảng Luật mờ Xây dựng điều khiển mờ MALAB theo ngõ vào bảng luật mờ thành lập trên: Nhóm – TD20A Bài báo nghiên cứu Robot Hình 5.1 Ngõ vào E Hình 5.2 Ngõ vào DET Nhóm – TD20A Bài báo nghiên cứu Robot Hình 5.3 Ngõ vào U *Sau xây dựng điều khiển mờ ta tiến hành mô Simulink: Chúng ta giả sử đầu vào hệ thống nguồn điện áp (V) đặt vào phần ứng động cơ, đầu tốc độ quay trục (thetadot) Các tham số vật lý cho ví dụ chúng tơi là: (J) mơmen qn tính rơto 0,01 kg.m^2 (b) số ma sát nhớt động 0,1 N.m.s (Ke) số suất điện động 0,01 V/rad/giây (Kt) số mô-men xoắn động 0,01 N.m/Amp (R) điện trở Ohm (L) điện cảm 0,5 H J*thetadotdot + b*thetadot = K *i L*idot + R*i = V- K* thetadot thetadotdot=1/J*(K*i - b*thetadot) idot =1/L*(V-K*thetadot-R*i) Nhóm – TD20A Bài báo nghiên cứu Robot Hình 5.4 Mơ Simulink Hình 5.5 Mơ Simulink ngõ Nhóm – TD20A Bài báo nghiên cứu Robot Sau tiến hành mô phỏng, có ngõ sau: Hình 5.5 Kết mơ ngõ Do tín hiệu vào khối SineWave, cho ngõ gần đáp ứng yêu cầu hệ thống Động học thuận Robot 6.1 Sơ đồ động học Hình 6.1 Sơ đồ động học cấu RRP Nhóm – TD20A Bài báo nghiên cứu Robot 6.2 Bảng DH Hình 6.2 Bảng D-H robot RRP 6.3 Xây dựng động học thuận Matlab: H_0_3= [cos(theta0)*cos(theta1) - sin(theta0)*sin(theta1), cos(theta0)*sin(theta1) + cos(theta1)*sin(theta0), 0, a2*cos(theta0) + a3*cos(theta0)*cos(theta1) a3*sin(theta0)*sin(theta1)] [cos(theta0)*sin(theta1) + cos(theta1)*sin(theta0), sin(theta0)*sin(theta1) cos(theta0)*cos(theta1), 0, a2*sin(theta0) + a3*cos(theta0)*sin(theta1) + a3*cos(theta1)*sin(theta0)] [ -d3] 0, 0, -1, [ 1] 0, 0, 0, Nhóm – TD20A Bài báo nghiên cứu Robot Động học nghịch Robot Hình 7.1 Động học nghịch RRP Nhóm – TD20A Bài báo nghiên cứu Robot Kết luận Tổng kết nghiên cứu thiết kế robot công nghiệp RRP cho thấy việc thiết kế phát triển robot công nghiệp RRP giải pháp hữu hiệu để cải thiện hiệu suất độ xác q trình sản xuất Thơng qua nghiên cứu, nhóm em tiếp cận với lý thuyết động học thuận, động học nghịch để thiết kế cấu robot Đồng thời, áp dụng điều khiển Fuzzy để điều khiển tốc độ động học cấu Nhờ sử dụng cấu RRP, robot di chuyển nhanh linh hoạt ứng dụng công nghiệp Đồng thời, việc sử dụng giải pháp điều khiển phần mềm điều khiển thích ứng giúp tăng độ xác giảm thời gian dừng máy Mặc dù nghiên cứu tập trung vào thiết kế robot RRP với mục đích ứng dụng ngành sản xuất, nhiên, kết nghiên cứu áp dụng rộng rãi lĩnh vực khác y tế, dịch vụ quản lý kho Tuy nhiên, nhiều thách thức khó khăn việc triển khai robot RRP thực tế, bao gồm chi phí đầu tư ban đầu cao, khó khăn việc tích hợp đồng hóa hệ thống, nhu cầu đào tạo nhân lực để sử dụng bảo trì robot Tổng quan, việc thiết kế robot công nghiệp RRP mang lại nhiều lợi ích cho ngành sản xuất lĩnh vực khác Tuy nhiên, cần có đầu tư nỗ lực để giải thách thức tồn đọng để robot RRP áp dụng rộng rãi thực tế Nhóm – TD20A Bài báo nghiên cứu Robot Tài liệu đính kèm 9.1 Đo tốc độ từ encoder AS5600 CODE #include #include AS5600 encoder; unsigned long last_time; float last_angle = 0; float current_angle = 0; float current_speed = 0; void setup() { Serial.begin(9600); Wire.begin(); encoder.init(); last_time = millis(); } void loop() { current_angle = encoder.getRawAngle(); unsigned long current_time = millis(); float time_delta = (current_time - last_time) / 1000.0; float angle_delta = current_angle - last_angle; current_speed = angle_delta / time_delta; last_angle = current_angle; last_time = current_time; Serial.print("Current Speed: "); Serial.println(current_speed); delay(100); } Nhóm – TD20A Bài báo nghiên cứu Robot 9.2 Xây dựng phương trình động học thuận Matlab syms theta0 theta1 a1 a2 a3 d3 H_0_1 = [cos(theta0) -sin(theta0)*cos(0) sin(theta0)*sin(0) a2*cos(theta0); sin(theta0) cos(theta0)*cos(0) -cos(theta0)*sin(0) a2*sin(theta0); sin(0) cos(0) 0; 0 1] H_1_2 = [cos(theta1) -sin(theta1)*cos(pi) sin(theta1)*sinpi(1) a3*cos(theta1); sin(theta1) cos(theta1)*cos(pi) -cos(theta1)*sinpi(1) a3*sin(theta1); sinpi(1) cos(pi) 0; 0 1] H_2_3 = [cos(0) -sin(0)*cos(0) sin(0)*sin(0) 0*cos(0); sin(0) cos(0)*cos(0) -cos(0)*sin(0) 0*sin(0); sin(0) cos(0) d3; 0 1] ((H_1_2)*(H_2_3))*(H_0_1) 9.3 Kết Matlab H_0_1 = [cos(theta0), -sin(theta0), 0, a2*cos(theta0)] [sin(theta0), cos(theta0), 0, a2*sin(theta0)] [ 0, 0, 1, 0] [ 0, 0, 0, 1] H_1_2 = [cos(theta1), sin(theta1), 0, a3*cos(theta1)] [sin(theta1), -cos(theta1), 0, a3*sin(theta1)] [ 0, 0, -1, 0] [ 0, 0, 0, 1] H_2_3 = [1, 0, 0, 0] [0, 1, 0, 0] [0, 0, 1, d3] [0, 0, 0, 1] ans = [cos(theta1), sin(theta1), 0, a3*cos(theta1)] [sin(theta1), -cos(theta1), 0, a3*sin(theta1)] Nhóm – TD20A Bài báo nghiên cứu Robot [ [ 0, 0, 0, -1, 0, 0, -d3] 1] >> H_0_1*ans H_0_3= [cos(theta0)*cos(theta1) - sin(theta0)*sin(theta1), cos(theta0)*sin(theta1) + cos(theta1)*sin(theta0), 0, a2*cos(theta0) + a3*cos(theta0)*cos(theta1) a3*sin(theta0)*sin(theta1)] [cos(theta0)*sin(theta1) + cos(theta1)*sin(theta0), sin(theta0)*sin(theta1) cos(theta0)*cos(theta1), 0, a2*sin(theta0) + a3*cos(theta0)*sin(theta1) + a3*cos(theta1)*sin(theta0)] Nhóm – TD20A Bài báo nghiên cứu Robot 10 Tài liệu tham khảo ‒ Lí thuyết điều khiển đại – Nguyễn Thị Phương Hà – NXB Đại học Quốc Gia Tp Hồ Chí Minh ‒ Giáo trình Kỹ thuật Robot - Trường ĐH cơng nghiệp 2008 - Bùi Thư Cao, Trần Hữu Toàn ‒ Matlab Simulink dành cho kỹ sư điều khiển tự động - Nguyễn Phùng Quang - Nhà xuất khoa học kỹ thuật ‒ Nghiên cứu ứng dụng cảm biến để cải tiến chất lượng đặc tính động bước cỡ nhỏ - Ths Nguyễn Đức Sang ‒ https://www.mouser.vn/new/seeed-studio/seeed-studio-grove-as5600encoder/ ‒ https://community.element14.com/challenges-projects/project14/sensors/ b/blog/posts/hall-sensor-as5600-for-game-wheel ‒ https://www.alldatasheet.com/datasheet-pdf/pdf/621657/AMSCO/ AS5600.html ‒ http://www.nguyenvankhoa.com/2019/12/thiet-ke-bo-ieu-khien-fuzzylogic-cho.html Nhóm – TD20A