小四轴电机转,NRF24L01收不到数据问题
调试小四轴飞行器时候,遇到了一个很奇怪的问题:电机不转的时候24L01都是正常收发;可一旦四个电机转动起来时,24L01就收不到数据,IRQ无中断,主程序死在了while(IRQ!=1)里面。
有朋友遇到过相同的问题吗?
显然电源布线不合理,受电机的干扰了。 senjet 发表于 2015-6-28 20:18
显然电源布线不合理,受电机的干扰了。
这是我的电路图,干扰这个东西,我实在没有研究,可以帮忙分析一下吗?谢谢!
比较粗的是电源线,电源线中间两个过孔接的6201转3.3V 在你nrf24l01电源供电处并联一个大点的电容试试 谢谢,可还是不行。 senjet 发表于 2015-6-28 20:18
显然电源布线不合理,受电机的干扰了。
我试了一下,直接从电源飞线接到3.3V降压芯片,效果比原来好点点,但油门加大还是收不到数据。 xiangbin099 发表于 2015-6-29 12:10
我试了一下,直接从电源飞线接到3.3V降压芯片,效果比原来好点点,但油门加大还是收不到数据。 ...
首先你可以试试将IRQ引脚加个RC滤波再送到单片机,同时修改一下程序,不要出现while(IRQ!=1)之类的死等情况,要有超时判断,一旦超时就重新初始化。 这个问题我也遇到过!并且顺利解决了
第一:NRF24L01的VCC跟GND之间必须要有滤波电容
第二:你以为你用的模块就没有问题么?太天真啦,5块钱的模块跟20块钱的模块还真的差距很大,上次我的现象也是这样,折腾了很久,结果换一个新的贵一点模块就完全解决了。
第三:NRF24L01双向通信的时候需要切换收发模式,时序不好很容易当机,所以,最好不要用中断来进行通信。建议设定一个定时器通过查询的方法来控制数据的传输与发送。 刚煜 发表于 2015-6-29 16:50
这个问题我也遇到过!并且顺利解决了
第一:NRF24L01的VCC跟GND之间必须要有滤波电容
谢谢,问题解决啦。我看了您之前遇到的问题,确实跟我这个一样,按照你的方法,加了一个220UF的电解电容,顺利解决。谢谢。 刚煜 发表于 2015-6-29 16:50
这个问题我也遇到过!并且顺利解决了
第一:NRF24L01的VCC跟GND之间必须要有滤波电容
谢谢,问题解决啦。我看了您之前遇到的问题,确实跟我这个一样,按照你的方法,加了一个220UF的电解电容,顺利解决。谢谢。 xiangbin099 发表于 2015-6-29 19:38
谢谢,问题解决啦。我看了您之前遇到的问题,确实跟我这个一样,按照你的方法,加了一个220UF的电解电容 ...
嘿嘿 不用谢 我也遇到这样的问题,用的是nrf24l01的中断,当对传感器进行i2c操作时,此时如果被中断打断很容易引起i2c异常处理
页:
[1]