陈志伟,李志超,刘天丽,张道信,王国松,王辰悉
基于STM32的智能家居垃圾桶设计
陈志伟,李志超,刘天丽,张道信,王国松,王辰悉
(安徽大学 电气工程与自动化学院,安徽 合肥 230601)
设计了一款能实现垃圾分类、自动开盖、自动避障、自动行驶等功能的智能家居垃圾桶。运用连杆机构构建出机械结构,采用语音识别的方式进行控制,运用STM32单片机编程实现整体电路的运行。使用专业绘图软件完成对各个模块电路原理图的绘制,分析了机械结构及电路模块的设计思路与过程,介绍了对垃圾桶采用语音控制的优点,对具体程序如何实现垃圾桶各个动作电路的功能作出了分析说明,对垃圾桶的机械结构、电机驱动原理、语音识别原理、PWM技术也做了相应介绍。
智能垃圾桶;单片机;语音识别;自动行驶
随着社会的发展,人们对垃圾分类的关注度越来越高,社会对于垃圾处理的各方面要求也变得更高,需要方便快捷且节约,于是各类智能垃圾桶不断问世。然而,许多家庭仍旧在使用传统的垃圾桶。
传统垃圾桶存在一些弊端,如垃圾桶一直开盖会有刺鼻的气味、垃圾桶距离远时扔垃圾不方便等。目前市面上的智能垃圾桶一般只具备单一功能,如配置WiFi的智能垃圾桶[1]或蓝牙智能垃圾桶[2],而本智能垃圾桶解决了多个有关垃圾桶使用的问题,并且效率更高,更加便于家庭使用。
该垃圾桶分为上下两个部分,上半部分为垃圾桶桶身,下半部分为运动部分,由语音控制器模块、自动开盖模块、语音控制行驶模块、自动避障模块、电源模块等组成。使用时用户通过语音“传唤”它来到身边,然后通过语音指令打开垃圾桶盖,用户丢完垃圾后桶盖自动关闭,最后它还可以在用户的语音控制下去往其他地方等待用户的再次“传唤”,以避免垃圾桶一直在使用者身边形成阻碍,打破了传统垃圾桶静止不动的局面。
(1)自动开盖功能
自动开盖由单片机、电池、语音识别模块、舵机和一些碳纤维杆组成。
当语音模块识别到用户说出“可回收”指令时,便会向单片机发送控制信号,使左舵机正转80°左右,舵机转轴上所连接的碳纤维杆便会把垃圾桶左半部分盖子顶开,同时,开盖设置了一定时间的延时,给用户扔垃圾留出了充足的时间,延时结束后舵机反转,桶盖闭合。同理,当用户说出“不可回收”指令时,会对右舵机进行相同的控制,实现语音自动开右半部分盖子的功能。碳纤维管坚硬且轻巧,可以轻松支撑起垃圾桶盖,而且相较于普通的金属连轴杆,碳纤维管的重量几乎可以忽略不计,使垃圾桶盖更加轻便。
相较于电机而言,舵机用于垃圾桶的自动开合更加简单。舵机有两种:180°舵机和360°舵机[3]。180°舵机可以根据信号转动至指定角度,正是由于这个特征,它常被用于遥控飞机、遥控汽车、机器人等领域,用来控制方向和位置。该垃圾桶的自动开盖用180°舵机也是因为这个优点。180°舵机加上PWM(Pulse Width Modulation,脉冲宽度调制)控制技术,就可以简单地控制垃圾桶盖自动开合。360°舵机和普通舵机的不同之处在于:如果输入一个信号,普通舵机只转动某个角度,而360°舵机则是按给定信号对应的速度进行匀速转动。360°舵机是由内部电路控制,运转速度更加稳定。由于该垃圾桶盖只需要打开80°左右,因此180°舵机足以满足要求。
语音开盖的实现既避免了用手打开桶盖时手与细菌的接触,也避免了一直打开的垃圾桶会散发味道的麻烦,还能解决在垃圾桶距离较远时丢垃圾的问题。另外,相较于目前市场上出现的在桶身和桶底设计拉杆[4],采用挥手或脚踏等方式开盖的垃圾桶,该智能垃圾桶的机械结构简单,对垃圾桶的有效容积占用较小。
(2)底座语音控制器功能
底座语音控制器是由LD3320语音模块和NRF24L01WiFi模块(发送模式)组成,考虑到垃圾桶可能距离用户较远,或者垃圾桶与用户之间有隔音的障碍物,直接“传唤”垃圾桶,声音可能无法准确、快速传送到垃圾桶,所以没有采用语音直接控制垃圾桶运动的办法,而是在语音模块和桶身之间加了无线通信(语音控制器可以拿在手上)。目前市面上的智能垃圾桶,大多是通过智能手机上的软件辅以WiFi或蓝牙进行数据传输控制,这些都需要智能手机的干预,而此垃圾桶既不需要智能手机,又可以实现远距离操作。控制流程如图1所示。
(3)底座运动功能
底座的运动主要设置了“前进”“后退”“左转”“右转”“停止”“加速”六个语音指令,当用户对着语音控制器说出以上指令时,控制器会将相对应的指令转化为无线信号发送出去,这时底座上的NRF24L01WiFi模块(接收模式)接收到该信号后,通过单片机控制底座做出相应的运动。
图1 语音控制模块流程图
转向功能采用差速调速的方法实现。如图2所示,将底座的4个电机进行分组编号,分别为左电机组1、2两个电机,右电机组3、4两个电机。在接收到指令后,单片机的输出控制电机的旋转状态从而得到不同的运动功能。控制前进时,4个电机以相同速度正转;控制后退时,4个电机以相同速度反转;控制左转时,左电机组以较小的速度正转,右电机组以较大的速度正转;同理,控制右转时,左电机组以较大的速度正转,右电机组以较小的速度正转;需要停止时,4个电机同时停止旋转。在前进指令的过程中,可以增加加速指令,4个电机以快于前进的速度同时正转。通过差速转向可以实现无转向轮也可转向的功能。
图2 底座结构简图
(4)自动避障功能
自动避障功能的实现使用的是红外光电传感器[5],它是由红外发射管和红外接收管组成。红外发射管不停地发射红外光,障碍物离小车越近,红外接收管得到的反射回来的红外光就越强,红外接收管上电压就越小,而与障碍物的距离越远则与之相反。接收管检测到的反射信号,经过处理后可输出给单片机,控制电机驱动进行后退加左转操作,从而避免撞到障碍物、磕坏垃圾桶。
综合上述几个功能,使用者就可以通过语音传唤,远距离操控垃圾桶来到自己身边,进行使用。
1.3.1 舵机模块
舵机一般通过PWM来控制,控制脉冲周期一般为20 ms,舵机转动的角度通常有一定范围(而不能像普通电机那样一圈圈转动),180°舵机最大旋转角度为180°[6]。舵机转动的角度由脉冲的宽度(简称脉宽)来决定,脉宽1.5 ms时舵机旋转所至位置定义为中间位置(即从该位置到最大旋转角和最小旋转角的角度一样),规定逆时针为反转,顺时针为正转,若要让舵机转轴从中间位置反转一定角度,则使控制脉冲脉宽小于1.5 ms,反之,则使控制脉冲脉宽大于1.5 ms。数字舵机收到脉宽调制信号(目的地位置信号)时可自动旋转到该位置,而模拟舵机需要不断重复发一样的脉宽调制信号直到旋转到该位置,之后还需继续发送该脉宽调制信号来进行位置锁定。图3为舵机PWM控制脉冲与转角关系图,实际应用时,具体的控制参数还需参见该舵机的技术参数。
180°舵机的转动速度与起始角度和目标角度的差有关,差值越大则舵机转得越快,当接近目标角度时就放慢速度。在编程时,转速没有专门的函数进行控制。在转动角度较大的情况,编程时可将其分成几个小角度来实现,这样可以放缓舵机速度,或者通过延时函数实现慢速。但加速只能通过加高电压来实现。
图3 舵机PWM控制脉冲与转角关系图
1.3.2 LD3320语音模块
LD3320是ICRoute公司生产的语音识别芯片[6]。通过C语言或者汇编编程可以设置芯片寄存器,将需要识别的关键信息以关键字的形式存入芯片中,即可在下次识别中生效。关键字可以是单词、短语或任何组合的汉语发音。在设置时,汉字不能超过10个,拼音不能超过79个。
LD3320有触发识别模式以及循环识别模式,在搭配单片机使用时,通过编程选择具体的工作方式:
触发器识别模式:系统每次工作都需要被重新启动,即系统启动一次才工作一次。在收到外界发出的触发信号(按键、触摸按键、红外等)时,LD3320就会启动一次识别。在一定时间内(如5 s),用户需说出需要识别的关键字,计时结束后根据收到的关键字进行工作。
循环识别模式:系统只需要启动一次,就会对声音信号不间断地识别。当没有识别结果时,系统会不断地将每个识别过程作为开始识别过程的时间,在有识别结果时,系统会在识别过程被处理后工作。对于相似的选项,LD3320会按权重来选择最优结果。例如:在设定的关键字列表中有两个关键词语“前进”和“后退”,在说出“前”这个发音时,芯片的识别结果是“前进”的加权得分最高,但芯片并不能给出用户想要的命令,只有继续说出“进”的音节后,“前进”才能被识别出来。用户停止说话后,识别芯片才会确定用户是否说完命令,通过算法找出“前进”是需要的关键词语。因为在关键字不完全时,芯片的算法不能主动得出用户是否想要这个指令,如果两个关键词语的第一个字发音相同,第二个字发音不同,就会出现两个关键词语权重一样的情况。LD3320语音识别芯片会不断计算分析送入芯片的声音信号,并对这些声音数据根据已有的关键字、关键词打分,但如果用户只发出了一部分指令,给关键词的打分就不会到100,则语音识别算法无法判断出用户想要的指令。
1.3.3 NRF24L01WiFi模块
NRF24L01是一个内部具有各种寄存器的数字芯片[8],单片机可以通过SPI口进行通讯。在使用前需配置好NRF24L01的数据寄存器,如频道、通道、地址等,并选择使用接收还是发送模式。在接收到数据后,通过STM32单片机程序进行判断,进而控制底座移动。在两次语音模块的通信中,需要同时满足三个条件:
(1)频道相同(设置频道寄存器RF_CH);
(2)地址相同(设置TX_ADDR和RX_ ADDR_P0相同);
(3)每次信息发送接收的字节数相同。
NRF24L01拥有一个发送通道和六个接收通道[8],六路通道用来接收不同数据,常用于多机通信,也可用做一对一的通信(主机用于发送,单个从机用于接收)。在主机的六路接收通道中分别设置不同的地址,根据地址的不同主机便与相应的从机形成联系。其中只有收发信号相互匹配的NRF24L01模块才能实现通信。在NRF24L01的六路通道中,通道0和通道1的地址均为40位,而其余通道的高32位地址需与通道1相同,低8位原则上可自由设置,但应避免地址重叠。由于主机需要根据不同的通道地址与相应的从机进行相互联系,所以所有主从机应处于同一个频道,同时,所有接收通道和所有接收通道的自动应答均需使能。自动应答功能实现时,由发送方进行数据发送,在发送完一次数据之后,就立刻转为接收模式,如果接收方成功收到数据,便以原地址向发送方发送收到信号,若在有效时间内发送方收到应答信号,则STATUS寄存器的第5位TX_DS置1。NR2F4L01采用SPI总线接口与单片机通信,可以实现一对一或一对六的无线通信,且数据发送传输速度可达到2 Mbp/s。本次设计使用的是NRF24L01一对一通信模式,从而实现手持语音模块只和语音接收终端的通信。
(4)L298N电机驱动模块
L298N可以接收VSS标准TTL逻辑电平信号,VSS可以连接到4.5~7 V电压。4针与电源电压相连,电压范围为2.5~46 V。输出电流能够达到2 A,也可以在单片机的控制下驱动电感性负载。L298N可以驱动2个直流减速电机。OUT1/2和OUT3/4分别接2个直流减速电动机,IN1/2和IN3/4引脚从单片机连接到控制端口,控制电机的正反转,ENA和ENB连接到控制使能端,控制电机停止。给IN1/2和IN3/4不同的电平信号,即可让电机产生正转、反转的效果,不同电机的旋转组合即可实现前进、后退和转向。L298N的功能如表1所示。
表1 L298N功能模块
注:X表示0或1。
使用PWM技术对电机进行调速,在开关管一个周期内的导通时间为,周期为,则电机两端的平均电压为:
=cc×(/)=cc(1)
式中:cc为电源电压,V;=/为占空比。
因为直流减速电机的转速与电机两端的电压成正比,而该电机两端的电压又与输入电压波形的占空比成正比,所以电机的转速与占空比成正比,占空比越大,电机的转速越大。在硬件电路的连接上,单片机的四个引脚分别连接到L298N的INT1~INT4,通过改变这四个输出引脚上的高低电平来控制电机的正反转,通过改变四个引脚上高低电平的占空比来控制电机的转速。
(5)传感器模块
智能家居垃圾桶在工作时不可避免地会遇见强光环境,这对红外传感器的干扰较大。为了提升小车的抗干扰能力,在调查后发现E18- D80NK能够基本满足对抗干扰能力的要求。因此选择使用这一款红外传感器[9]。E18-D80NK集发射与接收于一体,这种结构提高了垃圾桶底座空间的利用率。它抗干扰能力强的原因是发射光只有在调制后才会发出,接收头接收到反射回来的红外光后也是解调后才输出,而市面上大部分的红外传感器,发射头与接收头不仅是分开的,而且还是直接发射未经调制的红外光。红外线调制后有效避免了可见光的干扰。E18-D80NK传感器最远的检测距离为80 cm,但由于红外线自身的性质,对于不同颜色的物体,其检测的最远距离也不一样。E18-D80NK原理如图4所示。
(6)电源模块
由于整个系统的控制需要单片机一直待机工作,为了避免一直连接电源导致使用不便。如图5所示,搭建一个3.3 V稳压电路搭配5 V移动电源从而给单片机稳定供电。
该智能家居垃圾桶实物如图6所示,其体积小、功耗低,集自动开盖、垃圾分类、自动行驶、自动避障于一体,适合居家使用。不仅为腿脚不便者带来便利,更是让忙碌的人在不离开工位且不接触垃圾桶盖的情况下将垃圾丢入垃圾桶,方便快捷,且干净卫生。
图4 E18-D80NK原理图
图5 单片机供电原理图
图6 垃圾桶实物图
[1]鲁菁. WIFI环境下智能垃圾桶的设计研究[J]. 信息技术与信息化,2021(1):239-241.
[2]陈卓然,王璇,赵东阳,等. 基于单片机的智能垃圾桶设计[J]. 现代制造技术与装备,2021,57(1):83-84.
[3]Eskimo. 舵机与普通电机的相关知识[DB/OL]. https://zhuanlan. zhihu. com/p/338660858?ivk_sa=1024. 2020.12.22.
[4]周强,管锋,林琳,等. 一种自翻盖可压缩多功能智能垃圾桶的设计[J]. 机械,2016,43(5):51-54.
[5]张波,徐传旭,李可,等. 基于单片机的智能避障小车[J]. 内蒙古科技与经济 2020(15),100-101.
[6]程院莲. 浅析步进电机、伺服电机和舵机的区别[J]. 轻工科技,2020,36(1):36-37,62.
[7]宋朝霞,舒瑞康. 基于LD3320的语音识别智能家居控制系统的设计[J]. 信息与电脑(理论版),2020,32(20):105-106.
[8]孟庆龙. 基于NRF24L01+的单片机无线通信[J]. 电子世界,2020(4):193-195,199.
[9]王玲,孙冬冬. 基于无线传输模块NRF24L01的简易智能家居系统设计[J]. 电子测试,2016(11):25,34.
[10]北京亿学通电子. E18-D80NK-N Adjustable Infrared Sensor Switch Manual[DB/OL]. http://dl. btc. pl/kamami_wa/e18-d80nk-ds. pdf. 2019.9.12.
The Design of Intelligent Household Trash Can Based on STM32
CHEN Zhiwei,LI Zhichao,LIU Tianli,ZHANG Daoxin,WANG Guosong,WANG Chenxi
(School of Electrical Engineering and Automation, Anhui University, Hefei 230601, China)
We designed an intelligent household trash can that can realize the functions of garbage classification, automatic lid opening, automatic obstacle avoidance, automatic driving, etc. The linkage mechanism is used to construct a mechanical structure. The trash can is controlled by voice recognition and the operation of the whole circuit is realized by STM32 microcontroller programming. The circuit schematic diagrams of each module are drawn with a professional drawing software. The design ideas and process of the circuit module and mechanical structure are analyzed. The advantages of using voice control for the trash can and the specific program to realize the functions of each action circuit of the trash can are explained. The mechanical structure of the trash can, the principle of motor drive, the principle of speech recognition and the PWM technology are also introduced accordingly.
intelligent trash cans;microcontrollers;speech recognition;automatic driving
TP368.1;X799.3
A
10.3969/j.issn.1006-0316.2022.02.010
1006-0316 (2022) 02-0067-06
2021-04-30
2020年国家级大学生创新创业训练计划项目(202010357101);安徽省教育厅2018年卓越人才培养创新项目(2018zygc045)
陈志伟(1999-),男,安徽阜阳人,主要研究方向为自动化,E-mail:czw990922@163.com;刘天丽(2000-),女,安徽巢湖人,主要研究方向为自动化;张道信(1970-),男,安徽繁昌人,硕士,副教授,主要研究方向为数字信号处理、信号采集与自动控制。