基于avr的四旋翼无人机控制毕业设计(编辑修改稿)内容摘要:
输出最终输出值 执行机构由电调和电机组成,负责真正控制飞机的飞行和姿态调整 ( 2) 连接方式: 各部分由电线物理连接 无线控制系统与中央处理单元通过 PWM 信号线交互信息 姿态传感器与中央处理单元通过 IIC 总线 与一个处理器中断 交互信息 中央处理 器与电调单元通过 PWM 信号 线 完成信息交互 姿态传感器 姿态传感器实时报告当前飞行器 的翻滚角,俯仰角,偏航角。 本文采用MPU6050 三轴加速度计与陀螺仪集成芯片 模块。 基于 AVR的四旋翼 无人机控制 12 MPU6050 模块 姿态传感器采用 MPU6050 电路模块, 模块电路图 如图 32 图 32: MPU6050模块电路图 使用时需要把 VCC 接入 +5V 到 + 之间的电压, GND 接地。 IIC 总线的 SDA 与 SCL 引脚分别与处理器 SDA 与 SCL 引脚相连。 AD0 接低电平时,传感器 IIC地址为 0x68,接高电平时,传感器 IIC 地址为0x69,图中 AD0 引脚接地,所以传感器 IIC 地址为 0x68。 INT 引脚为 MPU6050 DMP 数据输出中断,当 DMP 完成一份姿态角度计算后会拉高 INT 引脚以通知处理器数据准备完成。 本设计使用到了 INT 引脚接控制器INT0 引脚。 XDA 与 XCL 为连接其他 IIC 总线传感器接口 ,本文没有使用。 传感器量程: 加速度量程范围 177。 2g 177。 4g 177。 8g 177。 16g 陀螺仪量程范围 177。 250176。 /s 177。 500176。 /s 177。 1000176。 /s 177。 2020176。 /s 感器缺省设置 量程 为177。 2g,177。 250176。 /s 运动引擎 DMP( Digital Motion Processing) 是 MPU6050 传感器内部 数字 运动引擎 [5],它将采集自身传感器数据,对 数据 融合滤波后转换为四元数( quaternion)形式放进 FIFO 缓冲池等待处理器 读取。 如图 33为 MPU6050 传感器内部 结构 关系 图 基于 AVR的四旋翼 无人机控制 13 图 33: MPU6050内部结构 MPU 通过用户定义的速率, 让 DMP 采集三轴加速度计数据与三轴陀螺仪数据。 所有能够从 MPU 传感器的数据有 3 轴加速度值, 3 轴陀螺仪值和温度值。 FIFO 队列保存完整的 DMP 处理后 的姿态 数据,允许系统处理器 突发地 读取 他们 , 以减少系统处理器读取数据 时间 开销。 当读取完 FIFO 数据后系统处理器 可进入休眠模式以节约能源,直到 MPU 再次提供完整 的姿态 数据。 DMP 还包含数字可编程的低通滤波器。 主控芯片 从姿态传感器接受到的数据与遥控器数据的需要进行计算后 才能 交给执行单元完成实际控制。 对 本实验目标 四旋翼飞行器进行控制需要 对处理器有 以 下要求: 4 路输出 PWM 引脚 IIC 总线接口 硬件中断 引脚 至少 4 个引脚用于遥控器信号接收 由于 AVR 编程简便、速度快 、价格 也 适用, 本文采用 ATmega328p 芯片作为主控芯片。 图 34为 ATmega328p 芯片引脚定义说明 [3]。 基于 AVR的四旋翼 无人机控制 14 图 34ATmega328引脚定义 图 35为 本实验选用 ATmega328p 最小系统电路图 [6] 图 35ATmega328p最小系统 RESET 引脚接高电平,当需要复位时按下按键使 RESET 引脚为低电平 XTAL XTAL2 接外部 16MHz 晶振 AREF 为 AD 参考电压输入端,本实验没使用 AD 单元,接地 AVCC、 AGND 为模拟单元电压与地 VCC、 GND为数字电压 PD PB PB PB3 引脚驱动电调 4路 PWM 信号 PC0、 PC PC PC3 接收 遥控系统接收机信号 PC PC5为 IIC 总线接口 PD1 引脚为 MPU6050 DMP 数据处理中断引脚 无线模块 无线模块采用 、 PPM信号发送机和接收机,如图 36为六通道 接收机,每一通道发送出一个 PWM 信号,高电平持续时间代表遥控器遥感位置。 接收机接基于 AVR的四旋翼 无人机控制 15 到遥控器 PPM信号并解码为 PWM 信号 从六个引脚输出。 图 36:无线接收机 本实验 将 接收机 14通道接 单片机 Channel14,通过 软件 解码 1得到遥控 位置。 驱动电调 电调在项目中的作用为接受处理器 PWM 信号,通过改变电压控制电机转速。 如图 37电调连接图, 选用 电调接收 12ms 高电平信号,分别对应 05V 电压即电机的停和最高转速, 转速刷新率 范围 为 50500Hz。 图 37:电调 1 见 基于 AVR的四旋翼 无人机控制 16 第四 章 程序 设计 本章说明控制程序的各个模块组成与信息交流方式,重点讨论姿态数据的获得。 程序 整体设计 软件系统由 5部分构成:初始化模块、遥控器解码、姿态处理、综合处理单元和电机驱动。 如图 41 综 合 处 理 单 元遥 控 器 解 码姿 态 处 理初 始 化 模 块电 机 驱 动 图 41:程序 整体结构 初始化模块进行处理器引脚初始化,定时器初始化, IIC 端口初始化等工作,为整个系统工作所需操作做铺垫 遥控器解码单元解码接收机发来的 PWM 信号,转化成 规则数据,用于综合处理单元 姿态处理接受 MPU6050 发送的数据并换算成欧拉角 综合处理单元结合所有数据确定当前应输出量 电机驱动模块 根据输出值 直接控制定时器寄存器,控制电机转速 系统初始化 系统 初始化完成对 IIC 总线初始化,串口初始化(仅调试 ) ,普通端口设置,以及定时器设定。 初始化流程图如图 42 基于 AVR的四旋翼 无人机控制 17 开 始普 通 端 口 初 始 化IIC总 线 初 始 化MPU6050初 始 化定 时 器 初 始 化结 束 图 42:初始化流程图 普通端口初始化完成对引脚的输入输出定义,使能上拉电阻等操作。 在本程序中设置遥控器接收端口为输入方向, PWM端口 为 输出方向 IIC 总线初始化完成 IIC 总线 的使能,使能 IIC 总线后 PC PC5 则从普通端口变为 SCL、 SDA 信号线。 其中 SCL 为 IIC 总线时钟线, SDA 为 IIC 总线信号线 MPU6050 初始化 完成对姿态传感器的初始化任务。 其中 设置 DMP 输出频率为40Hz, 实验发现 高频率输出对信号 将影响 滤波效果。 定时器初始化初始 Timer Timer2 两个定时器作为 PWM 信号产生控制器,其中 Timer1 在 PB PB2 输出 2路 PWM信号, Timer2 在 PB PD3 引脚输出两外 2 路 PWM 信号。 每路 PWM 分别 控制 某个电机转速。 PWM( Pulse Width Modulation)及脉冲宽度调制,根据高电平占整个周期的比例控制功率的输出。 如图 411 图 411: PWM占空比 基于 AVR的四旋翼 无人机控制 18 由于 本实验所选 电调接受 12ms 高电平信号作为输入,分别对应最低功率和最高功率输出,转速刷新率在 50500Hz。 根据以上要求设定定时器值。 已知处理器晶振为 16MHz, 8 位定时器,采用 256 分频可以 达到16000000/256/256=244Hz 刷新速度,满足 50500Hz 刷新率要求。 12ms 高电平在 8 位比较寄存器中为 ,为方便 定义 65125 共 60个 转速 控制量。 定时器 PWM 功能 初始化代码: 遥控器解码 本实验遥控器与接收机 之间为 PPM 信号 [4],由遥控器发送接收机接收。 如图43为 PPM 信号 样式。 图 43: PPM信号说明 PPM 信号为周期为 20ms 的逻辑脉冲。 相隔两个高电平 之间 为一个通道信号,代表一个摇杆位置 , 其中 每个通道 高电平时间 在 1ms2ms之间 ,所以理论上最多基于 AVR的四旋翼 无人机控制 19 可支持 10 通道信号传输。 接收到的 PPM 信号由接收机解码为 PWM 信号通过引脚发送给处理器, 每通道对应一个引脚。 处理器接受到的 PWM 信号依次出现在各个引脚上,对其进行解码就是对高电平时间的记录。 图 44为信号解码流程图 开 始结 束上 升 沿记 录 时 间 T1是下 降 沿记 录 时 间 T2是否否返 回 T=T2T1 图 44:信号解码流程图 姿态处理 姿态处理单元基于 MPU6050 姿态传感器,通过 IIC 总线得到四元数数据,并通过四元数向欧拉角的转换得到 姿态角。 数据获得 MPU6050 数据手册中 说明 最大 IIC总线 速度为 400kHz,根据 IIC 总线时钟计算公式 SCL = 𝐶𝑃𝑈𝐶𝐿𝑂𝐶𝐾𝐹𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦16+2(𝑇𝑊𝐵𝑅)(𝑃𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟𝑉𝑎𝑙𝑢𝑒)设定 TWBR 寄存器值为 24。 IIC 总线信息传输需要遵循规则,根据 MPU6050 数据手册可得到如图 45,46信息 基于 AVR的四旋翼 无人机控制 20 图 45: IIC总线数据发送规则 图 46: IIC总线数据接收规则 传送数据中系统处理器始终为主机, MPU6050 传感器始终为从机。 当 MPU6050 运动引擎 DMP 处理完一次姿态数据后,便拉高 INT 引脚通知系统处理器数据的到来,系统处理器通过 IIC 总线访问 MPU6050 传感器 FIFO 队列,得到姿态传感器准备好的四元数数据。 四元数获得代码为: 基于 AVR的四旋翼 无人机控制 21 此时四元数 Q = w +x +y+ z全部数据在 Quaternion 数据结构中。 四元数转欧拉角 四元数 、 姿态矩阵 关系为 : 22332 2 2 22 2 2 22 2 2 2( | | | | ) 2 2 [ ] ( ) ( )2( ) 2( )2( ) 2( )2( ) 2( )TA w Q I w Q q qx y z w x y zw x z y wx y zw x y z w y z x wx z y w y z x w x y z w () 其 中 3*3 []()Tw I Qq Q () 3*3 []()Tw I Qq Q () 0[ ] 00zyQ z xyx () 并且 𝐼3∗3为单位矩阵 2 式( ) 中 𝐶𝐸𝐵与式( )比较可知 22222 ( )a r c ta n1 2 ( )a r c ta n ( 2 ( ) )2 ( )a r c ta n ( )1 2 ( )w x y zxyw y zxw z x yyz () 2 单位额矩阵 为对角线为 1 的矩阵,如 3*3 单位矩阵为 [1 0 00 1 00 0 1] 基于 AVR的四旋翼 无人机控制 22 arctan与 arcsin的值为 [−𝜋2, 𝜋2],因此要用 atan2代替 arctan,及式( )变为 2222ta n 2 ( 2 ( ) , 1 2 ( ) )a r c s in ( 2 ( ) )ta n 2 ( 2 ( ) , 1 2 ( ) )a w x y z x yw y z xa w z x y y z () 以 式 ()用 C 语言描述为 这样 Roll, Pitch, Yaw 角就都确定了下来,完成了姿态 解算。 决策 模块 遥控器控制信息和当前姿态信息获得之后就到了将他们。基于avr的四旋翼无人机控制毕业设计(编辑修改稿)
相关推荐
已经在各行各业中发挥着不可替代的作用。 当前越来越多的 软件已经认识到了对于软件用户管理的 重要性,已将 计算机技术应用于日常的管理工作 中。 科学的运用计算机技术进行管理工作不仅可以使管理工作规范化、系统化、自动化而且可以节省相当的人力、物力。 它能够使 企业走 上良性运转轨道, 从而为其快速发展奠定基础。 在使用同一款软件的时候我们会牵扯到用户管理和权限的问题,怎样合理的使用的软件
在损伤表面转动时,便产生一种交变的激振力。 从轴承滚动表面状况产生振动的机理可以看出 ,这种激振力产生的振动,是由多种频率成分组成的随机振动,因为滚动表面的损伤形状是无规则的。 轴承滚动表面损伤的形态和旋转速度,决定了激振力的频谱;轴承和外壳,决定了振动系统的传递特性。 最终的振动频谱,由上述二者共同决定,也就是说,轴承异常所引起的振动频率,由轴承的旋转速度
.......... 46 实现了基于 BIM 技术的质量安全管理 .................................. 48 第 6 章 结论 与建议; ........................................................................................ 50 结论 ..................
0 1 AVCC,AREF 引脚外加滤波电容 1 0 保留 1 1 的片内基准电压源, AREF 引脚外加滤波电容 在本文我们选择 AVCC,AREF 引脚外加滤波电容。 Bit 5 – ADLAR: ADC 转换结果 左对齐 ADLAR影响 ADC转换结果在 ADC 数据寄存器中的存放形式。 ADLAR 置位时转换结果为左对齐,否则为右对齐。 ADLAR 的改变将立即影响 ADC
系统硬件设计 6 数据现畅通。 8051 的 /RD 和 /PSEN 相与后接 DIR,使得 /RD 或 /PSEN 有效时, 74LS245输入( ←Di ),其它时间处于输出( →Di )。 2. 1. 4 LED 的特性及使用 发光二极管是由 Ⅲ Ⅳ 族化合物,如 GaAs(砷化镓)、 GaP(磷化镓)、 GaAsP(磷砷化镓)等半导体制成的,其核心是 PN结。 因此它 具有一般 PN结的
位操作。 上电复位要求接通电源后,自动实现复位操作。 手动按钮复位需要人为在复位输入端 RST上加入高电平(图 1)。 一般采用的办法是在 RST端和正 电源 Vcc之间接一个按钮。 当人为按下按钮时,则 Vcc的 +5V电平就会直接加到 RST端。 手动按钮复位的电路如所示。 即使 人的动作再快也会 让 按钮保持接通 的状态 达数十毫秒, 因此 , 它能够 完全满足复位的时间要求。 手动复位