一、设计任务要求
基本要求:
1) 可以设定长杆底部距地面高度,精度控制在1cm以内;
2) 飞行器位置达到设定高度时,进行声光提示,飞行器设定高度稳定停留10秒钟以上(上下波动幅度不超过1cm);
扩展要求:
1) 能够实时显示长杆底部距地面高度;
2) 描绘出高度变化历史曲线;
a) 飞行器高度控制精度达到5mm以上;
3) 其他。
二、方案选择
方案1:利用键盘或触摸屏输入等设定高度,用液晶屏、12864等显示实时曲线。
此方案可以说是用模块的拼接,程序的编写来完成。在一般的设计中有一定的普及性。但是发现在显示曲线方面不够好,人机交流方面不足。
方案2:利用上位机完成设定高度,显示曲线,声音提示等。
此方案人机交流能做得更加完善,通过电脑上位机控制单片机,控制外界的输出,不失为一个好方案。并且利用上位机来完成相关任务可以通过无线传输的模式,可以直接让飞行器带上单片机及传输模块,无需通过导线来连通相关模块。
综上,方案2更具优越性。于是,我们选择方案2来实现功能,通过VB编程设计上位机,完成设定高度,飞行器工作,停机,显示曲线,声音提示等。电脑通过蓝牙无线模块发送数据到飞行器上的单片机,指示其完成相关任务,单片机接收数据,通过输出PWM波控制电机转动,改变转速,通过PID调节让其达到设定高度。通过对飞行器的认识,开始时觉得只需要控制两电机转速一样,飞行器就能稳定地直升直降,而在实际调试过程中,发现两个电机如果转速一样,会一直出现打转的现象。通过上网查阅资料,发现这是因为两个电机对飞行器产生的转矩不一样,要解决这个问题,必须通过改变上下电机的转速,另其有一定的差值,才能较好地解决不打转的问题。之后发现飞行器不能实现想象中的直升直降,飞行器会在平面中左右移动,这现象受多外界因素的影响,如空气的流通,而且在此平面内又无法找到一个好的参照物,让其能自动控制回到一个点上,曾设想用超声波测多个参照物,来确定一个准确位置,通过控制两个主电机及尾翼电机来实现,但后面考虑到飞行器载重问题(飞行器载重是必须考虑的因素,或许一点点的重量也会改变其飞行轨迹,并且飞行器的重心异常重要,如果有一点偏移,将会向一个角度倾斜),因多因素的影响,至今此问题依然无法很好地解决。只能在适当时候加外力令其在较小的平面内移动。