起因:笔者最近的一个小项目里面需要使用到一块MPU6050姿态传感器。因为之前在某宝买过现成的MPU6050调试过,使用的是一块STM32F1x系列的单片机驱动,代码是没有问题的。所以根据MPU6050官方手册提供的参考电路直接弄到项目的板子上了。但是板子出来之后再调试的过程中一直读取ID的时候一直出现0XD1的数值,并且读取到的所有数据都是错误的。
解决办法:1、首先检查一下电路是否连接正确,特别是第20引脚的电荷泵电容。之前翻阅的中文手册发现参考电路上的电容数据是错误的,而且错误的离谱,电路和原件列表都不对应如下图。
翻阅官方的数据手册给出的数据是电荷电容为2.2nF。如下图
2、驱动端口采用开漏输出和浮空输入,并且电路上添加上拉电阻。
3、如果是外接模块的话,IIC通讯线最好不要太长,这一点参考正点原子论坛的这个帖子
http://www.openedv.com/posts/list/0/59031.htm
4、注意电源纹波,如果使用1117系列的LDO供电,输出端最好采用钽电容。
版权声明:本文为CSDN博主「To丶紫罗兰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_24025329/article/details/120230711
暂无评论