Đặc điểm của con quay hồi chuyển

Một phần của tài liệu Nghiên cứu ứng dụng cảm biến gia tốc và xây dựng chương trình điều khiển cho mô hình máy bay 4 cánh (Trang 31)

Con quay hồi chuyển (Gyroscope) hoạt động dựa trên nguyên lý bảo toàn moment của một vật thể chuyển động quay khi tổng các lực tác dụng lên vật triệt tiêu.

Đối với cấu tạo dạng đĩa tròn ta có thể tính được moment quán tính của đĩa trong hệ tọa độ đặt tại tâm đĩa và các trục quanh tương ứng với các trục quay của gimbal. Lưu ý là trong cấu tạo của gyro cơ, trọng tâm của đĩa xoay phải trùng với trọng tâm của hệ gyro gimbal.

Trong quá trình hoạt động, nếu như trạng thái của hệ thống thay đổi, thì các gimbal có thể chuyển động quay quanh trục, nhưng mà đĩa gyro vẫn giữ nguyên phương hướng của trục quay, và giữ trạng thái ổn định trong không gian quán tính. Còn góc quay của các gimbal có thể đo được bằng các thiết bị đo góc gắn liền với trục quay của gimbal, các thiết bị này được gọi bằng thuật ngữ pickoff.

Số lượng gimbal trong cấu tạo của gyro quy định số bậc tự do chuyển động quay của gyro. Ví dụ như gyro có hai bậc tự do thì có cấu tạo gồm có hai gimbal. Nếu trục quay của một gyro hai bậc tự do là thẳng đứng thì nó được gọi là gyro thẳng đứng (vertical gyro), còn nếu như trục quay nằm trong mặt phẳng nằm ngang thì gọi là gyro định hướng (directional gyro), còn một gyro có trục quay không theo một

phương cụ thể nào thì gọi là gyro tự do (free gyro). Sự ổn định trong không gian ba chiều đòi hỏi một gyro thẳng đứng và một gyro định hướng, hoặc là hai gyro tự do. Một loại gyro cơ có tầm ứng dụng rộng rãi là gyro một bậc tự do, tức là cấu tạo chỉ gồm một gimbal quay quanh trục mà thôi, loại gyro này thường được gọi là intergrating rate gyro.

Gyro cơ là loại gyro truyền thống, có độ chính xác cao, và được ứng dụng nhiều trong hệ thống dẫn đường của tên lửa hay tàu ngầm. Gyro cơ có chức năng chủ yếu là ổn định phương hướng chuyển động của hệ thống. Gyro cơ chủ yếu được sử dụng trong hệ gimbaled INS bởi vì kết cấu cơ khí rất phù hợp. Hầu hết các hệ thống INS đều sử dụng kết hợp ba cảm biến gyro loại rate intergrating một bậc tự do để ổn định phương hướng trong không gian.

2.2.2.2. Cm biến gia tc

Cảm biến gia tốc thường được ứng dụng trong việc xác định gia tốc trọng trường. Tùy theo số trục của cảm biến mà tín hiệu đọc về sẽ là hình chiếu của gia tốc trọng trường trên từng trục tọa độ tương ứng.

Gia tốc trọng trường tại một điểm là không thay đổi do đó khi cảm biến quay thì các trục tọa độ cũng quay theo, khi đó hình chiếu của gia tốc trọng trường lên các trục tọa độ cũng thay đổi. Từ đó ta có thể xác định được góc nghiêng của cảm biến và góc mà cảm biến đã quay đi so với vị trí trước đó.

Giá trị đọc về của các cảm biến gia tốc thường tính theo đơn vị “g” là đơn vị của gia tốc trọng trường. Khi tính toán góc nghiêng chia cho nhau sẽ mất đi đơn vị “g”, vì vậy kết quả đo góc không phụ thuộc vào gia tốc trọng trường.

2.2.2.3. Cm biến gia tc và vn tc góc trong MPU6050 a. Gii thiu cm biến MPU6050 a. Gii thiu cm biến MPU6050

