论文部分内容阅读
摘要:本文是以飞思卡尔智能车比赛为背景,主要介绍了智能车的硬件结构以及软件控制系统的设计,该智能车以MK60DN512VLQl0微控制器为控制核心,通过检测通有20KHz 100mA的交变电流的导线产生的交变磁场为引导信号,经过智能车采集、处理跑道信号,根据不同的跑道情况,自动做出不同的处理,从而实现自动循迹行驶功能。
关键词:MK60DN512VLQl0型单片机;电磁传感器;路径识别与检测
中图分类号U4 文献标识码A 文章编号2095-6363(2016)06-0087-01
1.电磁循迹智能车的工作原理
该设计是以飞思卡尔智能车竞赛的B车模,为智能车的主要设计平台,通过安装在智能车前的电磁检测模块作为智能车的“眼睛”,将电磁检测模块采集到的信息经核心控制单元处理后,返回给舵机控制模块来调整方向,并通过测速模块来控制智能车的速度,用干簧管检测停车起跑线,从而达到自动循迹的目的。
2.系统硬件设计
2.1核心控制单元
我们采用的是飞思卡尔公司的MK60DN512VLQIO芯片,它是以Cortex-M4为内核的芯片,有丰富的片上资源,能够满足整个系统的控制需求
2.2电磁检测模块
电磁检测模块它能否正确判断跑道的信息直接影响着K60控制单元能否正确的工作,而且检测模块要有一定的前瞻性,才能为控制单元做出正确判断和处理留出充足的时间,经多次测试与调整最终确定将电磁检测模块放在智能车前30cm~40cm的位置,使用6个工字电感检测跑道上的交变磁场,电感会产生微弱的电压信号,通过TLV2462运放对电压信号进行放大,经电路整形、滤波后,将采集的信号传给控制单元进行处理。以下为原理图。
2.3电源管理模块
因为整个系统由多个模块组成,而不同模块的电压需求也不同,我们采用了3.3V、5V、7.2V、6V四种电源管理方案,整个系统由一块7.2V的电池供电,7.2V由电池直接给电机驱动模块供电,其中核心控制单元电压为3.3V电磁检测和测速模块的电压为5V、舵机转向模块的电压为6V。
2.4电机驱动模块
该模块我们采用了半桥集成驱动BTN7970,它是专门用于电机驱动的集成大电流半桥驱动芯片,它能够占用很少的电路板的空间,同时能满足大电流驱动电机的功能,它具有较强的抗干扰能力。因为驱动芯片与控制单元的工作电压不同,为防止控制单元损坏,我们在他们之间增加了74LS244起到隔离保护的作用。
2.5测速模块
测速模块,测速模块我们采用的是欧姆龙200线编码器,它具有较高的测速精度,同时能够满足满足测速需求。
2.6舵机转向模块
该模块我们采用的是S-D5数字舵机,通过输出50Hz,不同占空比的PWM波,便可控制转向,控制精准快捷。
2.7停车检测模块
该模块我们采用干簧管,来检测位于起跑线下的钢磁体,当干簧管通过磁体时就会导通,从而产生一个跳变信号,以此来检测起跑线。
2.8交互显示屏和按键模块
该模块由0.75英寸oled屏幕、按键和拨码开关组成,通过按键可以对智能车的一些参数进行在线调试、设置,不仅省去多次下载调节参数的麻烦,而且提高了调试的效率。
3.系统软件架构
3.1系统总流程图
3.2初始化程序
在智能车工作之前要对系统进行初始化,为整个系统的运行做准备,其中包括时钟初始化、I\O口初始化FTM模块初始化、中断初始化等模块,将各个运行所需的模块配置好后才能进行下一步的工作。
3.3传感器采集数据及处理
我们采用6个工字电感作为检测电磁信号的传感器,它们一字排开对称分布在智能车的前瞻上,通过采集6路信号,对6路信号的进行处理后找到中线,判断出与真正信号线位置的偏移量,根据这个偏移量来控制舵机的转向,为了减少电感值差异、电流幅值变化等不可控因素带来的影响,我们对采集所得的6路数据都应用归一化算法,进行归一化处理,使数据更加的稳定。
3.4舵机控制和速度控制
在舵机控制方面为防止舵机抖动太大,我们采用的PD控制算法,使舵机的转向控制更加的平滑,而速度控制我们则采用PID控制算法,它能让智能车在运行过程中,速度的变化更加平滑,能够更快更稳的控制在设定的速度。
3.5起跑线检测
当检测到起跑线的时候使智能车自动停车,采用中断触发的方式检测起跑线,当检测到跳变时可认为经过起跑线,为防止在发车的时候误判进入中断,我们在车发后10s后使能该中断。
4.结论
在制作过程中我们对智能车的硬件进行不断的优化,在主板上我们采用的是插接器件,极大的方便了车辆的维护,以及电路方面的升级。在软件方面我们不断优化算法,结合智能车的实际对算法进行改进,尤其增加人机交互模块以后使调试的效率大大提高,在调试方面,我们还没有加入上位机,相信经过我们后期的研究与发展,在智能车的调试方面会有更大的进步,效率会更高。
关键词:MK60DN512VLQl0型单片机;电磁传感器;路径识别与检测
中图分类号U4 文献标识码A 文章编号2095-6363(2016)06-0087-01
1.电磁循迹智能车的工作原理
该设计是以飞思卡尔智能车竞赛的B车模,为智能车的主要设计平台,通过安装在智能车前的电磁检测模块作为智能车的“眼睛”,将电磁检测模块采集到的信息经核心控制单元处理后,返回给舵机控制模块来调整方向,并通过测速模块来控制智能车的速度,用干簧管检测停车起跑线,从而达到自动循迹的目的。
2.系统硬件设计
2.1核心控制单元
我们采用的是飞思卡尔公司的MK60DN512VLQIO芯片,它是以Cortex-M4为内核的芯片,有丰富的片上资源,能够满足整个系统的控制需求
2.2电磁检测模块
电磁检测模块它能否正确判断跑道的信息直接影响着K60控制单元能否正确的工作,而且检测模块要有一定的前瞻性,才能为控制单元做出正确判断和处理留出充足的时间,经多次测试与调整最终确定将电磁检测模块放在智能车前30cm~40cm的位置,使用6个工字电感检测跑道上的交变磁场,电感会产生微弱的电压信号,通过TLV2462运放对电压信号进行放大,经电路整形、滤波后,将采集的信号传给控制单元进行处理。以下为原理图。
2.3电源管理模块
因为整个系统由多个模块组成,而不同模块的电压需求也不同,我们采用了3.3V、5V、7.2V、6V四种电源管理方案,整个系统由一块7.2V的电池供电,7.2V由电池直接给电机驱动模块供电,其中核心控制单元电压为3.3V电磁检测和测速模块的电压为5V、舵机转向模块的电压为6V。
2.4电机驱动模块
该模块我们采用了半桥集成驱动BTN7970,它是专门用于电机驱动的集成大电流半桥驱动芯片,它能够占用很少的电路板的空间,同时能满足大电流驱动电机的功能,它具有较强的抗干扰能力。因为驱动芯片与控制单元的工作电压不同,为防止控制单元损坏,我们在他们之间增加了74LS244起到隔离保护的作用。
2.5测速模块
测速模块,测速模块我们采用的是欧姆龙200线编码器,它具有较高的测速精度,同时能够满足满足测速需求。
2.6舵机转向模块
该模块我们采用的是S-D5数字舵机,通过输出50Hz,不同占空比的PWM波,便可控制转向,控制精准快捷。
2.7停车检测模块
该模块我们采用干簧管,来检测位于起跑线下的钢磁体,当干簧管通过磁体时就会导通,从而产生一个跳变信号,以此来检测起跑线。
2.8交互显示屏和按键模块
该模块由0.75英寸oled屏幕、按键和拨码开关组成,通过按键可以对智能车的一些参数进行在线调试、设置,不仅省去多次下载调节参数的麻烦,而且提高了调试的效率。
3.系统软件架构
3.1系统总流程图
3.2初始化程序
在智能车工作之前要对系统进行初始化,为整个系统的运行做准备,其中包括时钟初始化、I\O口初始化FTM模块初始化、中断初始化等模块,将各个运行所需的模块配置好后才能进行下一步的工作。
3.3传感器采集数据及处理
我们采用6个工字电感作为检测电磁信号的传感器,它们一字排开对称分布在智能车的前瞻上,通过采集6路信号,对6路信号的进行处理后找到中线,判断出与真正信号线位置的偏移量,根据这个偏移量来控制舵机的转向,为了减少电感值差异、电流幅值变化等不可控因素带来的影响,我们对采集所得的6路数据都应用归一化算法,进行归一化处理,使数据更加的稳定。
3.4舵机控制和速度控制
在舵机控制方面为防止舵机抖动太大,我们采用的PD控制算法,使舵机的转向控制更加的平滑,而速度控制我们则采用PID控制算法,它能让智能车在运行过程中,速度的变化更加平滑,能够更快更稳的控制在设定的速度。
3.5起跑线检测
当检测到起跑线的时候使智能车自动停车,采用中断触发的方式检测起跑线,当检测到跳变时可认为经过起跑线,为防止在发车的时候误判进入中断,我们在车发后10s后使能该中断。
4.结论
在制作过程中我们对智能车的硬件进行不断的优化,在主板上我们采用的是插接器件,极大的方便了车辆的维护,以及电路方面的升级。在软件方面我们不断优化算法,结合智能车的实际对算法进行改进,尤其增加人机交互模块以后使调试的效率大大提高,在调试方面,我们还没有加入上位机,相信经过我们后期的研究与发展,在智能车的调试方面会有更大的进步,效率会更高。