串口 6050 中的角度問題
開始想試做一台平衡車, 買了一塊 串口 6050, 已把我弄得半死了.初時以為是 buad rate 的問題, 串口沒資料.
今天突然又再沒有資料發過來, 攪了大半天, 突然有正常了...還未知道是什麼原因.
由於準備做平衡車, 就要看看資料是否有用.心想知要了解角 及 角速度 是否正常.
做了一個簡單實驗, 把 串口6050 不斷旋轉, 看看角度的改變, 從而決定安裝的狀態.
按照這裡的程式連接收集數據: http://www.geek-workshop.com/thread-7892-1-1.html
分別就六個不同的放置方法, 回定放置一段時間, 各自收集約2000 個數據取其平均值.
(1)
(2)
(3)
(4)
(5)
(6)
收集到資料的平均值:
問題來了, 當中有不少改變, 我期望只有一個角度轉變大約 90 %.
例如 (1) -> (2), 明顯是沿 Z 軸轉了 90 度, 結果亦合理.
但其他變化, 都不是想像的一樣.
例如 (1) -> (4), 是沿Y軸轉了 90 度,X, Y, Z 都起了很大變化.
由 (1) -> (5), 是沿 X 軸轉了 90度, 如果 Y 在平衡車中軸, X 變化就是車子向前後傾斜的角度變化.
結果...是 X 轉1 90度左右, 但 Z 也轉了 90度.....開始有點混亂.
雖然, 車子只會向後傾或轉灣, 從 (1) - (2) 用 Z 的角度去計時車子轉灣角度, (1) - (5) 可以用 X 的角度去推算車子前後傾的角度.
但為何其他的角度變化並非想像般的, 我應該如何理解 Y 角度?為何由 (1) - (4) 只是 沿 Y 軸轉了 90度, 結果會是 X, Y, Z 均轉了 90 度? 剛剛又發生問題了, 現在每次連接收取資料, 大約 5 秒左右就會自動停止, 拔電再插, 又再執行 5 秒自動停止.
如果接 Pin-0, 可以看到 Rx 燈由剛插下時的光亮, 突然變成只有一個暗點, 就收不到資料了.抆去 6050 的電源再插回, 又可以再發送資料.
請問有人遇到相同的問題嗎?
你可以买那个II2C接口的啊,这个串口的用的人比较少,不知道性能如何,可能你买到次品了:lol 我發覺可能是這模塊比較容易出現過熱 (只是猜測).
昨天晚上測試了幾個小時, 之後就出現 5秒鐘自動停資料, 一直也解決不了.
今早起來, 什麼也沒改變, 又再可以正常接收資料.
印象中之前也試過接收的資料不正常, 可能也是相同原因.....難度要加裝風扇散熱???
我也有另一塊 i2c 的, 由於對濾波不太懂, 而且用串口可以減省一個庫, 程式比較細.
另一個原因我同時在測試 due 板子, i2c 連線還是有問題. 平衡车一般用PD算法,所以只需要关注X,Y的其中一个轴就行了!这种串口模块我有一个类似的,由于卖家没有公开代码,我也不知道一贞33个数据是怎么来的,特别是角速度数据,是不是直接取自6050的寄存器.......
这个模块加电以后要先静止一定时间,然后再数据分析!再有这个模块有上位机设置软件的,你得先设置好;
输出自己会停止的话,估计是供电有问题....... 拾瑞 发表于 2014-4-23 13:20 static/image/common/back.gif
平衡车一般用PD算法,所以只需要关注X,Y的其中一个轴就行了!这种串口模块我有一个类似的,由于卖家没有公开代 ...
請問上位机设置软件有什麼可以设置?
因為我沒有 USB TTL 之類的模塊, 我沒有進行任何設置就開始使用了, 不知會否因為沒做好設置而出問題.
Super169 发表于 2014-4-23 14:41 static/image/common/back.gif
請問上位机设置软件有什麼可以设置?
因為我沒有 USB TTL 之類的模塊, 我沒有進行任何設置就開始使用了 ...
因为我用的是arduino2560r3的板子,原来用带中断的mpu6050效果不太明显,换到串口以后也不知道是不是按原来的口接,可是看楼主的板子只接了三根线啊。 一叶萧然 发表于 2014-4-23 15:00 static/image/common/back.gif
因为我用的是arduino2560r3的板子,原来用带中断的mpu6050效果不太明显,换到串口以后也不知道是不是按 ...
串口連接, 只要三根就夠了.
i2c 版本的 6050 用 DMP 才要插 5 根線. Super169 发表于 2014-4-23 15:03 static/image/common/back.gif
串口連接, 只要三根就夠了.
i2c 版本的 6050 用 DMP 才要插 5 根線.
i2c的用过,但是除了5v 和 GND 连的那根线是什么啊? 一叶萧然 发表于 2014-4-23 15:06 static/image/common/back.gif
i2c的用过,但是除了5v 和 GND 连的那根线是什么啊?
INT - D2 (for DMP only)
Super169 发表于 2014-4-23 15:08 static/image/common/back.gif
INT - D2 (for DMP only)
嗯知道啦,晚上去试试谢谢~ Super169 发表于 2014-4-23 15:08 static/image/common/back.gif
INT - D2 (for DMP only)
对啦,那我在程序中怎么写代码引入数据啊?记得库文件只有mpu6050 楼主用过吗? 一叶萧然 发表于 2014-4-23 15:39 static/image/common/back.gif
对啦,那我在程序中怎么写代码引入数据啊?记得库文件只有mpu6050 楼主用过吗?
串口及非串口的 6050 我也有.MPU6050_raw 及 MPU6050_DMP6 也可以, 雖然未了解另些數字的意義, 但感覺上非串口比串口的穩定很多.相同的位置, 相同的動作, 總會有相同的結果.
可能是我買的一塊串口品質有問題, 現在只要用一段短時間, 就會有怪事發生.
剛才用了一小時左右.....怪事就來了, 傳出來的數據完全是沒用的.
平放不動, X 角也可以不斷在跳, 角速度超過 100.....
唉, 如果用我這塊串口也可以做平衡車的話, 相信只有三輪或四輪才可以.....
這樣的讀數, 又怎可以用來計算.......五十多元的東西, 反而比不上十元的穩定.
是我運氣不好, 還是它的品質差? 再测试了一晚, 初步有点结论, 有可能跟电线不稳定有关.
首先, 当水平放置, 得出 X,Y 角均接近 0 时, 放置半小时也不会有问题.
如果中途扭动, 在三十度内基本上也不会有问题.
但如果作出大扭动, 会有机会出现乱数, 之後要断电一段时间才可以回复正常.
但 Z 轴还是有点怪, 好像会自动重设.当我对 Z 轴作出转动时, 有时转动的数字不合理.
但停下来时, Z 角速度可定在 1 度以内, 应该是可接受的波动.
但数字跟我转动的角度好像无关系, 有时转了 90度, 只改变了20度, 而且是先加大, 慢慢自动回落, 之後定在一个数值.
初步怀疑是进行大动作扭动时, 电源线出现非常短暂松脱而引致不正常现象.
需要直到断电一段时间才可以回复正常.但 Z 轴的问题真的想不通.
不知我地猜测是否合理, 如果真是因为电线问题, 就不太严重了.
因为现在是用面包板跳线, 没有焊接, 容易松脱.
如果做平衡车时, 可能会焊接好, 就不会容易松脱了.
(P.S. 尝试先打地文章, 再用网上的繁简转换才贴出来, 希望大家看起来不用太辛苦.) Super169 发表于 2014-4-24 02:24 static/image/common/back.gif
再测试了一晚, 初步有点结论, 有可能跟电线不稳定有关.
首先, 当水平放置, 得出 X,Y 角均接近 0 时, 放置 ...
嗯而且串口的本身好像就有数据不稳定的表现,原来用dmp的时候还没有太发现这个问题。
至于z轴是否和跳线有关还真的不知道,但是启动重置应该是必要的。
页:
[1]
2