DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2294|回复: 0
打印 上一主题 下一主题

[待整理] 基于ARM11的家用智能垃圾桶的设计与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-10 07:46:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
随着人们生活水品的不断提高,在人们购买各种家具或家电时越来越重视其智能化和人性化。人们在生活中产生的生活垃圾都需用垃 圾桶放置,考虑到老人、孕妇或者残疾人,放置垃圾时存在的不便、费时、费力等问题。设计针对这些问题,提出了具有语音识别功能的智能垃圾桶设计方案,当用 户想要扔垃圾时,只要一声令下,垃圾桶就会快速准确地来到你身边。
       
       
        1 系统硬件设计
       
        系统硬件包括垃圾桶车体机械结构和硬件控制电路两个部分。其中车体机械结构为一部三轮小车车体,能按照在不同地点处用户发出的声音指令,自动行驶到用户所在 地。系统硬件电路总体结构框图如图1所示,包括电源模块、ARM最小系统、声源定位模块、语音识别模块、避障模块和电机驱动模块。
       
       
         
        工作原理:首先通过语音识别模块识别出用户的呼叫命令,同时通过声源定位模块判断用户所处位置,再通过ARM产生驱动电机的PWM信号,利用电机驱动模块 驱动垃圾桶向声源方向行驶,并在行进过程中,利用避障模块自行避开障碍物。同时,该设计还支持用户对垃圾桶前、后、左、右行驶或打开、关闭垃圾桶盖等语音 控制。
         
        1.1 电源模块
       
        系统所有模块和控制器都需要+5 V的工作电压,采用锂电池进行供电,并用LM2576S-5稳压芯片将电压稳定在+5 V,然后通过稳压源LM1117-33和LM1117-18为S3C6410芯片3.3 V和1.8 V电压。
         
        其余语音芯片UDA1341TS、拾音器的5 V供电、红外避障、直流电动机均为+5 V供电。
       
        1.2 声源定位模块
       
        声源定位模块主要包括拾音器构成的麦克风阵列和信号处理单元,如图2所示。
       
       
        系统中麦克风阵列选用2个拾音器来实现,其监听范围为30~50 m2。由于拾音器所拾取的声音信号太小,易受环境噪声影响,因此有必要对声音信号进行预处理,通过信号调理单元的处理,使其能够满足系统要求。为满足拾音 器所得到的微弱电信号进行放大,系统采取两级放大电路。又由于A/D模块不能采集负电压信号,因此需要对放大后的电信号进行偏置,使其不出现负电压,便于 ARM采样,使其输出的误差更小。
         
        1.3 语音识别模块
       
        设计采用 Philips公司UDA1341TS专用的语音处理芯片,能对语音实现放大、滤波、采样、A/D或D/A转换及进行数字语音处理功能,并且支持璐总线数 据格式,与ARM芯片S3C6410内置IIS总线接口配合使用。ARM芯片上内置的IIS接口不但能够读取IIS总线上的数据,为FIFO数据提供 DMA的传输模式,而且可以同时传输和接收数据。UDA1341TS对所采集的语音信号进行采集和编码,由DTW模型算法进行模板训练,并将训练结果存储 在Flash中以便于在语音信号识别阶段读取模板。在语音信号识别阶段,将输入的语音信号经过音频数字信号编译码器UDA1341 TS处理后,通知S3C6410嵌入式Linux操作系统,与保存在Flash中的参考样本进行对比,找出最佳的声音识别效果,然后由嵌入式Linux操 作系统中的系统调用函数控制S3C6410的I/O口,指挥垃圾桶的运动。
       
       
        1.4 电机驱动模块
       
        电机驱动模块根据ARM控制器输出的控制信号驱动电机的运行。电机的驱动电路采用H桥驱动电路,如图3所示。
       
       
         
        Q1、Q2、Q3、Q4这4个三极管组成4个桥臂,Q1和Q4组成一组,Q2和Q3组成一组,Q5控制Q2、Q3的导通与关断,Q6控制Q1和Q4的导通 与关断,而Q5、Q6由S3C6410的IO口来控制,这样就可以通过IO输出的高低电平,控制4个桥臂的导通与关断控制电机的运行状态,使之正转反转或 者停转,进而控制垃圾桶的行驶。为避免用分立元件使电路板过于复杂,在设计中使用H桥驱动L298N芯片。
       
        1.5 避障模块
       
        避障电路采用漫反射式光电开关进行避障。光电开关是集发射头和接收头于一体的检测开关,其工作原理是根据发射头发出的光束,被障碍物反射,接收头据此做出判 断是否有障碍物。当有光线反射回来时,输出低电平;当没有光线反射回来时,输出高电平。ARM根据接收头电平的高低做出相应控制,避免小车碰到障碍物,由 于接收管输出TTL电平,有利于ARM对信号的处理。障碍检测模块作为对外部障碍信息的采集窗口,将行进过程中障碍信息检测出来,并传递给ARM控制器进 行处理。
       
       
        1.6 ARM最小系统
       
        智能垃圾桶以三星公司的ARM微处理器 S3C6410为核心控制器,其主要作用:接收和处理收到的各种传感器信号,并通过决策后输出合适的控制信号。利用S3C6410丰富的片上外设可以方便 地采集和处理各种传感器的信号,实时控制垃圾桶的运动,同时完成与语音芯片UDA1341 TS之间的通信。
       
       
        2 系统算法设计
       
        系统软件包括声源定位算法、特定语音识别算法和自动避障算法等。
       
       
        2.1 声源定位算法
       
        针对声源定位,系统采用基于传声器阵列时延估计法来估测用户发声的方向。基于时延估计的声源定位算法分为两个部分:(1)时延估计,即计算声源到两两传声器 之间的时间差。(2)方位估计,即根据时延和传声器阵列的几何位置估计出声源的位置,其中时延估计的精度是关系到声源定位精确与否的关键因素。
         
        (1)时延估计。时延估计采用广义互相关法。假设两传声器m1和m2间距为d,在没有混响的情况下,两传声器接受到的信号x1(t)和x2(t)为
            x1(t)=α1s(t)+n1(t) (1)
            x2(t)=α2s(t-τ)+n2(t) (2)
         
        其中,s(t)为声源信号;α1、α2是声波从声源到传感器的传播衰减系数;τ是声源传播到两个传感器所需延迟时间,即到达时延。n1(t)、n2(t)为环境噪声。这时,到达时延(TDOA)可以采用传统的互相关法进行估计,这时互相关方程为
           
        其中,是传声器1、2拾取信号的互相关谱;ψ12:(ω)是权函数;φx1x2(ω)=ψ12(ω)Gx1x2(ω)是广义互相关谱,这样到达时延为
         
        根据上式选取不同的权函数ψ12(ω)就可得到到达时延的不同算法,它的选取可根据实际的声学环境选择相应的准则,使得Rx1x2(τ)有个比较尖锐的峰 值,得到最好的估计效果。Rx1x2(τ)的峰值处即为两传声器间的时延。但在实际应用中,权函数的选取是一个难点。目前用得较多的是基于互功率谱相位加 权(CSP)法,其中加权函数选为ψ12=1/|Gx1x2(ω)|。这种方法通过对信号互功率谱的归一化,去除了信号的幅度信息,只保留了信号的相位特 性,对于噪声和混响都有一定的抑制效果。
         
        (2)方位估计。采用几何定位法,利用角度距离估计方位。利用两个拾音器摆成如图4所示,利用拾音器1和2接收到得时间差就可以检测出声源偏离主轴的角度θ。
       
         
        由图4可得
       
         
        由于AB距离和V声音已知,时延(tA-tB)可由式(1)~式(3)算出,再由式(4)和式(5)可求得声源偏移正方向的角度θ,则可控制电机转动使垃圾桶向用户方位旋转并前进。
        2.2 特定语音识别算法
        针对特定语音的识别,采用动态时间规整(DTW)的算法,是一种把时间规整和距离测度的计算结合起来非线性规整技术,多用于孤立词的语音识别。语音识别过程如图5所示。
       
       
         
        首先应滤掉输入语音信号的噪音并进行预加重处理,提升高频分量,然后线性预测系数等方法进行频谱分析,找出语音的特征参数作为未知模式,与预先存储的标准模式进行比较,当输入的未知模式与标准模式的特征一致时,ARM便识别输入的语音信号并输出结果。
         
        3 系统软件设计
       
        系统软件主要包括:数据采集模块、SCI通讯模块、特定声源定位算法模块和避障软件模块。系统软件总体流程图如图6所示。
       
       
       
       
        3.1 特定声源定位算法设计
       
        系统的声源定位算法主要基于传声器阵列时延估计法,利用A/D采样模块检测不同拾音器所接收到的声音信号,算法实现采用广义互相关法。ARM采样得到的波形 接近为正弦波,将对应采样得到的值放入数组中保存,首先进行相关运算,得出互相关谱。为避免误差和杂音的干扰,进行多次计算去除了误差较大的值。其算法流 程图如图7所示。
       
       
       
        同时,为避免垃圾桶对接收到的任何声音都进行定位,系统在定位时加入了语音识别,即只对需要的声音进行方位判断,对特定声音进行语音识别的流程框图如图8所示。
       
       
       
       
        3.2 避障软件设计
        避障软件模块采用对ARM的GPIO口查询方法。在垃圾桶加电后,主函数中一直查询GPIO,某一路的GPIO出现低电平时,进入相应的子函数,执行相应的 控制动作。3个红外传感器同时工作,发射红外信号。任何一个红外接收装置接收到反射的红外信号进入相应的子函数执行控制电机转动。红外避障流程如图9所示。
       
       
        4 结束语
        设计的智能垃圾桶“听”到主人的呼喊后能自动到达主人身边,并且能识别主人的声音进行一系列动作,经试验证明该设计能够满足使用要求。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-27 14:50 , 耗时 0.097146 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表