xiangbin099 发表于 2015-6-28 20:06:22

小四轴电机转,NRF24L01收不到数据问题

调试小四轴飞行器时候,遇到了一个很奇怪的问题:电机不转的时候24L01都是正常收发;
可一旦四个电机转动起来时,24L01就收不到数据,IRQ无中断,主程序死在了while(IRQ!=1)里面。
有朋友遇到过相同的问题吗?

senjet 发表于 2015-6-28 20:18:54

显然电源布线不合理,受电机的干扰了。

xiangbin099 发表于 2015-6-28 20:30:23

senjet 发表于 2015-6-28 20:18
显然电源布线不合理,受电机的干扰了。

这是我的电路图,干扰这个东西,我实在没有研究,可以帮忙分析一下吗?谢谢!
比较粗的是电源线,电源线中间两个过孔接的6201转3.3V

dcl_yufeimen 发表于 2015-6-28 22:13:38

在你nrf24l01电源供电处并联一个大点的电容试试

xiangbin099 发表于 2015-6-28 23:20:33

谢谢,可还是不行。

xiangbin099 发表于 2015-6-29 12:10:54

senjet 发表于 2015-6-28 20:18
显然电源布线不合理,受电机的干扰了。

我试了一下,直接从电源飞线接到3.3V降压芯片,效果比原来好点点,但油门加大还是收不到数据。

senjet 发表于 2015-6-29 12:25:49

xiangbin099 发表于 2015-6-29 12:10
我试了一下,直接从电源飞线接到3.3V降压芯片,效果比原来好点点,但油门加大还是收不到数据。 ...

首先你可以试试将IRQ引脚加个RC滤波再送到单片机,同时修改一下程序,不要出现while(IRQ!=1)之类的死等情况,要有超时判断,一旦超时就重新初始化。

刚煜 发表于 2015-6-29 16:50:00

这个问题我也遇到过!并且顺利解决了

第一:NRF24L01的VCC跟GND之间必须要有滤波电容

第二:你以为你用的模块就没有问题么?太天真啦,5块钱的模块跟20块钱的模块还真的差距很大,上次我的现象也是这样,折腾了很久,结果换一个新的贵一点模块就完全解决了。

第三:NRF24L01双向通信的时候需要切换收发模式,时序不好很容易当机,所以,最好不要用中断来进行通信。建议设定一个定时器通过查询的方法来控制数据的传输与发送。

xiangbin099 发表于 2015-6-29 19:36:29

刚煜 发表于 2015-6-29 16:50
这个问题我也遇到过!并且顺利解决了

第一:NRF24L01的VCC跟GND之间必须要有滤波电容


谢谢,问题解决啦。我看了您之前遇到的问题,确实跟我这个一样,按照你的方法,加了一个220UF的电解电容,顺利解决。谢谢。

xiangbin099 发表于 2015-6-29 19:38:29

刚煜 发表于 2015-6-29 16:50
这个问题我也遇到过!并且顺利解决了

第一:NRF24L01的VCC跟GND之间必须要有滤波电容


谢谢,问题解决啦。我看了您之前遇到的问题,确实跟我这个一样,按照你的方法,加了一个220UF的电解电容,顺利解决。谢谢。

刚煜 发表于 2015-6-30 18:43:07

xiangbin099 发表于 2015-6-29 19:38
谢谢,问题解决啦。我看了您之前遇到的问题,确实跟我这个一样,按照你的方法,加了一个220UF的电解电容 ...

嘿嘿 不用谢

zgh551 发表于 2015-7-3 19:23:45

我也遇到这样的问题,用的是nrf24l01的中断,当对传感器进行i2c操作时,此时如果被中断打断很容易引起i2c异常处理
页: [1]
查看完整版本: 小四轴电机转,NRF24L01收不到数据问题