基于单片机的微型四旋翼飞行器设计内容摘要:

简约的控制流程框图,但却不简单。 开发工具和开发框架介绍 Altium Designer 介绍 Altium Designer 是 Altium公司为电子产品开发设计者推出的一款集原理图设计、仿真、PCB 布局绘制、拓扑逻辑自动布线、信号完整性分析等功能于一体的 EDA 软件。 本设计采用的是本公司的试用版的 Altium Designer 进行双层 PCB 电路板的绘制。 应用到的功能有原理图库的封装设计,原理图设计, PCB 库的封装设计, PCB 规则设置及 PCB 布线S t a r t姿 态 角 度 采 集数 字 滤 波 器 滤 波融 合 计 算 倾 角是 否 有 偏 差NP I D 运 算 控 制 量矢 量 分 解 于 相 应 电 机E N DY图 四旋翼飞行器控制流程图 烟台大学毕业论文(设计) 9 布局等功能。 本次设计所绘制的电路板性能比较稳定,暂时还没发现任何问题。 AD 公司的软件图标如图 8 所示。 Keil for ARM 介绍 Keil for ARM 是 Keil Software 与 ARM 合作开发应用于 ARM 编程的软件编译环境,其优点是拥有极高的目标代码生成效率,紧凑的汇编代码转化; C 语音编程方面,结构性、可读性、可维护性更强,友好的编辑环境通俗易懂,在程序下载烧录方面,更是简单快捷。 Serial_Digital_Scope V2 介绍 Serial_Digital_Scope V2 中文称虚拟数字示波器,通过调用互联网上提供的数据处理函数,移植到系统程序中,再应用微控制器的串口,向上位机发送虚拟示波器的四路采集数据,在调试互 补滤波器、角度矢量输出、控制量输出特性观测的调试过程中,虚拟示波器是不可缺少的工具,在整个系统开发的过程中,大部分的调试结果都通过它来显示。 在此,向提供虚拟示波器函数库的前辈致敬。 虚拟示波器的界面如图 所示。 图 Altium Designer 登陆界面 图 虚拟示波器界面 烟台大学毕业论文(设计) 10 4 四旋翼飞行器 详细 方案 设计 本章节将从硬件及相应的驱动软件进行讲解四旋翼飞行器的详细方案设计。 硬件 模块的功能 及设计 硬件模块包括最小系统板、电源、倾角传感器、空心杯电机驱动及 NRF24L01 无线遥控模块。 最小系统板 STM32F103 模块 STM32F103 是 ST 公司推出的一款基于 ARM 的 32 位增强型微处理芯片,该芯片是基于 CortexM3 CPU 内核开发的,芯片自带 512K 的 FLASH,丰富的 GPIO 资源,其复用引脚功能有 USB、 CAN、 IIC、 SPI、 11 个定时器、 3 个 ADC 和 13 个通信接口。 本次设计用到了 GPIO、 IIC、 SPI、定时器、 ADC 这几个功能。 最小系统板的原理图如图 所示。 图 最小系统板原理图 烟台大学毕业论文(设计) 11 低压差电源模块 航模动力电池提供的电压是 最左右,这就决定了 的电源稳压模块必须采用低压差的稳压芯片, LP2985 贴片封装稳压芯片是一个不错的选择,在 的范围内,该芯片都能输出稳定的 直流电,其电路原理图如图 所示。 倾角传感器模块 倾角传感器采用集成的 MPU6050 模块,该模块测量的倾角数据通过 IIC 通信协议传给控制器。 该芯片集成了 6 轴数据测量功能,分别为 X、 Y、 Z 轴角加速度和角速度。 同时,通过配置功能寄存器,还可以得到芯片内部自行融合的三轴角度值,除此之外,MPU6050 还集成了基于地球磁场感应的三轴数据功能,加上该传感质 量轻,输出数据平滑,是航模制作中常用的倾角传感器,其原理图如图 所示。 图 LP2985 低压差电源稳压原理图 图 MPU6050 电路原理图 烟台大学毕业论文(设计) 12 空心杯电机驱动模块 820 空心杯电机, 5V 电压转速达到 5W转 /秒,电流。 四旋翼飞行器电机是单方向旋转,故只需设计半桥驱动即可,本设计采用 AO3402 N 沟道 MOS 管设计半桥驱动,如图 13 所示,图中包含两路驱动,本设计需要四路驱动, IN4148 的作用是续流二极管并加上电容改善功率因数及滤波。 详细设计见原理图。 NRF24L01 无线模块 NRF24L01 无线模块,通信频率在 频段,市面上卖该模块的商家很多,价格不贵,且专业化生产比自行设计的要稳定,故本设计采用的是模块化的 NRF24L01 无线模块,采用 SPI 通信协议实现与控制芯片的信息交换。 其原理图如图 所示。 图 空心杯电机驱动 图 NRF24L01 无线通信模块原理图 烟台大学毕业论文(设计) 13 驱动程序功能及设计 硬件设备需要软件驱动才能拥有“灵魂”,本部分将附上各个模块的初始化函数库,因为论文篇幅有限, STM32 的函数库,读者可以在工程中找到,笔者只给出调用的函数名。 最小系统板初始化 最小系统板配置包括库 函数引导,锁相环时钟配置, GPIO 配置等,详细的参数配置详见程序注释。 RCC 配置如图 所示。 MPU6050 初始化 MPU6050 采用 IIC 通信协议通信,其配置流程如图 所示。 三部分的程序比较多,详细配置可查阅附录代码。 NRF24L01 初始化 NRF24L01 模块采用的是 SPI 通信协议, SPI 和 IIC 都是基于串行数据总线通信的协议,配置起来有许多相似的地方。 配置函数如图 所示。 NRF24L01 实现遥控按键值与微控制器的 指令交换,所有的控制命令和控制参数都可以通过 NRF24L01 来传递。 选择 NRF是因为该模块通信距离远,通信速率快且频段在。 在市面上已经相当成熟。 价格也图 系统锁相环时钟配置驱动程序 I I C 配 置 写 控 制 字 读 取 数 据图 MPU6050 配置流程 图 烟台大学毕业论文(设计) 14 不高。 空心杯电机驱动初始化 空心杯电机的转速通过调节 PWM 的占空比来实现,设定的频率为 10K, 100%占空比输出值为 2020,采用定时器 2 作为 PWM 时钟,四旋翼飞行器一共用到 4 路 PWM 分别驱动 4 个空心杯电机。 选择 PWM 频率根据电机的特性来觉得, 10K 是一个理想的频率值,在此频率下,电机线性度良好,振动及噪声也 相对要小很多。 详细的 PWM 配置见图。 四旋翼飞行器最终的 PCB 图如图 所示,实拍图如图 所示。 图 NRF24L01 SPI 通信配置 图 空心杯电机 PWM 配置子程序 烟台大学毕业论文(设计) 15 图 微型四旋翼飞行器 PCB 2D 图及 3D 效果图 图 想飞的感觉不是梦,期待凌空的那一瞬间 烟台大学毕业论文(设计) 16 5 四旋翼飞行器控制算法 实现 控制算法单独设成一章,足见控制算法的重要性,控制算法是一个机器的灵魂,本章将探讨四旋翼飞行器的控制算法。 角度 及 角 速度数据处理算法 MPU6050 通过 IIC 传输回来的数据需要由字符型转换位 short 型,应用 STM32F103微控制器的一个好处 是从 short 型到 float 型无需强制装换,芯片内部自行转换。 认识到采集回来的数据类型是字符型,在数据处理时能少走许多弯路,详细问题解决笔者将在调试篇讲到。 互补滤波器可行性分析 IIC 采集回来的倾角数据是有噪声的,如图 所示。 在应用之前需要进行数字滤波。 数字滤波器有很多种,因为熟悉互补滤波器,笔者在本设计中采用了互补滤波器来进行数字滤波。 互补滤波的原理框图如图 所示。 图 带噪声的 MPU6050 原始倾角数据 陀 螺 仪 ω积 分比 例+++++加 速 度 器角 度角 速 度图 互补滤波器原理框图 烟台大学毕业论文(设计) 17 有互补滤波器的原理图,可以得出如( 2)式所示的互补滤波器的数学模型, 将互补滤波器拆分成两部分,加号左边构成高通滤波器,右边构成低通滤波器。 可以从陀螺仪和加速度计的物理特性来理解。 陀螺仪反映的是角速度,高频运动它的反应更灵敏而低频情况下,陀螺仪几乎没有值输出,这样的特性确定陀螺仪可以用作高通滤波器。 同理,加速度计在低频运动时输出最灵敏而到高频时输出灵敏度降低,具有低通滤波器的特性,故可以将加速度计视为低通滤波器。 由此将两者特性结合起来应用,可以满足滤除四旋翼飞行器倾角信号噪声的缺点,还原飞行器真实的角度。 由此论证互补滤波器在理论上是可行的。 互补滤波器 算法软件实现 由互补滤波器原理框图,可以得出得到如图 所示的算法。 在程序中已经做了详细的注释,此处不再重复。 参数整定将在调试部分讲解。 姿态控制算法 四旋翼飞行器要稳定悬空飞行,需要稳定的控制算法。 笔者在本设计中采用经典的 PID控制算法来完成飞行器的姿态控制。 PID 控制算法可行性分析 PID 控制算法是比例、积分、微分、的第一个字母的大写构成的算法,分为位置式 PID和增量式 PID。 在自动控制理论课中证明过 PID 控制的诸多优点,笔者选择 PID 除了能从书本上的证明论证可行性 之外,还从飞行器自身的特性来考虑。 由于论文篇幅有限,此时不再引申课本上论述 PID 可行性的例子而是通过笔者自身的理解来论证可行性。 首先,四旋翼飞行器通过互补滤波得到一个较真实的角度值,同时,还有在每个方向上都具有一个角速度值,从实验的波形可以发现,陀螺仪输出的角速度是超前于角加速度的;其次,联系 PID 中的 D,微分也具有一个超前预测变化趋势的作用,由此笔者想到了应用陀螺仪的值乘以一个系数 Kd 得到 PID 中的 D。 然后,角度值与机体的角度看似呈线性变化的,联系 PID 中的比例分量,两者用着共* ( a ng l e gy r o* dt) ( 1 ) * a c can gle K p K p                       ( 2 )图 互补滤波器算法软件实现 烟台大学毕业论文(设计) 18 同的物理意义,由此可以将 角度值乘以一个 Kp 得到比例分量。 最后是积分分量,是否加积分量需要看前面的 PD 控制是否能满足四旋翼飞行器的自平衡,如果 PD 调节达到上限,系统还有静态偏差时,则加入积分加以修正。 在数学建模中常用类比的思想,总结出模型共同的物理特性,用已知的数学模型来替代未知的模型,再结合实际调试,总有得到真理的时候。 最后的结论是: PID 可以满足四旋翼飞行器的平衡控制。 PID 控制算法软件实现 如( 3)式所示, PID 控制器的微分方程,为了方便编程,需要将微分方程转化成如( 4)式所示的位置式 PID 或( 5)式所示的增 量式 PID。 本系统应用的是 PID 模型是根据硬件特性类比 PID 算法得出的控制算法,在编程上有一定的共同之处。 目前程序中只用到了 PID,其框图如图 所示。 通过上述互补滤波得出的角度值与外部给定的角度值作差,得到偏差角度乘上比例系数 nP 加上 nD 乘以陀螺仪测回的角速度值,得到空心杯电机的 PWM 值。 其编程语句如图 所示。 001( e ) y ( 3 )tPdi dey K e d t TT d t    1 00。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。