基于飞思卡尔16位单片机电磁型智能小车的设计_毕业设计论文(编辑修改稿)内容摘要:

种器件获得,那就是角速度传感器 陀螺仪。 角速度传感器 陀螺仪 陀螺仪可以用来测量物体的旋转角速度。 选用 EN03 系列的加速度传感器。 它利用了旋转坐标系中的物体 会受到克里利奥力的原理,在器件中利用压电陶瓷做成振动单元。 当旋转器件时会改变振动频率从而反映出物体旋转的角速度。 安徽理工大学毕业设计 13 在车模上安装陀螺仪,可以测量车模倾斜的角速度,将角速度信号进行积分便可以得到车模的倾角。 如图。 图 测量车模角速度和角度 由于陀螺仪输出的是车模的角速度,不会受到车体振动影响。 因此该信号中噪声很小。 车模的角度又是通过对角速度积分而得,这可进一步平滑信号,从而使得角度信号更加稳定。 因此车模控制所需要的角度和角速度可以使用陀螺仪所得到的信号。 由于从陀螺仪的角速度获得角度信 息,需要经过积分运算。 如果角速度信号存在微小的偏差,经过积分运算之后,变化形成积累误差。 这个误差会随着时间延长逐步增加,最终导致电路饱和,无法形成正确的角度信号,如图 所示。 图 角度积分漂移 对于积累误差的消除,可以通过上面的加速度传感器获得的角度信息对此进行校正,如图。 图 角度积分漂移校正 安徽理工大学毕业设计 14 利用加速度计所获得的角度信息 θg与陀螺仪积分后的角度 θ进行比较,将比较的误 差信号经过比例 Tg放大之后与陀螺仪输出的角速度信号叠加之后再进行积分。 从图 ,对于加速度计给定的角度 θg,经过比例、积分环节之后产生的角度 θ必然最终等于 θg。 由于加速度计获得的角度信息不会存在积累误差,所以最终将输出角度 θ中的积累误差消除了。 加速度计所产生的角度信息 θg 中会叠加很强的有车模运动加速度噪声信号。 为了避免该信号对于角度 θ的影响,因此比例系数 Tg应该非常小。 这样,加速度的噪声信号经过比例、积分后,在输出角度信息中就会非常小了。 由于存在积分环节,所以无论比例 Tg多么小,最终输出角度 θ必然与加速度计测量的角度θg相等,只是这个调节过程会随着 Tg的减小而延 长。 为了避免输出角度 θ跟着 θg过长,可以采取以下两个方面的措施: ( 1)仔细调整陀螺仪的放大电路,使得它的零点偏置尽量接近于设定值,并且稳定。 ( 2)在控制电路和程序运行的开始,尽量保持车模处于直立状态,这样一开始就使得输出角度 θ与 θg相等。 此后,加速度计的输出只是消除积分的偏移,输出角度不会出现很大的偏差。 车模直立行走控制算法总图 将车模直立行走主要的控制算法集中起来,形成控制算法总框图,如图 图 车模运动控制总框图 安徽理工大学毕业设计 15 为了实现车模直立行走,需要采集如下信号: ( 1) 车模陀螺仪信号; ( 2) 车模加速度计信号( z 轴信号); ( 3) 车模电机转速脉冲信号; ( 4) 车模电磁偏差信号(两路)。 需要进行如下控制环节,控制车模电机转动: ( 1)车模直立控制:使用车模倾角的 PD(比例、微分)控制; ( 2)车模速度控制:使用 PI(比例、积分)控制; ( 3)车模方向控制:使用 P(比例)控制。 可通过单片机软件实现上述控制算法。 车模的三种控制(直立、速度、方向)最终是将控制量叠加在一起作为电机输出电压控制量。 直立控制是基础,它的调整速度非常快,速度和方向控制相对调整速度慢。 速度 和方向控制的输出量是直接叠加在电机控制电压上。 它们假定直立控制会始终保持车模不跌倒,直立控制会自动调节车模的倾角以适应车模的加速、减速和转弯的需要。 车模加速前进时,由速度控制算法给出电机增加的正向电压,电机开始逐步加速旋转。 在此同时,车模直立控制会迅速进行调整,使得车模往前倾斜,车模开始加速。 当车模速度达到设定值,由车模速到控制算法使得电机进入恒速运行。 此时车模直立控制算法也会相应调整车模出于直立状态,车模恒速运行。 车模减速过程与此类似,由速度控制算法减少了电机的电压,电机开始减速运行。 直立控制算法会自动 调整车模往后倾斜,使得车模减速。 车模转向控制是在车速控制基础之上,调节两个电机驱动电压差使得电机运行速度出现差动,进而调整车模的方向。 安徽理工大学毕业设计 16 智能车硬件设计与软件设计 智能车硬件设计 整体电路框图 设计车模控制系统的电路,首先需要分析系统的输入、输出信号,然后选择合适的核心控制嵌入式计算机(单片机),逐步设计各个电路子模块,最后形成完整的控制电路。 系统的输入输出包括: ( 1) AD 转换接口(至少 4 路) a) 电磁监测:左右两路,用于测量左右两个感应线圈电压。 b) 陀 螺仪:一路,测量陀螺仪输出电压。 c) 加速度计:一路,测量加速度 Z 轴输出电压。 d) 辅助调试:(备用) 1 到 3 路,用于车模调试、设置作用。 ( 2) PWM 接口( 4 路) a) 控制左右两个电极双方向运行,需要四路 PWM 接口。 ( 3) 定时器接口( 2 路) a) 测量两个电机转速,需要两个定时器脉冲输入端口。 ( 4) 通讯接口(备用) a) SCI( UART):一路,用于程序下载和调试接口; b) I2C:(备用)如果选择飞思卡尔公司的数字加速度 计,可以通过 I2C 接口直接读取加速度值。 ( 5) IO 接口(备用) 4 到 8 路输入输出,应用车模运行状态显示,功能设置等。 整体电路框图如图 安徽理工大学毕业设计 17 图 整体电路框图 根据图 ,控制电路划分为如下子模块: ( 1) 单片机最小系统:包括 DSC 处理器,程序下载调试接口等; ( 2) 电磁线检测:包括两路相同的电磁感应信号放大与检波电路; ( 3) 陀螺仪与加速度计:包括两个姿态传感器信号放大滤波电路; ( 4) 速度检测:检测电机光电码盘脉冲频率; ( 5) 电机驱动 :驱动两个电极运行电路; ( 6) 电源:电源电压转换、稳压、滤波电路; ( 7) 设置与调试:显示系统运行状态、速度设定、程序下载与监控。 单片机最小系统 单片机选择 MC9S12XS128。 主要外设包括 ( 1) PWM 6 通道; ( 2) AD 6 通道, 12bit; ( 3)定时器, 16bit, 4 通道; ( 4)外部串行接口: SCI, I2C, SPI; ( 5) IO 口:最多可以提供 26 路。 单片机的最小系统电路如图 所示。 安徽理工大学毕业设计 18 图 单片机最小系统电路 ( 1) 模拟量检测接口 a) ANA0( PIN12):陀螺仪电压; b) ANA1( PIN11):加速度计电压; c) ANB0( PIN5):右侧电感检波电压; d) ANB1( PIN6):左侧电感检波电压。 ( 2) 电机转速脉冲接口 a) T0( PIN19):右侧电机光电码盘脉冲; b) T2( PIN22):左侧电机光电码盘脉冲。 ( 3) 电机 PWM 驱动接口 a) PWM03( PIN23,24,28,29):电机驱动。 ( 4) 程序下载调试 JTEG 接口 a) TDI( PIN30); b) TDO( PIN32); c) TMS( PIN31); d) TCK( PIN14); e) /RESET(PIN15)。 ( 5) 串口监控 UART 接口: a) RXD( PIN1); b) TXD( PIN3)。 安徽理工大学毕业设计 19 没有使用的 IO 和模拟量口作状态显示、运行设置以及辅助调试作用。 倾角传感器电路 车模倾角传感器电路主要是将陀螺仪信号进行放大滤波。 由于加速度传感器采用是低 g 值的传感器 MMA7260,它 的输出信号非常大,不需要再进行放大。 电路图如图 所示。 图 陀螺计、加速度计电路 图 中,将陀螺仪的输出信号放大了 10 倍左右,并将零点偏置电压调整到工作电源的一半( )左右。 放大倍数需要根据选取的传感器输出灵敏度设计。 将上述电路单独制作成小的电路板,可以比较方便放置在车模的最稳定的位置。 实际的电路图如图。 安徽理工大学毕业设计 20 图 传感器电路 电机驱动电路 车模有两个后轮驱动电机,需要两组电机驱动桥电路。 图 33886芯片 组成电机驱动电路。 图 电机驱动电路 为提高电源的应用效率,驱动电机的 PWM 波形采用单极性的驱动方式。 如图。 安徽理工大学毕业设计 21 图 单极性 PWM、双极性 PWM 因此每一路电机为了能够实现正反转,都需要两个 PWM 信号。 两个电机总共需 4路 PWM 信号。 具体实现的驱动电路如图 所示。 图 两片 33886 组成的电机驱动电路 为了防止电机输出电流对于电源的冲击,在电路板的电源输入( ) 端口并联了一个 1000 微法的电容。 速度传感器 电机速度传感器使用了固定在电机输出轴上的光码盘以及相互 配合的光电对管器件,如图。 安徽理工大学毕业设计 22 图 速度传感器电路 由于光电管器件直接输出数字脉冲信号,因此可以直接将这些脉冲信号连接到单片机的计数器端口。 每个光电管输出两个脉冲信号,它们波形相同,只是相位相差 90176。 如果电机正转,第二个脉冲落后 90176。 ;如果电机反转,第二个脉冲超前 90176。 可以通过这个关系判断电机是否正反转。 在实际电路中,只检测了一路脉冲信号。 通过他的频率测量得到电机的转速。 电机的转向是通过施加在电机上的电压正负进行判断的。 通过实验验证这个方法可以有效判断电机的转动方向并进行速度控制。 电磁线检测电路 道路中心线的电磁线检测是保证车模能够运行在赛道上。 电池检测电路图如图 安徽理工大学毕业设计 23 图 电磁检测电路 按该电路制作电路如图 图 电机检测电路板 安徽理工大学毕业设计 24 智能车软件设计 车模是否能够正常高速稳定运行,需要通过软件编写和调试来完成。 软件编写与调试主要任务包括: ( 1)建立软件工程,配置 单片机 资源; ( 2)编写单片机软件程序框架,编写上位机监控软件,建立软件编译、下载、调试的环境; ( 3)实现并测试各个子模块的功能正确性; ( 3)逐步完成车模闭环控制,整定各个待定 参数; ( 4)进行车模整体运行性能测试与提高。 软件功能与框架 软件的主要功能包括有: ( 1)车模运行状态检测; ( 2)电机 PWM 输出; ( 3)车模运行控制:直立控制、速度控制、方向控制; ( 4)车模运行流程控制:程序初始化、车模启动与结束; ( 5)系统界面:状态显示、上位机监控、参数设定等。 上述功能可以分成两大类: 第一类包括 13 功能,它们属于需要精确时间周期执行,因此可以在一个周期定时中断里完成。 第二类包括 45 功能。 它的执行不需要精确的时间周期。 可以放在程序的主程序中完成。 这两 类任务之间可以通过全局变量实现相互的通讯。 主程序框架如图 所示 安徽理工大学毕业设计 25 图 主程序框架 图 中,程序上电运行后,便进行单片机的初始化。 初始化的工作包括有两部分,一部分是对于单片机各个应用到的模块进行初始化。 这部分的代码由CodeWarrior 集成环境的 ProcessorExpert 工具生成。 第二部分是应用程序初始化,是对于车模控制程序中应用到的变量值进行初始化。 初始化完成后,首先进入车模直立检测子程序。 该程序通过读取加速度计的数值判断车模是否处于直立状态。 如果一旦处于直立状态则 启动车模直立控制、方向控制以及速度控制。 程序在主循环中不停发送监控数据,在通过串口发送到上位机进行监控。 同时检查车模是否跌倒。 跌倒判断可以通过车模倾角是否超过一定范围进行确定,或者通过安装在车模前后防撞支架上的微动开关来判断。 一定车模跌倒,则停止车模运行。 包括车模直立控制、速度控制以及方向控制。 然后重新进入车模直立判断过程。 车模的直立控制、速度控制以及方向控制都是在中断程序中完成。 通过全局标志变量确定是否进行这些闭环控制。 安徽理工大学毕业设计 26 中断程序框架如图 所示。 图 中断服务程序框架 图 中,使用一个定时器,产生一毫秒的周期中断。 中断服务程序的任务被均匀分配在 04 的中断片段中。 因此每个中断片段中的任务执行的频率为200Hz。 将任务分配到不同的中断片段中,一方面防止这些任务累积执行时间超过 1 毫秒,扰乱一。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。