CHƯƠNG I: TỔNG QUAN 1.3 Giới hạn nghiên cứu Giới hạn của đề tài lần này là chỉ sử dụng cánh tay robot 4 bậc và kích thước nhỏ (chủ yếu dùng để nghiên cứu về mặt giải thuật) nên có một số vị trí mà cánh tay không thể gắp vật thể được, vì cánh tay có 4 bậc và phần cơ cấu thực hiện không được linh hoạt nên vật thể cần ở vị trí chính xác cánh tay robot mới gắp được. Mô hình của nhóm thực hiện chỉ áp dụng cho việc nghiên cứu, giáo dục rèn luyện và phát triển là chính. Trang 3 CHƯƠNG II: CƠ SỞ LÝ THUYẾT Chương 2 CƠ SỞ LÝ THUYẾT Lý thuyết cơ sở mà nhóm thực hiện đề tài dựa vào chủ yếu là kiến thức về nguyên lý hoạt động cánh tay máy robot 4 bậc, động học thuận điều khiển cánh tay robot, lập trình trên chip STM32F103C8T6.1 Nguyên lý hoạt động và phân loại của cánh tay robot 2.1 Nguyên lý hoạt động Hệ thống điều khiển chính là bộ điều khiển trung tâm giúp tiếp nhận và phân phối các tín hiệu mệnh lệnh đến cánh tay robot để thực hiện công việc được đặt ra. Bộ phận phân phối cuối cùng đằng sau hệ thống điều khiển là các nút nhấn và Rotary Encoder do người dùng vận hành.
Khi bắt đầu cho máy hoạt động, người điều khiển sẽ làm việc trên nút nhấn và Rotary Encoder để khởi động cánh tay robot và thiết lập các thông số phù hợp. Sau đó sẽ xác định và tiến hành truyền đạt các tín hiệu nào sẽ được truyền đến hệ thống điều khiển. Tất cả các hoạt động tiếp theo sẽ được vận hành một cách tự động.2 Phân loại cánh tay robot trong lĩnh vực công nghiệp Robot giàn: máy dạng cánh tay có ba khớp lăng trụ, được sử dụng để thực hiện các công đoạn lắp ráp linh kiện, xử lý các công cụ máy và hàn hồ quang. Robot hình trụ: được sử dụng cho các hoạt động lắp ráp, xử lý tại các máy công cụ, hàn điểm và xử lý tại các máy diecasting.
Cánh tay robot này có trục tạo thành một hệ tọa độ hình trụ. Robot hình cầu: được sử dụng để xử lý các công cụ máy, hàn điểm, diecasting, máy fettling, hàn khí và hàn hồ quang. Robot chuyển động theo trục tạo thành một hệ tọa độ cực. SCARA robot: đây là loại robot có hai khớp quay song song hoạt động trên một mặt phẳng, được ứng dụng nhiều trong các hoạt động lắp ráp và xử lý chi tiết máy… Robot song song: cánh tay này có khớp nối lăng trụ hoặc khớp quay, sử dụng nền tảng di động xử lý mô phỏng buồng lái chuyến bay.
Trang 4 CHƯƠNG II: CƠ SỞ LÝ THUYẾT Robot nhân tạo: được mô phỏng hoàn hảo theo chuyển động bàn tay con người với các ngón tay và ngón cái độc lập. Sự linh hoạt cho phép nó tham gia vào quá trình lắp ráp, xử lý các linh kiện điện tử, công nghệ xe siêu vi. Robot khớp nối: có ít nhất ba khớp quay (ví dụ như một robot có chân hoặc một cánh tay robot công nghiệp) với các loại máy phổ biến là cánh tay robot 3 bậc, cánh tay robot 4 bậc… Cấu trúc của robot khớp có thể là hai nhánh đơn giản đến các hệ thống có 10 hoặc nhiều khớp tương tác. Chúng được trang bị một loạt các phương tiện bao gồm cả động cơ điện để ứng dụng trong các hoạt động lắp ráp, đúc chết, máy fettling, hàn khí, hàn hồ quang và phun sơn.
Hiện nay, loại cánh tay robot này được rất nhiều xí nghiệp sản xuất lớn đầu tư vì tính hiện đại, năng suất cao và tính linh hoạt của mình.2 Động học thuận điều khiển cánh tay robot 4 bậc Ta có công thức sau: 0T 0T 1T 2T 3 T 3 = 1 * 2 * 3 *4 (2.1) Với các ma trận T thành phần được xác định qua các công thức sau: = (2.2) Lập bảng DH (Denavit – Hartenbeg) cho cánh tay robot: Bảng 2.1: Bảng DH của cánh tay máy robot 4 bậc i a α d θ 1 0 90 L1 θ1 2 L2 0 0 θ2 3 0 90 0 θ 3+90 4 0 0 L34 θ4 Trang 5 CHƯƠNG II: CƠ SỞ LÝ THUYẾT Trong đó: a: Khoảng cách giữa trục zn và zn+1 α: góc lệch giữ trục zn và zn+1 d: Khoảng cách giữa trục xn và xn+1 θ: góc lệch giữa trục xn và xn+1 L1,L2,L34: các hằng số (mỗi cánh tay có kích thước khác nhau sẽ có các thông số này khác nhau) Xác định các ma trận thành phần từ công thức (2.2) và bảng DH: [ ] cosθ 1 0 sinθ 1 0 0 T = sinθ 1 0 - cosθ 1 0 1 0 1 0 L1 0 0 0 1 [ ] cosθ 2 - sinθ 2 0 L 2 cosθ 2 1 T = sinθ 2 cosθ 2 0 L 2 sinθ 2 2 0 0 1 0 0 0 0 1 [ ] cos ( θ 3 + 90 ) 0 sin ( θ 3 + 90 ) 0 2 T = sin ( θ 3 + 90 ) 0 - cos ( θ 3 + 90 ) 0 3 0 1 0 0 0 0 0 1 [ ] cosθ 4 - sinθ 4 0 0 3 T = sinθ 4 cosθ 4 0 0 4 0 0 1 L 34 0 0 0 1 2.3 KIT STM32F103C8T6 Mini Board 2.1 Thông số kỹ thuật STM32 là chip của ST, dựa trên nền tảng lõi của ARM Cotex™-M là thế hệ mới, thiết lập các tiêu chuẩn mới về hiệu suất, chi phí, thiết bị tiêu thụ năng lượng thấp và đáp ứng yêu cầu về thời gian thực khắc khe. Trang 6 CHƯƠNG II: CƠ SỞ LÝ THUYẾT - Vi điều khiển chính: STM32F103C8T6 microcontroller featuring 32-bit ARM Cortex-M3 core. -Bộ nhớ: 64 KB bộ nhớ Flash, SRAM: 20Kb in an LQFP48 package. - Tích hợp sẵn mạch nạp và Debug ST-LINK/V2 - Nguồn cấp từ cổng Mini USB qua các IC nguồn chuyển thành 3v3 để cấp cho MCU.
- Tần số xung nhịp: + Sử dụng thạch anh ngoài từ 4 MHz -> 20MHz + Thạch anh nội dùng dao động RC ở mode 8MHz hoặc 40kHz + Sử dụng thạch anh ngoài 32.768kHz được sử dụng cho RTC - Chân GPIO (General-purpose I/Os): có 37 chân, trong đó có tối đa 16 chân ngắt ngoài, ngoài ra còn có các chân GPIO khi được khai báo có thể trở thành các chân chức năng: timer, UART, I2C, ADC, DAC, … - Có sẵn các chân nguồn: 3.3 V - Có Led thông báo trạng thái nguồn. - Có nút Reset tích hợp sẵn trên kit.2 Sơ đồ chân và chức năng từng chân của STM32F103C8T6 Kit STM32F103C8T6 có 48 chân chức năng (tính cả các chân 3.3V, GND) và mỗi chân có thể thực hiện được nhiều chức năng tùy thuộc người dùng muốn cấu hình chân đó thực hiện chức năng gì (thông thường mỗi lúc một chân chỉ thực hiện một chức năng duy nhất khi được cấu hình).2: Bảng kí hiệu và chức năng chân của Kit STM32F103C8T6 LQFP Kí hiệu trên Main Chức năng 48 1 VBAT VBAT 2 PC13 TAMPER-RTC 3 PC14-OSC32_IN OSC32_IN Trang 7 CHƯƠNG II: CƠ SỞ LÝ THUYẾT 4 PC15-OSC32_OUT OSC32_OUT 5 OSC_IN 6 OSC_OUT 7 NRST 8 VSSA VSSA 9 VDDA VDDA WKUP/USART2_CTS/AD C_IN0/ 10 PA0 TIM2_CH1_ETR 11 PA1 USART2_RTS/ ADC_IN1/ TIM2_CH2 12 PA2 USART2_TX/ ADC_IN2/ TIM2_CH3 13 PA3 USART2_RX/ ADC_IN3/TIM2_CH4 14 PA4 SPI1_NSS/ USART2_CK/ ADC_IN4 15 PA5 SPI1_SCK/ ADC_IN5 16 PA6 SPI1_MISO/ ADC_IN6/TIM3_CH1 17 PA7 SPI1_MOSI/ ADC_IN7/TIM3_CH2 18 PB0 ADC_IN8/TIM3_CH3 19 PB1 ADC_IN9/TIM3_CH4 20 PB2/BOOT1 21 PB10 I2C2_SCL/USART3_TX 22 PB11 I2C2_SDA/ USART3_RX Trang 8 CHƯƠNG II: CƠ SỞ LÝ THUYẾT 23 VSS_1 24 VDD_1 SPI2_NSS /I2C2_SMBAl/ USART3_CK/ 25 PB12 TIM1_BKIN 26 PB13 SPI2_SCK/ USART3_CTS/ TIM1_CH1N 27 PB14 SPI2_MISO/USART3_RTS/TIM1_CH2N 28 PB15 SPI2_MOSI/ TIM1_CH3N 29 PA8 USART1_CK/ TIM1_CH1/ MCO 30 PA9 USART1_TX/ TIM1_CH2 31 PA10 USART1_RX/ TIM1_CH3 USART1_CTS/ CANRX/ TIM1_CH4 / 32 PA11 USBDM 33 PA12 USART1_RTS/ CANTX/ TIM1_ETR / USBDP 34 PA13 JTMS/SWDIO 35 VSS_2 36 VDD_2 37 PA14 JTCK/SWCLK 38 PA15 JTDI 39 PB3 JTDO 40 PB4 JNTRST 41 PB5 I2C1_SMBAl Trang 9 CHƯƠNG II: CƠ SỞ LÝ THUYẾT 42 PB6 I2C1_SCL/ TIM4_CH1 43 PB7 I2C1_SDA/ TIM4_CH2 44 BOOT0 45 PB8 TIM4_CH3 46 PB9 TIM4_CH4 47 VSS_3 48 VDD_3 Các chân được nhóm thực hiện cấu hình và sử dụng trong đề tài lần này bao gồm: Chân PB6: TIM4_CH1 Chân PB7: TIM4_CH2 Chân PA3: TIM2_CH4 Chân PA6: TIM3_CH1 Chân PA7: TIM3_CH2 Chân PB0: TIM3_CH3 Chân PB1: TIM3_CH4 Trang 10 CHƯƠNG II: CƠ SỞ LÝ THUYẾT Hình 2.1: Các chân của chip dán chính trên kit STM32F103C8T6 2.4 Động cơ DC servo MG996R và cách điều khiển 2.1 Động cơ servo MG996R Động cơ Servo MG966R là động cơ có mô men xoắn lớn, chạy mượt mà, phù hợp với những mô hình điều khiển có trọng tải lớn như cánh tay robot kim loại. Động cơ Servo MG966R được nâng cấp từ MG995 6V/11kg, có tốc độ và độ chính xác cao. Thông số kỹ thuật: Kích thước sản phẩm: 40,7 x19,7 x 42.9mm Sản phẩm Rally: 9.8V), 11kg/cm (6V) Tốc độ phản ứng: 0.14sec/60degree (6V) Điện áp làm việc: 4.2V Nhiệt độ làm việc: 0℃ -55℃ Trọng lượng: 55g Trang 11 CHƯƠNG II: CƠ SỞ LÝ THUYẾT Hình 2.2: Hình ảnh thực tế servo MG996R Hình 2.3: Hình chiếu và kích thước servo MG996R 2.2 Cách điều khiển động cơ servo MG996R Một động cơ servo được điều khiển bằng cách gửi một loạt các xung qua đường tín hiệu.
Tần số của tín hiệu điều khiển phải là 50Hz hoặc một chu kỳ xung là Trang 12 CHƯƠNG II: CƠ SỞ LÝ THUYẾT 20ms. Độ rộng của xung xác định vị trí góc của servo và các loại servo này thường có thể xoay 180 độ (chúng có giới hạn vật lý khi di chuyển). Trên lý thuyết thì ta có thể điều khiển một servo theo cách sau: Hình 2.4: Tương quan giữa thời gian Ton và góc quay của servo trên lý thuyết Khi ta cấp xung có thời gian Ton = 1ms (chu kỳ T = 20ms) thì servo sẽ quay một góc 0 độ, tương tự với Ton = 1,5ms thì là 90 độ, Ton = 2ms thì là 180 độ. Servo chỉ có thể quay trong giới hạn Ton từ 1ms đến 2ms (tạm gọi thời gian 1ms là giới hạn xung dưới và 2ms là giới hạn xung trên).
Nhưng trên thực tế, có nhiều servo sẽ không hoạt động đúng theo thông số như vậy vì sản xuất kém chất lượng, không chính hãng. Muốn điều khiển servo MG996R một cách chính xác nhất có thể thì phải dò tìm thông số Ton cấp cho Servo hoạt động lần lượt ở 0 độ và 180 độ. Tìm thời gian giới hạn dưới sẽ dễ tìm và độ chính xác cao hơn. Cụ thể như sau: Trước tiên phải điều chế được một xung PWM có tần số 50Hz hay có chu kỳ T = 20ms = 20000us.
Công thức: 8 Mhz = =160000 50 Mhz Trong 20000us thì nhóm thực hiện đề tài đã chọn cho mức độ thay đổi xung (số mức mà xung PWM có thể xuất ra được) là 1000 cho dễ tính toán.