1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế và xây dựng máy bay quadcopter UAV

23 31 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 2,23 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Làm một chiếc UAV cỡ nhỏ gọn, nhẹ, rẻ. Mục đích hiểu rõ các bước xây dựng nên một UAV hoàn chỉnh cũng như thiết kế để máy bay có thể cất cánh, cân bằng và điều khiển một cách tốt nhất.Để máy bay có thể có thể chuyển động tự do trong không gian thì cần thực hiện đủ 6 chuyển động ( 3 chuyển động quay và 3 chuyển động tịnh tiến ) tuy nhiên thì quadcopter lại không đủ số cánh quạt để làm thế. => Cách giải quyết là cần kết hợp các chuyển động với nhau  phát triển hệ thống điều khiển kết hợp đẩy và quay thành đôi.

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CƠ KHÍ ĐỘNG LỰC

BỘ MÔN KỸ THUẬT HÀNG KHÔNG - VŨ TRỤ

BÀI TẬP LỚN MÔN: KỸ THUẬT ĐIỆN - ĐIỆN TỬ TRÊN MÁY BAY

CHỦ ĐỀ

Thiết kế và xây dựng máy bay quadcopter

Giảng viên hướng dẫn: TS Phạm Gia Điềm

Nhóm 04

Nguyễn Xuân Dũng 20186038

Võ Trung Kiên 20186054Nguyễn Quốc Việt 20186081Lưu Vương Trọng Hiếu 20186042

Tạ Viết Cường 20186033

Hà Nội, Ngày 21 tháng 07 năm 2021

1

Trang 2

MỤC LỤC

Phần I: Bài toán thiết kế……… ………

I Đặt vấn đề và mục đích đề tài 3

II.1 Cách phân bố động cơ cánh quạt của UAV có 4 motor (quadcopter) 3

II.2 Chuyển động của quadcopter 3

Phần II: Sơ đồ khối hệ thống 5

Phần III: Linh kiện và thông số kỹ thuật 5

I Mạch vi điều khiển trung tâm arduino nano 5

I.1 Các cấu tạo cơ bản của Arduino Nano 5

I.2 Các chân của Arduino Nano 6

II Động cơ Driver 8

I.1 Mô hình tính toán 8

II.2 Động cơ 1 chiều 2 pha 820 9

II.3 Module L298N 10

Phần IV: Thuật toán điều khiển cơ cấu bập bênh và thử nghiệm tìm thông số PID 11

I Giới thiệu 11

II Tìm hiểu về bộ điều khiển PID và đặc điểm về sự phản hồi trong từng khâu 12

II.1 Khâu tỷ lệ (Hệ số ) 12

II.2 Khâu vi phân (Hệ số ) 13

II.3 Khâu tích phân (Hệ số ) 15

III Lập trình Arduino 16

IV Thực nghiệm 17

Phần V: Bộ điều khiển từ xa 17

I Linh kiện điện tử 17

I.1 Arduino 17

I.2.Module truyền phát tín hiệu 18

II Cách giao tiếp Module nRF24L01 với Arduino Uno và Ardruino Nano 18

II.1 Sơ đồ nối mạch 18

II.1.1 Transmitter : Dùng arduino uno 19

II.1.2 Receiver : Dùng arduino nano 19

II.2 Thư viện Arduino 20

II.2.1 Transmitter : 20

II.2.2 Receiver : 21

Kết luận 22

Tài liệu tham khảo 22

Trang 3

Phân chia công việc thành viên trong nhóm:

PHẦN I: Bài toán thiết kế

I Đặt vấn đề và mục đích đề tài

- Làm một chiếc UAV cỡ nhỏ gọn, nhẹ, rẻ

- Mục đích hiểu rõ các bước xây dựng nên một UAV hoàn chỉnh cũng như thiết

kế để máy bay có thể cất cánh, cân bằng và điều khiển một cách tốt nhất

