基于单片机的微型四旋翼飞行器设计内容摘要:
简约的控制流程框图,但却不简单。 开发工具和开发框架介绍 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。基于单片机的微型四旋翼飞行器设计
相关推荐
AD590放大电路 电路分析: AD590 的输出电流 I=( 273+T) μA ( T 为摄 氏温度),因此测量的电压 V为( 273+T) μA179。 10K= ( +T/100) V。 为了测量 电压 需要 使输出电流 I 不分流出来,使用电压跟随器 , 其输出电压 V2 等于输入电压 V。 然后 使用差动 的 放大器 , 其输出 Vo为( 100K/10K) 179。 ( V2V1)
终识别建立一个良好的基础,以保证整个系统识别率比较高。 对于自动指纹识别技术而言,选择一种合适的、能表达指纹唯一性的特征量是非常关键的。 一般说来,这种特征应有以下性质: 10 (1) 单一性:要求这种特征能够充分体现指纹的唯一性。 (2) 可测试性:适用于指纹匹配算法,便于在匹配算法中应用。 (3) 紧凑性:要求提取的特征不应包含指纹唯一性以外的冗余信息,并且信息量要尽量小,便于存储
析了教室灯光智能控制的原理和 实现 方法 , 结 合自 己 查 找的相 关设计 手册 和 辅 助 资 料 ,参考国内外的 设计 方法、研究成果和 设计 方案 ,提出 一种用热释电红外传感器和光照检测相结合的智能照明控制系统。 本系统 以 AT89C52单 片机作 为 教室灯光控制器的核心 ,采用 热 释电 红 外 人体 传 感器 检测 人体存在,采用光敏 电阻 构成的 电 路 检测环境 光的 强
Data、Attribution 和 Direction 的值被设为 ―010‖。 与其它的单片机相比, SPCE061A 除 了每个 I/O 口可以单独定义其状态外,每个对应状态下的 I/O 端口性质电路都是内置的,在实际的电路中不需要再 外接。 大庆石油学院本科生毕业设计(论文) 12 音频录 音器件的组成 在 SPCE061A单片机 中 的 A/D转换器有 8个通道,其中有 1个通道是
外部磁力线切割线圈,在线圈中产生感应电动势 ,从而传输了被记录的信号。 当然,也要求在磁卡工作中被记录信号有较宽的频率响应、较小的失真和较高的输出电平。 一根很细的金属直线可以作为一个简单的重放设备。 金属直线与磁卡紧贴,方向垂直于磁卡运行方向,磁卡运行时,金属直线切割磁力线而产生感应电动势,电动势的大小与切割的磁力线成正比。 当磁卡的运行速度保持不变时
设计与实现 9 ISD4004 引脚 如图 : 电源 (VCCA,VCCD): 为使噪声最小 ,芯片的模拟和数字电路使用不同的电源总线 ,并且分别引到外封装的不同管脚上 ,模拟和数字电源端最好分别走线 ,尽可能在靠近供电端处相连 ,而去耦电容应尽量靠近器件。 地线 (VSSA,VSSD): 芯片内部的模拟和数字电路也使用不同的地线。 同相模拟输入 (ANA IN+): 这是录音信号的同相输入端。