基于STM32系统的智能语音控制的垃圾桶设计
扫描二维码
随时随地手机看文章
引言
随着人们生活起居水平的提高、社会的发展和经济水平的不断提升,人们对生活的要求更趋于个性化、定制化、自动化,对生活的便捷及乐趣有了更高的要求。在平时生活中,扔垃圾是再简单不过的一件事情,但也会给人们带来不必要的麻烦。比如,吃东西的时候不想走动,但也不想放一个垃圾桶在身边。为解决这样的问题,此项目设计了一款能用语音控制、自动寻迹的垃圾桶。该设计的主控系统采用STM32单片机,能够识别特定的语音指令,将语音信息转换为电信号给主控系统进行处理,主控系统在处理语音信息的基础上,判断在哪个位置有人需要,不再需要人们特意走动到垃圾桶边去扔垃圾。
1总体设计
此项目所设计的智能语音控制的垃圾桶,是采用Ys-V0.7语音识别模块来识别特定的语音指令,经STM32控制系统的数据处理做出判断,再通过寻迹系统去到指定的位置。在寻迹的过程中,用16位的数字陀螺仪检测记录位置,对走过的轨迹做虚拟标记,再对虚拟标记进行数据处理,形成一个记忆系统,使接下来的寻迹判断更加灵敏,如图1所示。
2系统硬件设计
2.1STM32F10X主控系统
STM32是sT公司设计的一款常用的增强型系列微控制器,STM32F20x系列产品属于中低端的32位基于ARM系统的微控制器,其内核是Cortex-M3,常用于微控制、电机驱动、嵌入式系统开发等方面。
2.2MPU6050六轴陀螺仪
在寻迹计算运动轨迹的过程中,判断左右移动的位移量,我们采用现在市场上最常用的六轴数字陀螺仪[2]MPU6050模块,此模块集成有三轴陀螺仪、三轴加速度计,通信方式为常用的IIC通信协议,芯片内置16位的AD转换器和16位数据输出,在精度上完全能够达到要求,并且降低了算法复杂度。
2.3YS-V027语音识别模块
语音识别模块的主控芯片采用的是LD3320,是常见的"语音识别"专用模块,内部集成语音识别处理器外加部分外围电路,如语音输出接口、串口接口电路,不用再外接其他的辅助电路,可直接应用在产品当中,即能完成特定语音指令识别功能。
2.4电机驱动与寻迹模块
电机驱动模块部分采用L298N芯片,这款芯片常作电机驱动专用,专门驱动一些小功率电机。在电路设计中,为了提高电机的驱动能力[2],特别采用三个驱动模块单独驱动电机。
对于寻迹模块,本设计采用的是电涡流位移传感器。电涡流位移传感器不受环境的影响,适应能力强,抗干扰性能好,适用于各种复杂的场所,这就使得电涡流式位移传感器更适合工作在一些光线暗、磁场强的场所。
3系统软件设计
此系统软件流程如图2所示,主要包括系统初始化、语音信息采集、中断函数等,中断函数中调用陀螺仪数据采集函数与PID调节函数。
3.1系统初始化
系统初始化是对主控芯片的IO口以及中断控制器和串口通信接口进行配置,还有对寻迹模块进行初始化设置。主要作用是完成模块化,使程序运行更加优越。
3.2语音信息采集
语音信息采集算法实现包括两部分:一部分是语音信号的采集与处理,用来识别特定的语音指令:另一部分是将处理过的数字信号传输给控制系统,实现串口传输。两部分程序的作用是实现语音信号的识别处理以及传输,以此完成语音对整个系统的控制。
3.3PID控制
PID控制算法是应用最广泛的算法之一,常用于自动化控制领域,在众多控制算法中,PID控制算法是最简单、最能说明反馈思想的控制算法。在此项目中只用到了比例环节,将采集到的实时数据与原记录数据作比较,得到与原路径的偏差,再去调整路径。
4结语
此项目是以STM32嵌入式系统开发为基础,设计的一款智能语音控制垃圾桶,通过语音指令判断出位置,结合陀螺仪记录转过的角度,用PID算法去控制电机运动,实现智能语音控制自动寻迹,告别了传统垃圾桶的使用模式,不用来回走动,就可以解决扔垃圾的问题,由此减少了因为生活琐事带来的烦恼,使人们的生活质量得到了提高。