继续修改小四轴,直接用NRF24L01控制MWC (2016-12-14 22:27:50)

有2个月没有发博客,不是这段时间停止了折腾,而是一直在折腾却没有进展,或者说进展过于轻微吧。

四轴从开始滞空5秒就坠落到现在能支持到10秒,不能不说是一种进步。追究原因,还是不懂加制作不精 - 连真正的遥控都没摸过。

经常炸鸡导致摔坏20个小电机,蓝牙模块焊坏了进4个。机架打印了7-10个。

代价很大,心得太少,不如上Youtube看看小视频来学的快。看视频学会了在地面测试稳定度,所以最近炸鸡少多了。

但是电路板的问题仍然不断,问题大的就是起飞后就不接收控制信号了,问了人又加各种实验。结论是去耦电容太少。

索性重新设计一版电路。这次直接把数字信号往飞控里面传,不走传统的ROLL/PITCH等PWM信号接口了。

把MWC的代码改改,发现还不能直接用硬件SPI,因为Arduino使用了Timer0,所以MOSI接口就和电机的PWM冲突。

在网上找了软件实现的SPI,然后把MOSI留给电机PWM了。

发的消息包也很简单,16个字节还加了个校验 - 发现2.4G信号会出错。但是看文档似乎NRF24本身就支持校验。以后再说吧。

反正调通了,虽然软件SPI的速度比硬件慢10倍,但是发送数据没有那么频繁。MWC每20ms计算一次,只要保证这个频率发送数据,飞控就不会把数值重置为1500。

另外一个好处就是真能在遥控器上实时查看四轴的状态了。不过遥控器要写好多代码。

吐槽下2块钱的摇杆电位器真的不能用,行程很短不说,用了没多久就卡的要命。

准备出下一版电路吧。

你可能感兴趣的:(继续修改小四轴,直接用NRF24L01控制MWC (2016-12-14 22:27:50))