基于K60芯片的双电磁车追逐运动的设计
2015-12-08吴隆东姚齐国
吴隆东++姚齐国
摘 要:本文详细阐述了基于电磁传感器的自导航循迹小车的设计制作过程以及双车追逐运动的算法。控制芯片采用飞思卡尔半导体公司的32位微控制器Kinetis K60,通过10mH电感检测赛道导线激发20khz电磁波引导小车行驶,使用编码器采集小车的速度信息,通过鸳鸯超声波进行两车之间的通信,设计了一个准确灵活的智能循迹的系统。
关键词:Kinetis K60 电磁检测 超声波通信
随着现代科学技术的发展,微电子产业、汽车产业也得到了很大发展,与此同时,控制理论与技术也有了长足的发展,这一切都推动着智能小车的技术越来越趋于成熟。
智能小车集中运用了计算机、传感器、通信、信息、自动控制等技术来完成环境感知、规划决策、自动行驶等功能,是一个典型的高技术综合系统。它的迅速发展吸引了研究人员的关注,也促使高校加强了对智能小车的应用研究。该设计就是基于这样的背景提出的。本文采用了一款性价比高、功耗低的Kinetis K60单片机作为控制单元,设计制作了两台智能电磁循迹小车,该智能车巧妙地运用电磁传感器检测技术、单片机控制技术、超声波通信技术等实现两车准确灵活的自动运动控制。
系统硬件的设计
1、智能车整体结构与电源模块
系统的整体模块图示如图1所示。
智能车电源规定使用型号7.2V2000mAh Ni-Cd 的电池供电。根据电源稳定性的要求,设计经过大量的实验选型,最终采用LM2940和AMS1117-3.3两款芯片。两者都为低压差线性稳压器件,LM2940最大输出电流为1A,AMS1117-3.3为输出可调稳压器件。选用AMS1117-3.3为单片机、OLED供电,LM2940为舵机、驱动模块供电。
2、电机驱动模块
电机驱动芯片选用BTN7971,它是一款针对电机驱动应用的完全集成的大电流半桥芯片。驱动集成电路可进行逻辑电平输入,与微控制器的连接非常简单,且该驱动集成电路还具有电流检测诊断、转换率调整、死区时间生成以及过热、过压、欠压、过流和短路保护。BTN7971只占用较小的电路板空间,为大电流保护的PWM电机驱动提供了一种成本优化的解决方案。
智能车系统驱动板共用4片BTN7971,共同组成了一个全桥。此芯片开关频率可以达到25kHZ,电机噪声大和发热的问题得到了解决,驱动能力也有了明显的提高,反应速度加快。
3、电磁检测传感器模块
根据电磁检测原理,在通有交变电流的直导线周围存在电磁场。智能车竞赛中路径导航使用的交变电流为20KHZ,100mA,产生的电磁波属于甚低频(VLF)电磁波。
由于赛道尺寸远远小于电磁波波长,因此在导线附近能够感应到的电磁能量非常少,可以将其视为缓变磁场。设计按照静态磁场的处理方法来获取导线周围的磁场分布,从而实现位置检测。
无限长直导线周围的电磁分布为一圈一圈的同心圆,并且强度随点到通电导线的距离r的增加呈减小趋势。根据这个特性,我们可以计算出电磁传感器距离中心直导线的距离,从而确定小车在赛道上的位置。
综上分析,电磁传感器采用线圈最为合适。线圈电感有多种规格,直径越大高度越高,在直导线同一位置获得的电磁能量就越大,传感器获得的信号就越强,但是太大的电感会增加传感器重量,从而引起机械结构问题。在经历众多次选型之后,设计根据电感谐振频率公式,采用10mH与6.8nf电容构成LC电路来实现频选放大比赛场20KHZ交变电流,并以此作为电磁车的路径导航信号。在直导线通有100mA电流时,它能检测到峰值为1V 左右的电压值,能够满足控制的要求。
磁信号经过电感采集之后,需要对信号进行放大处理。通过对大量的运放芯片与运放电路测试之后,设计采用AD8032高性能轨对轨输入/输出运算放大器,既能满足信号放大倍率,也能满足探测需求。
4 、编码器测速装置
编码器、霍尔传感器、光电传感器、测速电机是常见的四种测速方式。根据不同的测速精度要求,经过多次选型测试后,设计选用欧姆龙出品的200线编码器进行测速。使用这种编码器足够满足精度需求,并且输出为数字接口,输出测速脉冲,可供单片机采样获得实际速度值。
5、 两车通讯模块
根据赛道情况,设计选择采用鸳鸯测距模块如表1,其使用一发一收两个模块,前车发送信号,后车接收信号并做出处理。检测角度大于90°,距离=脉宽*340m/s。
系统软件的设计
1、单片机最小系统
整个系统由采用飞思卡尔32 位微控制器Kinetis K60作为核心控制单元,以IAR软件平台为开发环境。控制器能采集和处理模拟和数字两种传感器信号,输出的两路PWM 分别对舵机和电机进行控制。舵机决定小车的行驶角度,保证循迹运动的准确性。硬件驱动电路控制电机使小车进行调速,配合速度策略不至于小车冲出赛道。另外使用编码器采集速度值,作为辅助速度控制,最终实现一套能够自主识别路线,并且可以实时输出车体状态的智能车控制系统。
整个系统的工作原理是由磁感应传感器采集赛道信息并经放大处理,与测速编码器采集的车模速度信息一起送给Kinetis K60单片机,通过程序设计控制优化算法,控制舵机的转角和电机的转速以达到车模在赛道上的稳定高速行驶。
2、智能车软件系统
设计对整个小车的程序进行了模块编写,这样解决问题相对简单,既容易观察,也增强了可移植性。程序中用到的资源有PWM、AD、PID、PIT定时器、SPI、UART、普通I/O口等功能。
PWM模块可分为两个部分:电机控制;舵机控制。这就涉及到控制策略。
首先是舵机的控制。利用单排传感器进行传感器的定位,实现该函数的思路是根据传感器的偏差,进行分段线性给出舵机角度。舵机控制中设计使用的是PD控制,P起主导调节的作用。但是如果P偏大了会让舵机抖动,导致直道不稳定。D的引进对于连续宽泛的坐标量作用很明显,主要表现在减小超调、克服振荡。
其次是电机控制。要实现小车电机能在短时间内达到理想速度,而既无振荡,又无超调是有一定难度的。一个比较好的方案就是采用增量式PID 进行控速。速度的策略简便灵活,直道和大弧弯道设置高速,小弧弯道和90度直角弯设置低速。
再者是两车的超声波通讯,设计采用前车发送信号,后车接收并读取两车的距离送入单片机,配合PWM进行电机调速。判定两车距离进行速度调节,让两车始终保持在额定距离范围内,在追逐运动中有序且不会发生物理接触。
结论
通过硬件模块的设计制作并加以配合软件模块的调试,本设计能够灵活的实现两智能小车循电磁线并完成追逐运动,追逐过程中也始终保持着设定的距离,不会出现前后车有物理接触的现象。
由于采模块化设计,本系统具有良好的可升级性和可扩性。采用单片机进行控制处理,它具有编程灵、自由、易于控制,稳定性能好、扩展容易等优点。控制系统是以Kinetis K60为核心,经过调试实现了小车的调速、循迹、两车追逐,显示速度和路程等功能。但由于时间和水平的限制,本系统还有许多仍需要改进的地方。
基金项目: 浙江海洋学院科研项目(浙海院研〔2012〕20号);浙江海洋学院2015年度大学生科技创新项目。
(作者单位:浙江海洋学院船舶与海洋工程学院)endprint