Arduino项目开发:智能生活
上QQ阅读APP看书,第一时间看更新

2.1 功能及总体设计

本项目通过遥控器对飞行器发出一系列简单的操作,飞行器接收到信号后,输出相应的PWM波,控制空心杯直流电机的转速。同时,飞控板上的MPU6050模块会检测出飞行姿态与理想姿态的偏差,并输入到控制芯片中,飞行器上Arduino开发板的控制芯片在接收到两个信号后进行整合,结合PID算法,找到此刻偏差的理想输出值,从而消除误差,控制飞行。

要实现上述功能需将作品分成三部分进行设计,即MPU6050模块输入部分、遥控器控制输入部分和控制信号处理输出部分。MPU6050模块输入部分的主要功能是将飞行器计算出当前飞行数据,拟合当前的飞行姿态;遥控器控制输入部分是利用对频器,建立用户与飞行器之间的联系,使得用户能对飞行器进行简单的操控;控制信号处理输出部分的主要功能是将两个输入信号进行整合,以达到较快且较准的控制信号。

1.整体框架图

整体框架如图2-1所示。

图2-1 整体框架图

2.系统流程图

系统流程如图2-2所示。

图2-2 系统流程图

接通电源以后,程序内的各个变量被重新设置,当用户输入控制变量后,主程序开始工作,开发板根据输入信号强度输出PWM波控制直流电机转速,飞行器开始飞行。MPU6050检测飞行姿态,当有偏差时,经历PID算法,得到较为准确的输出量,等待用户无输入时,系统结束。

3.总电路图

系统总电路如图2-3所示,引脚连接如表2-1所示。

图2-3 系统总电路图

表2-1 引脚连接表