基于CW32的智能语音分类垃圾桶

2024-04-22  

描述简介:基于武汉芯源半导体CW32F030C8T6和启英泰伦CI-C22GS02制作的智能语音分类垃圾桶,能够实现识别语音来判断垃圾种类,同时打开相应的垃圾桶,可外接普通按键或者触摸按键,也可以外接红外接近传感器来打开对应的垃圾桶。


项目说明

wKgaomTIs-OAGd80AAaL3hUTMos920.png


wKgZomTIs_mABAv0AA4pE-OCBZg580.png

本次设计采用武汉芯源半导体的CW32F030C8T6作为主控,主要负责和离线语音模块的串口通讯,负责输出4路PWM信号、驱动IPS显示屏、控制2路MOS驱动电路(控制风扇和灯光)、驱动4个WS2812B灯。语音识模块采用启英泰伦CI-C22GS02模块(主芯片采用Cl1122,支持本地200条命令词以下的离线语音识别),主要负责语音识别和播报语音,可通过串口与MCU通讯。


项目相关功能介绍

介绍

1.离线语音模块的命令词可自行定制,最多可录入200个命令词,目前已录入了168条垃圾名词和一些控制指令。当语音模块识别到正确的命令词后,串口输出规定协议的数据。语音模块也可以接收规定协议的串口数据来播报指定的语音。离线语音模块的串口1和MCU主控的串口2使用跳线连接,方便分别开发调试。

wKgaomTItDSAfffSAARHGsWheAs132.png


2.主控输出4路PWM信号(周期20us,频率50Hz),可直接驱动4路舵机。


wKgaomTItECABzIcAATicwNDHvE527.png

3.四个WS2812B灯作为4类垃圾的指示灯,语音模块在识别到正确的语音后,由CW32主控来控制指定的灯点亮对应的颜色。

wKgZomTItE2ADDPdAAHn2EurbEw785.png

4.电路采用直流12V供电,经DC-DC降压后输出5.2V,5.2V再经LDO降压后输出3.3V。其中CI-C22GS02模块、舵机、WS2812B、外部灯光和风扇供电均采用5.2V供电,MCU主控、IPS显示屏采用3.3V供电。


wKgaomTItFyAHJrnAAIm4SaKdI0986.png

5.电路设计了2路MOS驱动电路,可外接5V的小风扇和5V供电的灯。另外预留了2种屏幕接口,支持8针的SPI接口的屏幕或者4针的I2C接口的屏幕。预留3组扩展接口,将剩余的IO口全部引出,方便扩展。


wKgaomTItGSAJhJdAASclqAXTL8775.png



硬件部分介绍

智能语音分类垃圾桶主要包含主控板、显示屏、独立按键模块、加装舵机的垃圾桶模型、12V电源适配器。


软件部分介绍

软件分两部分,一部分是针对CW32F030C8T6的程序开发,另一部分是针对CI-C22GS02离线语音模块的命令词、语言模型、声学模型以及固件的制作。

1.CW32F030C8T6的程序开发。采用Keil5开发,借鉴了CW32官方例程和开源平台上一些大佬的程序。程序中涉及GPIO、DMA、定时器、ADC、UART、PWM、SPI等功能的实现。

因本人水平有限,写的程序只能说能用,但不保证好用。里面使用了大量的全局变量,还有很多改进的地方。

下面展示了部分程序。

(1)主程序

wKgaomTItL6AYAPUAAIkp-dgd70145.pngwKgaomTItMqAAxTtAANHOxQt4VE919.png



(2)串口发送程序

wKgaomTItNiANebBAAI4egMHG28818.png

(3)串口接收程序(有BUG,接收两遍才能接收完整)

wKgaomTItOWANLSXAAO5hryzM30628.pngwKgZomTItPGADMrZAAPsVtwPU2g730.png



(4)舵机执行动作的程序

采用定时器和标志位,使舵机缓慢打开,一定时间后缓慢自动关闭,4路舵机相互不受影响。


wKgaomTItP2AWPK0AALGLZFBO24636.png

2.CI-C22GS02离线语音模块的命令词、语言模型、声学模型以及固件的制作。具体制作教程建议参考启英泰伦文档中心

(1)命令词列表(根据自己需要定制)

wKgaomTItQaARwpaAAKwG8-hi-k041.png

(2)生成的语言模型相应的文件放在这里

wKgaomTItQ6ATWUQAAIyMAFL17M608.pngwKgaomTItRuAbVmAAAEDJSl6yCg374.png

(3)生成的声学模型相应的文件放在这里


wKgZomTItSSAYoE2AACupvTQLDU671.png

(4)生成固件之前需要手动修改这里,这里按照数字顺序(16进制)来修改。

wKgZomTItSuAb2MNAAL6rYBlctk850.png

(5)合并烧录固件

wKgaomTItUqAc2pUAAOIXYEkLzM449.png

(6)打包固件



wKgaomTItVeAXp1aAAQ0gfuRwp0765.png


(7)烧录固件。使用CH340串口工具,CH340的TX接语音模块串口0的RXD,CH340的RX接语音模块串口0的TXD,GNG接GND。CH340先插入电脑,烧录软件中出现对应的串口后,在右边的方框中打勾,然后按住UPDATE 按钮,CH340D的5V接语音模块+5V,此时烧录软件会显示开始烧录,直到烧录完成。

wKgaomTItWyAKPwVAAPI95Ms7dE870.png



固件烧录成功后,喇叭应该会播报事先录入的欢迎词,这就说明烧录成功。


设计图

wKgZomTItXuABxnRAAer4YHLiMs730.png

原理图_V1.0

wKgZomTItYmAF6ASAAPS7LpJnNY534.png


原理图_V2.0

wKgaomTItZSAMMhfAAXN2tOKoVQ264.png

PCB_V2.0


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。