II Các chế độ bay

II.1 Cách phân bố động cơ cánh quạt của UAV có 4 motor

(quadcopter)

- Bố trí theo hình dấu nhân

- 2 cánh quạt cạnh nhau quay ngược chiều

- 2 cánh quạt đối diện nhau quay cùng chiều

II.2 Chuyển động của quadcopter

* Vấn đề: Để máy bay có thể có thể chuyển động tự do trong không gian thì cần thực hiện đủ 6 chuyển động ( 3 chuyển động quay và 3 chuyển động tịnh tiến ) tuy nhiên thì quadcopter lại không đủ số cánh quạt để làm thế

=> Cách giải quyết là cần kết hợp các chuyển động với nhau

phát triển hệ thống điều khiển kết hợp đẩy và quay thành đôi

Họ và tên Công việc

Nguyễn Xuân Dũng Xây dựng chương trình điều khiển

Võ Trung Kiên Xây dựng chương trình điều khiển

Nguyễn Quốc Việt Lựa chọn driver + Xây dựng chươngtrình điều khiển

Lưu Vương Trọng Hiếu Lựa chọn bộ điều khiển từ xa

Tạ Viết Cường Lựa chọn động cơ và driver động cơ

Trang 4

1 Để tịnh tiến lên xuống dọc theo trục thẳng đứng: tăng hoặc giảm đồngth

ời vận tốc của 4 động cơ

2 Để thực hiện chuyển động Yaw: một trong 2 cặp cánh đối diện tăng lực kéo của động cơ và giảm với cặp còn lại

3 Để thực hiện chuyển động roll: tăng tốc 1 trong 2 cặp cánh 2 bên và giảm cặp còn lại

4 Để thực hiện chuyển động pitch: tăng tốc 1 trong 2 cặp cánh trước sau và giảm cặp còn lại

5 Để di chuyển tịnh tiến theo phương x, y

quadcopter sẽ phải kết hợp với chuyển động pitch và roll

Hình 1 Mô hình động lực học của máy bay quadcopter

PHẦN II: Sơ đồ khối của hệ thống

Trang 5

CHỨC NĂNG CỦA CÁC KHỐI CHÍNH TRONG SƠ ĐỒ

 Khối điều khiển trung tâm: nhận dữ liệu từ cảm biến và dùng

ngắt ngoài để lấy tín hiệu từ Receiver Thực hiện giải thuật PID tính

toán, xuất tín hiệu PWM ra 4 khối driver

1 Khối cảm biến: là khối lấy dữ liệu độ nghiêng các trục x y

z, vận tốc góc truyền về Arduino

2 Driver: dùng để điều khiển chiều qua và tốc độ của động cơ 2 pha ( nhậntín hiệu PWM từ Arduino)

3 Transmitter: là khối truyền tín hiệu điều khiển cân bằng,

di chuyển dưới dạng song RF ( tần số radio)

4 Receiver nhận tín hiệu điều khiển hướng từ bộ giải mã và gửi về

Arduino

PHẦN III: Linh kiện và thông số kỹ thuật

I Mạch vi điều khiển trung tâm arduino nano:

1 Là bộ mạch điều khiển dựa trên chip Atmega 328P

2 Thông số kỹ thuật của Arduino nano:

I.1 Các cấu tạo cơ bản của Arduino nano:

1 Nguồn: cổng miniUSB, cổng này được sử dụng cho cả

việc lập trình và bộ giám sát nối tiếp

Trang 6

- Các chân trên nguồn Nano:

 Vin: ta có thể cấp nguồn qua chân này ( ít dùng )

 5V: chân này cho nguồn 5V từ bo mạch

 3.3V: chân này cho nguồn 3.3V, dòng điện tối đa là 50mA

3 Mạch reset

- Đảm bảo các việc sau:

 Reset bằng tay

 Reset tự động

 Khởi động vi điều khiển trước khi chạy chương trình mới

