郭昌鑫,鄭祺文,梁鈺明,巫坤鋌,周宇媚,周衛星
(1.廣州理工學院電氣與電子工程學院,廣東 廣州 510540;2.廣州棒谷科技股份有限公司,廣東 廣州 510435)
目前,隨著智能垃圾桶制造行業的不斷發展與成熟,其系統一般具備自動開關蓋、裝滿自動報警、智能語音提示等功能。自動開關蓋功能的實現一般是由人體靠近時垃圾桶感應到并由電動機驅動蓋子開關,常見的人體靠近感應方式有聲音傳感器感應、超聲波測距感應、紅外避障感應以及人體紅外感應等。
本設計主要以STM32 系列單片機作為微控制器,采用人體紅外傳感器作為人體檢測部件,外加超聲波測距模塊輔助感應,當人體經過時,人體發出的紅外線經人體紅外傳感器檢測后自動開蓋并維持一段時間,人離開后自動關蓋,系統還具備實時檢測桶內垃圾高度、煙霧傳感器檢測毒氣、負離子發生器清除異味等功能。
2.1.1 步進電機
本系統采用的是五線四相的步進電機。步進電機控制系統一般包括三部分:控制器、驅動器及步進電機主體。其控制器為STM32 主控芯片,負責產生所需的速度輪廓;驅動器負責將脈沖信號放大為可以驅動步進電機的繞組電流(主控芯片的電流驅動能力弱,無法驅動電機旋轉),而脈沖信號主要是通過單片機或者CPU 產生,電機的轉速越高占空比越大,一般脈沖信號占空比為0.4 左右[1];步進電機主體負責產生磁場,旋轉時帶動蓋子打開,該電機的轉動速度則由脈沖的頻率所決定,頻率越快則轉動的速度越快,但是當轉動頻率過快時步進電機會失步或丟步,即轉的角度不夠,或者原地不動。
2.1.2 人體紅外感應模塊
人體紅外感應模塊是控制裝置的核心部件,主要功能是采集室內人體紅外對象的活動情況[2],它是基于紅外線技術的自動控制模塊,其靈敏度高、功耗低,當人進入感應范圍時輸出高電平,人離開感應范圍時則自動延時關閉高電平,輸出低電平。正常情況下,人體能夠發出波長約為10 μm 的紅外線。這種人發出的紅外線首先經過紅外感應元件的菲尼爾濾光片,由濾光片對紅外線信號實施增強,然后將增強信號聚集至能夠感應紅外線的感應源上[3],當人進入感應范圍后將電平變化信號傳送給單片機后打開蓋子。
2.1.3 超聲波模塊
作為輔助蓋子維持開啟狀態的模塊,防止在丟垃圾時間過長造成人體紅外傳感器誤判,提前由高電平變成低電平而蓋子突然關閉。啟動該模塊時只需提供一個10 μs 以上的脈沖觸發信號,該模塊內部將發出8 個40 kHz 周期電平并檢測回波。一旦檢測到右回波信號則輸出回響信號。回響信號的脈沖寬度與所測的距離成正比。由此通過發射信號到收到的回響信號時間間隔可以計算得到距離。
2.1.4 電源模塊
供電模塊原理如圖1 所示,由于本系統的硬件部分由三個電壓等級的電源供電,即提供3.3 V 電壓給主控芯片、5 V電壓給傳感器、12 V 電壓給步進電機使用。其中供電系統的輸入電壓是12 V,由三節可循環充電的18650 鋰電池串聯后提供,而3.3 V 和5 V 電壓由LM25965 穩壓芯片穩壓而得。
2.2.1 紅外避障程序
當傳感器檢測到障礙物時,傳感器輸出由高電平變為低電平,因此,在正常沒有檢測到障礙物的情況下,為高電平,其掃描程序框圖如圖2 所示。當檢測到障礙物時輸出低電平,此時打開蜂鳴器報警提示,直至低電平變為高電平后,關閉報警(該掃描函數在蓋上蓋子后才被調用)。

圖1 供電模塊原理圖
2.2.2 步進電機程序
步進電機的掃描程序框圖如圖3 所示。掃描函數主要內容是控制電機的正逆旋轉和旋轉角度大小。對于電機旋轉角度的控制,可通過編寫正反轉碼來控制轉動的角度,其涉及到數字電路的循環碼,同時步進電機還需要配置兩個相應的定時器(一個定時1 ms,另一個用于產生脈沖)。實驗發現,如果將定時1 ms 的定時器中斷優先級設置為0 級,用于發脈沖的定時器中斷優先級設置為1 級,即用于定時1 ms 的定時器中斷優先級高于用于產生脈沖定時器中斷優先級,則會出現輸出脈沖間斷且丟脈沖的現象,步進電機運行不平穩產生抖動且定位不準[4]。

圖2 紅外避障掃描程序框圖

圖3 步進電機掃描程序框圖
系統調試時,首先制定一個系統的調試方案,先是軟件調試:即先對本系統中的各個模塊進行單獨測試,包括對各個模塊的軟件部分的參數調試與參數分析,其次是將所有調試完的模塊進行軟件部分的整合,再進行整體的功能調試和參數的改進。
其次是對硬件連接:根據各模塊的大小和特定的安裝位置,如紅外避障傳感器要安裝在垃圾桶蓋的內面,實現對傳感器與障礙物的距離檢測,然后對電路進行整體布局,包括各元器件的擺放位置,特別注意的是,不同模塊的所需要的電壓是不同的,比如主控芯片需要3.3 V 電壓供電;步進電機的輸入電壓不能過低,剛開始調試時只給了3.3 V,隨后電機的旋轉不正常,且當三節電池的剩余電量不足時,電機的旋轉驅動能力出現不足的情況,導致無法正常開蓋。智能垃圾桶實物如圖4 所示。

圖4 智能垃圾桶實物圖
本文介紹了基于STM32 單片機的智能垃圾桶設計方案和實現過程,系統以高性能STM32 主控芯片、人體紅外感應模塊、步進電機等核心部件實現了垃圾桶自動開關蓋、滿桶報警和毒氣報警等功能。最開始篩選了幾款不一樣的單片機作為主控芯片,但經過對比之后,最終確定了使用功能強大的STM32 為主控芯片。經過測試表明,該智能垃圾桶的反應速度快、系統的誤差較低、功能穩定,具有一定的利用價值,在今后還可對本系統進行完善和改進,比如垃圾自動分類和自動倒垃圾的功能,這將對人們生活環境的保護具有一定的價值和意義。