東南大學(xué)成賢學(xué)院 李 寵 仝 倩 胡婷婷 吳玉蓮
無論是在家庭空間還是公共場所,如何做到合理性的對(duì)垃圾進(jìn)行分類和收集一直都是不容小覷的問題。在炎熱的夏天,如果不能及時(shí)處理食物的殘?jiān)?,就?huì)導(dǎo)致其發(fā)臭發(fā)霉。對(duì)于人頭攢動(dòng)的公共場所,更應(yīng)該花費(fèi)時(shí)間與經(jīng)歷解決關(guān)于垃圾處理的問題。目前市面上銷售的垃圾桶都帶有蓋子,由于傳統(tǒng)的工藝設(shè)計(jì)使其在打開過程中需要采取手動(dòng)或者腳踩的方式,也確實(shí)不適用于快節(jié)奏下的人類使用。為了更好地適應(yīng)科技迅猛的發(fā)展,更好的解決人們的生存問題,我的設(shè)計(jì)目標(biāo)是打造出可以利用傳感器檢測的方式,自行打開垃圾桶蓋的設(shè)計(jì)產(chǎn)品,并且具有語音功能,能夠極大改善人們的生活質(zhì)量。
通過查閱的數(shù)據(jù)分析,我國約有50%以上的城市深陷“垃圾圍城”的困境之中。這些垃圾往往處于露天堆放的狀態(tài),嚴(yán)重影響了人們的生活健康,造成水資源、土壤、大氣的污染。實(shí)際生活中,當(dāng)你手上有一塊需要扔掉的香蕉皮,但一想到要用手打開臟兮兮的垃圾桶蓋,立馬就會(huì)變得不想靠近,如何解決這一問題,讓垃圾桶變得具有親和力,也是需要考慮解決的問題之一。
在本次設(shè)計(jì)中主要利用STC89C52單片機(jī)作為實(shí)驗(yàn)基礎(chǔ),致力于設(shè)計(jì)開發(fā)出智能垃圾桶系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)智能開蓋的設(shè)計(jì),且在垃圾裝滿后具有自動(dòng)語音報(bào)警的功能。此設(shè)計(jì)的控制中心為單片機(jī),利用紅外傳感器對(duì)周圍是否有人做出探測,如果有人經(jīng)過,單片機(jī)會(huì)通過對(duì)電機(jī)的控制,打開卡機(jī)桶蓋,在通過延時(shí)設(shè)定一段時(shí)刻后,自動(dòng)關(guān)閉垃圾桶蓋。電機(jī)通過線的正反纏繞控制桶蓋的打開與關(guān)閉。紅外對(duì)管模塊能夠精確檢測出垃圾桶內(nèi)現(xiàn)存垃圾高度是否超過限定高度,如果已經(jīng)裝滿,單片機(jī)會(huì)控制語音播放芯片,以語音播放形式提醒人們及時(shí)處理垃圾。
方案的設(shè)計(jì)運(yùn)行主要由單片機(jī)、紅外對(duì)管傳感器、電機(jī)驅(qū)動(dòng)模塊、語音報(bào)警、穩(wěn)壓模塊幾部分共同組成。紅外傳感器是單片機(jī)最重要的信號(hào)輸入源頭,因?yàn)閱纹瑱C(jī)需要對(duì)輸入進(jìn)來的信號(hào)處理完畢后,才能輸出信號(hào)給語音模塊與電機(jī)驅(qū)動(dòng)模塊,最終完成系統(tǒng)的總體設(shè)計(jì)。
人體檢測模塊中紅外傳感器如果監(jiān)察到有人存在,就會(huì)把信號(hào)帶給單片機(jī),單片機(jī)處理信號(hào)后更好的控制電機(jī)驅(qū)動(dòng)模塊,人只要一離開系統(tǒng)就會(huì)自動(dòng)關(guān)蓋。如果此時(shí)垃圾的高度達(dá)到原始設(shè)定高度,紅外對(duì)管傳感器會(huì)及時(shí)發(fā)送信號(hào)給單片機(jī),單片機(jī)處理信息后控制語音播放模塊,報(bào)警提示人們。
單片機(jī)得以運(yùn)行起來的條件有兩個(gè),包括時(shí)鐘電路和復(fù)位電路兩方面的外圍電路,還有電源參與其中。滿足上述條件之后,才可以進(jìn)行程序運(yùn)行和單片機(jī)的下載。時(shí)鐘電路使用過程中產(chǎn)生的震蕩頻率會(huì)操控單片機(jī)的運(yùn)行速度,一般情況下速度越快頻率運(yùn)轉(zhuǎn)越高;單片機(jī)的復(fù)位電路中,電阻和電容的值都可以利用頻率公式計(jì)算出來,例如本次設(shè)計(jì)晶振頻率則控制在12.0123MHz,復(fù)位電路的電容值有30pF,電阻值為11KΩ。
紅外對(duì)管指的是光敏接收管與發(fā)射管結(jié)合而成的總稱,傳感器能夠反射紅外線進(jìn)行目標(biāo)的探測,被測到的物體外形和反射率兩方面會(huì)直接影響距離和測量精密度。研究顯示,黑色物體的最遠(yuǎn)距離最小;白色物體能探測的最遠(yuǎn)距離最大。紅外線的原理告訴我們,被檢測物體不需要與模塊之間發(fā)生碰觸,所以它的反應(yīng)是十分迅速敏捷的。
當(dāng)模塊的有效探測范圍內(nèi)有障礙物時(shí),模塊的綠燈亮起,同時(shí)OUT引腳電平變低。模塊檢測距離為2~20cm,檢測角度為40°,可以通過電位器旋鈕調(diào)節(jié)檢測距離。上圖藍(lán)色方塊即為電位器,順時(shí)針調(diào)節(jié)電位器,檢測距離增加,反之則檢測距離減小。模塊的VCC引腳與電源正極相連,GND引腳與電源負(fù)極相連,OUT引腳與單片機(jī)P2.7口相連。
設(shè)計(jì)的思路主要是在系統(tǒng)啟動(dòng)后,在對(duì)其進(jìn)行初始化流程的操作,人體的紅外檢測電路能夠準(zhǔn)確探測出一定范圍內(nèi)是否有垃圾,如果有人在扔垃圾,單片機(jī)此時(shí)就會(huì)迅速做出反應(yīng),將桶蓋打開;如果機(jī)器沒有檢測到人的存在,此時(shí)桶蓋就會(huì)一直處于持續(xù)保持打開的狀態(tài),直到有人突然離開。當(dāng)垃圾桶里的垃圾有外溢傾向時(shí),檢測電路就會(huì)及時(shí)檢測垃圾的高度是否達(dá)到上限高度,這時(shí)它會(huì)提示人們不可以再將里面投入垃圾,程序就會(huì)以這樣的規(guī)律循環(huán)往復(fù)。
在進(jìn)行系統(tǒng)檢測的過程中,單片機(jī)每間隔1s會(huì)對(duì)傳感器的輸出進(jìn)行檢測,這時(shí)需要一個(gè)用于定義定時(shí)器的中斷函數(shù)。程序設(shè)計(jì)中規(guī)定設(shè)計(jì)循環(huán)為20次,每次為50ms的數(shù)值,定時(shí)器的初始值計(jì)算公式為:(216—X)×10—6=50×10—3,X的值為36260=3CB0H。
硬件系統(tǒng)和軟件系統(tǒng)在設(shè)計(jì)過程中,需要進(jìn)行拆分研究,所以需要將它們分別調(diào)試好后,將程序下載至單片機(jī)中進(jìn)一步查看工作情況,通過不斷調(diào)試解決可能出現(xiàn)的問題。調(diào)試的過程也很重要,要一遍遍檢查軟件是否能夠有效配合硬件的正常運(yùn)行,還要考慮運(yùn)行和運(yùn)輸?shù)乃俾适欠衲軌蜻_(dá)到預(yù)期的目標(biāo)。全部調(diào)試的過程中不可避免會(huì)出現(xiàn)幾類問題:編程邏輯的錯(cuò)誤、硬件連接不牢靠等等。下文將詳細(xì)介紹幾個(gè)調(diào)試的過程,并記錄出現(xiàn)的問題與解決思路。
本設(shè)計(jì)便用的單片禮是STc89C52,但是Keil自帶的芯片庫中沒有這個(gè)型號(hào)的單片機(jī),使用Atmel的AT89C52可以代替使用,結(jié)果相同。彈窗右側(cè)是AT89C52特性的簡要說明,可見其參數(shù)和本設(shè)計(jì)使用的STC89C52基本相同。之后再點(diǎn)擊確定。
在正反轉(zhuǎn)的子程序中,通過delay延時(shí)函數(shù)調(diào)節(jié)步進(jìn)電機(jī)轉(zhuǎn)速,延時(shí)越大則轉(zhuǎn)速越慢,但經(jīng)過調(diào)試發(fā)現(xiàn)顯低只能設(shè)置為2,再低則電機(jī)不會(huì)轉(zhuǎn)動(dòng)已保存到相冊(cè)盾環(huán)的次數(shù)來設(shè)置步進(jìn)電機(jī)旋轉(zhuǎn)的角度,經(jīng)過反復(fù)試驗(yàn)后,最終確定循環(huán)450次可以正好打開桶蓋,約85°左右。
確保了每個(gè)元器件都沒有出現(xiàn)故障后,再進(jìn)行硬件調(diào)試。首先需要檢測電路是否存在斷路、焊錫過量或過少的問題,因?yàn)楹稿a控制不好會(huì)引起斷路或者虛焊的情況發(fā)生。最后將已經(jīng)焊接好的電路板進(jìn)行通電,利用萬能表對(duì)引腳的狀態(tài)細(xì)致檢查,測量每個(gè)模塊間輸出的電壓值是否正確。
在調(diào)試的過程中,會(huì)逐步發(fā)現(xiàn)很多細(xì)節(jié)問題的產(chǎn)生導(dǎo)致系統(tǒng)無法正常運(yùn)轉(zhuǎn)與工作,所以只能對(duì)每個(gè)部分進(jìn)行檢查檢測,逐個(gè)解決問題,這也是模塊化設(shè)計(jì)的優(yōu)勢之一。硬件和軟件最終能夠完美的融為一體,并且達(dá)到本案設(shè)計(jì)的目標(biāo),但是也遇到一些特殊問題需要解決,例如程序不能下載到單片機(jī)中。為了解決這一問題,我對(duì)轉(zhuǎn)換芯片能否正常運(yùn)行做了深入檢查,不斷嘗試安裝新的芯片進(jìn)行系統(tǒng)的驅(qū)動(dòng),不斷重啟電腦和ISP軟件,檢測TXD終端是否接觸好。還會(huì)出現(xiàn)紅外對(duì)管傳感器輸出指示燈常亮的現(xiàn)象發(fā)生,導(dǎo)致其原因一般是由于模塊自身電位器的問題,當(dāng)把探測距離設(shè)置過大時(shí),會(huì)造成模塊一直輸出低電平,這是可以嘗試調(diào)節(jié)電位器減小探測距離,若問題還未解決則,建議更換紅外對(duì)管傳感器模塊。
通過本次研究,我們完成了原本預(yù)定的目標(biāo),設(shè)計(jì)的成果能夠?qū)σ恍┮筮M(jìn)行滿足:例如,能夠?qū)崟r(shí)監(jiān)測是否有人存在,它能夠自動(dòng)型開關(guān)蓋子。當(dāng)人手在垃圾桶上面小于10cm的距離,垃圾桶能夠迅速做出反應(yīng)且立馬開蓋;當(dāng)人逐漸離開,它又可以在三秒鐘內(nèi)關(guān)蓋,無需人為操控。當(dāng)垃圾堆積的總高度超過桶口時(shí)間大于3s時(shí),語音報(bào)警功能響起,垃圾會(huì)被清掃干凈,關(guān)蓋時(shí)候垃圾桶不會(huì)發(fā)出聲響。
在此次產(chǎn)品設(shè)計(jì)中,我們主要使用單片機(jī)作為垃圾桶的主控制芯片,在一定的時(shí)效內(nèi)完成對(duì)語音報(bào)警功能的實(shí)現(xiàn),也實(shí)行了垃圾桶的自動(dòng)開蓋功能,從而完成了設(shè)計(jì)智能垃圾桶的任務(wù)。
當(dāng)有人將垃圾扔進(jìn)桶內(nèi)時(shí),紅外對(duì)管傳感器此時(shí)就會(huì)做出反應(yīng),將其信號(hào)傳送給單片機(jī),在內(nèi)部系統(tǒng)的處理后發(fā)送脈沖信號(hào),使得電機(jī)的驅(qū)動(dòng)模塊能夠打開垃圾桶蓋,人離開時(shí)只需要延時(shí)幾秒鐘就可以自動(dòng)關(guān)蓋。電機(jī)在驅(qū)動(dòng)過程中使用ULN2003模塊,步進(jìn)電機(jī)是開蓋的主要?jiǎng)恿υ?,旋轉(zhuǎn)角度能夠得到有效控制。垃圾達(dá)到一定限制高度時(shí)候,紅外傳感器就會(huì)對(duì)單片機(jī)發(fā)出信號(hào),信號(hào)被處理后語音模塊會(huì)及時(shí)報(bào)警。在軟硬件調(diào)試過程中也遇到了一些困難,我們小組成員始終堅(jiān)持不放棄的原則,細(xì)心調(diào)整內(nèi)在問題,最終系統(tǒng)得到完善的設(shè)計(jì)。
本次設(shè)計(jì)方案由于時(shí)間的緊促,還存在一些不足之處,不夠成熟。垃圾桶雖然能夠開蓋,滿足語音報(bào)警的功能,但是內(nèi)部環(huán)節(jié)還有很多需要調(diào)整提升品控的地方。首先語音質(zhì)量方面還不能趨向于完美,目前使用中的芯片需要手動(dòng)錄制音頻,音效不夠流暢,還會(huì)受到周邊雜音的干擾。開蓋的機(jī)械結(jié)構(gòu)還需要調(diào)整設(shè)計(jì),由于用料方面受到限制,只能用線拉的方式把桶蓋拉扯開,這樣的方式使得電機(jī)運(yùn)轉(zhuǎn)速度受到影響,在后面提升過程中可以利用齒輪間的相互配合驅(qū)動(dòng)桶蓋的突然打開。除此以外,還需要更換人體檢測電路的傳感器,因?yàn)闊後岆妭鞲衅鲿?huì)因?yàn)榄h(huán)境受影響導(dǎo)致輸出狀態(tài)并不穩(wěn)定,在后面的研究過程中會(huì)用到紅外對(duì)管傳感器進(jìn)行實(shí)踐。