陳志偉,李志超,劉天麗,張道信,王國松,王辰悉
基于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-),男,安徽繁昌人,碩士,副教授,主要研究方向為數字信號處理、信號采集與自動控制。