ENCODER – CẢM BIẾN ĐO VỊ TRÍ GÓC, TỐC ĐỘ ĐỘNG CƠ
Cấu tạo
Encoder cấu tạo chính gồm:
Đĩa quang tròn có rảnh nhỏ quay quanh trục được thiết kế với các rãnh được đục lỗ, tạo ra sự ngắt quãng khi đĩa quay và chiếu đèn LED lên bề mặt Các rãnh này chia vòng tròn 360 độ thành các góc bằng nhau, cho phép một đĩa có nhiều dãy rãnh tính từ tâm.
Bộ cảm biến thu (photosensor)
Phân loại
Encoder 2 bit cung cấp đầu ra dạng xung vuông với các tín hiệu AB, ABZ hoặc ABZA Trong đó, tín hiệu B và Z được đọc là A đảo, B đảo và Z đảo Encoder với hai tín hiệu xung A và B là loại phổ biến nhất, trong khi tín hiệu khe Z giúp xác định động cơ đã quay được một vòng.
Bài viết này tập trung vào việc tìm hiểu nguyên lý hoạt động của encoder kết hợp với cảm biến gia tốc MPU6050 và bộ lọc Kalman Encoder là thiết bị quan trọng trong việc đo lường và kiểm soát chuyển động, trong khi cảm biến MPU6050 cung cấp thông tin về gia tốc và góc nghiêng Bộ lọc Kalman giúp cải thiện độ chính xác của dữ liệu bằng cách kết hợp thông tin từ encoder và cảm biến, tạo ra những kết quả đáng tin cậy hơn trong các ứng dụng tự động hóa và robotics.
Từ số xung, Encoder có số dây tương ứng: 6 hoặc 4 dây tùy loại Các dây bao gồm :
2 dây nguồn, 2 dây pha A và B, 1 dây pha Z
Tương ứng đĩa quay 8bit hay 8 dãy rãnh, cho ngõ ra dạng mã kỹ thuật số(BCD), Binary (nhị phân), Gray code…
Ví dụ: Encoder có ngõ ra dạng bit, độ phân giải 2500 Thì 1 vòng quay của encoder sẽ cho ra 2500 dãy nhị phân 8bit:
11110001 10010010 01011101 …Absolute encoder (Tuyệt đối) có thể ghi nhớ vị trí khi bị mất nguồn do mỗi vị trí có một mã tín hiệu riêng.
Trong bài viết này, chúng ta sẽ tìm hiểu về nguyên lý hoạt động của encoder kết hợp với cảm biến gia tốc MPU6050 và bộ lọc Kalman Encoder là thiết bị quan trọng trong việc đo lường và điều khiển vị trí, trong khi cảm biến MPU6050 cung cấp dữ liệu về gia tốc và góc nghiêng Sự kết hợp giữa encoder và MPU6050 giúp cải thiện độ chính xác trong các ứng dụng điều khiển Bộ lọc Kalman được sử dụng để xử lý dữ liệu từ cảm biến, giảm thiểu nhiễu và cung cấp thông tin chính xác hơn cho hệ thống Việc áp dụng công nghệ này sẽ nâng cao hiệu suất và độ tin cậy trong các hệ thống tự động hóa.
Thông số encoder cần quan tâm
Encoder có hai dạng trục là dương và âm, với đường kính trục dao động từ 5 đến 50mm Thông thường, các encoder có đường kính lớn hơn 6mm sẽ thuộc loại trục âm (trục lõm).
Độ phân giải của encoder, hay còn gọi là số xung, phản ánh số tín hiệu mà nó đếm được khi quay một vòng Encoder với số xung cao hơn thường có giá thành cao hơn Trong ứng dụng thang máy, phổ biến sử dụng encoder với độ phân giải 1024p/r, trong khi các máy chế tạo thường sử dụng khoảng 360p/r hoặc 1000p/r Ngoài ra, còn có các loại encoder với độ phân giải lên đến 6000p/r hoặc 6pr.
Điện áp: Encoder thường xuyên bị cháy do khi lắp đặt không chú ý nguồn cấp.
Nếu encoder có dãy điện áp:5~24V thì rất dễ Tuy nhiên với một số encoder trục lớn: 30-40mm, encoder theo máy sẽ thường gặp điện áp xác định: 5V, 12V hoặc 15V.
Ngõ ra: AB, ABZ, AB đảo, ABZ đảo.
Dạng ngõ ra: Có nhiều dạng ngõ ra, liệt kê sơ sơ gồm: Open Collector, Voltage
Output, Complemental, Totem Pole, Line Driver Dạng ngõ ra quy định nguồn cấp, đầu đọc thông tin
Dây cáp: cáp càng dài càng dễ bị nhiễu Dây tiêu chuẩn từ 1-3m Đôi khi lên đến
10m theo nhu cầu sử dụng.
Phụ kiện: đi kèm encoder trục dương là Coubling, encoder trục âm là
Pass Coubling giúp nối encoder trục dương với motor trục dương, Pass giúp gắn encoder vào máy Một encoder trục âm có 1-2 pass tùy loại.
Cách đọc encoder tương đối
Encoder hoạt động bằng cách tạo ra tín hiệu xung vuông khi quay Cơ cấu cơ khí làm quay đĩa chia rãnh, cắt qua đường tín hiệu quang phát ra từ mắt phát quang như hồng ngoại hoặc laser Quá trình này tạo ra tín hiệu xung ở các kênh A, B và I, với mức logic 5V (High) và 0V (Low) Tín hiệu xung này, giống như các tín hiệu điện khác, có những đặc tính quan trọng để phát hiện và đo đạc.
1 Tín hiệu xung ở mức thấp 0V
2 Tín hiệu xung ở mức cao 5V
Bài viết này tập trung vào việc tìm hiểu nguyên lý hoạt động của encoder kết hợp với cảm biến gia tốc MPU6050 và bộ lọc Kalman Encoder là thiết bị quan trọng trong các hệ thống điều khiển, giúp xác định vị trí và tốc độ chính xác Cảm biến gia tốc MPU6050 cung cấp dữ liệu về gia tốc và góc quay, cho phép cải thiện độ chính xác trong việc đo lường chuyển động Bộ lọc Kalman được áp dụng để xử lý tín hiệu, giảm thiểu nhiễu và tăng cường độ tin cậy của dữ liệu đầu vào Sự kết hợp này mang lại hiệu suất cao trong việc theo dõi chuyển động và điều khiển tự động.
3 Tín hiệu sườn lên của xung
4 Tín hiệu sườn xuống của xung
Hình 1.4 Tín hiệu kênh A và B Để xác định độ thay đổi encoder có 2 cách:
Sử dụng 2 ngắt ngoài: Theo dõi sự thay đổi đồng thời cả 2 kênh A và B.
Sử dụng 1 ngắt ngoài: Chọn 1 kênh làm tín hiệu ngắt, sau đó đọc tín hiệu kênh còn lại.
Thực nghiệm
Encoder 334 tích hợp với động cơ:
+ Điện áp hoạt động: DC 3V – 24V.
Bài viết này trình bày về việc sử dụng encoder và cảm biến gia tốc MPU6050 kết hợp với bộ lọc Kalman để cải thiện độ chính xác trong việc đo lường chuyển động Encoder cung cấp thông tin về vị trí, trong khi cảm biến MPU6050 đo lường gia tốc và góc quay Bộ lọc Kalman giúp xử lý và lọc dữ liệu từ hai nguồn này, cho phép thu được thông tin chính xác hơn về chuyển động Việc tích hợp các công nghệ này mang lại giải pháp hiệu quả cho các ứng dụng cần theo dõi chuyển động một cách chính xác.
+ Tích hợp hai mạch cầu H.
+ Điện áp điều khiển: +5 VDC ~ +35 VDC.
+ Dòng tối đa cho mỗi cầu H là: 2A.
+ Điện áp của tín hiệu điều khiển: +5 VDC ~ +7 VDC.
+ Dòng của tín hiệu điều khiển: 0 ~ 36mA.
+ 12V Power, Power GND: Nối với nguồn 12V cấp cho động cơ.
+ A Enable, B Enable: Nhận 2 tín hiệu enable cho 2 cầu.
+ IN1, IN2: Nhận tín hiệu điều khiển PWM đối xứng cho cầu thứ nhất.
+ IN3, IN4: Nhận tín hiệu điều khiển PWM đối xứng cho cầu thứ 2.
+ OutputA (Out1, Out2), OutputB (Out3, Out4): Nối với động cơ cần điều khiển.
Bài viết này trình bày về việc sử dụng cảm biến gia tốc MPU6050 kết hợp với bộ lọc Kalman để cải thiện độ chính xác trong việc đo lường Cảm biến MPU6050 cung cấp thông tin về gia tốc và góc quay, trong khi bộ lọc Kalman giúp xử lý và lọc tín hiệu, giảm thiểu nhiễu Việc tích hợp hai công nghệ này mang lại hiệu suất cao hơn trong các ứng dụng như robot, máy bay không người lái và các hệ thống điều khiển tự động Sự kết hợp giữa cảm biến và bộ lọc Kalman là một giải pháp hiệu quả cho việc thu thập và phân tích dữ liệu chuyển động.
Sơ đồ mạch cầu H là giải pháp lý tưởng để điều khiển đồng thời hai động cơ Bằng cách sử dụng xung vuông, chúng ta có thể điều chỉnh tốc độ động cơ và đảo chiều quay bằng cách thay đổi các giá trị logic của vi điều khiển Động cơ hoạt động với nguồn điện áp 12 VDC.
Bài viết này trình bày về việc sử dụng encoder và cảm biến gia tốc MPU6050 kết hợp với bộ lọc Kalman để nâng cao độ chính xác trong việc đo lường chuyển động Encoder giúp theo dõi vị trí và tốc độ, trong khi cảm biến MPU6050 cung cấp thông tin về gia tốc và góc nghiêng Bộ lọc Kalman được áp dụng để tối ưu hóa dữ liệu thu thập, giúp giảm thiểu nhiễu và cải thiện độ tin cậy của các tín hiệu đầu vào Sự kết hợp này mang lại những ứng dụng quan trọng trong các hệ thống điều khiển và robot, đảm bảo hiệu suất hoạt động ổn định và chính xác hơn.
Hình 1.8 Vị trí góc và vận tốc
Hình 1.8 là kết quả sau khi chạy thử động cơ tích hợp encoder 334 sử dụng vi điều khiển arduino.
Vận tốc tên tính theo vị trí của bánh xe theo công thức:
V = Số ví trí thay đổi trong 1 giây * 60 / số xung 1 vòng đĩa
Công thức tính vận tốc tức thời thích hợp trong việc đo sự thay đổi vị trí bánh xe nhanh, quãng đường di chuyển ngắn.
Bài viết này trình bày về việc sử dụng encoder và cảm biến gia tốc MPU6050 kết hợp với bộ lọc Kalman để cải thiện độ chính xác trong việc đo lường chuyển động Việc áp dụng công nghệ này giúp tối ưu hóa quá trình thu thập dữ liệu và giảm thiểu sai số, từ đó nâng cao hiệu suất của các ứng dụng trong lĩnh vực robot và tự động hóa Sự kết hợp giữa encoder và cảm biến gia tốc MPU6050 mang lại những lợi ích vượt trội trong việc theo dõi và điều khiển chuyển động một cách chính xác.
MPU6050 – CẢM BIẾN GIA TỐC VÀ BỘ LỌC KALMAN
Nguyên lý hoạt động
MPU6050 GY521 6DOF IMU (Accelerometer & Gyro):
+ Con quay hồi chuyển 3 trục (3-axis MEMS gyroscope) + Cảm biến gia tốc 3 chiều (3-axis MEMS accelerometer)
MPU-6050 được trang bị một đơn vị tăng tốc phần cứng (Digital Motion Processor - DSP) chuyên xử lý tín hiệu, giúp thực hiện các tính toán cần thiết từ dữ liệu cảm biến Tính năng này giảm tải đáng kể cho vi điều khiển, cải thiện tốc độ xử lý và mang lại phản hồi nhanh hơn Điều này tạo ra sự khác biệt rõ rệt giữa MPU-6050 và các cảm biến gia tốc, gyro khác.
MPU-6050 có thể kết hợp với cảm biến từ trường (bên ngoài) để tạo thành bộ cảm biến 9 góc đầy đủ thông qua giao tiếp I2C.
Cảm biến trong MPU-6050 sử dụng bộ chuyển đổi tương tự - số (ADC) 16-bit, cung cấp thông tin chi tiết về góc quay và tọa độ Với độ phân giải 16-bit, mỗi cảm biến có khả năng tạo ra 65,536 giá trị khác nhau.
Cảm biến MPU-6050 có thể hoạt động linh hoạt theo yêu cầu, với chế độ tốc độ xử lý cao hoặc chế độ đo góc quay chính xác, mặc dù chế độ sau có tốc độ chậm hơn MPU-6050 hỗ trợ đo lường trong một phạm vi đa dạng.
+ Con quay hồi chuyển: ± 250 500 1000 2000 dps + Gia tốc: ± 2 ± 4 ± 8 ± 16g
MPU-6050 được trang bị bộ đệm dữ liệu 1024 byte, cho phép vi điều khiển gửi lệnh đến cảm biến và nhận dữ liệu sau khi MPU-6050 hoàn tất quá trình tính toán.
Bài viết này trình bày về việc sử dụng bộ mã hóa và cảm biến gia tốc MPU6050 kết hợp với bộ lọc Kalman Việc áp dụng công nghệ này giúp cải thiện độ chính xác trong việc đo lường và xử lý dữ liệu chuyển động Bộ lọc Kalman cho phép loại bỏ nhiễu và tối ưu hóa thông tin thu thập từ cảm biến, từ đó nâng cao hiệu suất của hệ thống Sự kết hợp giữa mã hóa và cảm biến gia tốc MPU6050 mở ra nhiều khả năng ứng dụng trong các lĩnh vực như robotics, tự động hóa và công nghệ cảm biến.
Bộ lọc Kalman
Bộ lọc là quá trình loại bỏ những yếu tố không cần thiết để giữ lại thông tin có giá trị Trong lĩnh vực xử lý tín hiệu, bộ lọc được thiết kế nhằm tách biệt tín hiệu mong muốn từ một tín hiệu hỗn hợp, bao gồm cả tín hiệu sạch và các nhiễu không cần thiết.
Bộ lọc Kalman là một phương pháp toán học hiệu quả để ước lượng trạng thái của một quá trình, nhằm giảm thiểu sai số giữa giá trị thực và giá trị ước đoán Phương pháp này cho phép ước đoán các trạng thái trong quá khứ, hiện tại và tương lai, ngay cả khi độ chính xác của hệ thống mô phỏng không được đảm bảo.
2.2.1 Bản chất bộ lọc Kalman Để mô hình hóa hoạt động của mạch lọc Kalman, chúng ta có tín hiệu đo được, có mô hình của tín hiệu đo được ( đòi hỏi tuyến tính) và sau đó là áp dụng vào trong hệ thống phương trình của mạch lọc để ước lượng trạng thái quan tâm Để có thể ứng dụng một cách hiệu quả mạch lọc Kalman thì chúng ta phải mô hình hóa được một cách tuyến tính sự thay đổi của trạng thái cần ước lượng (estimate) hoặc ước đoán(predict).
Bài viết này đề cập đến việc sử dụng encoder và cảm biến gia tốc MPU6050 trong việc kết hợp với bộ lọc Kalman để cải thiện độ chính xác trong việc đo lường Encoder giúp xác định vị trí chính xác, trong khi cảm biến MPU6050 cung cấp dữ liệu về gia tốc và góc nghiêng Bộ lọc Kalman đóng vai trò quan trọng trong việc xử lý và lọc dữ liệu, giúp giảm thiểu nhiễu và tăng cường độ tin cậy của thông tin đầu ra Sự kết hợp này mang lại hiệu suất cao hơn trong các ứng dụng như điều khiển robot và hệ thống định vị.
2.2.2 Bộ lọc Kalman cho hệ tuyến tính rời rạc
Mô hình đối tượng tuyến tính rời rạc được biểu diễn thông qua hệ phương trình trạng thái sau: x k = Ax k-1 + Bu k-1 + w k-1 z k = Hx k + v k
z : trạng thái đầu vào ( đo lường được )
w, v : nhiễu quá trình và nhiễu đo lường tương ứng.
Giả sử các nhiễu quá trình w(t) và nhiễu đo lường v(t) là nhiễu trắng , có phương sai tương ứng là Q và R. p(w) ~ N (0, Q) p(v) ~ N (0, R)
Bộ lọc Kalman tuyến tính cho phép ước lượng tốt nhất biến trạng thái x k, ký hiệu là 𝑥 ̂ k, nhằm đạt được hiệp phương sai P k nhỏ nhất trong hệ thống này.
Bài viết này trình bày về việc sử dụng encoder và cảm biến gia tốc MPU6050 kết hợp với bộ lọc Kalman Encoder giúp xác định vị trí và chuyển động của đối tượng, trong khi cảm biến MPU6050 cung cấp dữ liệu về gia tốc và góc quay Bộ lọc Kalman được áp dụng để cải thiện độ chính xác của dữ liệu thu thập, giúp loại bỏ nhiễu và tăng cường độ tin cậy trong việc theo dõi chuyển động Sự kết hợp này mang lại hiệu suất cao trong các ứng dụng điều khiển và robot.
Thuật toán Kalman cho hệ rời rạc như sau:
Thuật toán bao gồm hai bước chính: bước ước lượng dự đoán (time update) và bước điều chỉnh độ chính xác của dự đoán (measurement update) dựa trên thông tin đầu vào và dữ liệu đo được z_k.
Chú ý rằng 𝑥 ̂ k - là giá trị dự đoán được cập nhật từ giá trị ước lượng 𝑥 ̂ k-1 Thuật toán này đc trình bày trên sơ đồ khối như sau:
Bài toán cảm biến MPU6050
Cảm biến cung cấp một thông số, nhưng thông số này bị ảnh hưởng bởi nhiễu Để ước lượng giá trị chính xác hơn, chúng ta sẽ thiết kế bộ lọc Kalman.
Mô hình bài toán : x k = Ax k-1 + Bu k-1 + w k-1
Bài viết này tập trung vào việc tìm hiểu nguyên lý hoạt động của encoder kết hợp với cảm biến gia tốc MPU6050 và bộ lọc Kalman Encoder là thiết bị quan trọng trong việc đo lường và điều khiển, trong khi cảm biến MPU6050 cung cấp dữ liệu chính xác về gia tốc và góc quay Sự kết hợp giữa cảm biến và bộ lọc Kalman giúp cải thiện độ chính xác và độ tin cậy của các phép đo, từ đó nâng cao hiệu suất của hệ thống điều khiển Việc áp dụng công nghệ này trong các ứng dụng thực tế mang lại nhiều lợi ích, đặc biệt trong lĩnh vực robotics và tự động hóa.
Với giá trị thu đươc z ∈ R
Giá trị cần đo là x(t) z k = Hx k + v k
Tín hiệu thu được từ cảm biến là z(t)
Nhiễu của quá trình là w(t)
Các phương trình cho bộ lọc Kalman :
Phương trình quá trình “Time update”:
P k - = P k-1 + Q Phương trình quá trình “easurement update”:
Tín hiệu cần đo là x(t) ~ (0,50) w(t) ~ (0,1e-3) Q = 1e-3 nhiễu đo lường trong bài toán mô phỏng này khi lấy giá trị từ cảm biến ta lấy khoảng 10% giá trị thật
K tỉ lệ nghịch với R, nghĩa là khi R lớn, tốc độ ước lượng sẽ chậm và giá trị ước lượng trở nên ít tin cậy hơn so với giá trị đo được Ngược lại, khi R nhỏ, tốc độ ước lượng nhanh hơn và giá trị ước lượng đáng tin cậy hơn Do đó, việc lựa chọn R là rất quan trọng, ảnh hưởng trực tiếp đến tốc độ ước lượng của hệ thống.
Chọn thông số ước lượng ban đầu là x(0) = 0 và P0 - = 5 Giá trị x(0) không quan trọng vì nó sẽ tự điều chỉnh qua từng bước để đạt được giá trị cần xác định, miễn là P0 - khác 0.
Bài viết này trình bày về việc sử dụng encoder và cảm biến gia tốc MPU6050 kết hợp với bộ lọc Kalman để cải thiện độ chính xác trong việc đo lường chuyển động Encoder giúp xác định vị trí và góc quay, trong khi cảm biến MPU6050 cung cấp thông tin về gia tốc và tốc độ Sự kết hợp này, thông qua bộ lọc Kalman, cho phép xử lý tín hiệu một cách hiệu quả, giảm thiểu sai số và nâng cao độ tin cậy của dữ liệu thu thập được Việc áp dụng công nghệ này có thể mang lại nhiều lợi ích trong các ứng dụng tự động hóa và robot.
Kết quả thực nghiệm
Ứng dụng của bộ lọc Kalman trong việc lấy góc từ cảm biến MPU6050:
Hình 2.5 Vị trí không đổi
Hình 2.6 Vị trí dao động
Kết quả từ Gyroscopes X cho thấy vận tốc góc với đồ thị lọc tương đối tốt khi cảm biến ở vị trí cố định (hình 2.5) và khi thay đổi vị trí (hình 2.6).
Bài viết này trình bày về việc sử dụng bộ mã hóa kết hợp với cảm biến gia tốc MPU6050 và bộ lọc Kalman để cải thiện độ chính xác trong việc đo lường Bộ mã hóa giúp xác định vị trí, trong khi cảm biến MPU6050 cung cấp dữ liệu về gia tốc và vận tốc Sự kết hợp giữa các công nghệ này cho phép tối ưu hóa quá trình thu thập và xử lý dữ liệu, mang lại kết quả đáng tin cậy hơn cho các ứng dụng trong lĩnh vực robot và tự động hóa Bộ lọc Kalman đóng vai trò quan trọng trong việc lọc nhiễu và cải thiện độ chính xác của các thông số đo được.