陳志偉,李志超,劉天麗,張道信,王國松,王辰悉
基于STM32的智能家居垃圾桶設(shè)計
陳志偉,李志超,劉天麗,張道信,王國松,王辰悉
(安徽大學(xué) 電氣工程與自動化學(xué)院,安徽 合肥 230601)
設(shè)計了一款能實(shí)現(xiàn)垃圾分類、自動開蓋、自動避障、自動行駛等功能的智能家居垃圾桶。運(yùn)用連桿機(jī)構(gòu)構(gòu)建出機(jī)械結(jié)構(gòu),采用語音識別的方式進(jìn)行控制,運(yùn)用STM32單片機(jī)編程實(shí)現(xiàn)整體電路的運(yùn)行。使用專業(yè)繪圖軟件完成對各個模塊電路原理圖的繪制,分析了機(jī)械結(jié)構(gòu)及電路模塊的設(shè)計思路與過程,介紹了對垃圾桶采用語音控制的優(yōu)點(diǎn),對具體程序如何實(shí)現(xiàn)垃圾桶各個動作電路的功能作出了分析說明,對垃圾桶的機(jī)械結(jié)構(gòu)、電機(jī)驅(qū)動原理、語音識別原理、PWM技術(shù)也做了相應(yīng)介紹。
智能垃圾桶;單片機(jī);語音識別;自動行駛
隨著社會的發(fā)展,人們對垃圾分類的關(guān)注度越來越高,社會對于垃圾處理的各方面要求也變得更高,需要方便快捷且節(jié)約,于是各類智能垃圾桶不斷問世。然而,許多家庭仍舊在使用傳統(tǒng)的垃圾桶。
傳統(tǒng)垃圾桶存在一些弊端,如垃圾桶一直開蓋會有刺鼻的氣味、垃圾桶距離遠(yuǎn)時扔垃圾不方便等。目前市面上的智能垃圾桶一般只具備單一功能,如配置WiFi的智能垃圾桶[1]或藍(lán)牙智能垃圾桶[2],而本智能垃圾桶解決了多個有關(guān)垃圾桶使用的問題,并且效率更高,更加便于家庭使用。
該垃圾桶分為上下兩個部分,上半部分為垃圾桶桶身,下半部分為運(yùn)動部分,由語音控制器模塊、自動開蓋模塊、語音控制行駛模塊、自動避障模塊、電源模塊等組成。使用時用戶通過語音“傳喚”它來到身邊,然后通過語音指令打開垃圾桶蓋,用戶丟完垃圾后桶蓋自動關(guān)閉,最后它還可以在用戶的語音控制下去往其他地方等待用戶的再次“傳喚”,以避免垃圾桶一直在使用者身邊形成阻礙,打破了傳統(tǒng)垃圾桶靜止不動的局面。
(1)自動開蓋功能
自動開蓋由單片機(jī)、電池、語音識別模塊、舵機(jī)和一些碳纖維桿組成。
當(dāng)語音模塊識別到用戶說出“可回收”指令時,便會向單片機(jī)發(fā)送控制信號,使左舵機(jī)正轉(zhuǎn)80°左右,舵機(jī)轉(zhuǎn)軸上所連接的碳纖維桿便會把垃圾桶左半部分蓋子頂開,同時,開蓋設(shè)置了一定時間的延時,給用戶扔垃圾留出了充足的時間,延時結(jié)束后舵機(jī)反轉(zhuǎn),桶蓋閉合。同理,當(dāng)用戶說出“不可回收”指令時,會對右舵機(jī)進(jìn)行相同的控制,實(shí)現(xiàn)語音自動開右半部分蓋子的功能。碳纖維管堅硬且輕巧,可以輕松支撐起垃圾桶蓋,而且相較于普通的金屬連軸桿,碳纖維管的重量幾乎可以忽略不計,使垃圾桶蓋更加輕便。
相較于電機(jī)而言,舵機(jī)用于垃圾桶的自動開合更加簡單。舵機(jī)有兩種:180°舵機(jī)和360°舵機(jī)[3]。180°舵機(jī)可以根據(jù)信號轉(zhuǎn)動至指定角度,正是由于這個特征,它常被用于遙控飛機(jī)、遙控汽車、機(jī)器人等領(lǐng)域,用來控制方向和位置。該垃圾桶的自動開蓋用180°舵機(jī)也是因?yàn)檫@個優(yōu)點(diǎn)。180°舵機(jī)加上PWM(Pulse Width Modulation,脈沖寬度調(diào)制)控制技術(shù),就可以簡單地控制垃圾桶蓋自動開合。360°舵機(jī)和普通舵機(jī)的不同之處在于:如果輸入一個信號,普通舵機(jī)只轉(zhuǎn)動某個角度,而360°舵機(jī)則是按給定信號對應(yīng)的速度進(jìn)行勻速轉(zhuǎn)動。360°舵機(jī)是由內(nèi)部電路控制,運(yùn)轉(zhuǎn)速度更加穩(wěn)定。由于該垃圾桶蓋只需要打開80°左右,因此180°舵機(jī)足以滿足要求。
語音開蓋的實(shí)現(xiàn)既避免了用手打開桶蓋時手與細(xì)菌的接觸,也避免了一直打開的垃圾桶會散發(fā)味道的麻煩,還能解決在垃圾桶距離較遠(yuǎn)時丟垃圾的問題。另外,相較于目前市場上出現(xiàn)的在桶身和桶底設(shè)計拉桿[4],采用揮手或腳踏等方式開蓋的垃圾桶,該智能垃圾桶的機(jī)械結(jié)構(gòu)簡單,對垃圾桶的有效容積占用較小。
(2)底座語音控制器功能
底座語音控制器是由LD3320語音模塊和NRF24L01WiFi模塊(發(fā)送模式)組成,考慮到垃圾桶可能距離用戶較遠(yuǎn),或者垃圾桶與用戶之間有隔音的障礙物,直接“傳喚”垃圾桶,聲音可能無法準(zhǔn)確、快速傳送到垃圾桶,所以沒有采用語音直接控制垃圾桶運(yùn)動的辦法,而是在語音模塊和桶身之間加了無線通信(語音控制器可以拿在手上)。目前市面上的智能垃圾桶,大多是通過智能手機(jī)上的軟件輔以WiFi或藍(lán)牙進(jìn)行數(shù)據(jù)傳輸控制,這些都需要智能手機(jī)的干預(yù),而此垃圾桶既不需要智能手機(jī),又可以實(shí)現(xiàn)遠(yuǎn)距離操作??刂屏鞒倘鐖D1所示。
(3)底座運(yùn)動功能
底座的運(yùn)動主要設(shè)置了“前進(jìn)”“后退”“左轉(zhuǎn)”“右轉(zhuǎn)”“停止”“加速”六個語音指令,當(dāng)用戶對著語音控制器說出以上指令時,控制器會將相對應(yīng)的指令轉(zhuǎn)化為無線信號發(fā)送出去,這時底座上的NRF24L01WiFi模塊(接收模式)接收到該信號后,通過單片機(jī)控制底座做出相應(yīng)的運(yùn)動。
圖1 語音控制模塊流程圖
轉(zhuǎn)向功能采用差速調(diào)速的方法實(shí)現(xiàn)。如圖2所示,將底座的4個電機(jī)進(jìn)行分組編號,分別為左電機(jī)組1、2兩個電機(jī),右電機(jī)組3、4兩個電機(jī)。在接收到指令后,單片機(jī)的輸出控制電機(jī)的旋轉(zhuǎn)狀態(tài)從而得到不同的運(yùn)動功能??刂魄斑M(jìn)時,4個電機(jī)以相同速度正轉(zhuǎn);控制后退時,4個電機(jī)以相同速度反轉(zhuǎn);控制左轉(zhuǎn)時,左電機(jī)組以較小的速度正轉(zhuǎn),右電機(jī)組以較大的速度正轉(zhuǎn);同理,控制右轉(zhuǎn)時,左電機(jī)組以較大的速度正轉(zhuǎn),右電機(jī)組以較小的速度正轉(zhuǎn);需要停止時,4個電機(jī)同時停止旋轉(zhuǎn)。在前進(jìn)指令的過程中,可以增加加速指令,4個電機(jī)以快于前進(jìn)的速度同時正轉(zhuǎn)。通過差速轉(zhuǎn)向可以實(shí)現(xiàn)無轉(zhuǎn)向輪也可轉(zhuǎn)向的功能。
圖2 底座結(jié)構(gòu)簡圖
(4)自動避障功能
自動避障功能的實(shí)現(xiàn)使用的是紅外光電傳感器[5],它是由紅外發(fā)射管和紅外接收管組成。紅外發(fā)射管不停地發(fā)射紅外光,障礙物離小車越近,紅外接收管得到的反射回來的紅外光就越強(qiáng),紅外接收管上電壓就越小,而與障礙物的距離越遠(yuǎn)則與之相反。接收管檢測到的反射信號,經(jīng)過處理后可輸出給單片機(jī),控制電機(jī)驅(qū)動進(jìn)行后退加左轉(zhuǎn)操作,從而避免撞到障礙物、磕壞垃圾桶。
綜合上述幾個功能,使用者就可以通過語音傳喚,遠(yuǎn)距離操控垃圾桶來到自己身邊,進(jìn)行使用。
1.3.1 舵機(jī)模塊
舵機(jī)一般通過PWM來控制,控制脈沖周期一般為20 ms,舵機(jī)轉(zhuǎn)動的角度通常有一定范圍(而不能像普通電機(jī)那樣一圈圈轉(zhuǎn)動),180°舵機(jī)最大旋轉(zhuǎn)角度為180°[6]。舵機(jī)轉(zhuǎn)動的角度由脈沖的寬度(簡稱脈寬)來決定,脈寬1.5 ms時舵機(jī)旋轉(zhuǎn)所至位置定義為中間位置(即從該位置到最大旋轉(zhuǎn)角和最小旋轉(zhuǎn)角的角度一樣),規(guī)定逆時針為反轉(zhuǎn),順時針為正轉(zhuǎn),若要讓舵機(jī)轉(zhuǎn)軸從中間位置反轉(zhuǎn)一定角度,則使控制脈沖脈寬小于1.5 ms,反之,則使控制脈沖脈寬大于1.5 ms。數(shù)字舵機(jī)收到脈寬調(diào)制信號(目的地位置信號)時可自動旋轉(zhuǎn)到該位置,而模擬舵機(jī)需要不斷重復(fù)發(fā)一樣的脈寬調(diào)制信號直到旋轉(zhuǎn)到該位置,之后還需繼續(xù)發(fā)送該脈寬調(diào)制信號來進(jìn)行位置鎖定。圖3為舵機(jī)PWM控制脈沖與轉(zhuǎn)角關(guān)系圖,實(shí)際應(yīng)用時,具體的控制參數(shù)還需參見該舵機(jī)的技術(shù)參數(shù)。
180°舵機(jī)的轉(zhuǎn)動速度與起始角度和目標(biāo)角度的差有關(guān),差值越大則舵機(jī)轉(zhuǎn)得越快,當(dāng)接近目標(biāo)角度時就放慢速度。在編程時,轉(zhuǎn)速沒有專門的函數(shù)進(jìn)行控制。在轉(zhuǎn)動角度較大的情況,編程時可將其分成幾個小角度來實(shí)現(xiàn),這樣可以放緩舵機(jī)速度,或者通過延時函數(shù)實(shí)現(xiàn)慢速。但加速只能通過加高電壓來實(shí)現(xiàn)。
圖3 舵機(jī)PWM控制脈沖與轉(zhuǎn)角關(guān)系圖
1.3.2 LD3320語音模塊
LD3320是ICRoute公司生產(chǎn)的語音識別芯片[6]。通過C語言或者匯編編程可以設(shè)置芯片寄存器,將需要識別的關(guān)鍵信息以關(guān)鍵字的形式存入芯片中,即可在下次識別中生效。關(guān)鍵字可以是單詞、短語或任何組合的漢語發(fā)音。在設(shè)置時,漢字不能超過10個,拼音不能超過79個。
LD3320有觸發(fā)識別模式以及循環(huán)識別模式,在搭配單片機(jī)使用時,通過編程選擇具體的工作方式:
觸發(fā)器識別模式:系統(tǒng)每次工作都需要被重新啟動,即系統(tǒng)啟動一次才工作一次。在收到外界發(fā)出的觸發(fā)信號(按鍵、觸摸按鍵、紅外等)時,LD3320就會啟動一次識別。在一定時間內(nèi)(如5 s),用戶需說出需要識別的關(guān)鍵字,計時結(jié)束后根據(jù)收到的關(guān)鍵字進(jìn)行工作。
循環(huán)識別模式:系統(tǒng)只需要啟動一次,就會對聲音信號不間斷地識別。當(dāng)沒有識別結(jié)果時,系統(tǒng)會不斷地將每個識別過程作為開始識別過程的時間,在有識別結(jié)果時,系統(tǒng)會在識別過程被處理后工作。對于相似的選項(xiàng),LD3320會按權(quán)重來選擇最優(yōu)結(jié)果。例如:在設(shè)定的關(guān)鍵字列表中有兩個關(guān)鍵詞語“前進(jìn)”和“后退”,在說出“前”這個發(fā)音時,芯片的識別結(jié)果是“前進(jìn)”的加權(quán)得分最高,但芯片并不能給出用戶想要的命令,只有繼續(xù)說出“進(jìn)”的音節(jié)后,“前進(jìn)”才能被識別出來。用戶停止說話后,識別芯片才會確定用戶是否說完命令,通過算法找出“前進(jìn)”是需要的關(guān)鍵詞語。因?yàn)樵陉P(guān)鍵字不完全時,芯片的算法不能主動得出用戶是否想要這個指令,如果兩個關(guān)鍵詞語的第一個字發(fā)音相同,第二個字發(fā)音不同,就會出現(xiàn)兩個關(guān)鍵詞語權(quán)重一樣的情況。LD3320語音識別芯片會不斷計算分析送入芯片的聲音信號,并對這些聲音數(shù)據(jù)根據(jù)已有的關(guān)鍵字、關(guān)鍵詞打分,但如果用戶只發(fā)出了一部分指令,給關(guān)鍵詞的打分就不會到100,則語音識別算法無法判斷出用戶想要的指令。
1.3.3 NRF24L01WiFi模塊
NRF24L01是一個內(nèi)部具有各種寄存器的數(shù)字芯片[8],單片機(jī)可以通過SPI口進(jìn)行通訊。在使用前需配置好NRF24L01的數(shù)據(jù)寄存器,如頻道、通道、地址等,并選擇使用接收還是發(fā)送模式。在接收到數(shù)據(jù)后,通過STM32單片機(jī)程序進(jìn)行判斷,進(jìn)而控制底座移動。在兩次語音模塊的通信中,需要同時滿足三個條件:
(1)頻道相同(設(shè)置頻道寄存器RF_CH);
(2)地址相同(設(shè)置TX_ADDR和RX_ ADDR_P0相同);
(3)每次信息發(fā)送接收的字節(jié)數(shù)相同。
NRF24L01擁有一個發(fā)送通道和六個接收通道[8],六路通道用來接收不同數(shù)據(jù),常用于多機(jī)通信,也可用做一對一的通信(主機(jī)用于發(fā)送,單個從機(jī)用于接收)。在主機(jī)的六路接收通道中分別設(shè)置不同的地址,根據(jù)地址的不同主機(jī)便與相應(yīng)的從機(jī)形成聯(lián)系。其中只有收發(fā)信號相互匹配的NRF24L01模塊才能實(shí)現(xiàn)通信。在NRF24L01的六路通道中,通道0和通道1的地址均為40位,而其余通道的高32位地址需與通道1相同,低8位原則上可自由設(shè)置,但應(yīng)避免地址重疊。由于主機(jī)需要根據(jù)不同的通道地址與相應(yīng)的從機(jī)進(jìn)行相互聯(lián)系,所以所有主從機(jī)應(yīng)處于同一個頻道,同時,所有接收通道和所有接收通道的自動應(yīng)答均需使能。自動應(yīng)答功能實(shí)現(xiàn)時,由發(fā)送方進(jìn)行數(shù)據(jù)發(fā)送,在發(fā)送完一次數(shù)據(jù)之后,就立刻轉(zhuǎn)為接收模式,如果接收方成功收到數(shù)據(jù),便以原地址向發(fā)送方發(fā)送收到信號,若在有效時間內(nèi)發(fā)送方收到應(yīng)答信號,則STATUS寄存器的第5位TX_DS置1。NR2F4L01采用SPI總線接口與單片機(jī)通信,可以實(shí)現(xiàn)一對一或一對六的無線通信,且數(shù)據(jù)發(fā)送傳輸速度可達(dá)到2 Mbp/s。本次設(shè)計使用的是NRF24L01一對一通信模式,從而實(shí)現(xiàn)手持語音模塊只和語音接收終端的通信。
(4)L298N電機(jī)驅(qū)動模塊
L298N可以接收VSS標(biāo)準(zhǔn)TTL邏輯電平信號,VSS可以連接到4.5~7 V電壓。4針與電源電壓相連,電壓范圍為2.5~46 V。輸出電流能夠達(dá)到2 A,也可以在單片機(jī)的控制下驅(qū)動電感性負(fù)載。L298N可以驅(qū)動2個直流減速電機(jī)。OUT1/2和OUT3/4分別接2個直流減速電動機(jī),IN1/2和IN3/4引腳從單片機(jī)連接到控制端口,控制電機(jī)的正反轉(zhuǎn),ENA和ENB連接到控制使能端,控制電機(jī)停止。給IN1/2和IN3/4不同的電平信號,即可讓電機(jī)產(chǎn)生正轉(zhuǎn)、反轉(zhuǎn)的效果,不同電機(jī)的旋轉(zhuǎn)組合即可實(shí)現(xiàn)前進(jìn)、后退和轉(zhuǎn)向。L298N的功能如表1所示。
表1 L298N功能模塊
注:X表示0或1。
使用PWM技術(shù)對電機(jī)進(jìn)行調(diào)速,在開關(guān)管一個周期內(nèi)的導(dǎo)通時間為,周期為,則電機(jī)兩端的平均電壓為:
=cc×(/)=cc(1)
式中:cc為電源電壓,V;=/為占空比。
因?yàn)橹绷鳒p速電機(jī)的轉(zhuǎn)速與電機(jī)兩端的電壓成正比,而該電機(jī)兩端的電壓又與輸入電壓波形的占空比成正比,所以電機(jī)的轉(zhuǎn)速與占空比成正比,占空比越大,電機(jī)的轉(zhuǎn)速越大。在硬件電路的連接上,單片機(jī)的四個引腳分別連接到L298N的INT1~I(xiàn)NT4,通過改變這四個輸出引腳上的高低電平來控制電機(jī)的正反轉(zhuǎn),通過改變四個引腳上高低電平的占空比來控制電機(jī)的轉(zhuǎn)速。
(5)傳感器模塊
智能家居垃圾桶在工作時不可避免地會遇見強(qiáng)光環(huán)境,這對紅外傳感器的干擾較大。為了提升小車的抗干擾能力,在調(diào)查后發(fā)現(xiàn)E18- D80NK能夠基本滿足對抗干擾能力的要求。因此選擇使用這一款紅外傳感器[9]。E18-D80NK集發(fā)射與接收于一體,這種結(jié)構(gòu)提高了垃圾桶底座空間的利用率。它抗干擾能力強(qiáng)的原因是發(fā)射光只有在調(diào)制后才會發(fā)出,接收頭接收到反射回來的紅外光后也是解調(diào)后才輸出,而市面上大部分的紅外傳感器,發(fā)射頭與接收頭不僅是分開的,而且還是直接發(fā)射未經(jīng)調(diào)制的紅外光。紅外線調(diào)制后有效避免了可見光的干擾。E18-D80NK傳感器最遠(yuǎn)的檢測距離為80 cm,但由于紅外線自身的性質(zhì),對于不同顏色的物體,其檢測的最遠(yuǎn)距離也不一樣。E18-D80NK原理如圖4所示。
(6)電源模塊
由于整個系統(tǒng)的控制需要單片機(jī)一直待機(jī)工作,為了避免一直連接電源導(dǎo)致使用不便。如圖5所示,搭建一個3.3 V穩(wěn)壓電路搭配5 V移動電源從而給單片機(jī)穩(wěn)定供電。
該智能家居垃圾桶實(shí)物如圖6所示,其體積小、功耗低,集自動開蓋、垃圾分類、自動行駛、自動避障于一體,適合居家使用。不僅為腿腳不便者帶來便利,更是讓忙碌的人在不離開工位且不接觸垃圾桶蓋的情況下將垃圾丟入垃圾桶,方便快捷,且干凈衛(wèi)生。
圖4 E18-D80NK原理圖
圖5 單片機(jī)供電原理圖
圖6 垃圾桶實(shí)物圖
[1]魯菁. WIFI環(huán)境下智能垃圾桶的設(shè)計研究[J]. 信息技術(shù)與信息化,2021(1):239-241.
[2]陳卓然,王璇,趙東陽,等. 基于單片機(jī)的智能垃圾桶設(shè)計[J]. 現(xiàn)代制造技術(shù)與裝備,2021,57(1):83-84.
[3]Eskimo. 舵機(jī)與普通電機(jī)的相關(guān)知識[DB/OL]. https://zhuanlan. zhihu. com/p/338660858?ivk_sa=1024. 2020.12.22.
[4]周強(qiáng),管鋒,林琳,等. 一種自翻蓋可壓縮多功能智能垃圾桶的設(shè)計[J]. 機(jī)械,2016,43(5):51-54.
[5]張波,徐傳旭,李可,等. 基于單片機(jī)的智能避障小車[J]. 內(nèi)蒙古科技與經(jīng)濟(jì) 2020(15),100-101.
[6]程院蓮. 淺析步進(jìn)電機(jī)、伺服電機(jī)和舵機(jī)的區(qū)別[J]. 輕工科技,2020,36(1):36-37,62.
[7]宋朝霞,舒瑞康. 基于LD3320的語音識別智能家居控制系統(tǒng)的設(shè)計[J]. 信息與電腦(理論版),2020,32(20):105-106.
[8]孟慶龍. 基于NRF24L01+的單片機(jī)無線通信[J]. 電子世界,2020(4):193-195,199.
[9]王玲,孫冬冬. 基于無線傳輸模塊NRF24L01的簡易智能家居系統(tǒng)設(shè)計[J]. 電子測試,2016(11):25,34.
[10]北京億學(xué)通電子. 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年國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項(xiàng)目(202010357101);安徽省教育廳2018年卓越人才培養(yǎng)創(chuàng)新項(xiàng)目(2018zygc045)
陳志偉(1999-),男,安徽阜陽人,主要研究方向?yàn)樽詣踊?,E-mail:czw990922@163.com;劉天麗(2000-),女,安徽巢湖人,主要研究方向?yàn)樽詣踊?;張道信?970-),男,安徽繁昌人,碩士,副教授,主要研究方向?yàn)閿?shù)字信號處理、信號采集與自動控制。