基于Cortex-M4内核微处理器的新型智能小车设计与实现 |
2012-06-18 16:05 作者:邵明明 吕乐然 闫 来源:硅谷网-《硅谷》杂志 HV: 编辑: 【搜索试试】
|
|
摘要:设计并实现基于32位MK60DN512ZVLQ10微处理器的新型智能车,采用激光发射管和激光接收管作为路径识别传感器,结合模糊算法、模糊PID算法对其转向和速度进行控制,融合新型跑道处理算法,经实践,可以在飞思卡尔智能车竞赛规定赛道上安全行驶。
关键词:Cortex-M4;K60;模糊
中图分类号:TP368.1文献标识码:A文章编号:1671—7597(2012)0510
【《硅谷》杂志2012年5月刊文】
0引言
本文以MK60DN512ZVLQ10芯片为核心,开发出智能车运行的软硬件资源,结合自主设计的电源模块、路径识别模块、摇头控制模块转向控制模块、速度控制模块,在飞思卡尔智能车竞赛新型跑道上稳定行驶。为改变规则后的2012年智能车竞赛提供了完美的解决方案。
1总体方案设计
本方案控制芯片选择为飞思卡尔32位Kinetis系列中功能最全的MK60DN512ZVLQ10,从激光传感器获知当前赛道信息,经微处理器处理得到摇头舵机偏转值、转向舵机偏转值,输出到舵机执行,完成摇头转向配合循线。同时根据赛道情况及编码器反馈控制电机转速。智能车硬件系统框图如下:
2分模块设计
2.1微处理器模块设计
飞思卡尔推出的Kinetis系列微处理器是全球最先基于ARMCortex-M4内核的90纳米32位MCU,开创了其微控制器(MCU)领先地位的新纪元。ARMCortex™-M4处理器是由ARM专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。高效的信号处理功能与Cortex-M处理器系列的低功耗、低成本和易于使用的优点的组合,旨在满足专门面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类别的灵活解决方案。Kinetis补充了飞思卡尔最近推出的90纳米ColdFire+MCU系列,提供高达180MHz的性能。它基于低功率混合信号ARMCortex-M4处理器,是业内扩展能力最强的MCU系列之一。
MK60DN512ZVLQ10这款芯片工作电压范围是1.71V-3.6V。写入电压是1.71V-3.6V。工作温度范围是-40°~105°。具有100MHz频率的增强了DSP功能的ARMCortex-M4内核。具有512KB的程序存储器,128KB的数据存储器,3MHz-32MHz和32kHz的晶振频率。系统外设包括10中低功耗工作模式适用于各种应用需求,内存保护单元,16路DMA控制器支持多达64种请求资源,外部看门狗监控器,软件看门狗以及低功耗下的唤醒单元。对于智能车,MK60DN512ZVLQ10具有足够的资源供使用。吸引本文的包括24路3种频率的PWM产生器,16位的外部脉冲计数器,实时时钟,6路UART模块以及I/O口中断单元。
本方案开发出智能车应用的所有模块,包括PLL模块,用于倍频(通过倍频,最高频率可稳定至200M);GPIO模块,用于数字量输入输出;FTM模块,用于PWM波输出;LPTMR模块,用于片外脉冲计数;PIT模块,用于定时中断;UART模块,用于K60与电脑通信;SDHC模块,用于行驶过程中的数据存储;AD、DA模块,用于模数、数模转换;DMA模块,用于传感器数据直接写入内存。
2.2赛道信息采集模块设计
本方案采用双排激光发射管。小排激光用于检测坡道上赛道信息,采用接收管与发射管一对三的方案。大排激光用于检测其余赛道信息(包括起跑线、十字交叉),采用两行激光并排打出的形式,分别打到两边黑线上。留在赛道内的激光点数越多,对小车位置检测越灵敏;打到赛道外的激光点数应能够保证在过弯的时候尽少出现赛道信息全白,降低稳定性的情况。因此留在赛道内的激光数与打到赛道外的激光点数比为8:4。当激光打到黑线上,接收管输出高电平;反之,输出管输出低电平。依此获得赛道信息。
由于当激光打到赛道外时,由于黑白状态未知,容易造成赛道误判。而有些院校直接在一大片白色KT板上贴黑线,把赛道外部当做白色处理。我感觉这种做法不合理,竞赛的时候赛道外部是黑是白是深是浅未知,所以提高小车的适应能力很关键。该模块设计的创新之处是对赛道外信息滤波,只判断由白变黑的跳变,作为黑线位置参数,无论赛道外部是黑是白,激光管发射的激光能否使接收管接收到,程序都可以不考虑这些,但有一个前提是在黑线上激光模块接收要稳定,因此大大增强了小车适应赛道的能力。
在实际调试过程中偶尔会出现舵机突然抖动出去再抖动回来的现象,究其原因,是激光模块不稳造成的,另外,黑胶带以及白色KT板的质量也不容忽视,否则容易使接收管把黑胶带当做白色,白色KT板当做黑色处理。
2.3舵机控制模块设计
摇头和转向舵机使用的是官方推荐的3010,根据赛道信息采用PD控制,达到摇头紧跟黑线的目的。虽然有些队伍采用P控制或者模糊P控制,但是这样摇头舵机抖动现象明显,加入D控制后,会有明显的抗抖动效果。在调试中,保证稳定性的同时应尽量提高快速性。由于P有增加系统反应速度的作用,选一个尽量大的合适的P将使舵机对赛道变化达到足够的灵敏度。但是P不可以过大,否则超调严重,表现为摇头舵机容易震荡,甚至产生自激振荡。由于D可以改善动态特性,一个合适的D可以使舵机超调量少,克服振荡。但是D过大时,超调量较大,调节时间较长;D过小时,超调量也较大,调节时间也较长。
摇头舵机作为智能车行驶中的最关键部分,耐心调试出一套响应迅速,超调量小的PD值对小车提速最为关键。而判断快速性和稳定性的方法是给定舵机相对于当前稳态一个较大的偏转值,观测其相应是否快,是否有抖动现象。当舵机能够快速转向偏转值而不会有抖动的时候,说明该参数值已经满足要求。
转向舵机根据摇头舵机与中值偏差以及赛道信息与理想的偏差来作为总体偏差。采用有死区的PID控制规律。当偏差较小时不动作或者动作小,当偏差较大时采用大动作。这样的效果是小S赛道近似直冲,大弯内切,经过调试,可以达到最佳的路径选择效果。
2.4电机控制模块
电机控制规律选择为BangBang+PID。本方案采用分区段设计。当需要的速度与实际的速度偏差较大时使用BangBang控制。具体算法如下:
①当实际速度远小于给定速度时,给电机满占空比,方向输出口输出正向电平;②当实际速度远大于给定速度时,给电机满占空比,方向输出口输出反向电平。当需要的速度与实际的速度偏差不至于过大时使用PID控制。
在PID模块调试中,P为首,I为其次,D为后将会得到较好得效果。本方案调试的PID参数在电机空转的时候调节时间在2S以内,超调量小于5%,得到了良好的效果。
3结语
本方案实践证明,32位MK60DN512ZVLQ10微处理器控制下的智能车比以往16位MC9S12XS128微处理器控制的智能车具有更高的稳定性,更好的适应赛道的能力。虽然飞思卡尔32位单片机对开发者系统知识要求高,实践能力要求强,但在智能车竞赛实施新规则后,必将吸引一大批高等院校本科生和广大电子设计爱好者对32位微控制器的深入研究,32位微处理器必将成为智能车领域各个高校控制芯片竞相选用的趋势。
参考文献:
[1]王宜怀,嵌入式系统原理与实践:ARMCortex-M4Kinetis微控制器,北京:电子工业出版社,2012,3.
[2]卓晴、黄开胜、邵贝贝,学做智能车—挑战“飞思卡尔”杯[M].北京:北京航空航天出版社,2007,3.
[3]邵贝贝,单片机嵌入式应用的在线开发方法[M].北京:清华大学出版社,2004.
[4]HAQP,NGUYENQH,RYEDC,etal.Fuzzysliding-modecontrollerswithapplications[J].IEEETransonIndustrialElectronics,2001,48(1):38-46.(注:本文版权归作者本人和硅谷杂志所有,禁止他人未经授权转载)
|
|
|
|
【对“基于Cortex-M4内核微处理器的新型智能小车设计与实现”发布评论】 |
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
|
|
|
|