MPU6050 là cảm biến phát hiện, xử lý chuyển động đầu tiên trên thế giới được tích hợp bộ cảm biến 6 trục và thuộc sở hữu của MotionFusion™. Cảm biến này được sử dụng vào những thiết bị cầm tay, ứng dụng trong máy tính bảng, và các thiết bị tiêu dùng khác. MPU6050 được nhúng con quay hồi chuyển 3 trục vi cơ điện tử (MEMS), một cảm biến gia tốc MEMS 3 trục và một bộ xử lý tín hiệu số với giao tiếp I2C.

MPU6050 có 3 bộ ADC 16 bit để chuyển đổi tín hiệu tương tự sang tín hiệu số các kết quả ngõ ra của con quay hồi chuyển và 3 bộ ADC để chuyển đổi tín hiệu tương tự sang số các kết quả ngõ ra của gia tốc. Để theo dõi chính xác cả chuyển động nhanh và chậm, con quay hồi chuyển có thể lập trình với các mức đo ±2500, ±5000, ±10000 và ±20000/ sec (dps) và một gia tốc có thể lập trình với các mức đo ±2g, ±4g, ±8g và ±16g.

Hình 2.9. Cảm biến MPU6050

Linh hoạt trong việc cấp nguồn, MPU6050 hoạt động với điện áp VDD từ 2.37V đến 3.46V. Ngoài ra MPU6050 cung cấp một chân điện áp tham chiếu VLOGIC, dùng trong thiết lập mức logic của giao tiếp I2C. Điện áp VLOGIC có thể là 1.8V±5% hoặc VDD.

b. Tính năng ca cm biến MPU6050

Cảm biến tốc độ góc ba trục trong MPU6050 có các tính năng sau:

- Cảm biến tốc độ góc (gyroscope) với ngõ ra là tín hiệu số. Người dùng có thể lập trình chọn các mức đo ±2500, ±5000, ±10000 và ±20000/giây (dps)..

- Tích hợp ADC 16 bit cho phép lấy mẫu đồng thời các con quay hồi chuyển.

- Hiệu chỉnh độ nhạy.

Các tính năng của cảm biến gia tốc 3 trục trong MPU6050:

- Cảm biến gia tốc ba trục ngõ ra là tín hiệu số có thể lập trình các mức đo ±2g, ±4g, ±8g và ±16g.

- Tích hợp ADC 16 bit cho phép lấy mẫu đồng thời các con quay hồi chuyển.

Một số tính năng bổ sung trong MPU6050:

- Kết hợp chuyển động 6 trục bởi bộ xử lý chuyển động số tích hợp trên chip.

- Bus I2C để đọc dữ liệu từ các cảm biến bên ngoài.

- Dòng tiêu thụ 3.9mA khi tất cả chuyển động 6 trục.

Xử lý chuyển động.

- Xử lý chuyển động 3D .

- Thu thập dữ liệu từ những con quay hồi chuyển và gia tốc trong khi đồng bộ dữ liệu lấy mẫu tại một mức đo do người dùng định nghĩa.

- Bộ đệm FIFO 1024 Byte tích hợp trên MUP6050 giúp tiết kiệm điện năng bằng cách cho phép bộ vi xử lý đọc dữ liệu cảm biến trong sự truyền loạt và sau đó vào chế độ công suất thấp như MPU thu thập nhiều dữ liệu hơn.

Bộ dao động

- Tùy chọn xung đồng hồ bên ngoài là 32.768kHz hoặc 19.2MHz.

c. Chiu hướng ca cm biến

Hình 2.10. Chiều của vận tốc góc và gia tốc góc của MPU6050 Khi ta đặt cảm biến vào quadrotor cần phải chính xác về vị trì đặt, chiều và hướng trên quadrotor.

d. Thông tin ng dng ca MPU6050

Hình 2.11. Sơ đồ khối của MPU6050

Cảm biến vận tốc góc trong MPU6050: MPU6050 có ba con quay hồi chuyển

