![Arduino项目开发:智能生活](https://wfqqreader-1252317822.image.myqcloud.com/cover/214/31476214/b_31476214.jpg)
上QQ阅读APP看书,第一时间看更新
2.1 功能及总体设计
本项目通过遥控器对飞行器发出一系列简单的操作,飞行器接收到信号后,输出相应的PWM波,控制空心杯直流电机的转速。同时,飞控板上的MPU6050模块会检测出飞行姿态与理想姿态的偏差,并输入到控制芯片中,飞行器上Arduino开发板的控制芯片在接收到两个信号后进行整合,结合PID算法,找到此刻偏差的理想输出值,从而消除误差,控制飞行。
要实现上述功能需将作品分成三部分进行设计,即MPU6050模块输入部分、遥控器控制输入部分和控制信号处理输出部分。MPU6050模块输入部分的主要功能是将飞行器计算出当前飞行数据,拟合当前的飞行姿态;遥控器控制输入部分是利用对频器,建立用户与飞行器之间的联系,使得用户能对飞行器进行简单的操控;控制信号处理输出部分的主要功能是将两个输入信号进行整合,以达到较快且较准的控制信号。
1.整体框架图
整体框架如图2-1所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P56_1607.jpg?sign=1738789096-f04Uxi0HaICrwkMFxdirZE6quUpvMhLi-0-50d7a9935fcc234aee5912181d241f7d)
图2-1 整体框架图
2.系统流程图
系统流程如图2-2所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P57_1617.jpg?sign=1738789096-g8Atjtb4jcuGtGcgz7H0K6J3hYV7ZOZr-0-56fe27456af7b1633546fad5d3f91157)
图2-2 系统流程图
接通电源以后,程序内的各个变量被重新设置,当用户输入控制变量后,主程序开始工作,开发板根据输入信号强度输出PWM波控制直流电机转速,飞行器开始飞行。MPU6050检测飞行姿态,当有偏差时,经历PID算法,得到较为准确的输出量,等待用户无输入时,系统结束。
3.总电路图
系统总电路如图2-3所示,引脚连接如表2-1所示。
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-P57_1621.jpg?sign=1738789096-fUNWt50Sh3BJn4zUllChSUe8euofjsfE-0-d9e5666b3ec6f071e6cb22e0c70210c4)
图2-3 系统总电路图
表2-1 引脚连接表
![](https://epubservercos.yuewen.com/5CF817/17035792905331106/epubprivate/OEBPS/Images/Figure-T58_12791.jpg?sign=1738789096-fDI3TKmA2yPsq8RLrxgD62OeEWVxWzw8-0-a86536b76e1c6f9c23703672207766bf)