胡振山,江振青,呂海燕
(臨沂大學,山東 臨沂 276000)
隨著城市的高速發(fā)展、生活水平和消費水平的提高以及飲食行業(yè)的迅速發(fā)展,城市生活垃圾不斷增多,垃圾的成分也越來越復雜,造成的污染問題也日益嚴重。垃圾在腐化過程中,產生氨、甲烷和硫化氫等有害氣體,形成惡臭,嚴重污染大氣。所以,垃圾的及時處理就成為了困擾人們的重要問題。本文在系統(tǒng)設計過程中充分考慮到各種傳感器高速發(fā)展的成果以及手機已普及的社會現狀,認為現有條件可以滿足本系統(tǒng)及時報警的要求。本系統(tǒng)基于GSM網絡的短信服務,在STM32F103ZET6的控制下,能夠以短信的形式提醒垃圾回收人員及時更換垃圾桶。
本系統(tǒng)總體方案設計為:通過激光測距模塊不斷地檢測垃圾桶內的距離信息,從而判斷垃圾桶內容量是否充足;在單片機的控制下通過GSM短信模塊將信息實時傳送給目標手機,完成整個系統(tǒng)的功能。通過激光測距模塊進行測量,測得的距離信息經單片機處理判斷后,當距離過近時發(fā)送AT指令將短信發(fā)送到目標手機上。本系統(tǒng)搭載了語音識別功能,該功能在其他工作中已經實現。系統(tǒng)整體流程如圖1所示。

圖1 系統(tǒng)流程
系統(tǒng)在工作時,電源部分為整個系統(tǒng)供電;單片機加載內部程序,并在內部程序的調控下完成系統(tǒng)的各項功能。激光測距模塊不斷地進行桶內容量的檢測,并將測得的信息發(fā)送到STM32中;STM32對接收到的信息進行分析判斷,達到一定條件后通過串口發(fā)送AT指令控制GSM模塊發(fā)送短信給目標設備。
系統(tǒng)由12 V電源供電,經AMS1117芯片降壓到5 V和3.3 V,為單片機和模塊進行供電。電源電路如圖2所示。

圖2 電源電路
AMS1117是一個正向低壓降穩(wěn)壓器,內部集成了過熱保護和限流電路,一般用于電池供電和便攜式計算機的選擇。其輸入電壓不能超過18 V,本設計中輸入12 V電壓,首先通過AMS1117-5芯片將電壓降到5 V,再通過AMS1117-3.3將電壓降到3.3 V,即可實現同時達到12 V、5 V、3.3 V供電的需求。
2.2.1 SIM800C簡介
SIM800C模塊為希姆通公司推出的一款緊湊型產品,性能穩(wěn)定,外觀精巧,性價比高。采用工業(yè)級標準接口,支持多種工作頻率,可低功耗實現語音、SMS(短信)、MMS(彩信)、藍牙數據信息的傳輸。相關參數為:四頻850/900/1800/1900 MHz;支持RS 232串口和LVTTL串口;帶有硬件流控制;支持5~24 V的工作范圍;工作溫度為-40 ~ 85 ℃。
2.2.2 SIM800C的工作方式
本模塊采用串口進行通信,使用時只需要將模塊的SRXD和STXD分別接到STM32單片機的PA2和PA3接口,與GND相連,調整波特率并保持一致便可以建立通信。通過單片機發(fā)送AT指令,控制GSM模塊實現不同的功能,部分AT指令見表1所列。本設計中主要使用發(fā)送短信的指令。