MEMS độc lập, phát hiện chuyển động xoay của ba trục X, Y, Z. Khi gyros được luân chuyển về bất kì trục nào, hiệu ứng Coriolis gây ra một sự rung động được phát hiện bởi một pickoff điện dung. Tín hiệu kết quả được khuếch đại, giải điều chế và lọc để tạo ra một điện áp tỉ lệ với tốc độ góc. Điện áp này được bộ ADC 16bit trên chip lấy mẫu mỗi trục. Giai đo của các bộ cảm biến con quay hồi chuyển có thể lập trình đến ±250, ±500, ±1000, or ±2000 độ/giây. Tốc độ lấy mẫu của bộ ADC có thể lập trình đến 8000 mẫu/giây, và người dùng có thể lập trình lựa chọn các bộ lọc thông thấp cho phép 1 loạt các tần số cắt.

Cảm biến gia tốc 3 trục kiểm tra riêng biệt cho mỗi trục: Gia tốc dọc theo

mỗi trục gây ra sự dịch chuyển trên mỗi trục tương ứng, và cảm biến điện dung phát hiện các chuyển vị khác biệt. Khi thiết bị được đặt trên một bề mặt bằng phẳng, nó sẽ cho kết quả 0g trên trục X và trục Y, trục z sẽ là 1g. Mỗi cảm biến sử dụng một bộ ADC để chuyển đổi kết quả thành tín hiệu số. Các cảm biến có giai đo có thể lập trình thay đổi ±2g, ±4g, ±8g, or ±16g.

e. Sơđồ chân cm biến

Hình 2.12. Sơ đồ chân MPU6050 Chức năng của một số chân trong MPU6050:

* Chân 23 (SCL/SCLK) : Xung Clock của truyền thông nối tiếp I2C (SDA) hoặc SPI (SDI).

* Chân 24 (SDA/SDI) :

+ Dữ liệu truyền thông nối tiếp kiểu I2C (SDA). + Dữ liệu truyền thông nối tiếp kiểu SPI (SDI).

f. Sơđồ mch để MPU6050 hot động

2.2.2.4. Xác định góc nghiêng t cm biến MPU6050

Hai giá trị quan trọng cần đọc từ cảm biến MPU6050 là gia tốc và vận tốc góc. Theo cách đơn giản từ gia tốc ta tính được góc nghiêng tương ứng và từ vận tốc góc chúng ta xác định được tốc độ thay đổi của góc nghiêng (hình 2.13) thậm chí góc nghiêng được tính từ vận tốc góc (hình 2.10) theo công thức:

Góc nghiêng = giá tr vn tc góc x thi gian ly mu

Nghĩa là chúng ta có thể tính được góc nghiêng từ cả hai giá trị gia tốc và vận tốc góc.

Hình 2.14. Xác định góc nghiêng và vận tốc góc theo gia tốc và vận tốc góc

Hình 2.15. Xác định góc nghiêng và vận tốc góc riêng biệt theo vận tốc góc

Cách tính góc nghiêng từ gia tốc

Nhưng vấn đề nảy sinh ở đây là góc nghiêng tính được từ giá trị gia tốc và góc nghiêng tính được từ giá trị vận tốc góc thường có sự chênh lệch nhau. Hơn nữa vận tốc góc từ cảm biến là vận tốc tức thời, tức không duy trì và bằng không khi cảm biến

không di chuyển, còn gia tốc là gia tốc tĩnh, duy trì giá trị khi cảm biến ở một vị trí nào đó.

Hình 2.16. Cách tính góc nghiêng từ gia tốc

Do đó, chúng ta cần xác định góc nghiêng từ cả giá trị gia tốc và vận tốc góc từ cảm biến để thu được kết quả chính xác.