- Để vi điều khiển khởi động lại thì chân reset phải ở mứclogic low đủ yêu cầu

4 Vi điều khiển Atmega328P trên board Arduino Nano có sẵn trong TQFP(plastic quad flat pack-gói quad phẳng) với 32 chân

I.2 Các chân của Arduino Nano

Trang 7

Hình 2 Các chân của Arduino Nano

- Một số chân Digital có chức năng đặc biệt:

 Serial O (RX), 1(TX): nhận và truyền dữ liệu

 Ngắt ngoài: 5,6

 PWM: 6,8,9,12,13,14 cung cấp đầu ra xung PWM Mỗi chân cung cấp tín hiệu điều khiển độ rộng xung 8bit tạo ra bằng cách dung hàm analogWrite()

 SPI: 13-16 hỗ trợ giao tiếp SPI

 LED: 1 Led nối với chân D16 sáng khi giá trị ở mức cao tắt khi giá trị ở mức thấp

3 Chân 18, 19, 20, 21, 22, 23, 24, 25 và 26 : Ngõ vào/ra tương tự.Tương

tự như các chân digital trong Nano, các chân analog cũng có một sốchức năng khác Các chân dung điện áp từ 0V đến 5V ứng với 1024 giátrị Nếu muốn sử dụng điện áp tham chiếu 0->3.3V có thể nối nguồn chochân AREF bằng cách sử dụng chức năng analof Reference()

 Chân A4,A5: giao tiếp I2C

 Chân 18: AREF điện áp tham chiếu cho đầu vào dung cho việcchuyển đổi ADC

 Chân 28: chân reset

4 Các chân ICSP|

Trang 8

Hình 3 Các chân của ICSP

II Động cơ và driver:

II.1 Mô hình tính toán:

Coi các động cơ hoạt động ổn định, ta có phương trình lực đẩy của từng động

cơ được tính như sau:

Trang 9

Như vậy, tính tổng lực nâng của cả 4 động cơ sẽ là:

- Từ đó ta tìm được vận tốc gió dưới cánh là: V1=36.51m/s

vận tốc góc của motor xấp xỉ 4800 rpm

- Để đảm bảo Quadcopter có thể chuyển động được thì khoảng cách giữa 2 động cơ trên một trục phải đủ dài:

II.2 Động cơ 1 chiều 2 pha 820:

* Thông số kỹ thuật của động cơ 2pha 820:

Trang 10

L298N là một IC tích hợp nguyên khối gồm 2 mạch cầu H bên trong với điện

áp làm tăng công suất nhỏ như động cơ DC loại vừa

Hình 6 Mạch cầu H

- Nguyên lý hoạt động mạch cầu H: Mạch cầu H đơn giản để điều khiển động

cơ DC quay thuận hoặc quay nghịch Mở S2, S3 và đóng S1, S4 thì sẽ quay thuận Mở S1, S4 đóng S2, S3 thì sẽ quay nghịch.

* Thông số kỹ thuật:

 Điện áp điều khiển: +5V ~ +12 V

 Dòng tối đa cho mỗi cầu H là: 2A

Trang 11

 Đ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

 Công suất hao phí: 20W (khi nhiệt độ T = 75 °C)

 Nhiệt độ bảo quản: -25°C ~ +130

 Có gắn tán nhiệt chống nóng và các điốt trên board giúp vi xử lý chống dòng điểm cảm ứng từ việc khởi động/tắt động cơ

* Các chân của L298N và cách nối module với mạch vi điều khiển trung tâm:

- 12V power và 5Vpower là 2 chân cấp nguồn trực tiếp đến động cơ

 Power GND là chân nối đất của nguồn cấp cho động cơ

 Output A và output B nối với động cơ

 4 chân INPUT : IN1, IN2, IN3, IN4 nối tương ứng với các chân Digital ở Arduino

 Điều khiển chiều quay động cơ bằng cách xuất ra giá trị logic tại cái chân Inx

 Điều khiển tốc độ quay của động cơ cần nối các chân EnA và EnB với các chân PWM ở Arduino Nano

