本帖最后由 jj1989 于 2015-7-25 11:08 编辑
更新:目前来看,应该是程序跑飞了。定时中断服务程序还没有执行完,又产生了该中断,据说这样会导致堆栈溢出,从而使得程序跑飞。
自己做的一个小四轴,今天在飞的时候,刚起飞没多久,突然失控了,然后就继续当时的油门往上飞,越飞越高,越飞越远。就这样眼睁睁看着它消失在视野中,往屋后的山上飞去了。对于此次失控有一点疑问。
1.程序里面设置了失控保护的,当遥控信号丢失以后,飞机立即会减速降落,但是在实际中没有那样。
2.另外之前也出现过失控,失控的原因是有个空心杯电机有点问题。即有点轻微的堵转,就是转起来不顺畅。飞机启动,电机转了没多久,就出现丢失遥控信号而进入失控保护,电机停转。
3.这次失控应该也跟该电机有关,因为之前摔了几次,电机可能出了问题。是电机导致电压不稳定影响了NRF24L01P模块还是其它的干扰呢?
这里想请教一下大家,帮忙分析一下失控可能的原因,以及程序里面如何做到有效的失控保护。另外附上小四轴曾经的照片。(通讯用的NRF24L01P模块,直接插在排针母座上)
|