讀到的三軸陀螺儀數據,隔斷時間就會出現一個較大的毛刺,請問這是什麼原因呢?

博世的BMI160六軸感測器,車載設備


光看數據能看出什麼來……

感測器怎麼放置的,測什麼東西,周圍環境幹擾,板子好不好,程序對不對,這些都沒有,誰知道你這個雜訊哪裡來的。


謝邀請,下面也有人回答過了,

我曾經在做一個自平衡類的東西的時候,總是遇到不定時的抽動一下,概率很低很低,但是會出現,

總結一下:

1.佈置板子,電機的外殼有很高頻的電壓的,感生的應該是,對陀螺儀有很大的影響,常常會導致的是freezing的現象,就是所有的數據全部停了,重新畫板子,改安放步驟能解決,你的顯然不是這種現象;

2.如果是st的陀螺儀,如下面迴路師所說,BDU是個很重要的位置,LSM6DS3也有這個位置,我遇到的就是它,開的是0,東西不時的會抽動一下,但是我的數據和你的這種不一樣,沒有這麼高頻率的毛刺出現概率,但是你的是BMI160,我沒有實戰用過這顆,要你自己看看有沒有類似位,英美勝的陀螺儀默認的就沒有這個事情;

3.pcb板子晶元焊接不良,我在icm系列的陀螺儀上遇到了,一按壓陀螺儀,就出現大量的毛刺干擾信號,這種情況多數是你的焊接不好,晶元焊盤裡面有水氣,spi的線上沒有加電阻什麼的導致的;

能想到的就這些,希望對你有幫助。

期待看到你這個現象最終解決,並定位原因,給大家分析


第一組數據和第二組數據同時產生毛刺,應當是受到了外界幹擾,或者數據傳輸中的差錯,不是感測器的問題。


這個我遇到過一種情況。

感測器數據是16位的,如果沒有打開讀數鎖存,取數據的時候就會有一定機會取到的數高位和低位其實不是同一個數的。

比如正常數據跳動正負10。前一個數據是0xfff6,後一個是000a。單片機取0xfff6的時候,先取了0xff,正準備取0xf6的時候感測器更新了數據,結果低位成了0x0a。最後得到數是0xff0a,成了-246

我用的是LSM6DSL,這個位是BDU。默認是關的,要打開。


一個一個讀寄存器數據就會有這個問題。一次性讀出來就沒有這個問題了


推薦閱讀:
相關文章