胡振山,江振青,呂海燕
(臨沂大學(xué),山東 臨沂 276000)
隨著城市的高速發(fā)展、生活水平和消費(fèi)水平的提高以及飲食行業(yè)的迅速發(fā)展,城市生活垃圾不斷增多,垃圾的成分也越來越復(fù)雜,造成的污染問題也日益嚴(yán)重。垃圾在腐化過程中,產(chǎn)生氨、甲烷和硫化氫等有害氣體,形成惡臭,嚴(yán)重污染大氣。所以,垃圾的及時(shí)處理就成為了困擾人們的重要問題。本文在系統(tǒng)設(shè)計(jì)過程中充分考慮到各種傳感器高速發(fā)展的成果以及手機(jī)已普及的社會現(xiàn)狀,認(rèn)為現(xiàn)有條件可以滿足本系統(tǒng)及時(shí)報(bào)警的要求。本系統(tǒng)基于GSM網(wǎng)絡(luò)的短信服務(wù),在STM32F103ZET6的控制下,能夠以短信的形式提醒垃圾回收人員及時(shí)更換垃圾桶。
本系統(tǒng)總體方案設(shè)計(jì)為:通過激光測距模塊不斷地檢測垃圾桶內(nèi)的距離信息,從而判斷垃圾桶內(nèi)容量是否充足;在單片機(jī)的控制下通過GSM短信模塊將信息實(shí)時(shí)傳送給目標(biāo)手機(jī),完成整個(gè)系統(tǒng)的功能。通過激光測距模塊進(jìn)行測量,測得的距離信息經(jīng)單片機(jī)處理判斷后,當(dāng)距離過近時(shí)發(fā)送AT指令將短信發(fā)送到目標(biāo)手機(jī)上。本系統(tǒng)搭載了語音識別功能,該功能在其他工作中已經(jīng)實(shí)現(xiàn)。系統(tǒng)整體流程如圖1所示。
圖1 系統(tǒng)流程
系統(tǒng)在工作時(shí),電源部分為整個(gè)系統(tǒng)供電;單片機(jī)加載內(nèi)部程序,并在內(nèi)部程序的調(diào)控下完成系統(tǒng)的各項(xiàng)功能。激光測距模塊不斷地進(jìn)行桶內(nèi)容量的檢測,并將測得的信息發(fā)送到STM32中;STM32對接收到的信息進(jìn)行分析判斷,達(dá)到一定條件后通過串口發(fā)送AT指令控制GSM模塊發(fā)送短信給目標(biāo)設(shè)備。
系統(tǒng)由12 V電源供電,經(jīng)AMS1117芯片降壓到5 V和3.3 V,為單片機(jī)和模塊進(jìn)行供電。電源電路如圖2所示。
圖2 電源電路
AMS1117是一個(gè)正向低壓降穩(wěn)壓器,內(nèi)部集成了過熱保護(hù)和限流電路,一般用于電池供電和便攜式計(jì)算機(jī)的選擇。其輸入電壓不能超過18 V,本設(shè)計(jì)中輸入12 V電壓,首先通過AMS1117-5芯片將電壓降到5 V,再通過AMS1117-3.3將電壓降到3.3 V,即可實(shí)現(xiàn)同時(shí)達(dá)到12 V、5 V、3.3 V供電的需求。
2.2.1 SIM800C簡介
SIM800C模塊為希姆通公司推出的一款緊湊型產(chǎn)品,性能穩(wěn)定,外觀精巧,性價(jià)比高。采用工業(yè)級標(biāo)準(zhǔn)接口,支持多種工作頻率,可低功耗實(shí)現(xiàn)語音、SMS(短信)、MMS(彩信)、藍(lán)牙數(shù)據(jù)信息的傳輸。相關(guān)參數(shù)為:四頻850/900/1800/1900 MHz;支持RS 232串口和LVTTL串口;帶有硬件流控制;支持5~24 V的工作范圍;工作溫度為-40 ~ 85 ℃。
2.2.2 SIM800C的工作方式
本模塊采用串口進(jìn)行通信,使用時(shí)只需要將模塊的SRXD和STXD分別接到STM32單片機(jī)的PA2和PA3接口,與GND相連,調(diào)整波特率并保持一致便可以建立通信。通過單片機(jī)發(fā)送AT指令,控制GSM模塊實(shí)現(xiàn)不同的功能,部分AT指令見表1所列。本設(shè)計(jì)中主要使用發(fā)送短信的指令。
表1 部分AT指令
VL53L0X是ST(意法半導(dǎo)體)公司發(fā)布的第二代激光測距智能傳感器,該芯片基于第二代FightSense技術(shù),更快、更遠(yuǎn)、更精確;同時(shí)也是首款集成940 nm無紅光閃爍激光器的激光測距傳感器。采用脈沖式測距技術(shù),即以固定周期的脈沖頻率載波向空間目標(biāo)發(fā)射,目標(biāo)回波被接收機(jī)接收并測出收發(fā)脈沖之間的時(shí)間間隔,即可測出與目標(biāo)的距離。采用該方法可有效避免相位式測距檢測峰值的誤差,利用了相位式檢測中除波峰以外的光子,通過接收器接收到的光子時(shí)間來計(jì)算距離,長度可達(dá)2 m。
VL53L0X內(nèi)部有激光發(fā)射器和光子接收傳感器,工作時(shí)激光發(fā)射器發(fā)出激光經(jīng)目標(biāo)反射后由傳感器接收,測量的距離為接收到的時(shí)間與光速乘積的一半。該模塊采用集成電路總線(IC)的通信方式,控制相對簡單;STM32擁有自帶的IC總線,但硬件總線不穩(wěn)定,所以本系統(tǒng)中保持采用I/O口模擬的方式,選用兩個(gè)I/O口分別代表數(shù)據(jù)線(SDA)和時(shí)鐘線(SCL),通過控制兩個(gè)I/O口的高低電平來實(shí)現(xiàn)IC的通信時(shí)序,實(shí)現(xiàn)IC發(fā)送和接收數(shù)據(jù)的功能。數(shù)據(jù)先由激光測距進(jìn)行初步處理,再通過IC的SDA線將數(shù)據(jù)發(fā)送到STM32,經(jīng)STM32處理后轉(zhuǎn)換得到距離的具體數(shù)值,以供后續(xù)觀察和使用。
本設(shè)計(jì)選用STM32F103ZET6作為本系統(tǒng)的主要芯片,采用ARM處理器內(nèi)核,相對于51單片機(jī)更加高級。程序往往采用模塊化編程,接口相對簡單,本身帶有很多的功能,工作速度快。該芯片采用的中央處理器(CPU)是ARM的32位Cortex-M3,擁有片上128 KB的閃存,還有20 KB的隨機(jī)存取存儲器(RAM)。支持各種外設(shè),如定時(shí)器、模擬數(shù)字轉(zhuǎn)換器(ADC)、串行外設(shè)接口(SPI)、通用串行總線(USB)、IC和通用異步收發(fā)傳輸器(UART),使得它在簡單的電路上就能執(zhí)行信號采集和數(shù)據(jù)濾波。內(nèi)部設(shè)有RC振蕩電路,頻率可達(dá)40 kHz,主要用于CPU時(shí)鐘,而且還帶有校準(zhǔn)實(shí)時(shí)時(shí)鐘(RTC)用的晶振。內(nèi)部有4個(gè)16位的定時(shí)器,每個(gè)定時(shí)器有四路輸出通道。同時(shí),該芯片帶有節(jié)拍定時(shí)器(Systick)。通信方面,本芯片一共擁有13個(gè)通信接口和兩個(gè)IC接口、三個(gè)通用同步收發(fā)傳輸器USART接口和兩個(gè)UART接口(用于調(diào)試和數(shù)據(jù)通信)、三個(gè)高速SPI接口和兩個(gè)音頻傳輸總線(IS)復(fù)用以及USB 2.0全速接口,可以面向大多數(shù)單片機(jī)的設(shè)計(jì)和使用。
當(dāng)模塊都準(zhǔn)備好后,為避免線路雜亂的現(xiàn)象,本設(shè)計(jì)將采用繪制印刷電路板(PCB)的形式實(shí)現(xiàn)系統(tǒng)線路的連接。繪制軟件選用PADS,該軟件是制作PCB板的一款非常好用的軟件。使用PADS設(shè)計(jì)PCB時(shí),需要用到PADS中的PADS Logic、PADS Layout、PADS Router三個(gè)部分。其中PADS Layout是最重要的一部分,通常用它進(jìn)行PCB的布局,首先用PCB封裝編輯器(工具-PCB封裝編輯器)將器件的PCB封裝繪制并保存到庫中。用PADS Logic繪制所設(shè)計(jì)系統(tǒng)的原理圖,用元件編輯器(工具-元件編輯器)進(jìn)行元件的繪制;然后用PCB封裝并分配到器件中,這樣就可以讓兩個(gè)軟件進(jìn)行鏈接,用Layout進(jìn)行PCB布局,用PADS Router進(jìn)行布線;最后返回Layout,進(jìn)行鋪銅、驗(yàn)證設(shè)計(jì),并輸出光繪文件,交付工廠打印PCB板。Layout最終結(jié)果如圖3所示。
圖3 Layout輸出結(jié)果
系統(tǒng)上電后,整個(gè)系統(tǒng)都會處于工作狀態(tài),整體系統(tǒng)如圖4所示。GSM模塊上的藍(lán)色電源指示燈會亮起,等待1~3 s后,模塊紅燈開始閃爍,實(shí)現(xiàn)GSM的自動開機(jī)。開機(jī)后,可以看到NET指示燈(紅色),先是快閃(1 s/次),表明還沒注冊到網(wǎng)絡(luò),然后在注冊到網(wǎng)絡(luò)后NET慢閃(3 s/次)。當(dāng)指示燈慢閃,則表明模塊已經(jīng)連接上網(wǎng)絡(luò),可以正常使用。
圖4 系統(tǒng)上電初始化
所有部分準(zhǔn)備就緒后,激光測距模塊不斷地將數(shù)據(jù)傳送到STM32單片機(jī),通過串口監(jiān)控可以直觀地看到每一次激光測距模塊測得的距離信息。當(dāng)單片機(jī)接收到小于設(shè)置的距離時(shí),串口打印“距離過近”。串口監(jiān)控界面如圖5所示。
圖5 串口監(jiān)控界面
單片機(jī)發(fā)送AT指令控制GSM模塊發(fā)送短信給目標(biāo)設(shè)備,主要控制程序如下:
設(shè)備接收到的短信如圖6所示。一切結(jié)束后,按下報(bào)警消除鍵,即表示警報(bào)已經(jīng)處理,系統(tǒng)復(fù)位,繼續(xù)進(jìn)行檢測,GSM模塊繼續(xù)等待指令。
圖6 設(shè)備接收到的短信
本文設(shè)計(jì)了一款基于GSM的垃圾桶溢出報(bào)警系統(tǒng)。在整個(gè)系統(tǒng)中,由GSM模塊負(fù)責(zé)完成系統(tǒng)的通信功能;激光測距模塊作為檢測傳感器,負(fù)責(zé)距離的檢測;STM32單片機(jī)作為控制中心。經(jīng)檢測,本系統(tǒng)可以實(shí)現(xiàn)垃圾桶的溢出報(bào)警功能,按下報(bào)警消除鍵即可消除警報(bào),系統(tǒng)復(fù)位。本設(shè)計(jì)可有效解決垃圾的滯留問題,及時(shí)提醒管理員更換垃圾桶,有效地改善了空氣污染問題。