上海电力学院电自二队技术报告
据计算出来,这样的话可检测方案适应性不强,当换个环境或者是导线里电流大小不一样都可能会造成小车无法沿线行驶。综上考虑,需要在双水平线圈的基础上再增加一个水平电感线圈C,形成三水平线圈布局方案。 用三个水平传感器拟合出来的曲线如下:
图7中两条曲线所代表的数学意义为:
EAE?1?红线: rEB
E蓝线: Eb?Er*A/ad_mEB
中间线圈的作用是在小车开始运动的时候取到中间线圈感应的那个值ad_m,然后取左右两个线圈感应的平均值,中间值减去平均值再除以中间线圈与左右线圈的距离10cm,就可以得到电势差值那条直线的斜率,再用随时取到的差值除以斜率就可以得到小车与导线的位置。
由上图就可以看出,蓝线在0~10cm的区域内有蛮好的线性,且当小车偏离中心线不远的时候,纵轴Ed的值变化也不是很大。这就保证了小车在偏离中线一定的范围内还可以认为小车是沿着线走的,避免了小车行驶过程中的抖动。
引入了中间位置的传感器后,当外界条件改变时,小车是可以自动寻迹的。
16
10.90.80.70.60.50.40.30.20.10051015图9 控制中用到的拟合曲线
上海电力学院电自二队技术报告
在上面的基础上再增加两个运动方向的向前的传感器D和E,为了获得较好的前瞻,它们能很好地反应出赛道的变化,因此对弯道很灵敏。同理,当遇到大弯道时,检测到的数据很小,当线圈与到现有一定的夹角时就可以得到较大的数据,控制小车达到需要的转角。经过实验可知,小车可以获得15cm的前瞻。它的实际模型如下:
图10 5个电感线圈的实际布局
通过长期的调试发现,这种布局与安装方法结合算法能较好地控制智能车的运动,不仅在直道上不抖动,过弯也能很流畅。
4.3电源管理模块
为了保证整个系统运行的可靠性,单片机的供电采用LM2940CT低压差5V稳压管,该电源芯片最大输出电流为3A,压差在最大输出电流时也不会超过500mV。它具有低压差电压、瞬态响应快的优点,是小功率微处理器理想的配套件。内部电流限制及发热限制可以防止可能造成结温过高的过载现象。因此,MCU和测速模块以及传感器的电源采用它供应。
17
上海电力学院电自二队技术报告
电池 2940 传感器
测速 2940 MCU 图11 电源管理模块
舵机 驱动电机 为了使单片机的供电稳定可靠,我们采用了两片2940芯片,一片单独供给MCU工作,一片供给其他。
考虑到电机的理想空载转速与电枢电压成正比关系,设计时将电池的电压不经过稳压电路而直接加在电机驱动模块上,这样保证了驱动电机速度具有较大的可调范围,且使电路设计简化。同理,舵机也直接采用电池供电。
4.4 电机驱动模块
电机驱动采用集成驱动芯片MC33886。
MC33886是一个单片的H桥集成驱动芯片,主要面向小功率直流电机的驱动。最大能够提供连续5A的驱动电流,通过PWM控制时,频率可以达到10KHz。有错误状态警告,输出短路保护,欠压关闭等各种完善的保护功能。桥路的通态电阻为0.12Ω,可以使电机具有较好的硬度。控制端可直接与单片机接口,输出端可直接与电机相连。它完善的保护措施,降低了硬件故障发生机率,提高了运行的稳定性。在本设计中采用该方案,电路接口设计如图所示。
18
上海电力学院电自二队技术报告
图12 mc33886原理图
这里,本设计采用了两片MC33886。每一片的输出并联在一起,从而提供更大的驱动电流。
4.5 测速功能模块
本设计的测速功能采用光电式编码器,它具有测量准确度高、响应速度快、可靠性高、结构简单、测速准确度高以及使用寿命长等优点。光电式编码器的工作原理就是利用光码盘上透光与不透光区域交替变换,在码盘的另一侧形成光脉冲。该光脉冲照射在光电敏感元件上产生与其相对应的电脉冲,即可完成速度测量功能。
19
上海电力学院电自二队技术报告
第五章 智能车软件设计
5.1 Codewarrior简介
此次智能车大赛的软件开发平台为Metroworks 公司的Code Warrior 4.7,Codewarrior 是由Metrowerks 公司提供的专门面向Freescale 所有MCU 与DSP 嵌入式应用开发的软件工具。其中包括集成开发环境IDE、处理器专家、全芯片仿真、可视化参数显示工具、项目工程管理、C 交叉编译器、汇编器、链接器以及调试器。用户可以将芯片的类库添加到集成环境开发环境中生成就是一个最小系统,就能直接在新建工程时添加所需的程序代码。
在用户源程序编译连接生成.abs文件之后,可借助CodeWarrior 4.7 自带的hiwave.exe进行调试工作,如监视寄存器状态、修改指针、设置断点、实时查看源程序各数据的变化等,最后先擦除flash中的源程序,之后再将abs文件烧入flash中。
5.2 程序主要算法介绍
5.2.1 舵机控制
根据车头两边与导线垂直的两个传感器的值经过简单运算可以得到一条线性度很大的一条直线,x轴是传感器中心线距离赛道引线的距离,y轴则是当先传感器回传的数据量。在对回传数据与输出到舵机的PWM波占空比建立一个线性关系则建立起了舵机PWM波占空比与当前传感器中心到赛道中心引线的线性关系,这样就可以实时的根据当前偏差量输出一定的舵机转角使小车一直沿着赛道路径前行。
经过实践之后我们发现,如果PWM波占空比与偏移距离用简单的线性关系会有弊端:如果比例系数较大弯道会有比较灵敏的表现,但直道会发生抖动而不稳定;比例系数太小直道比较稳定,而弯道则会因转角过小发生冲出赛道的
20