Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 73 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
73
Dung lượng
3,19 MB
Nội dung
TRƯỜNG ĐẠI HỌC VINH 621 KHOA ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: NGHIÊN CỨU THIẾT KẾ THIẾT BỊ BAY ĐIỀU KHIỂN TỪ XA QUADROTOR Giảng viên hướng dẫn : ThS HỒ SỸ PHƯƠNG Sinh viên thực : TRẦN VĂN HIẾU Lớp : 51K2 – ĐTVT Khóa : 2010 -2015 NGHỆ AN - 2015 LỜI CẢM ƠN Trong suốt trình học tập hoàn thành đồ án tốt nghiệp này, em nhận hướng dẫn, giúp đỡ thầy cơ, anh chị bạn Với lịng kính trọng biết ơn sâu sắc em xin bày tỏ lời cảm ơn chân thành tới: Ban giám hiệu trường Đại Học Vinh, Khoa Điện tử Viễn Thông thầy cô giảng dạy tạo điều kiện thuận lợi cho em suốt trình học tập hoàn thành đồ án tốt nghiệp Đặc biệt, em xin chân thành gửi lời cảm ơn đến ThS Hồ Sỹ Phương hết lòng giúp đỡ, dạy bảo, động viên tạo điều kiện thuận lợi cho em suốt q trình học tập hồn thành đồ án tốt nghiệp Cuối cùng, lời cảm ơn chân thành đến người thân toàn thể bạn bè giúp đỡ, động viên em suốt thời gian học tập thực đồ án tốt nghiệp Em xin chúc thầy cô, anh chị toàn thể bạn bè sức khỏe dồi dào, đạt nhiều thành công công việc, học tập nghiên cứu Nghệ An, ngày 23 tháng 01 năm 2015 Sinh viên thực Trần Văn Hiếu i MỤC LỤC LỜI CẢM ƠN i LỜI NÓI ĐẦU v TÓM TẮT vi ABSTRACT vi DANH MỤC CÁC HÌNH vii Chương CƠ SỞ LÝ THUYẾT .1 1.1 Đặt vấn đề 1.2 Cơ sở lý thuyết 1.2.1 Cơ sở điều khiển tự động 1.2.2 Lý thuyết điều khiển thiết bị bay điều khiển từ xa Quadrotor .5 1.2.3 Cơ sở lý thuyết mơ hình bay Quadrotor .5 1.2.4 Một số cơng trình trình nghiên cứu liên quan 1.3 Phạm vi nghiên cứu Chương MƠ HÌNH HĨA HỆ THỐNG 10 2.1 Mô hình hóa hệ thống 10 2.1.1 Định nghĩa 10 2.1.2 Vai trị phương pháp mơ hình hóa hệ thống 11 2.1.3 Phân loại mơ hình hóa hệ thống 12 2.2 Mô tả hệ thống Quadrotor 13 2.2.1 Mô tả phần cứng hệ Quadrotor 13 2.2.2 Mô tả phương thức di chuyển điều hướng 15 2.3 Mơ hình tốn học hệ thống .17 2.3.1 Mơ hình toán học 17 2.3.2 Mơ hình tốn học hệ thống Quadrotor .18 ii Chương XÂY DỰNG BỘ ĐIỀU KHIỂN THĂNG BẰNG CHO QUADROTOR DÙNG THUẬT TOÁN PID 22 3.1.Bộ điều khiển PID 22 3.2.Xây dựng điều khiển PID Matlab/Simulink 24 3.2.1 Tổng quan Matlab/Simulink 24 3.2.2 Mơ hình mơ điều kiển PID Simulink 26 3.3 Kết mô điều khiển PID .27 3.3.1 Các mô thay đổi Kp, với Kd = 0.4 m = 0.5 kg 28 3.3.2 Các mô thay đổi Kd, với Kd = m = 0.5 kg .30 3.3.3 Mô thay đổi khối lượng tải m 32 3.3.4 Mô thay đổi điều kiện đầu 33 3.3.5 Mơ tín hiệu đặt xung vuông với tải thay đổi 37 Chương PHÂN TÍCH THIẾT KẾ MƠ HÌNH QUADROTOR 38 4.1 Thiết kế điều khiển .38 4.1.1 Khối mạch điều khiển trung tâm 38 4.1.2 Bộ điều khiển tốc độ động ESC 40 4.1.3 Hệ thống cảm biến 42 4.1.4 Hệ thống truyền thông 43 4.1.5 Nguồn nuôi 44 4.2.Thiết kế khí truyền động 45 4.2.1 Thiết kế khí 45 4.3 Xây dựng chương trình điều khiển 48 4.3.1 Lưu đồ thuật toán .48 4.3.2 Chương trình điều khiển.(Phụ lục) 48 4.4 Kết thực nghiệm .48 4.4.1 Kết 48 iii 4.4.2 Thực nghiệm .49 KẾT LUẬN 51 TÀI LIỆU THAM KHẢO 52 PHỤ LỤC 53 iv LỜI NÓI ĐẦU Ngày nay, với phát triễn không ngừng khoa học công nghệ cho đời sản phẩm công nghệ cao máy mọc tự động hóa, loại robot thơng minh, … Những ứng dụng đem lại cho đời sống người tiện nghi, thoải mái thay người nhiều công việc từ công việc nhà, sản xuất công nghiệp đến giải trí, nghiên cứu tìm hiểu tự nhiên , vũ trụ Con người khoa khát khám phá giời vũ trụ, tìm vùng đất mới, nới có sống Do thiết kế, chế tao robot viễn thám phục vụ cho người việc nghiên cứu khoa học, khảo sát địa hình, tìm hiểu thiên nhiên ln vấn đề ln quan tâm thúc đẩy Đối với sinh viên trường, bước vào sống đồ án tốt nghiệp bước nhảy quan trọng Đồ án tốt nghiệp không mang lại kinh nghiệm thực tế chun mơn mà cịn bổ sung nhiều kỹ sống giao tiếp, đàm phán, khả làm việc nhóm, làm việc độc lập,… Vời đề “Thiết kế chế tạo mơ hình bay quadrotor” em hiểu rõ phương pháp cân quadrotor, nắm nguyên lý điều khiển, loại cảm biến định vị Đặc biệt, đề tài mang lại khả tư tổng quan hệ thống kinh nghiệm thực tế có ích cho sinh viên chun ngành điện tử để làm hành trang vững bước vào đời Tuy nhiên, thời gian có hạn hiểu biết chúng em cịn nhiều hạn chế, nên khơng thể tránh sai sót Rất mong nhận bảo thầy cô bạn để chúng em hồn thiện tốt đề tài v TĨM TẮT Trong năm gần máy bay không người lái Quadrotor ngày trở nên quan trọng, tảng cho nghiên cứu thương mại ứng dụng phương tiện bay không người lái Phương tiện bay không người lái (UAV) máy bay có khả bay mà khơng cần người vận hành bên Phương tiện điều khiển từ xa người điều hành mặt đất bay tự động thông qua đường bay lập trình trước Mơ hình Quadrotor xây dựng thủ cơng phải có cấu trúc cứng nhẹ Quadrotor thiết kế khối khép kín, hệ thống kiểm soát tỷ lệ đo động lực bay thông qua cảm biến quay hồi chuyển trục cảm biến góc nghiên trục Một vi điều khiển nhận tín hiệu từ cảm biến thực kiểm soát tỷ lệ động cách thay đổi tín hiệu PWM gửi cho động Các kết điều khiển gửi lại đến vi điều khiển sau vi điều khiển cung cấp cho động không chổi than tín hiệu PWM để thiết lập tốc độ mà động phải quay Tốc độ chuyển thành lực giữ cho Quadrotor ổn định ABSTRACT Quadrotor helicopters have becom increasingly important in recent years, as platform for both research and commercial unmanned aerial vehicle applications Unmanned aerial vehicles (UAV) are aircrafts capable of flight without on-board operator Such vehicles can be controlled remotely by operator on the ground or autonomously via a pea-programmed flight path Modelling of a Quadrotor for building craft structure that was both stiff and lightweight Incorporated in my Quadrotor a close loop, proportional control system which measured in-flight dynamics via a three axis gyro and two dual axis tiltsensors A microcontroller took these sensor inputs and performed proportional control on the four motors by varying PWM signals sent to each of the motors The controlled results and sent to the microcontroller which then provides the brushless motor drivers the PWM signal that specifies the speed at which the motor have to spin The speed translates into a force that keep the Quadrotor stable vi DANH MỤC CÁC HÌNH Hình 1.1 Sơ đồ cấu trúc hệ điều khiển tự động Hình 1.2 Sơ đồ điều khiển Quadrotor Hình 1.3 Mơ hình momen quay Hình 1.4 Mơ hình Mesicopter (Stanford) Hình 1.5 Mơ hình X4-flyer (ANU) Hình 1.6 Mơ hình MD4-200 (microDrones GmbH) Hình2.2 Cấu tạo quadrotor .14 Hình 2.3 Hệ tọa độ đặt quadrotor .15 Hình 2.4 Hệ tọa độ đặt mơ hình 18 Hình 3.1 Sơ đồ hệ thống điều khiển dùng PID .22 Hình 3.2 Giao diện Matlab .24 Hình 3.3 Giao diện Simulink 25 Hình 3.4 Sơ đồ tổng quan điều khiển PID .26 Hình 3.5.Khối điều khiển rotor 26 Hình 3.6 Khối mô motor .27 Hình 3.7 Đáp ứng với Kp = 0.1, Kd = 0.4 .28 Hình 3.8 Đáp ứng với Kp = 0.4, Kd = 0.4 .28 Hình 3.9 Đáp ứng với Kp = 0.8, Kd = 0.4 .29 Hình 3.10 Đáp ứng với Kp = 1, Kd = 0.4 29 Hình 3.11 Đáp ứng với Kp = 1.2, Kd = 0.4 .30 Hình 3.12 Đáp ứng với Kp = 1, Kd = 0.2 30 Hình 3.13 Đáp ứng với Kp = 1, Kd = 0.6 31 Hình 3.14 Đáp ứng với Kp = 1, Kd = 0.8 31 Hình 3.15 Đáp ứng với Kp = 1, Kd = 0.4, m = 0.8 kg .32 Hình 3.16 Đáp ứng với Kp = 1, Kd = 0.4, m = kg 33 Hình 3.17 Đáp ứng với roll = pi/2 rad .34 Hình 3.18 Đáp ứng với giá trị đầu roll = pi (rad) .34 Hình 3.19 Đáp ứng với giá trị đầu pitch = pi/2 rad 35 Hình 3.20 Đáp ứng với giá trị đầu yaw = 0.2 rad 36 Hình 3.21 Đáp ứng với giá trị đầu yaw = 0.4 rad 36 vii Hình 3.22 Đáp ứng với giá trị đầu yaw = 0.5 rad 36 Hình 3.23 Đáp ứng với m = 0.5 kg 37 Hình 3.24 Đáp ứng với m = 0.8 kg 37 Hình 4.1 Sơ đồ khối mơ hình Quadrotor 38 Hình 4.2 Atmega 168 .39 Hình 4.3 Sơ đồ mạch nguyên lý .40 Hình 4.4 ESC HW 30A 42 Hình 4.5 Cảm biến Gyros ENC-30R .43 Hình 4.6 Mạch cảm biển Gyro 43 Hình 4.7 Bộ FLYSKY 2.4GHz 6ch TX+RX "FS-T6" .44 Hình 4.8 PIN WILD SCORPION 3S 11.1V 2200mAh 35C 45 Hình 4.9 Mơ hình 2D Quadrotor .45 Hình 4.10 Frame X525 V3 chân nhún .46 Hình 4.11 Motor Himodel A2212/13 .47 Hình 4.12 Cách quạt dùng cho quadrotor 47 Hình 4.13 Lưu đồ thuật toán 48 Hình 4.14 Mạch điều khiển trung tâm .49 Hình 4.15 Mơ hình Quadrotor thực 50 viii Chương CƠ SỞ LÝ THUYẾT 1.1 Đặt vấn đề Trong hoạt động người, lĩnh vực nào, vị trí liên quan đến hai từ điều khiển Trong khoa học, tồn ngành khoa học phát triển mạnh mẽ, điều khiển học Điều khiển học khoa học nghiên cứu q trình thu thập, xử lý tín hiệu điều khiển lĩnh vực đời sống xã hội, khoa học công nghệ, môi trường Điều khiển học chia làm nhiều lĩnh vực khác gồm điều khiển học toán học, điều khiển học sinh học, điều khiển học kỹ thuật Điều khiển học kỹ thuật khoa học nghiên cứu trình thu thập, xử lý tín hiệu điều khiển trình hệ thống thiết bị kỹ thuật Khái niệm điều khiển hiểu tập hợp tất tác động mang tính tổ chức trình nhằm đạt mục đích mong muốn q trình Hệ thống điều khiển mà khơng có tham gia trực tiếp người trình điều khiển gọi điều khiển tự động Trong thiết bị bay từ lâu ngành khoa học hàng đầu người đầu tư phát triển mạnh mẽ Trong thiết bị bay có người lái có lịch sử phát triển lâu dài thống trị ngành hàng khơng dân dụng qn Bên cạnh thiết bị bay không người lái mở hướng phát triển mạnh mẽ dài hạn cho tương lai, tỏ chiếm ưu rõ rệt lĩnh vực quan sát, thám, tiếp cận nơi người không đặt chân tới Mơ hình quadrotor mà đề tài theo đuổi thiết bị bay độc đáo, với cánh quạt, lực nâng thiết bị lớn, đồng thời khả xoay chuyển linh hoạt kết hợp với cách cất cánh hạ cánh theo phương thẳng đứng thể tính động cao Với mơ hình nhỏ mang theo camera để ghi chụp lại ảnh theo yêu cầu người, tiến xa chuyên chở người, thiết bị Bên cạnh linh động mà cánh quạt tạo đặt nhiều thách thức lớn phương pháp điều khiển Để đảm bảo tính ổn định điều khiển tốt, nhiều điều kiện cần bỏ nhiều thời gian thiết kế thử nghiệm, kèm .include "168mathlib_ram_macros_v1.asm" org # defined( ATmega168 ) || defined( ATmega328 ) #message "jmp" jmp reset jmp RxChannel2 jmp RxChannel3 jmp RxChannel4 jmp unused jmp RxChannel1 jmp unused jmp unused jmp unused jmp unused jmp unused jmp unused jmp unused jmp unused #error "Unsupported part:" PART_NAME #endif unused:reti reset:ldi t,low(ramend);initalize stack pointer out spl,t ldi t,high(ramend) out sph,t ; - setup IO ; 76543210 ldi t,0b01111111 out ddrb,t ;76543210 ldi t,0b11000000 out ddrc,t ;76543210 ldi t,0b11110001 out ddrd,t ; - Setup pin change interrupt on PD1, PD2, PD3, PB4 ; 76543210 ldi t,0b00000101 ;PB7, PB1 sts pcicr,t 76543210 ldi t,0b10000000 ;PB7 sts pcmsk0,t 55 ; 76543210 ldi t,0b00000010 ;PD1 sts pcmsk2,t ; 76543210 ldi t,0b00000101 ;PD2, PD3 sts eicra,t ; 76543210 ldi t,0b00000011 ;PD2, PD3 out eimsk,t;STS? OUT? Come on! ; Setup timer2 to run at 125kHz – ; 76543210 ldi t,0b00000100 sts tccr2b,t ; Setup timer1 to run at 1MHz -; 76543210 ldi t,0b00000010 sts tccr1b,t ; Initalize variables clr t sts FlagGyroCalibrated,t;FlagGyroCalibrated = false sts FlagFcArmed,t;FlagFcArmed = false sts FlagCollectiveZero, t sts CounterFcArm,t sts CounterFcDisarm,t ser t sts CalibrationDelayCounter, t ldi Templ,low(1500);prime the channels ldi Temph,high(1500) mov RxChannel1L,Templ mov RxChannel1H,Temph mov RxChannel2L,Templ mov RxChannel2H,Temph 56 mov RxChannel4L,Templ mov RxChannel4H,Temph ldi Templ,low(1150) ldi Temph,high(1150) mov RxChannel3L,Templ mov RxChannel3H,Temph ; -sei led0_on;Flash LED once, I am alive! ldi zl,250 rcall wms led0_off ldi zh,10;2 second delay ca6: ldi zl,200 rcall wms dec zh brne ca6 rcall ReadGainPots rcall ReadGainPots b16ldi Temp, 3.2 b16cmp GainPotP,Temp brlt ca9;enter gyro direction reversing? rjmp ca1 ca9: ldi Counter,3;yes, flash led times, slowly ca7: led0_on ldi zl,0 rcall wms led0_off ldi zl,0 rcall wms dec Counter brne ca7 ca5: ldi zl,18 57 rcall wms rcall RxGetChannels b16ldi Temp, 307.2 b16cmp RxInRoll,Temp;Roll TX stick moved? ldi zl,0 brge ca8 b16cmp RxInPitch,Temp;Pitch TX stick moved? ldi zl,1 brge ca8 b16cmp RxInYaw,Temp;Yaw TX stick moved? ldi zl,2 brge ca8 b16cmp RxInCollective,Temp;Throttle TX stick moved? ldi zl,3 brge ca8 rjmp ca5;no ca8: ldi zh,0;yes, reverse direction rcall ReadEeprom ldi Templ,0x80 eor t,Templ rcall WriteEeprom;Store gyro direction to EEPROM ca4: led0_on;flash LED fast ldi zl,100 rcall wms led0_off ldi zl,100 rcall wms rjmp ca4 lds t,FlagCollectiveZero tst t brne ma80x 58 rjmp ma80 ma80x:b16ldi Temp, -256 ;Disarm? b16cmp RxInYaw,Temp brge ma81 lds t,CounterFcDisarm inc t sts CounterFcDisarm,t cpi t, 100 breq ma82x rjmp ma82 ma82x:clr t sts FlagFcArmed to motor 1,2,3 and -,t rjmp ma80 ma81:b16neg Temp;Arm? b16cmp RxInYaw,Temp brlt ma80 lds t,CounterFcArm inc t sts CounterFcArm,t cpi t, 100 brne ma82 ser t sts FlagFcArmed,t ma80:clr t sts CounterFcDisarm, t sts CounterFcArm,t ; - Add yaw command output b16sub MotorOut1,CtrlCommand b16add MotorOut2, CtrlCommand b16add MotorOut3, CtrlCommand b16sub MotorOut4, CtrlCommand ShowGyros: ldi Templ,0x0d 59 rcall SerbyteOut ldi Templ,0x0a rcall SerbyteOut b16load GyroRoll rcall B1616Out ldi Templ,' ' rcall SerByteOut b16load GyroPitch rcall B1616Out ldi Templ,' ' rcall SerByteOut b16load GyroYaw rcall B1616Out ldi Templ,' ' rcall SerByteOut ret ShowChannels: ldi Templ,0x0d rcall SerbyteOut ldi Templ,0x0a rcall SerbyteOut b16load RxInRoll rcall B1616Out ldi Templ,' ' rcall SerByteOut b16load RxInPitch rcall B1616Out ldi Templ,' ' rcall SerByteOut b16load RxInCollective rcall B1616Out ldi Templ,' ' rcall SerByteOut b16load RxInYaw 60 rcall B1616Out ldi Templ' ' rcall SerByteOut ret B1616Out: lds t, b168Temp0 push t lds t, b168Temp1 push t lds Templ, b168Temp2 rcall SerByteAsciiOut pop Templ rcall SerByteAsciiOut ldi Templ,'.' rcall SerByteOut pop Templ rcall SerByteAsciiOut ret B16Out: push Templ mov Templ,Temph rcall SerByteAsciiOut pop Templ rcall SerByteAsciiOut ret b168Out:ldi Templ,0x0d rcall SerbyteOut ldi Templ,0x0a rcall SerbyteOut B168cnt:b16load Temp lds t, b168Temp2 ;negative? tst t brpl b168cn1 ldi Templ,'-' ;yes 61 rcall SerbyteOut lds t, b168Temp0 ;negate b168Temp com t sts b168Temp0, t lds t, b168Temp1 com t sts b168Temp1, t lds t, b168Temp2 com t sts b168Temp2, t lds t, b168Temp0 ldi Templ,1 add t, Templ sts b168Temp0, t lds t, b168Temp1 clr Templ adc t, Templ sts b168Temp1, t lds t, b168Temp2 adc t, Templ sts b168Temp2, t rjmp b168cn2 b168cn1:ldi Templ,' ';no rcall SerbyteOut b168cn2:rcall B1616Out ldi Templ,' ' rcall SerByteOut ret 62 ; - Debug: Output byte Templ (ASCII) to serial port pin at 115200 8N1 -SerByteAsciiOut: push Templ swap Templ rcall su1;high nibble pop Templ rjmp su1; low nibble su1:andi Templ,0x0f ldi zl,low(su2*2);output one nibble in ASCII add zl,Templ ldi zh,high(su2*2) clr Templ adc zh,Templ lpm Templ,z rjmp SerByteOut su2:.db "0123456789ABCDEF" ; - Debug: Output byte Templ (binary) to serial port pin at 57600 8N1 -SerByteOut: cbi portd,4 ;startbit nop nop nop rcall BaudRateDelay ldi Temph,8;databits se3:ror Templ brcc se1 nop sbi portd,4 rjmp se2 63 se1:cbi portd,4 nop nop se2:rcall BaudRateDelay dec Temph brne se3 nop nop nop nop sbi portd,4 ;stopbit nop nop nop rcall BaudRateDelay ret BaudRatedelay: ldi t,40;this delay may need tweaking to give errorfree transfer ba1:dec t brne ba1 ret */ undef t include "168mathlib_ram_v1.asm" 64 ...bị tác động ngoại lực Chương PHÂN TÍCH THIẾT KẾ MƠ HÌNH QUADROTOR 4.1 Thiết kế điều khiển Sơ đồ khối mơ hình Quadrotor : Hình 4.1 Sơ đồ khối mơ hình Quadrotor 4.1.1 Khối mạch điều khiển trung ... vật lý Mơ hình thu nhỏ Mơ hình tốn học Mơ hình tương tự Mơ hình số Mơ hình giải tích Mơ hình mơ Hình 2.1 Sơ đồ phân loại mơ hình hệ thống Mơ hình vật lý mơ hình cấu tạo từ phần tử vật lý Các... Hình 1.5 Mơ hình X4-flyer (ANU) Hình 1.6 Mơ hình MD4-200 (microDrones GmbH) Hình2 .2 Cấu tạo quadrotor .14 Hình 2.3 Hệ tọa độ đặt quadrotor .15 Hình 2.4