Vì vậy, câu trả lời dài hơn của tôi dưới đây giả định rằng bảng sẽ trải qua quá trình tăng tốc và trong thời gian này, bạn vẫn cần có thể đo độ cao, lăn và ngáp của mình trong một khoảng thời gian ngắn. Nếu bảng sẽ đứng yên cho tất cả các phép đo thì câu trả lời của Mahendra Gunawardena sẽ hoạt động hoàn hảo cho bạn. Nếu điều này đang đi vào một thiết bị như máy bay mô hình hoặc máy bay mô hình hoặc đa hướng hoặc bất cứ thứ gì di chuyển xung quanh, bạn có thể muốn tiếp tục đọc. Bài này là về cách sử dụng cả ba cảm biến mặc dù một phương pháp gọi là phản ứng tổng hợp cảm biến. Cảm biến nhiệt hạch cho phép bạn có được điểm mạnh của từng cảm biến và giảm thiểu ảnh hưởng của từng điểm yếu của cảm biến.
Đặc điểm cảm biến và nền
Trước tiên hãy hiểu rằng một gia tốc kế đo tất cả các lực được tác dụng lên nó, không chỉ là lực hấp dẫn. Vì vậy, trong một thế giới hoàn hảo với gia tốc kế ở vị trí đứng yên mà không có bất kỳ rung động nào, bạn hoàn toàn có thể xác định được cách nào sử dụng một số lượng giác cơ bản như thể hiện trong câu trả lời của Mahendra Gunawardena. Tuy nhiên vì một gia tốc kế sẽ nhận tất cả các lực, bất kỳ rung động nào cũng sẽ gây ra tiếng ồn. Cũng cần lưu ý rằng nếu bảng đang tăng tốc, bạn không thể chỉ sử dụng lượng giác đơn giản vì lực gia tốc được báo cáo không chỉ là lực hấp dẫn của trái đất mà còn là lực khiến bạn tăng tốc.
Một từ kế là đơn giản hơn sau đó là một gia tốc kế. Chuyển động sẽ không gây ra vấn đề với nó nhưng những thứ như sắt và các nam châm khác sẽ kết thúc ảnh hưởng đến đầu ra của bạn. Nếu các nguồn gây ra nhiễu này không đổi thì sẽ không khó xử lý nhưng nếu các nguồn này không ổn định, nó sẽ tạo ra vô số tiếng ồn có vấn đề cần loại bỏ.
Trong ba cảm biến, con quay hồi chuyển được cho là đáng tin cậy nhất và chúng thường rất tốt trong việc đo tốc độ quay. Nó không bị ảnh hưởng bởi những thứ như nguồn sắt và gia tốc về cơ bản không ảnh hưởng đến khả năng đo tốc độ quay của chúng. Họ làm rất tốt việc báo cáo tốc độ mà thiết bị đang quay, tuy nhiên vì bạn đang tìm kiếm một góc tuyệt đối, bạn phải tích hợp tốc độ để có được vị trí. Làm điều này sẽ thêm lỗi của phép đo cuối cùng vào lỗi của các phép đo mới vì tích hợp về cơ bản là tổng các giá trị trong một phạm vi, ngay cả khi lỗi cho một phép đo chỉ giảm 0,01 độ mỗi giây, trong 100 lần đo, vị trí của bạn có thể giảm 1 độ, bằng 1000 lần đo, bạn có thể giảm 10 độ. Nếu bạn đang thực hiện hàng trăm phép đo một giây, bạn có thể thấy điều này gây ra vấn đề. Điều này thường được gọi là trôi con quay.
Cảm biến nhiệt hạch
Giờ đây, vẻ đẹp của việc tất cả các cảm biến này hoạt động cùng nhau là bạn có thể sử dụng thông tin từ gia tốc kế và từ kế để loại bỏ trôi con quay hồi chuyển. Điều này kết thúc cho phép bạn cung cấp cho bạn độ chính xác và tốc độ của con quay hồi chuyển mà không có lỗ hổng chết người của con quay hồi chuyển.
Kết hợp dữ liệu từ ba cảm biến này có thể được thực hiện theo nhiều cách, tôi sẽ nói về việc sử dụng bộ lọc bổ sung vì đơn giản hơn nhiều so với bộ lọc kalman và bộ lọc kalman sẽ ngốn nhiều tài nguyên hơn trên các hệ thống nhúng. Thông thường, một bộ lọc bổ sung là đủ tốt, đơn giản để thực hiện (giả sử bạn không sử dụng thư viện dựng sẵn) và cho phép bạn xử lý dữ liệu nhanh hơn.
Bây giờ vào quá trình. Các bước đầu tiên bạn cần làm là tích hợp đầu ra con quay hồi chuyển để chuyển đổi tốc độ góc thành vị trí góc. Nhiều khả năng bạn cũng sẽ phải áp dụng bộ lọc thông thấp trên gia tốc kế và từ kế để xử lý nhiễu ở đầu ra. Một bộ lọc FIR đơn giản như bộ lọc dưới đây hoạt động ở đây. Với một số lượng giác, bạn có thể tìm thấy cao độ và lăn với gia tốc kế và ngáp với từ kế.
filteredData = (1-weight)*filteredData + weight*newData
Trọng lượng chỉ là một hằng số có thể được điều chỉnh tùy thuộc vào mức độ tiếng ồn bạn phải xử lý, tiếng ồn càng cao thì giá trị trọng lượng sẽ càng nhỏ. Bây giờ kết hợp dữ liệu từ các cảm biến có thể được thực hiện bằng dòng mã sau đây.
fusedData = (1-weight)*gyroData + weight*accelMagData
Cần lưu ý rằng dữ liệu là một vectơ của cao độ, cuộn và ngáp. Bạn chỉ có thể sử dụng ba biến để làm điều này thay vì mảng nếu bạn muốn. Đối với tính toán này, con quay hồi chuyển cung cấp một vị trí theo độ trong cao độ, cuộn và ngáp, từ kế cung cấp một góc cho ngáp trong khi gia tốc kế cung cấp các số riêng cho cao độ và cuộn.
Nếu bạn vẫn muốn biết thêm thông tin, bạn có thể google "cảm biến hợp nhất với bộ lọc bổ sung", có rất nhiều bài viết về điều này.