SƠ ĐỒ ĐIỆN DRIVER, MOTOR, ARDUINO NANO

Hình 7 Sơ đồ điện Driver, Motor, Arduino Nano

Trang 12

PHẦN IV: Thuật toán điều khiển cơ cấu bập bênh và thử nghiệm tìm thông số PID

I Giới thiệu

Trong bài tập lớn này, chúng em đang nhắm tới mục đích là xây dựng được một quadcopter hoàn chỉnh, dựa vào các phân tích động lực học của một quadcopter đã được trình bày, ở đây chúng em chỉ xây dựng thuật toán cân bằng và đưa ra mô hình cho một trục của quadcopter Hoàn thành việc cân bằng

cả 2 trục của quadcopter sẽ giải quyết được bài toán cân bằng cho cả

quadcopter, tuy nhiên chúng em không kể đến sự ảnh hưởng lẫn nhau giữa 2 trục khi cân bằng

Về ý tưởng, việc cân bằng một trục cho một quadcopter lý tưởng là đưa hai vận tốc góc của 2 motor bằng nhau Tuy nhiên trong thực tế không có sự bằng nhau tuyệt đối về mặt vận tốc, sự sai lệch đó phụ thuộc vào nhiều khía cạnh như vật liệu và thiết kế, … nếu gây ra sai lệch đủ nhỏ vẫn có thể làm cho việc cân bằng trục rất khó khăn, nên chúng em sử dụng bộ điều khiển PID để thực hiện việc cân bằng cho một trục

Hình 8 Sơ đồ khối về hoạt động của bộ điều khiển PID

II Tìm hiểu về bộ điều khiển PID và đặc điểm về sự phản hồi trong từng khâu

Bộ điều khiển PID (Proportional-Integral-Derivative) là một cơ chế phản hồi vòng điều khiển tổng quát được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp bộ điều khiển PID là bộ điều khiển được sử dụng nhiều nhất trong các bộ điều khiển phản hồi Bộ điều khiển PID sẽ tính toán giá trị

"sai số" là hiệu số giữa giá trị đo thông số biến đổi và giá trị đặt mong muốn

Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh giá trị điều

Trang 13

khiển đầu vào Ở đây PID được sử dụng để điều chỉnh sai số về góc của trục so với phương nằm ngang, từ đó điều chỉnh vận tốc của hai động cơ.

Ở đây, ta có khái niệm setpoint (SP) và process variable (PV) Bộ điều khiển PID liên tục tính toán giá trị “sai số” giữa giá trị mong muốn SP và giá trị thực PV

II.1 Khâu tỷ lệ (Hệ số )

Khâu tỷ lệ có tỷ lệ với hiệu của SP-PV=e(t) với hệ số là Nếu giá trị sai

số này lớn thì đầu ra điều khiển cũng sẽ lớn, tính cả hệ số Chỉ sử dụng khâu tỷ

lệ sẽ không thể triệt tiêu hết sai số vì bản thân MPU6050 cần có độ trễ để cập nhật sai số Trong mô hình của chúng em, sai số e(t) được sử dụng ở đây là góclệch của trục so với phương ngang

Ví dụ tường minh, chúng em đưa ra mô hình một chiếc ô tô muốn đỗ xe tại vị trí mong muốn ở giữa hình vẽ, tuy nhiên do độ “trễ” về việc cập nhật “saisố” cho nên khi chiếc xe lùi lại nhưng lại quá so với vị trí cần đỗ Tiếp tục chiếc

xe tiến lên nhưng cũng vẫn bị sai lệch, cứ làm như thế cho đến khi “sai số” là

Trang 14