表1 部分AT指令
VL53L0X是ST(意法半導體)公司發(fā)布的第二代激光測距智能傳感器,該芯片基于第二代FightSense技術,更快、更遠、更精確;同時也是首款集成940 nm無紅光閃爍激光器的激光測距傳感器。采用脈沖式測距技術,即以固定周期的脈沖頻率載波向空間目標發(fā)射,目標回波被接收機接收并測出收發(fā)脈沖之間的時間間隔,即可測出與目標的距離。采用該方法可有效避免相位式測距檢測峰值的誤差,利用了相位式檢測中除波峰以外的光子,通過接收器接收到的光子時間來計算距離,長度可達2 m。
VL53L0X內部有激光發(fā)射器和光子接收傳感器,工作時激光發(fā)射器發(fā)出激光經目標反射后由傳感器接收,測量的距離為接收到的時間與光速乘積的一半。該模塊采用集成電路總線(IC)的通信方式,控制相對簡單;STM32擁有自帶的IC總線,但硬件總線不穩(wěn)定,所以本系統(tǒng)中保持采用I/O口模擬的方式,選用兩個I/O口分別代表數據線(SDA)和時鐘線(SCL),通過控制兩個I/O口的高低電平來實現IC的通信時序,實現IC發(fā)送和接收數據的功能。數據先由激光測距進行初步處理,再通過IC的SDA線將數據發(fā)送到STM32,經STM32處理后轉換得到距離的具體數值,以供后續(xù)觀察和使用。
本設計選用STM32F103ZET6作為本系統(tǒng)的主要芯片,采用ARM處理器內核,相對于51單片機更加高級。程序往往采用模塊化編程,接口相對簡單,本身帶有很多的功能,工作速度快。該芯片采用的中央處理器(CPU)是ARM的32位Cortex-M3,擁有片上128 KB的閃存,還有20 KB的隨機存取存儲器(RAM)。支持各種外設,如定時器、模擬數字轉換器(ADC)、串行外設接口(SPI)、通用串行總線(USB)、IC和通用異步收發(fā)傳輸器(UART),使得它在簡單的電路上就能執(zhí)行信號采集和數據濾波。內部設有RC振蕩電路,頻率可達40 kHz,主要用于CPU時鐘,而且還帶有校準實時時鐘(RTC)用的晶振。內部有4個16位的定時器,每個定時器有四路輸出通道。同時,該芯片帶有節(jié)拍定時器(Systick)。通信方面,本芯片一共擁有13個通信接口和兩個IC接口、三個通用同步收發(fā)傳輸器USART接口和兩個UART接口(用于調試和數據通信)、三個高速SPI接口和兩個音頻傳輸總線(IS)復用以及USB 2.0全速接口,可以面向大多數單片機的設計和使用。
當模塊都準備好后,為避免線路雜亂的現象,本設計將采用繪制印刷電路板(PCB)的形式實現系統(tǒng)線路的連接。繪制軟件選用PADS,該軟件是制作PCB板的一款非常好用的軟件。使用PADS設計PCB時,需要用到PADS中的PADS Logic、PADS Layout、PADS Router三個部分。其中PADS Layout是最重要的一部分,通常用它進行PCB的布局,首先用PCB封裝編輯器(工具-PCB封裝編輯器)將器件的PCB封裝繪制并保存到庫中。用PADS Logic繪制所設計系統(tǒng)的原理圖,用元件編輯器(工具-元件編輯器)進行元件的繪制;然后用PCB封裝并分配到器件中,這樣就可以讓兩個軟件進行鏈接,用Layout進行PCB布局,用PADS Router進行布線;最后返回Layout,進行鋪銅、驗證設計,并輸出光繪文件,交付工廠打印PCB板。Layout最終結果如圖3所示。

圖3 Layout輸出結果
系統(tǒng)上電后,整個系統(tǒng)都會處于工作狀態(tài),整體系統(tǒng)如圖4所示。GSM模塊上的藍色電源指示燈會亮起,等待1~3 s后,模塊紅燈開始閃爍,實現GSM的自動開機。開機后,可以看到NET指示燈(紅色),先是快閃(1 s/次),表明還沒注冊到網絡,然后在注冊到網絡后NET慢閃(3 s/次)。當指示燈慢閃,則表明模塊已經連接上網絡,可以正常使用。

圖4 系統(tǒng)上電初始化
所有部分準備就緒后,激光測距模塊不斷地將數據傳送到STM32單片機,通過串口監(jiān)控可以直觀地看到每一次激光測距模塊測得的距離信息。當單片機接收到小于設置的距離時,串口打印“距離過近”。串口監(jiān)控界面如圖5所示。

圖5 串口監(jiān)控界面
單片機發(fā)送AT指令控制GSM模塊發(fā)送短信給目標設備,主要控制程序如下:


設備接收到的短信如圖6所示。一切結束后,按下報警消除鍵,即表示警報已經處理,系統(tǒng)復位,繼續(xù)進行檢測,GSM模塊繼續(xù)等待指令。

圖6 設備接收到的短信
本文設計了一款基于GSM的垃圾桶溢出報警系統(tǒng)。在整個系統(tǒng)中,由GSM模塊負責完成系統(tǒng)的通信功能;激光測距模塊作為檢測傳感器,負責距離的檢測;STM32單片機作為控制中心。經檢測,本系統(tǒng)可以實現垃圾桶的溢出報警功能,按下報警消除鍵即可消除警報,系統(tǒng)復位。本設計可有效解決垃圾的滯留問題,及時提醒管理員更換垃圾桶,有效地改善了空氣污染問題。