Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 5024|回復: 5
打印 上一主題 下一主題

ADXL330數值更精準

[複製鏈接]
1#
發表於 2011-9-23 22:11:01 | 顯示全部樓層
比如你的ADC是10bits的,出來的值為0~1023。
你可以把讀到的值乘以16(左移4bits),然後假設這後4bits是量化誤差。
然後參入+-2bits的隨機誤差(+-4)後加入LPF或用平均移動濾波。

基本上可以提高2.Xbits的解析度(理想為4bits),若是無法提升取樣速度,這種方式會降低信號頻寬。
若是用平均移動濾波,平均的長度不宜太大,若以上面nichal大大的取n=10,會降到取樣頻率的1/20左右(大約)。

比較理論的推導在這,內容不難,如果學過信號處理就很容易理解
http://ww1.microchip.com/downloa ... mpling%2001152A.pdf
2#
發表於 2011-9-24 23:56:19 | 顯示全部樓層
我不懂ARDUINO,不過單就程式碼來看不是已經能在終端機看到三軸加速度的ADC值。
ADXL330的1g是0.3V,中點電壓是0.5VCC

如果VCC是3.3V,中點電壓在1.65V,如果你的Sensor水平放置,應該是在1.85V。
以1.85V來說,假設你的ADC是10bits@3.3V,那就是1850/(3300/1024)=574;
在減掉中點電壓的ADC值 574-512 = 62 => 1g,所以各軸運動過程中(ADC值-512)/62就是各軸的g值。
但因為一般ADC的電源多是直接跟板上電源一起,所以這個值不會準,要實際校正。

還有這樣能解析到1/62=0.016g,這樣的解析度其實有點差,如果頻寬許可,就可以用上面的方式再增加解析度。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-6-16 20:40 , Processed in 0.151578 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表