Đối với mô hình của chúng em, khi chỉ sử dụng hệ số thì trục sẽ không tự cân bằng được, hiện tượng giống như một chiếc bập bênh.

Hình 11 Minh họa hiện tượng bập bênh của mô hình

II.2 Khâu vi phân (Hệ số )

Như đã trình bày, chúng em sẽ thiết lập thêm thành phần vi phân của bộ điều khiển Về mặt toán học, khâu vi phân được đưa ra như sau:

Ở đây, thành phần chính là thành phần vận tốc góc của trục Như vậy, khâu vi phân sẽ có công dụng điều chỉnh cho trục đứng yên Trong mô hình củachúng em, nếu hệ số quá lớn cùng với sự trễ phản hồi sẽ không những làm chotrục không cân bằng được mà còn bị nhiễu loạn hơn khi chỉ dùng khâu tỷ lệ Dựa vào thực nghiệm, chúng em đã tìm được hệ số và thích hợp với mô hình Việc tìm hệ số và thích hợp mất tương đối nhiều thời gian

Hình 12 Hình ảnh minh họa sự nhiễu loạn của trục khi sử dụng hệ số quá lớn

Hình 13 Đồ thị về sự phản hồi (step response) đối với 3 hệ số lần lượt là 0.5, 1, 2

II.3 Khâu tích phân (Hệ số )

Trang 15

Khi đã lựa chọn các hệ số và thích hợp, trục về mặt cơ bản đã có thể cân bằng về mặt động học, tuy nhiên nó chưa thể cân bằng về mặt hình học, tức là

nó vẫn nghiêng so với phương ngang một góc nhỏ

Hình 14 Mô hình thể hiện trục cân bằng động họ nhưng vẫn nghiêng so với phương ngang

một góc nhỏ

Hình 15 Đồ thị về sự phản hồi (step response) đối với 3 hệ số lần lượt là 0.5, 1, 2

So với thực tế, trục ngang của quadcopter khó đạt được vị trí cân bằng về mặt hình học như vậy sau một khoảng thời gian đủ lớn, nên chúng em đã không đề cập đến hệ số của khâu tích phân

III Lập trình Arduino

Lập trình về: Thay đổi đơn vị góc từ rad sang degree

Lọc nhiễu của biến tốc độ góc

Giới hạn bão hòa của biến tốc độ góc

Vô hiệu hóa thành phần tốc độ góc

Giới hạn bão hòa của biến góc

Trang 16

Lập trình về: Thuật toán PID điều khiển tốc độ của hai động cơ.

In ra các thông số về vận tốc của 2 động cơ, về góc và vận tốc

góc ở các thời điểm,

Chúng em giải thích thêm về thành phần rate effect, qua thực nghiệm cho thấy, khi vượt qua “ngưỡng cân bằng” thì bộ điều khiển ở khâu vi phân sẽ làm nhiễu loạn Vì vậy khi vượt qua “ngưỡng cân bằng”, tức là khi thanh đi qua vi trí cân bằng nhưng vận tốc góc của thanh không cập nhật kịp thời nên nó sẽ tiếp tục vuợt qua “ngưỡng cân bằng” gây ra nhiễu loạn Vì vậy khi vận tốc góc

và góc giữa trục và phương ngang cùng dấu, chúng em sẽ loại bỏ khâu vi phân

Trang 17

IV Thực nghiệm

Bộ điều khiển PID với hệ số =3 và =0.2 (chưa có rate effect)

https://drive.google.com/file/d/1SInwuCDJpKk3eSQU_Z0TT_7qZ0i3XQRz/view?usp=sharing

Bộ điều khiển PID với hệ số =2 và =0.2 (chưa có rate effect)

https://drive.google.com/file/d/1-ftrfvPa3IunF9VAOkx9y0CHUyIQyvTp/view?usp=sharing

Trang 18

Bộ điều khiển PID với hệ số =1.2 và =0.16 (chưa có rate effect)