Hình 2.17. Mô tả cách xác định góc nghiêng khi kết hợp gia tốc và vận tốc góc Vấn đề tiếp tục nảy sinh là bằng cách nào chúng ta có thể kết hợp giá trị gia tốc và vận tốc góc để xác định góc nghiêng. Cũng lưu ý rằng việc tìm góc nghiêng từ những dữ liệu thu được từ cảm biến MPU6050, cụ thể ở đây là các giá trị gia tốc và vận tốc góc, rất nhạy và chịu ảnh hưởng bởi nhiễu rất lớn. Môi trường đặt cảm biến càng mất ổn định thì góc nghiêng thu được càng sai lệch nhiều. Đối với môi trường là mô hình tự cần bằng thì điều này rất dễ nhận thấy, góc nghiêng thu được bị sai lệch rất lớn do dao động của máy bay. Góc nghiêng thu được có sai số rất lớn khi chỉ đơn

thuần tính góc nghiêng từ những dữ liệu đọc được từ cảm biến. Do đó, cần áp dụng một giải thuật tối ưu để tính toán góc nghiêng được chính xác.

2.2.2.5. Giao tiếp vi MPU6050 bng I2C

I2C là một loại bus giao tiếp ngoại vi được phát triển bới hãng Philips, thường được sử dụng để điều khiển nhiều thiết bị điều khiển khác được bố trí trong các khối mạch tương đối xa nhau. I2C là giao tiếp nối tiếp thực hiện trên hai đường dây: Clock (SCL) và Data (SDA) giữa Master và Slave.

Hình 2.18. Kết nối giữa Master và các Slave

+ Master: Là chip khởi động quá trình truyền nhận, phát đi địa chỉ của thiết bị cần giao tiếp và tạo xung giữ nhịp trên đường SCL.

+ Slave: Là chip có một địa chỉ cố định, được gọi bởi Master và phục vụ yêu cầu từ Master.

+ SDA - Serial Data: Là đường dữ liệu nối tiếp, tất cả các thông tin về địa chỉ hay dữ liệu đều được truyền trên đường này theo thứ tự từng bit một

+ SCL - Serial Clock: Là đường giữ nhịp nối tiếp. I2C là chuẩn truyền thông nối tiếp đồng bộ, cần có 1 đường tạo xung giữ nhịp cho quá trình truyền/nhận, cứ mỗi xung trên đường giữ nhịp SCL, một bit dữ liệu trên đường SDA sẽ được lấy mẫu (sample).

Hình 2.19. Trạng thái lấy mẫu một bit dữ liệu trên SDA Dữ liệu nối tiếp trên đường SDA được lấy mẫu khi đường SCL ở mức cao trong một chu kỳ giữ nhịp, vì thế đường SDA không được đổi trạng thái khi SCL ở mức

cao (trừ Start và Stop condition). Chân SDA có thể được đổi trạng thái khi SCL ở mức thấp.

+ Các tín hiệu Start và Stop:

SDA = SCL = HIGH: Bus I2C ở trạng thái “Free” sẵn sàng cho một giao tiếp. Điều kiện Start: SDA ↓ và SCL = HIGH.

Điều kiện Stop: SDA ↑ và SCL = HIGH.

Cả hai điều kiện Star và Stop đều được tạo ra bởi Master. Sau tín hiệu Start, bus I2C ở trạng thái “busy” thực hiện tác vụ truy xuất nối tiếp. Sau Stop bus I2C ở trạng thái “free” cho lần kế tiếp.

+ Định dạng dữ liệu truyền:

Dữ liệu được truyền trên bus I2C theo từng bit tại mỗi cạnh lên của xung Clock (SCL).

Hình 2.20. Tín hiệu xung SCL và SDA

Sự thay đổi bit dữ liệu trên SDA xảy ra khi SCL đang ở mức thấp. số lượng byte có thể truyền trong một lần tùy ý, tối đa là 128 bytes. Bit MSB sẻ được truyền trước. Sau 8 xung clock 8 bit dữ liệu đã được truyền đi, thiết bị nhận sẽ khéo SDA xuống mức thấp tương ứng với một bit ACK sẽ tiếp tục thực hiện quá trình truyền hoặc kết thúc.

+ Định dạng địa chỉ thiết bị:

