pcb飞控做好了,试飞了。本来会报7号错误,说自动检测的起飞油门量超过范围,我把范围改大后能起飞了。
另外我现在定高模式还不太行,飞机还是会掉在地面附近,受地效影响才能定高。
我仔细观察了一下定高为什么不太行。
1.我把带外壳的气压计用手电和吹风机测试了,用自动测试程序画了曲线,发现在外壳内部时,气压计受强光手电影响不大,但是电吹风会有影响,根据气流方向不同有时候升高有时候降低,如果气流正对着直接吹是会气压变高,与飞机掉高时效果差不多,这就解释了那次在浙大为啥一阵风吹过飞机自动上升了。
2.后来我又看了一下,起飞油门量到底是多大,后来发现好几次都在1300多,也就是低于了最低范围。结合前几次试飞,我发现定高时飞机老是容易往下掉,我认为就是这个起飞油门量估算值过低,然后飞机的气压计pid即使上升到最大值都不足以使飞机产生足够的上升力。另外,之所以以前有时候能定高有时候不能,应该也是因为自动检测起飞油门量每次检测的值大小不同导致的,如果检测的起飞油门量够大,就能定高了。
我现在得解决方案是,首先在代码里,对于起飞检测的标准,我把z轴加速度的判断值设置得更大,使得飞机检测到更大的加速度时才算起飞了。然后起飞油门量计算本来是要减去1530,现在减去1500。还有我现在初次起飞的步骤是这样的,先切换到模式1,然后把油门推到中间,不再往上推,让飞机自动加速到起飞,而不是自己上推油门到起飞,这样检测得起飞油门量会更准确些。
之前地面效应时飞机能悬停应该也是因为地面有更多反推的气流,补偿了定高时油门量不足的问题。
我去了开阔地带飞行,比在我家楼下好了很多,可能还是pid不够好不够精确,所以在比较小的范围不太行,宽敞的地方自动飞行没问题了。
这是试飞视频
https://v.youku.com/v_show/id_XNDMxOTcyNTIxMg==.html?spm=a2h3j.8428770.3416059.1
我后来稍微调了点pid,把d改大了现在是1.25,p和i用默认,看着效果更好了些。
另外还是自动检测油门量很重要,如果检测结果在1480左右基本上就是能悬停的,如果太小就不行。一般情况下,把油门放到中间,飞机螺旋桨自动加速到一下子起飞到1~2米高时基本上检测的油门量就是准确的。最后,我把1480填为了手动起飞油门,禁止了油门自动检测,现在每次起飞后都能垂直方向定高了。