https://drive.google.com/file/d/1HcP6lUA5YU5EPshMEuTaZn2Rh3zk5c8c/view?usp=sharing

Bộ điều khiển PID với hệ số =1.5 và =0.15 (đã có rate effect)

https://drive.google.com/file/d/1es5vXP6k3drOsH3Zb9bvrGAwsfN3hbA-/view?usp=sharing

 Quá trình tìm hệ số và thích hợp

https://drive.google.com/drive/folders/1FRAeECXTdMK8b7t6wT75EG8dXU5nArDw

Như vậy, chúng em đã tìm được hệ số và thích hợp là =1.5 và =0.15.

PHẦN V: BỘ ĐIỀU KHIỂN TỪ XA

I Linh kiện điện tử:

I.1.Arduino:

Arduino Uno và Arduino Nano

I.2.Module truyền phát tín hiệu : nRF24L01

Trang 19

Module sử dụng băng tần 2,4 GHz và nó có thể hoạt động với tốc độ truyền từ

250 kbps lên đến 2 Mbps Nếu được sử dụng trong không gian mở và với tốc

độ truyền thấp hơn, phạm vi của nó có thể đạt tới 100 mét

Mô-đun có thể sử dụng 125 kênh khác nhau mang lại khả năng có một mạng gồm 125 modem hoạt động độc lập tại một nơi Mỗi kênh có thể có tối đa 6 địachỉ hoặc mỗi đơn vị có thể giao tiếp với tối đa 6 đơn vị khác cùng lúc

Điện áp hoạt động của mô-đun là từ 1,9 đến 3,6V Ba trong số các chân này dành cho giao tiếp SPI và chúng cần được kết nối với các chân SPI của

Arduino, nhưng lưu ý rằng mỗi bảng Arduino có các chân SPI khác nhau Các chân CSN và CE có thể được kết nối với bất kỳ chân kỹ thuật số nào của bảng Arduino và chúng được sử dụng để thiết lập mô-đun ở chế độ chờ hoặc chế độ hoạt động, cũng như để chuyển đổi giữa chế độ truyền hoặc chế độ lệnh Chốt cuối cùng là chân ngắt mà không cần phải sử dụng

Trang 20

Đèn Led: đầu dương nối với chân 14 của arduino uno, đầu âm nối với điện trở

Trang 21

II.2 Thư viện Arduino

int potValue = analogRead(A0);

int angleValue = map(potValue, 0, 1023, 0, 180); radio.write(&angleValue, sizeof(angleValue)); delay(5);

Trang 22

}

Trang 23

Kết luận

Trong quá trình làm bài tập lớn, chúng em đã được học thêm nhiều kiến thức mới, cách phối hợp và phân công công việc sao cho hiệu quả Trong bài tập lớn này, chúng em đang nhắm tới mục đích là xây dựng được một

quadcopter hoàn chỉnh, tuy nhiên thực tế chúng em chưa có kết quả thực nghiệm của một quadcopter so sự chậm chễ, nhưng chúng em đã giải quyết được khoảng 70% quá trình xây dựng lên Trong tương lai, chúng em có thể sẽ

mô phỏng quadcopter trong chế độ bay treo và các chế độ bay khác Ý tưởng này dù có từ lâu, nhưng qua việc làm bài tập nhóm này chúng em có thể bắt đầu từ những thứ đơn giản nhất để có thể phát triển và tích lũy kiến thức cho việc đóng góp vào môn kỹ thuật điện - điện tử trên máy bay và cả cơ học vật bay

Tài liệu tham khảo

PID brushless motor control tutorial - YouTube

Atheer L Salih, M Moghavvemi, Haider A F Mohamed and Khalaf Sallom Gaeid Centre - Modelling and PID Controller Design for a Quadrotor

Unmanned Air Vehicle

Arduino Drone - YouTube

PID controller - Wikipedia

Ngày đăng: 24/09/2021, 20:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w