四轴飞行器1.9 电调控制、各安全模式与上电单轴调试

原创文章,欢迎转载,转载请注明出处

哈,其实写这边博客的时候,我们飞控的单轴调试已经完成了,有点小激动哈。不过还是接着上一篇博客。

做到上面一张博客的进度后,其实我们剩下的就只有把电调的控制写好,然后做一些安全方面的设置就可以上电测试了,实际上我们也是这么做的。

这边博客主要内容有

1:电调信号说明与电调控制

2:安全措施

3:上电验证

4:单轴测试

先上个单轴调试后的效果视频

视频地址:http://v.youku.com/v_show/id_XNzk1OTU4MjQ0.html

视频最后开大油门部分对应的PID响应如下图:

上图纵轴单位是度,角度,横轴是100ms,1个数值代表100ms,300到350,中间相差50,就代表50*100ms,5秒的时间。不过是对应的视频最后阶段的。

1:电调信号说明与电调控制

     我们买的是好赢铂金电调,之前我也没玩过航模,只直到是1ms到2ms的高电平来控制油门。我们咨询了下好赢公司,得到的答案是:电调频率 20-400HZ ,脉宽从 1MS-2MS 的PWM 信号均可以,电平支持 3.3V 和 5.0V 。

1ms就是0油门,2ms就是100油门,中间步长我们不知道精度是多少,咨询好赢得知是中间有256Step,也就是1/256MS.

1/256ms也就是3.9us的步长,4us左右,为了方便程序的运算哈,我们选了个5us作为步长来控制,5us选好了,那我们的油门形成也就选好了,200个5us刚好是1ms,0油门是1ms,满油门是2ms,那就是200~400是实际的控制数值,我们选0~200为油门形成,中间加个偏移量200就好了。

然后控制电调频率我们选多少呢?还是要根据自己的实际情况来选择,我们的控制频率是100hz,所以为了不浪费我们的控制效果,我们控制电调的频率肯定要大与100hz,否则我们的控制频率那么高就没有意义了。我们选择对电调的控制频率设为200hz,200hz就是5ms,那我们单片机的PWM控制也就好说了,5us一个定时周期,5ms就需要定时1000,STM32定时器就不细说了,有了上面的这些计算好的数,定时器的设置也就确定了,首先是这是分频系数,分频到5us,也就是200000hz,这个自己算下就好了,然后设置自动装载数值为1000-1,设置好后,频率就设置为200hz了,然后只需要设置比较数值就可以控制电机了。

PWM输出如下图:

我们分别设置了比较数值为200、400、500、800,相对1000,对应就是20%、40%、50%、80%和1ms、2ms、3ms、4ms,可以放心的上电测试电调测试电机了。到此,代码最后的驱动已经写完了。剩下就是做些安全方面的代码,为测试做准备了。

2:安全措施

     初次玩四轴,对它那四个桨还是有点畏惧的,一定要做好安全措施。。

     安全措施分连个方面,一个是测试时候的安全措施,二是到时候试飞时候的安全措施。

     一:测试时候的安全措施

     首先对控制进行了越界判断,我们下定只能在正负30度内控制,这个在飞控和遥控器上都做了判断,然后有一个“红色按钮”,哈,就是紧急停车,按下这个按钮,飞控立马输出0脉冲,电调就停车了,不过这里我并不清楚是输出0油门快还是0占空比快,不过看电调说明是0.25s内监测不到信号就停机,应该是0油门快些。

     有一个测试模式,测试模式下,飞控不做任何的控制,将油门的值全部传递给四个电机,这个模式可以方便的校正电调和对电调进行编程操作。

      二:试飞时候的安全措施

     有个自稳定模式,就是在我们人为自己控制不了了的时候,让飞控进入自稳模式,他就会让控制自己尽量让pitch和roll等于0,不接受遥控的操作,我们可以等四轴自己稳定下来后,再切换到正常控制模式。

     遥控信号丢失监测,我们用的nrf24l01,没办法监测RSSI,也就没办法进行提前警报,我们协议里面是有个心跳信号的,可以通过判断信号来监测连接是否存在,不过目前我们为了渐变,实际我们是会定时报告四轴信息的,所以就让报告信息这个作为心跳来监测在通讯范围内,当监测到不在范围内,飞控立马进入自稳模式,自稳是可以了,但是油门这个时候我们并不知道是多少,高度测量我们现在还没做,那如果油门太大,那会一直往上飞,这就。。。通过实验,我们可以得到离开地面的时候的油门数值,然后根据我们希望他降落的速度,根据物理知识计算下这个油门的大小,这个我们起飞的时候是40%左右的油门大概,我们给个35%(这个不是算的,就是随便给的)的油门,这样就可以让四轴在失去遥控信号的时候缓慢落地。

    姿态越界检测,如果四轴的pitch和roll角度大于某个数值了,例如正负50啊60啊的,我们就认为飞控失控了,这个时候为了避免伤到人,我们强制把电机全部关闭,摔了就摔了吧,别伤到人。。后面如果稳定了,这个可以去掉,因为我们可能需要拓展下,做个空翻啊什么的,到时候还保留这个姿态越界检测。。额。。那翻到一半就摔了。哈,不过特技控制我们可以多个特技模式,特技模式里面取消这个监测好了,正常飞行模式里面加上这个检测还是放心点。

下图是遥控器的界面图,对应的上面各种模式设置

3:上电验证

     这一步其实很简单的,把线连接好,然后上电测试呀。。哈。真激动有木有,不过这个过程没有视频也没有图片。大概过程就是上电,然后看电机转的方向对不对,确认下接线,虽然模拟过电机逻辑没问题,不过还是在没上桨前看看电机输出逻辑对不对,一切都很正常的检查通过了。

4:单轴测试

     前面都验证通过了,就可以放心的上桨调试了,哈。。就测PID三个参数,不过我们I积分是分段积分的。调的过程,可以看看前面的博客,桨的PID的理解,然后慢慢调就好了,这里上下PID调好后的效果图曲线图,如下:

上图纵轴单位是度,角度,横轴是100ms,1个数值代表100ms,300到350,中间相差50,就代表50*100ms,5秒的时间。不过是对应的视频最后阶段的。

原文地址:https://www.cnblogs.com/adfjhg/p/4005316.html