基于Sunplus SPCE061A控制核心的电动车跷跷板设计及实现
扫描二维码
随时随地手机看文章
在多次全国电子设计大赛中,电动车的设计一直都是热点,从历届的电动车设计作品来看,电动车的车体往往做得大而重,且常常需要依靠车体以外的模块辅助才能完成,这对于车来说就不够智能化了。本文中电动车设计所采用的方案,车体小巧灵活,不需借助任何的附加设备即可工作,而且对跷跷板的要求很低。
1 总方案设计
系统可以划分为控制部分和信号检测部分。其中,控制部分由控制器模块、电源模块、电机模块、显示模块、语音模块等模块构成;信号检测部分由平衡检测模块、引导模块构成。采用单控制器,控制器和角度传感器直接安装在车体上,角度传感器的角度信号传送给控制器,控制器根据信号来判断电动车当前的状态,做出相应的反应(前进、后退、停车、平衡指示等)。采用单控制器使小车能够更加灵活的行驶,避免了长信号线或者无线通信带来的信号采集不准确问题。经过多次试验,证明车体能够轻松找到平衡点。系统方框图如图1所示。
该设计电动车跷跷板实物图如图2所示,从中可以看到,现在电动小车的状态为平衡点附近,这是因为跷跷板的平衡是一种绝对的动态平衡,即平衡时,小车在板上平衡点做振动运动,因为这样的运动幅度非常小,可以认为是一种伪静态。
2 各模块具体实现方案及硬件电路
2.1 车体设计及电机控制模块
该设计采用的车体由铝合金车架及两个直流电机组成,具有坚固稳定的特点,并且直流电机带有驱动电路及减速箱,减速箱的减速比为64:1。设计中使用L298搭建了驱动电路,经过调试车速可以分级控制。硬件电路图如图3所示。
2.2 控制器模块
该设计采用凌阳公司的SPCE061A单片机,SPCE061A是16位结构的微控制器。该单片机具有驱动能力高和集成度高,易扩展,可靠性高,功耗低,结构简单,中断处理能力强等特点。SPCE061A的CPU时钟为0.32~49.152 MHz,内置32 KB FLASH和2 KWords的SRAM,速度可以满足电机控制对实时性的要求;SPCE061A还可以通过在线调试器:Probe和EZ Probe实现在线程序下载和调试,极大地提高开发效率;另外SPCE061A尤其适用于语音处理和识别等领域,可方便地用来实现声音录制、播放,只要调用库函数即可实现音频编程,可以实现语音播放功能,比别的单片机更有特色。因此选择此方案。
2.3 电源模块
该设计采用6节1.2 V可充电式镍氢电池串联共7.2 V给直流电机和传感器供电,经过7805的电压变换后为单片机供电。经过实验验证,采用此种供电方式后,只有一组电源,便于安装,且直流电机工作良好,单片机、传感器的性能稳定。电路原理图见图4。
2.4 引导模块
该系统采用黑线引导法,在地面和跷跷板上均画有黑线,用寻迹的方式引导电动车。寻迹采用RG149A光电对管。RG149A通过检测反射信号的不同来区分黑白,信号经LM324整形后传输给控制器。LM324需外接一个滑动变阻器,以找到合适的阻值,使得输出高低电平信号能被正确识别。经过反复试验,寻线效果良好,在直线和弯道都能很准确地实现寻线,而且该管市面上容易购得。其硬件电路图见图5。
2.5 语音模块
在语音模块设计中直接使用凌阳61A板自带语音模块。正如前文介绍,61板具有强大的语音处理功能,拥有语音的MIC输入端,自带自动增益(AGC)控制,具有语音输出接口,可外接喇叭。根据音频处理模块功能的强弱,在录制语音时,需要选择采样率和音频格式,同时还要注意音频文件的大小。
2.6 显示模块
该系统设计采用凌阳公司生产的64×128液晶显示屏模块,该模块自带液晶显示驱动,只需在程序中建立相应字库即可实现显示。因为在显示模块上的工作可以近似认为是一种实时性的,并且数据量大,这就需要在软件的编写上进行合理的安排,以使CPU及时响应和协调各功能子模块的正常工作。
2.7 平衡模块
该设计使用无触点磁敏电位器自制重锤角度传感器。在电位器上加一重锤,通过重锤的摆动角度带来电位器角度的变化,以实现对角度的测量。该角度传感器安装在电动车上,当跷跷板处在非平衡状态时,车体的倾斜角度反映在重锤的转角上,再通过A/D转换将角度信号采集到处理器中进行相关的处理。在本设计中,有三个关键角度值,即跷跷板上平衡区间的两端点角度值和平衡区间中的实际中点值。小车在自动找平衡时,是根据平衡区间的端点值判断自己是否处于平衡区,是则调用平衡区功能函数进行工作,直到最终找到真正平衡点。经过多次试验论证,小车能够快速准确地寻找到平衡点。原理图及实物图见图6。
3 程序设计
软件设计与工作流程图如图7所示。
4 理论分析与计算
4.1 角度传感器原理
当电动车处于水平状态时(此时跷跷板平衡),角度传感器重锤成自然下垂状态,此时得到一电压值作为基准电压;而当电动车处于非水平状态时(此时跷跷板失衡),重锤会随着跷跷板的倾斜角度而偏离原位置一定角度,从而产生电压信号的变化,控制器根据电压信号变化及趋势来控制电机。
在本系统中当角度传感器的工作电压为3.3 V时,则应用角度传感器关键值可以参照表1。
4.2 过程逻辑计算
在不加配重情况下,电动车从起始A出发到中心平衡点C的过程中,小车从A点快速前行至超过平衡点的下降点处,会检测到倾斜角度电压值有突然减小趋势。此时,小车停止使角度传感器稳定,之后小车根据倾角传感器的电压值倒车至平衡点附近,然后以小速度不断调整寻找实际平衡点,直至平衡。
实际执行方案:先快速前行,当电压信号(设为c)小于等于2.232 V时,快速倒车(只执行一次,用标志位判断),此后的所有情况为:
当c≥2.253 V时,前进;
当c<2.232 V时,后退;
当2.232 V<c<2.253 V时,小车进入动态平衡区域。在动态平衡中跷跷板倾角在0°~5°变化(2.244 V≤c≤2.253 V),将此刻的电压值与前一时刻的电压值作比较,若前者大于等于后者,小车前行,否则小车停止;当跷跷板倾角在-5°~O°变化(2.232 V≤c≤2.238 0 V),将此刻的电压值与前一时刻的电压值作比较,若前者大于等于后者,小车停止,否则小车后退。当2.238 V<c<2.244 0 V即为实际中的平衡范围,小车停止。
5 创新发挥与结果分析
5.1 创新发挥
该电动小车具有语音播报与语音识别功能。
(1)口令控制电动车开始行进,有无配重的两种情况,通过不同的口令来实现。
(2)语音播报电动车工作状态,例如到达平衡、到达B点等情况。
(3)语音提示加载第二块配重和加载完毕。
同时,该小车具有同步显示电动车的里程信息及速度等功能。通过RG149A光电对管扫描车轮上的8个孔来计算电动车行驶的距离。本系统的车轮周长为21.336 cm,设n为扫描的孔数,则扫描n孔行驶的距离为S=21.336/8*n(cm),再通过计时器得到电动车行驶时间,从而算得电动车的速度。将距离、时间、速度显示在LCD屏上。
5.2 结果分析
第一阶段时间测试结果如表2所示。
从测试结果可以看出,平衡点的寻找时间具有很大的随机性,以至于时间超出了预计范围。经过仔细观察分析,问题出在车速等级之间变化过快上。这里提出两套解决方案:一是加减速齿轮,但是在原来完整的车体上加减速齿轮机械上做起来比较困难,这个方案很快被否决了;第二套方案是不使用凌阳单片机自带的PWM波,而是通过软件自行制作占空比可调范围更广的方波,从而实现电机的无级变速。经过试验,测试数据如表3所示。
由表2可看出,电动车已经可以在短时间内找到平衡点,因为采用无级变速,使得电动车在平衡点附近也能进行适当的速度调整,而不像之前在平衡区间只能始终采用一种速度。上板测试结果如表4所示。
平衡测试结果如表5所示。
从测试结果来看,本系统的性能接近预想状态。
6 结 语
电动车以凌阳SPCE061A作为电动车的控制核心,将无触点磁敏电位器加重锤改造后自制成角度传感器检测平衡点,实现了电动车自动寻找跷跷板和板上平衡点自动寻找等功能。从测试结果可以看出,该设计达到预期效果。角度传感器的自行设计是关键点所在,语音播报与语音识别功能和同步显示电动车的里程信息及速度等功能是一大亮点。