Chia sẻ Đọc dữ liệu từ cảm biến MPU6050 dùng bộ lọc Kalman (code for PIC)

nhan100

Học sinh phổ thông
#43
hihihi, nếu dùng bộ lọc kalman thì không thể tính dc trục z của con này đâu nha. pải dùng DMP mới tính dc. hơi rắc rối một chút nhưng chịu khó thì oke. up file tính toán sử dụng bộ lọc klman, chương trình của mình viết trên stm32f4 disc
bạn ở.giờ m tính trục Z.DMP là gì.bạn có tài liệu ko.gủi cho mình với.
hongnhan100@gmail.com.tks
 

accongaso2

Học sinh phổ thông
#45
Bạn tam762410 làm ơn cho mình hỏi . mình tìm được offset của X = -819 Y=35 và Z=52.95 . Bây giờ . mình dùng nó vào chỗ nào hả bạn . Lấy ví dụ là code của bạn chủ topic đi thì mình sẽ thế cái offset vào đâu ?
 

thaipv

Học sinh trung cấp
#46
Nếu bộ lọc kalman phức tạp quá thì sao không dùng bộ lọc bổ phụ, không thua nhau gì cả
 

accongaso2

Học sinh phổ thông
#47
Nếu bộ lọc kalman phức tạp quá thì sao không dùng bộ lọc bổ phụ, không thua nhau gì cả
theo e nghĩ thì lọc cái nào cũng cần calib . Em xài arduino chạy code MPU6050 DMP6 thì nó ra giá trị ypr -0.03 2.90 0.30 ypr -0.03 2.90 0.27 ypr -0.03 2.90 0.27 ypr -0.03 2.90 0.28 ypr -0.03 2.90 0.28 ypr -0.03 2.90 0.28 . và góc roll + pitch của em nó chỉ từ -90 đến 90.
 

tam762410

Sinh viên đại học
#48
Bạn tam762410 làm ơn cho mình hỏi . mình tìm được offset của X = -819 Y=35 và Z=52.95 . Bây giờ . mình dùng nó vào chỗ nào hả bạn . Lấy ví dụ là code của bạn chủ topic đi thì mình sẽ thế cái offset vào đâu ?
Offset Gyro thì mỗi lần đọc dữ liệu Gyro bạn chỉ cần cộng với Gyro là âm và - với Gyro là dương là được bạn..:v.... Code của bạn chủ xì top thì dữ liệu đó nó calib rồi đấy chứ :D.. :D.. Bạn kia nói đúng nếu không dùng kalman được thì dùng bộ lọc bò độ chính xác cũng đâu chênh lệch mấy... Thường mình thấy kalman sử dụng ước lượng trọng hệ chuyển động định vị quán tính INS nhiều hơn..:-D.... Thân chào bạn.
 

shindyz

Học sinh phổ thông
#49
Offset Gyro thì mỗi lần đọc dữ liệu Gyro bạn chỉ cần cộng với Gyro là âm và - với Gyro là dương là được bạn..:v.... Code của bạn chủ xì top thì dữ liệu đó nó calib rồi đấy chứ :D.. :D.. Bạn kia nói đúng nếu không dùng kalman được thì dùng bộ lọc bò độ chính xác cũng đâu chênh lệch mấy... Thường mình thấy kalman sử dụng ước lượng trọng hệ chuyển động định vị quán tính INS nhiều hơn..:-D.... Thân chào bạn.
Cho mình hỏi bộ lọc bù sử dụng như thế nào? Còn thời gian lấy mẫu tính ra sao? Có cần đưa vào ngắt timer không? Cám ơn!
 

nam_9999

Học sinh phổ thông
#50
mình cũng chưa bao h ép kiểu data cho con 16f, vì đơn giản như phép ép kiểu float(5/4), máy tính sẽ ra 1,25, nhưng trên con pic16f (khối ALU) nó hiểu là (5 mod 4)=1 (vì ko có FPU, có trên 1 số đời chip cao hơn), còn dữ liệu thô nhận từ 6050 được số hóa 16 bít(MPU6050 có bộ adc 16bit), định dạng khung truyền (ví dụ byte1 là phần nguyên ,byte 2 là phần thập phân...byteN,) nên hiển thị 16x2 đơn thuần là dạng char do người dùng biểu diễn, ko liên quan đến bản chất giá trị biến.
P/S: trường hợp muốn tính số tới 1/100 hay 1/1000 trên MCU 8bit có cách rất đơn giản :D
Chào bạn, mình dùng con PIC 18F4331 cho robot này được k bạn?
 

Quảng cáo Google