intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Ứng dụng bộ lọc Kalman để xử lý tín hiệu từ cảm biến độ ẩm soil moisture

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:6

29
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết trình bày ứng dụng thuật toán lọc Kalman để xử lý tín hiệu thu thập được từ cảm biến đo độ ẩm đất Soil Moisture Sensor. Tín hiệu đo thu được từ cảm biến, thông qua một mô đun chuyển đổi trước khi đưa tới vi điều khiển Arduino UNO R3.

Chủ đề:
Lưu

Nội dung Text: Ứng dụng bộ lọc Kalman để xử lý tín hiệu từ cảm biến độ ẩm soil moisture

  1. HỘI NGHỊ KHOA HỌC TOÀN QUỐC VỀ CƠ KHÍ – ĐIỆN – TỰ ĐỘNG HÓA (MEAE2021) Ứng dụng bộ lọc Kalman để xử lý tín hiệu từ cảm biến độ ẩm soil moisture Đặng Văn Chí 1, Bộ môn Tự động hóa Mỏ - Dầu khí, Trường Đại học Mỏ - Địa chất, dangvanchi@humg.edu.vn THÔNG TIN BÀI BÁO TÓM TẮT Quá trình: Bài báo trình bày ứng dụng thuật toán lọc Kalman để xử lý tín hiệu thu thập Nhận bài 17/06/2021 được từ cảm biến đo độ ẩm đất Soil Moisture Sensor. Tín hiệu đo thu được từ Chấp nhận 17/6/2021 cảm biến, thông qua một mô đun chuyển đổi trước khi đưa tới vi điều khiển Đăng online 17/12/2021 Arduino UNO R3. Thuật toán lọc Kalman được nhúng vào chương trình thu Từ khóa: thập dữ liệu, sau đó được xử lý lọc nhiễu trước khi giám sát trên giao diện kalman filter, PC. Từ các kết quả bước đầu khi chạy thử trên mô hình sẽ được làm căn cứ moisture_sensor, Arduino dùng kỹ thuật lọc Kalman cho các hệ thống đo độ ẩm cũng như cho các đối tượng đo các đại lượng khác. Việc nghiên cứu ứng dụng thành công thuật UNO R3, signal processing toán Kalman cho phép ta có thêm một công cụ hữu hiệu để lọc bỏ nhiễu loạn cho các hệ thống đo và góp phần nâng cao độ chính xác, độ tin cậy cho phép đo. © 2021 Trường Đại học Mỏ - Địa chất. Tất cả các quyền được bảo đảm. 1. Mở đầu điều khiển. Trong một nghiên cứu của một nhóm các tác giả Đào Văn Phượng & nnk(2020) đã ứng Trong các hệ thống tự động hóa các quá trình dụng thuật toán lọc Kalman vào xử lý tín hiệu cân nhiệt … thì các thiết bị đo, cảm biến nhiệt là một động, nhóm tác giả đã thực nghiệm trên chip trong những phần tử quan trọng quyết định tới stm32F746 với 1000 mẫu sử dụng ADC 12bít chất lượng và sự làm việc ổn định của cả hệ thống được kết nối với giao diện của Matlab. Kết quả điều khiển. Thực tế quá trình đo một đại lượng vật nghiên cứu đã được ứng dụng cho một hệ thống lý bất kỳ thì bao giờ cũng gặp phải các tác động của thực cho thấy được hiệu quả của thuật toán trong nhiễu đo lường với nhiều nguồn tác động do ảnh việc lọc nhiễu hệ thống. Tuy nhiên phương pháp hưởng của điện từ trường, sóng hài bậc cao và này yêu cầu phải dùng Card Matlab cũng như những nguồn nhiễu khác trong công nghiệp. Trong phần mềm Matlab có bản quyền với giá thành kỹ thuật đã có nhiều giải pháp được các nhà khoa khá đắt. học đề xuất: có thể sử dụng các mạch lọc điện tử hay sử dụng các vật liệu truyền dẫn kháng nhiễu Trong một nghiên cứu khác của tác giả Đinh hoặc các thuật toán lọc tối ưu …Tuy nhiên mọi giải Xuân Vinh(2018) đã ứng dụng bộ lọc Kalman để pháp về kỹ thuật và công nghệ cũng rất khó có thể nâng cao độ chính xác đo GPS động, sử dụng máy triệt tiêu được hoàn toàn nhiễu. Vì nguồn nhiễu là thu GPS loại TRIMBLE 4000 SSi và phần mềm ngẫu nhiên và không biết trước được bản chất để Compas để xử lý dữ liệu. Lọc Kalman được triển có thể đưa ra được một giải pháp lọc một cách phù khai theo cách sử dụng tích phân Euler và hợp. phương pháp bình phương cực tiểu. Các phương Trong nước đã có nhiều các nhà khoa học trình Riccati được áp dụng để giải quyết vấn đề nghiên cứu và đề xuất những thuật toán xử lý và phi tuyến, nâng cao hiệu suất của bộ lọc và tối ưu lọc nhiễu cho những ứng dụng trong đo lường hóa sau mỗi bước lọc. Tuy nhiên cách thức xử lý 173
  2. HỘI NGHỊ KHOA HỌC TOÀN QUỐC VỀ CƠ KHÍ – ĐIỆN – TỰ ĐỘNG HÓA (MEAE2021) dữ liệu vẫn bị gián đoạn và chưa đáp ứng được được khi mô hình thử nghiệm nhiệt độ dưới điểm yêu cầu về xử lý tự động, thuật toán lọc chưa đóng băng. nhúng được vào phần mềm xử lý dữ liệu hiện tại Trong một nghiên cứu khác của nhóm tác giả trong máy đo. Eleffendi, M. A., & Johnson, C. M. (2015) đã ứng Về các giải pháp giảm nhiễu, tác giả Dương dụng bộ lọc Kalman để ước tính nhiệt độ mối nối Ngọc Pháp(2017) có trình bày một số phương trong các mô-đun công suất IGBT. Phép đo nhiệt pháp để lọc nhiễu cho mô hình Robot hai bánh tự độ được thông qua các phép đo trực tuyến sau đó cân bằng như sử dụng bộ lọc thông thấp, bộ lọc chúng sẽ được xử lý bằng thuật toán lọc Kalman. Kalman, sử dụng các phép biến đổi wavelet và Các kết quả dự đoán từ mô hình lọc có thể được thuật toán tối ưu hóa. Các thuật toán trên đã sử dụng để phát hiện những thay đổi trong các được tác giả đã thực nghiệm trên mô hình, nhúng thông số của mô hình nhiệt. Thuật toán đã được code vào trong Vi điều khiển Arduino Nano kiểm chứng bởi Camera hồng ngoại và đã chứng Atmega328P kết hợp với giải thuật PID để điều minh được hiệu quả rõ rệt khi dùng bộ lọc khiển động cơ. Quá trình thực nghiệm cho thấy Kalman để dự báo. rằng các thuật toán đều cho kết quả cải thiện Như vậy với các công trình đã được nghiên đáng kể so với tín hiệu thô thu được và khi đối cứu trong và ngoài nước có liên quan đến việc sánh thì bộ lọc Kalman cho kết quả giảm nhiễu ứng dụng thuật toán Kalman cho thấy bộ lọc này tốt hơn nhiều so với 3 kỹ thuật còn lại. Tuy nhiên là một công cụ rất hữu hiệu trong việc khử nhiễu bộ lọc Kalman có thuật toán và cấu trúc khá phức và ước lượng mô hình. Thực tế việc lựa chọn sẽ tạp, thời gian xử lý tính toán sẽ bị trễ nhiều hơn phụ thuộc vào từng đối tượng cụ thể với những so với các giải pháp khác. Vấn đề này cũng cần yêu cầu về độ chính xác, tốc độ hội tụ, tính ổn phải lưu ý và tính toán khi áp dụng cho các đối định và đáp ứng thời gian thực. tượng có yêu cầu xử lý dữ liệu đáp ứng về thời gian thực. 2. Nghiên cứu cơ sở lý thuyết của thuật toán Kalman Trên Thế giới, xử lý tín hiệu nhiệt từ các Sensor đã được nhiều nhà khoa học quan tâm 2.1. Giới thiệu về Kalman nghiên cứu và đã áp dụng rất rộng rãi trong mọi Kalman là tên của người đã đề xuất ra bộ lọc lĩnh vực của đời sống. Trong nghiên cứu của các này vào năm 1960, R.E Kalman đã công bố một tác giả Panwar, A., Trivedi, J. J., & Nejadi, S. (2015) bài báo Kalman, R.E (1960) về một giải pháp quy đã trình bày một phương pháp ước tính nhiệt độ hồi để giải quyết bài toán lọc thông tin rời rạc sử dụng bộ lọc Kalman mở rộng kép (DEKF) dựa tuyến tính. Từ đó đến nay bộ lọc Kalman đã được trên cùng một mô hình nhiệt để đo trở kháng, có nhiều nhà khoa học trên thế giới nghiên cứu, ứng khả năng ước tính hệ số đối lưu tại bề mặt tế bào dụng trong nhiều ngành kỹ thuật và công nghệ khi chưa biết hệ số đối lưu. Kết quả nghiên cứu khác nhau như các hệ thống tự động hóa điều cho thấy có thể thay thế tương đương khi sử khiển, robot máy tính, các hệ thống định vị vệ dụng cảm biến nhiệt thông thường. tinh, tàu ngầm, xe tự hành, ô tô tự lái…Kalman là Nhóm tác giả Chiang, C. J., Yang, J. L., & Cheng, thuật toán ước lượng gồm một tập các phương W. C. (2013) trong một nghiên cứu của mình đã trình toán học mô tả một phương trình toán quy ứng dụng bộ lọc Kalman mở rộng (EKF) để ước hồi, cho phép ước lượng các trạng thái của một tính nhiệt độ và trạng thái sạc cho một siêu tụ. quá trình sao cho phương sai giữa giá trị thực và Các tác giả đã phát triển một mô hình phi tuyến giá trị ước lượng là nhỏ nhất. Bộ lọc đặc biệt hiệu bao gồm mô hình mạch tương đương phụ thuộc quả trong việc ước lượng các trạng thái trong quá vào nhiệt độ lần đầu tiên được phát triển ứng khứ, hiện tại và tương lai. dụng thuật toán EKF. Kết quả nghiên cứu cũng Khi sử dụng cảm biến giá trị nhận được sẽ cho thấy được hiệu quả và chất lượng tín hiệu thu luôn thay đổi quanh vị trí cân bằng (mặc dù có 174
  3. HỘI NGHỊ KHOA HỌC TOÀN QUỐC VỀ CƠ KHÍ – ĐIỆN – TỰ ĐỘNG HÓA (MEAE2021) thể là nhỏ) nguyên nhân là do nhiễu từ hệ thống. Hiệp phương sai ước lượng dự đoán Chức năng của bộ lọc là cần phải loại bỏ được 𝑃𝑘+1/𝑘 = 𝐹𝑘 𝑃𝑘/𝑘 𝐹𝑘𝑇 + 𝑄𝑘 (4) những nhiễu đó và làm mịn giá trị đo. Sơ đồ nguyên lý như hình 1. Trong đó: Qk là ma trận nhiễu rời rạc Ký hiệu ước lượng dự đoán của trạng thái xk+1 là 𝑥̂(𝑘+1)/𝑘 Quá trình hiệu chỉnh độ ẩm là quá trình thu thập giá trị hiện tại và dựa vào giá trị hiện tại để hiệu chỉnh giá trị ước lượng để thu được kết quả dự đoán chính xác. Kết quả này chính là giá trị Hình 1. Sơ đồ nguyên lý của bộ lọc Kalman ước lượng đầu ra của bộ lọc Kalman. Quá trình hiệu chỉnh ước lượng được thực hiện như sau: 2.2. Cơ sở lý thuyết thuật toán Kalman 𝐾𝑘+1 = 𝑃𝑘+1/𝑘 𝐻𝑘+1 𝑇 𝑇 (𝐻𝑘+1 𝑃𝑘+1/𝑘 𝐻𝑘+1 + Bộ lọc Kalman sử dụng trong hệ thống như 𝑅𝑘+1 ) −1 (5) hình 1, là ước lượng các trạng thái của một quá Trạng thái ước lượng điều chỉnh trình được rời rạc theo thời gian bằng một 𝑥̂𝑘+1/𝑘+1 = 𝑥̂𝑘+1/𝑘 + 𝐾𝑘+1 (𝑧𝑘+1 − phương trình ngẫu nhiên tuyến tính, phương 𝐻𝑘+1 𝑥̂𝑘+1/𝑘 (6) trình chuyển trạng thái. Welch,G.(1995); Hiệp phương sai ước lượng điều chỉnh Kalman, R.E(1960). 𝑃𝑘+1/𝑘+1 = (𝐼 − 𝐾𝑘+1 𝐻𝑘+1 )𝑃𝑘+1/𝑘 (7) xk+1 = Fkxk + Gkuk + wk (1) Trong đó: zk = Hkxk + νk (2) Kk+1 là độ lợi của mạch lọc Kalman Trong đó: I là ma trận đơn vị dùng để điều chỉnh số chiều xk là trạng thái đọc được từ cảm biến vector uk là vector điều khiển đầu vào wk là nhiễu dao động ngẫu nhiên (nhiễu hệ 𝑥̂𝑘+1/𝑘+1 là trạng thái ước lượng điều chỉnh ở thống) thời điểm thứ k+1. Đây chính là giá trị đầu ra của Gk là ma trận điều khiển (với hệ thống trên là bộ lọc Kalman. hệ số 1:1) Lưu đồ giải thuật Kalman cho quá trình xử lý Fk là ma trận chuyển trạng thái (hệ số chuyển tín hiệu độ ẩm được cho như hình 2. trạng thái là 1 do hệ thống tính toán giá trị trực Trong đó: Rk là ma trận hiệp biến tiếp) zk là thông tin quan sát hay đo lường thực hiện tại tời điểm k Hk là ma trận của mô hình quan sát νk là nhiễu cộng trong quá trình đo lường Giải thuật bao gồm 2 quá trình: Quá trình ước lượng giá trị độ ẩm (quá trình dự đoán) và quá trình điều chỉnh giá trị độ ẩm Quá trình dự đoán giá trị độ ẩm: Bộ lọc Kalman dựa vào trạng thái ước lượng giá trị độ ẩm để điều chỉnh 𝑥̂𝑘/𝑘 là ước lượng của xk đọc vào từ cảm biến trước đó để ước lượng trạng thái 𝑥̂(𝑘+1)/𝑘 là ước lượng dự đoán của xk+1 cho phép Hình 2. Lưu đồ giải thuật Kalman xử lý nhiễu đo 𝑧𝑘+1 tín hiệu đo độ ẩm Trạng thái dự đoán: 𝑥̂(𝑘+1)/𝑘 = 𝐹𝑘 𝑥̂𝑘/𝑘 + 𝐺𝑘 𝑢𝑘 (3) Như vậy lọc Kalman bao gồm 2 bước sau: 175
  4. HỘI NGHỊ KHOA HỌC TOÀN QUỐC VỀ CƠ KHÍ – ĐIỆN – TỰ ĐỘNG HÓA (MEAE2021) 1. Dự đoán: bước này yêu cầu biết giá trị của Thông số kỹ thuật: bước trước đó 𝑥̂𝑘/𝑘 , 𝑃𝑘/𝑘 . Dựa trên giá trị này xác - Nguồn Vcc = 5V định được 𝑥̂(𝑘+1)/𝑘 và 𝑃𝑘+1/𝑘 . - 14 pins In/Out Digital: 2 chân Serial: 0 (RX) và 1 (TX); Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho 2. Điều chỉnh: 𝑥̂(𝑘+1)/𝑘 và 𝑃𝑘+1/𝑘 được hiệu phép xuất ra xung PWM với độ phân giải chỉnh dựa trên thông tin quan sát zk. Cụ thể Kk+1 8bit; Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 được tính theo (5), dựa vào đó xác định được (MISO), 13 (SCK). 𝑥̂(𝑘+1)/𝑘+1 và 𝑃𝑘+1/𝑘+1 . - 6 chân Analog (A0 → A5) cung cấp độ phân 3. Xây dựng mô hình xử lý dữ liệu đo với sensor giải tín hiệu 10bit độ ẩm soil moisture - 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp 3.1. Thiết kế module đo và thu thập dữ liệu I2C/TWI với thiết bị ngoại vi Về sơ đồ nguyên lý được cho như hình 1 và 3.2. Kết quả nghiên cứu thử nghiệm và thảo luận phương thức truyền nhận dữ liệu được mô tả Mô hình để thử nghiệm thuật toán Kalman như hình 3. được tích hợp từ các thiết bị như trên, hình ảnh mô hình được mô tả như hình 6. Trong mô hình soil_moisture sensor đặt gần với thiết bị thu và xử lý dữ liệu Arduino, vì vậy nguồn nhiễu được coi là không đáng kể. Thông Hình 3. Sơ đồ nguyên lý hoạt động của hệ thống thường nhiễu đo lường dao động trong khoảng Mô hình gồm có: ±15% giá trị thực tế. Tuy nhiên để nhận biết rõ - Sensor đo độ ẩm soil_moisture, hình 4 được khả năng làm việc của bộ lọc Kalman thì trong code của vi điều khiển đã đưa vào giả lập biên độ nhiễu ngẫu nhiên là ±100%. Sau đó trộn giá trị đo với nhiễu và dùng thuật toán Kalmnan để lọc bỏ đi những nhiễu này. Hình 4. Sensor đo độ ẩm soil_moisture Thông số kỹ thuật: - Input-voltage Vcc = 3.3v ~ 5v - Pin mass: GND - Digital Output: DO - Analog Output: AO - Vi điều khiển Arduino UNO R3, hình 4 Hình 6. Mô hình hệ thống thử nghiệm Kết quả chạy thử nghiệm thuật toán trên mô hình được minh họa trên các hình 7,8,9,10, trong đó nhiễu ngẫu nhiên là màu xanh da trời (blue), giá trị đo thực là đường có màu xanh lá cây (green) và đường màu đỏ (red) là giá trị ước lượng. Quá trình test thuật toán Kalman, tác giả thực hiện sự thay đổi hệ số lọc Hình 5. Vi điều khiển Arduino UNO R3 SimpleKalmanFilter với các giá trị khác nhau: 176
  5. HỘI NGHỊ KHOA HỌC TOÀN QUỐC VỀ CƠ KHÍ – ĐIỆN – TỰ ĐỘNG HÓA (MEAE2021) Hình 7,8 là kết quả khi hệ số bằng 0.02 và 0.01 cho thấy giá trị ước lượng và giá trị thực có một sai lệch tương đối lớn, giá trị ước lượng có đáp ứng nhanh và bám sát tốt với trị đo thực. Hình 9,10 là kết quả khi hệ số bằng 0.002 và 0.001 cho thấy giá trị ước lượng và giá trị thực có sai lệch nhỏ hơn đáng kể, giá trị ước lượng ít nhấp nhô và mịn hơn, đặc biệt hình 10 cho thấy Hình 10. Test khi hệ số SimpleKalmanFilter kết quả 2 đường này bám rất sát với nhau và có bo_loc(2, 2, 0.001) sai lệch không đáng kể. Tuy nhiên việc giảm hệ số 4. Kết luận lọc sẽ làm cho đáp ứng sẽ chậm đi thấy rõ như trên hình 9. Tác giả đã nghiên cứu và ứng dụng thành công Như vậy sẽ tùy thuộc vào từng đối tượng đo, thuật toán Kalman vào xử lý dữ liệu đo nhiệt độ yêu cầu về độ chính xác và thời gian đáp ứng của sử dụng cảm biến soil_moisture và vi điều khiển hệ thống trong thực tế, ta cần phải khảo sát cụ thể Arduino Uno R3. Mô hình thực nghiệm được xây trên mô hình để chọn hệ số SimpleKalmanFilter dựng như hình 6 và đã kiểm chứng về tính hiệu sao cho hợp lý. quả của thuật toán, được thể hiện trên các hình 7,8,9,10. Thuật toán được đánh giá là dễ dàng áp dụng và thực hiện, nhất là việc lập trình code trên Arduino bới có sự hỗ trợ từ thư viện nguồn mở sử dụng với các hàm tính toán Kalman và có thể chạy test trực tiếp từ công cụ Tool\Serial Plotter trên cửa sổ phần mềm. Hình 7. Test khi hệ số SimpleKalmanFilter Kết quả thực nghiệm hoàn toàn có thể được bo_loc(2, 2, 0.02) ứng dụng vào thực tế trong sản xuất nông nghiệp, cho các hệ thống tưới tiêu tự động, công nghệ trồng cây nhà kính, hệ thống dự báo lở đất … Thực tế hoạt động các hệ thống đo, nguồn nhiễu đa dạng khó lường, xuất hiện ngẫu nhiên với nhiều thành phần sóng hài được trộn lẫn vào tín hiệu đo. Tác giả đề xuất tiếp tục nghiên cứu cải tiến ghép đa tầng thuật toán Kalman, các tầng Hình 8. Test khi hệ số SimpleKalmanFilter sẽ được thay đổi hệ số lọc một cách linh hoạt để bo_loc(2, 2, 0.01) có thể nâng cao độ chính xác, chất lượng của bộ lọc và hiệu quả làm việc của thuật toán. Tài liệu tham khảo Đào Văn Phượng, Nguyễn Anh Tuấn, Vũ Trung Hiếu: Ứng dụng bộ lọc Kalman xử lý tín hiệu cân động. Tạp chí khoa học và công nghệ - Đại học Đà Nẵng, Vol. 18, No. 11.1, 2020, ISSN 1859- 1531. Hình 9. Test khi hệ số SimpleKalmanFilter bo_loc(2, 2, 0.002) Đinh Xuân Vinh: Áp dụng bộ lọc Kalman để nâng cao độ chính xác đo GPS động. Tạp chí Khoa học ĐHQGHN: Các Khoa học Trái đất và Môi trường, Tập 34, Số 2 (2018) 74-85 177
  6. HỘI NGHỊ KHOA HỌC TOÀN QUỐC VỀ CƠ KHÍ – ĐIỆN – TỰ ĐỘNG HÓA (MEAE2021) Welch, G., Bishop, G.: “An introduction to the Eleffendi, M. A., & Johnson, C. M. (2015). Kalman filter”, Technical Report TR 95-041, Application of Kalman filter to estimate junction University of North Carolina, Department of temperature in IGBT power modules. IEEE Computer Science, 1995. Transactions on Power Electronics, 31(2), 1576- 1587. Kalman, R.E.: “A New Approach to Linear Filtering and Prediction Problems”, Trans. of the ASME Dương Ngọc Pháp: Các giải pháp giảm nhiễu cho – Journal of Basic Engineering, 1960, 2, (12), pp. cảm biến đo lường quán tính ứng dụng trên 35-45. robot hai bánh tự cân bằng. Kỷ yếu hội thảo khoa học quốc gia CITA 2017” Công nghệ thông Panwar, A., Trivedi, J. J., & Nejadi, S. (2015). tin và ứng dụng trong các lĩnh vực”, 2017, pp. Importance of distributed temperature sensor 225-229. data for steam assisted gravity drainage reservoir characterization and history Đặng Văn Chí, (2017). Kỹ thuật đo lường điện và matching within ensemble Kalman filter các thuật toán đo phi điện, NXB Xây dựng, 298 framework. Journal of Energy Resources trang. Technology, 137(4). Đặng Văn Chí & nnk (2021). Đo lường điều Chiang, C. J., Yang, J. L., & Cheng, W. C. (2013). khiển bằng máy tính - ứng dụng công nghệ IoT- Temperature and state-of-charge estimation in Lora Gatway để giám sát và điều khiển xa trên ultracapacitors based on extended Kalman web server, NXB Khoa học – kỹ thuật, 285 filter. Journal of Power Sources, 234, 234-243. trang. . 178
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2