基于SPCE061A单片机的智能小车的设计

时间:2022-04-19 10:16:17

基于SPCE061A单片机的智能小车的设计

摘 要:本文设计并制作一种智能避障小车。以凌阳单片机SPCE061A为核心控制部件,电路包括直流电机、电机驱动芯片、超声波传感器等。该系统的智能控制软件包括小车避障及路径控制软件和语音识别模块。利用SPCE061A的语音模块,根据麦克风采集的语音信号与事先训练好的语音库的特征语音进行对比,进行语音辨识并通过语音命令小车行进、转向及倒车等操作,实现智能音控小车的运行状态;利用红外传感器检测路径信息,实现小车的智能避障功能。

关键词:语音识别 凌阳SPCE061A单片机 避障。

中图分类号:TPl8 文献标识码:A 文章编号:1672-3791(2013)06(c)-0088-02

1 系统的总体设计方案和硬件设计

本设计主要有三个部分组成,分别是以凌阳SPCE061A精简开发板为核心。车体电机驱动电路板和小车的车体框架为辅。人通过凌阳SPCE061A开发板上的MIC-IN输入语音,然后经过事先编好的程序对其进行采样、放大、核对。核对正确后将语音信号做出的指示传达给车体电机电路板,从而控制电机的正反转、和停三种状态。在通过电机转速的调节来实现小车的前进、倒退、停止、左转、右转功能。

1.1 系统的核心部件

本文设计基于SPCE061A单片机的控制主板,包括接口、按键、麦克、液晶显示器。SPCE061A是16位结构的微控制器,其内部集成了ICE、FLASH、SRAM、32位通用I/O端口、ADC、DAC输出、定时器/计数器、WatchDog、中断控制、CPU时钟PLL、UART、SIO、低电压监测/低电压复位等模块[1]。SPCE061A可以使电路大大简化,并且凌阳单片机本身具有语音功能,可以加入语音识别模块,简化了车体机构。对于接口主要在串联和并联输入输出口,其余的I/O全部用插针引出。

1.2 小车电机驱动设计

由于SPCE061A的I/O口的电压较小,不能直接和电机相连,本文采用的是双全桥步进电机专用驱动芯片L298N[2]。L289芯片有16个引脚,内包含4通道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个高电压、大电流双全桥式驱动器,接收标准TTL逻辑信号,可驱动36 V、2 A以下的步进电机,此芯片可直接由单片机的I/O端口来提供模拟时序信号,OUTl、OUT2和OUT3、OUT4之间分别接2个步进电机;IN1~IN4输入控制电位来控制电机的正反转;PWM脉宽调制[3]信号控制电机的转速。驱动电路图如图1所示。

车体电机采用两个步进电机,主要用于提供动力,另外还有一个可以360度转向的车轮做支撑作用。该步进电机采用单极性直流电源供电,只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。在实际设计中要考虑到步进电机的散热问题,本文采用散热片等散热措施进行散热。

1.3 小车的听觉避障

本文采用HC-SR04超声波传感器,利用其反馈信号调整小车的运行状态。该传感器只有2CM的盲区,工作范围在2cm-450cm,采用的是非接触式的测量方式,设计实现方便。该模块采用I/O触发测距,给至少10 us的高电平信号,模块自动发送8个40 khz的方波,自动检测是否有信号返回;若有信号返回,通过I/O输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间×声速(340 m/s))/2。测量周期为60 ms超声波时序图如图2所示。

2 系统软件设计

系统软件设计主要包括两个方面,第一个方面就是语音识别系统,第二个方面就是智能避障。我们使用的软件编程语言是C语言[3],而开发软件使用的是u’nSP IDE。

2.1 语言识别系统

语音识别系统主要分为初始化、训练、识别三个部分,基于凌阳SPCE061A本身就具有语音处理系统,在这里本文只是选择了相应的模块进行工作,其语音相应的压缩编码率为24 kb/s,采样频率为16 kHz[4]。程序设计流程图如图3所示。

所谓初始化就是在小车进入训练之前的复位操作,把以前的语音数据全部清零,等待语音命令重置,每当执行一个动作的时候需要输入两条语音命令,第一条是操作允许命令(比如说是小车的名字),第二条是命令执行动作,这样做是为了防止人们无意中的动作执行语音被录取造成小车做出错误的行动。

训练就是给小车的语音系统提供语音参照号模块。当操作者连续录入语音,其顺序依次是名字—前进—后退—左转—右转—停止。当输入完成后就会把该语音作为标准储存在SPCE061A的Flash中。

识别就是用外界接收到的语音同我们事先输入的语音标准做比较,若与标准相吻合则执行操作。当在识别环节当中,如果辨识结果是小车的名字,小车直接置待命状态,然后等待动作命令。只有检测到动作命语音时,小车才会根据相应的辨识结果执行动作。小车在执行完相应的命令之后结束待命状态。等待下一次语音命令。

2.2 智能避障

智能避障就是小车在没有人的操作之下达到避开障碍物的目的。流程图如图4所示。智能避障也就是芯片中的模糊避障处理,对超声波采集到的信息进行模糊化处理,根据据前后方相四两个传感器的反馈值来判断小车前方是否有障碍物,并根据判断结果,由单片机将控制信号送给驱动芯片L298实施对转向电机的正反转控制,以实现小车对障碍物的躲避。避障采用开环控制,即传感器检测到一个障碍物后即进入相关处理子程序。如前方有障碍物这首先左转,如在检测到左方有障碍物则右转,在右方也有障碍物的条件下停止前进。

3 结语

本文设计智能避障小车能够实现语音控制和自动避障的功能。该车的控制核心采用凌阳SPCE061A单片机,编程中用C语可以有效的利用存储空间。小车的核心控制板实现了信号采集、语音识别、电机驱动控制以及小车方向、动作指示等操作,而且还扩展多路开关型传感器接口,可以自行安装各类传感器,力求进一步优化避障小车的各项功能。实验测试该小车可以实现基本的语音控制及自动避障功能,但由于程序不够优化,其稳定性还有待提高,今后在智能避障算法上深入研究,为小车紧急避障和智能驾驶提供技术支持。

参考文献

[1] 罗亚非.凌阳十六位单片机应用基础[M].北京:北京航空航天大学出版社,2005.

[2] 张争争,任永德,谢宝昌.基于DSP的无刷直流电动机控制系统[J].微特电机,2001,29(2).

[3] 孙立志.PWM与数字化电动机控制技术应用[M].中国电力出版社,2008(1).

[4] 李军,申俊泽.超声测距模块HC-SR04的超声波测距仪设计[J].单片机与嵌入式系统应用,2011,10:77-78.

[5] 滕志军.基于超声波检测的倒车雷达设计[J].今日电子,2006(9):15-17.

[6] 谭浩强.C程序设计[M].北京大学出版社,1991(7).

上一篇:PCCP管在输水管线中的应用 下一篇:浅谈变频器在锅炉调速控制系统中的应用