Mỗi thiết bị ngoại vi tham gia vào bus I2C đều có địa chỉ duy nhất, có độ dài là 7 bit như vậy trên một bus I2C ta có thể phân biệt tối đa 128 thiết bị. Byte đầu tiên được gửi từ master sẻ bao gồm 7 bit chỉ và bit thứ 8 gọi là bit R/W.

Bit R/W = 0 : Ghi dữ liệu từ Master vào Slave. Bit R/W = 1 : Đọc dữ liệu từ Slave .

+ Sau đây là khung truyền và đọc dữ liệu

Đọc byte đơn

Hình 2.21. Đọc byte đơn Đọc nhiều byte

Hình 2.22. Đọc nhiều byte Truyền byte đơn

Hình 2.23. Truyền byte đơn Truyền nhiều byte

Hình 2.24. Truyền nhiều byte Trong đó:

- S là start SDA xuống thấp trong khi SCL đang ở mức cao.

- AD là địa chỉ của slave.

- W là bit write (0).

- R là bit read(1).

- ACk bit xác nhận đã nhận dữ liệu.

- RA địa chỉ chứa dữ liệu của slave.

- DATA dữ liệu được truyền hoặc nhận.

2.2.2.6. Đọc dữ liệu từ cảm biến và hiển thị LCD

Hiển thị 5 dữ liệu (Goc_x , Goc_y, GYRO_X, GYRO_Y, GYRO_Z ) từ cảm biến MPU6050 bằng mạch vi điều khiển với chip atmega16 có gắn LCD để hiện thị.

+ Cảm biến nằm trên mặt phẳng ngang và mặt phẳng đứng

Hình 2.25. Cảm biến nằm trên mặt phẳng ngang và mặt phẳng đứng

Khi cảm biến nằm trên mặt phẳng ngang dữ liệu đọc về hiển thị lên LCD như sau :

Goc_x = 0 Goc_y = 0

GYRO_X = 0 GYRO_Y = 0 GYRO_Z = 0

Khi cảm biến đặt trên mặt phẳng đứng dữ liệu đọc về hiển thị lên LCD như sau : Goc_x = - 86 Goc_y = 3

GYRO_X = 0 GYRO_Y = 0 GYRO_Z = 0

+ Cảm biến nghiêng theo trục X

Hình 2.26. Cảm biến nghiêng theo trục X

Khi cảm biến nghiêng theo trục x và hướng về phía trước dữ liệu đọc về hiển thị lên LCD như sau :

Goc_x = - 32 Goc_y = 0 GYRO_X = 0 GYRO_Y = 0 GYRO_Z = 0

Khi cảm biến nghiêng theo trục x và hướng về phía sau dữ liệu đọc về hiển thị lên LCD như sau :

Goc_x = 32 Goc_y = -1 GYRO_X = 0 GYRO_Y = 0 GYRO_Z = 0

+ Cảm biến nghiêng theo trục Y

Khi cảm biến nghiêng theo trục y và hướng về phía trước dữ liệu đọc về hiển thị lên LCD như sau :

Goc_x = 1 Goc_y = 32

GYRO_X = 0 GYRO_Y = 0 GYRO_Z = 0

Khi cảm biến nghiêng theo trục y và hướng về phía sau dữ liệu đọc về hiển thị lên LCD như sau :

Goc_x = - 45 Goc_y = 0 GYRO_X = 0 GYRO_Y = 0 GYRO_Z = 0

2.2.3. Hệ thống điều khiển từ xa

2.2.3.1. Gii thiu chung

Với khoảng cách truyền nằm trong khoảng 50m thì truyền thông không dây bằng sóng radio (RF) là phù hợp nhất và gia thành hợp lý. Bộ thu phát tín hiệu RF có vai trò hết sức quan trọng trong điều khiển quadrotor, nó phát và thu tín hiệu lệnh cho quadrotor bay lên, hạ xuống, quay theo trục z, di chuyển trái, phải, trước, sau.

Một phần của tài liệu Nghiên cứu ứng dụng cảm biến gia tốc và xây dựng chương trình điều khiển cho mô hình máy bay 4 cánh (Trang 31)