王昂,周智恒,李海俠,梁鴻櫟
(桂林理工大學(xué) 機械與控制工程學(xué)院,廣西桂林,541004)
隨著中國社會的不斷繁榮發(fā)展,我國人民日益增長地對美好生活的需要,寵物養(yǎng)殖需求成為近些年來活躍在年輕人中的一個重大需求,然而由于社會的壓力及工作的繁忙,大多數(shù)年輕人不具備完善的養(yǎng)殖寵物的能力,這使得大多數(shù)寵物得不到良好的照顧而患病,也使得寵物主人花費更多的時間和金錢,并且對環(huán)境要求苛刻的寵物在養(yǎng)護方面對于環(huán)境溫度、濕度和食物量等方面有更高的要求。如何科學(xué)有效地提高寵物養(yǎng)殖的智能一體化,是廣大寵物愛好者考慮的重要問題,一個完善的智能溫感稱重小車設(shè)計顯得尤為重要。
本文針對寵物養(yǎng)殖出現(xiàn)的問題,設(shè)計了一款基于單片機的智能溫感稱重小車,以STC89C52 單片機為核心,考慮了寵物對環(huán)境溫度、濕度、通風(fēng)條件和食物需求量等的特殊要求,設(shè)計實現(xiàn)了針對寵物養(yǎng)殖環(huán)境控制系統(tǒng),與普通家用控制系統(tǒng)相比,在溫濕度控制及通風(fēng)、定時投食控制方面均有較大不同。通過對系統(tǒng)進行測試,結(jié)果證明該系統(tǒng)反應(yīng)靈敏,能夠滿足基本要求,且具有簡單易操作和經(jīng)濟實用等優(yōu)點。
本文設(shè)計基于單片機的智能溫感稱重小車,利用DS18B20 溫濕度傳感器模塊[1]可以實時實現(xiàn)對溫濕度的智能調(diào)控;利用HC-SR 04 超聲波測距模塊實時檢測與障礙物之間的距離,當(dāng)檢測到障礙物時,HC-SR04 超聲波測距模塊[2]輸出指示燈亮,系統(tǒng)報警;利用壓力傳感器模塊實時檢測食物的余量;利用DS18B20 數(shù)字溫度傳感器實時檢測溫度,將溫度變化信號轉(zhuǎn)換為數(shù)字的信號;利用OLED 屏?xí)@示系統(tǒng)相關(guān)信息;然后利用按鈕進行緊急的情況確認,并啟動蜂鳴器報警程序。
本文設(shè)計的智能溫感稱重小車有手動控制和自動控制兩種模式,系統(tǒng)上電后默認為自動控制模式,此時溫濕度傳感器模塊、壓力傳感器模塊和HC-SR04 超聲波測距模塊正在運行。切換到手動模式后,可以通過紅外遙控裝置對智能小車進行控制并對寵物生活環(huán)境溫度、濕度和食物余量進行實時監(jiān)測,并作出相應(yīng)的指令,同時系統(tǒng)可手動調(diào)節(jié)相關(guān)閾值。當(dāng)溫濕度超過設(shè)定閾值時,系統(tǒng)啟動自動降溫補水裝置,并通過DS18B20 溫濕度傳感器模塊發(fā)送當(dāng)前環(huán)境溫度相關(guān)信息到LCD1602 模塊實時顯示。若食物余量不足,HX711發(fā)送信息至投食裝置,并同時發(fā)送信息到用戶手機,提醒用戶實時關(guān)注寵物當(dāng)前狀況。
圖1 智能溫感小車控制系統(tǒng)示意圖
智能溫感稱重小車的機械結(jié)構(gòu)設(shè)計包括車身結(jié)構(gòu)、輪子、電機、前后輪懸掛、重量傳感器等。車身結(jié)構(gòu)需要考慮到小車的穩(wěn)定性、承重能力和機動性。輪子需要具有一定的耐磨性和抗滑性,以便小車能夠在不同的路面上行駛。電機需要根據(jù)小車的負載和速度要求來選擇。前后輪懸掛結(jié)構(gòu)需要能夠緩沖小車在不平路面上的震動,從而保證小車的穩(wěn)定性。其結(jié)構(gòu)組成如圖2 所示。
圖2 機械結(jié)構(gòu)設(shè)計組成圖
控制系統(tǒng)選擇STC89C52 單片機為控制芯片。STC89C52 單片機是一種常見的基于8051 內(nèi)核的單片機,STC89C52 單片機采用了經(jīng)典的8051 內(nèi)核架構(gòu),這使得它非常成熟和穩(wěn)定。電路簡單、豐富的存儲空間、豐富的外設(shè)和接口、低功耗[3]。
壓力檢測模塊采用HX711 傳感器HX711 傳感器采用了特殊的采樣技術(shù)和抗干擾設(shè)計,具有較好的抗干擾能力和穩(wěn)定性。它能夠在復(fù)雜的環(huán)境中提供可靠的測量結(jié)果,并且對溫度變化和電源波動的影響較小。
顯示模塊采用LCD1602 顯示器LCD1602 顯示器采用液晶技術(shù),可以顯示2 行16 列的字符信息,每個字符由5×8 個像素點組成。它能夠以高對比度、清晰可見的方式顯示文本和簡單圖形,使得信息易于閱讀和理解??偠灾?,LCD1602 顯示器具有顯示效果清晰、低功耗、簡單接口、可編程性、低成本和可靠性等優(yōu)點。它在各種應(yīng)用場景中被廣泛使用,如嵌入式系統(tǒng)、儀器儀表、家電和DIY 項目等,為用戶提供清晰可見的字符信息顯示功能。
溫度檢測模塊采用DS18B20 數(shù)字溫度傳感器,DS18B20 數(shù)字溫度傳感器具有單總線接口、高精度測量、多點測量、低功耗設(shè)計、高抗干擾能力、寬工作溫度范圍和工作穩(wěn)定可靠等優(yōu)點。它在溫度監(jiān)測和控制領(lǐng)域得到廣泛應(yīng)用,如室內(nèi)溫度監(jiān)測、氣象站、工業(yè)自動化等。
電機驅(qū)動模塊采用ULN2003,電機驅(qū)動模塊ULN2003是一種常用的集成電路,用于驅(qū)動步進電機或直流電機。具有高可靠性、多通道輸出、內(nèi)部保護功能、方便接口、市場成熟度高和成本效益高等優(yōu)點。它被廣泛應(yīng)用于各種電機控制和驅(qū)動系統(tǒng)中,為用戶提供便捷可靠的電機驅(qū)動解決方案。
報警模塊采用蜂鳴器、1k 電阻和PNP8550 三極管組成,蜂鳴器通常體積小巧,可以方便地安裝在各種電子設(shè)備中。這使得它可以被廣泛應(yīng)用于各種小型電子產(chǎn)品和嵌入式系統(tǒng)中。蜂鳴器通常具有較低的功耗,尤其是無源蜂鳴器,不需要外部電源供應(yīng)。這使得它在需要長時間工作或電源資源有限的場合下非常實用。
電源模塊采用Micro-USB 作為電源接入口,接口設(shè)計了反插保護機制,即接口只能正確連接在一個方向上,避免了錯誤插入導(dǎo)致的損壞。圖3 為整體硬件電路示例圖。
圖3 整體硬件電路圖
智能溫感稱重小車使用的STC89C52 資源為:電機DC引腳與單片機P1.0~P1.3 引腳連接,壓力傳感器DC 端口與單片機P2.0~P2.1 引腳連接,溫度傳感器DQ 引腳與單片機P3.7 引腳連接,顯示模塊將LCD1602 的RS、RW 和EN 引腳分別連接單片機的P2.6、P2.5 和P2.7 引腳,去皮按鍵DO 引腳與單片P3.1 引腳連接,還原按鍵可以和單片機引腳P 三點零連接,進行精確測量和數(shù)據(jù)的傳輸,在按鍵功能中加減、減鍵和確認鍵分別與單片機P3.3、P3.4 和P3.5引腳相連,報警模塊與單片機P3.6 引腳相連,電源模塊與單片機USB 口相連。單片機I/O 口資源分配如表1 所示。
表1 智能溫感稱重小車單片機I/O口及外設(shè)資源分配表
系統(tǒng)編程一般采取模塊化的設(shè)計思想,先創(chuàng)建和調(diào)試好各種子進程,然后再把這些子程序進行排列組合,重組為一個整體的程序。這樣的設(shè)計思想不但便于整個系統(tǒng)的正常運行,同時也可以簡單快捷地在項目間實現(xiàn)人員遷移,從而簡化了項目開發(fā)周期。
HX711 是根據(jù)單晶硅不定向應(yīng)力時電導(dǎo)率是同性的只有定向受力時才表現(xiàn)出各項異性,由于應(yīng)力能引起能帶的變化,能谷能量移動,導(dǎo)致電阻率的變換,從而產(chǎn)生壓阻效應(yīng)。其壓力傳感器模塊的流程圖如圖4 所示。
圖4 壓力傳感器模塊流程圖
DS18B20 初始化:主器件首先發(fā)出一個480~960ms 的低電平脈沖,然后釋放總線變?yōu)楦唠娖?,并在隨后的480μs時間內(nèi)對總線進行檢測,如果有低電平出現(xiàn)說明總線上有DS18B20 溫度傳感器已做出應(yīng)答。若無低電平出現(xiàn)一直都是高電平說明總線上無DS18B20溫度傳感器應(yīng)答。說明總線上無DS18B20 溫度傳感器應(yīng)答。
DS18B20 溫度轉(zhuǎn)換原理:DS18B20 溫度傳感器返回16位二進制數(shù)代表此刻探測的溫度值,其高五位代表正負。如果高五位全部為1,則代表返回的溫度值為負值。如果高五位全部為0,則代表返回的溫度值為正值。其溫度傳感器模塊的流程圖如圖5 所示。
圖5 溫度傳感器模塊流程圖
本文采用以SSD1306為驅(qū)動IC 的OLED 顯示模塊作為顯示器件,單片機對LCD1602 的控制就是對其驅(qū)動芯片的控制,其控制顯示過程為:復(fù)位->驅(qū)動IC 初始化代碼->開啟顯示->清零顯示->開始顯示(顯示實時檢測值與設(shè)置閾值)。其LCD1602 顯示屏模塊的流程圖如圖6 所示。
圖6 LCD 顯示屏模塊流程圖
系統(tǒng)上電后,顯示屏顯示預(yù)設(shè)溫度閾值與實際溫度值。若系統(tǒng)上電后無故產(chǎn)生報警,超聲波模塊輸出指示燈或壓力傳感器模塊輸出指示燈亮起,則需調(diào)節(jié)模塊靈敏度。
實驗中,打開超聲波傳感器模塊,當(dāng)檢測距離小于閾值時系統(tǒng)啟動報警,顯示屏顯示相應(yīng)閃爍字樣提示報警信息。當(dāng)壓力傳感器檢測到食物余量小于預(yù)設(shè)值時,系統(tǒng)報警,顯示屏分別顯示相應(yīng)閃爍字樣。當(dāng)溫度傳感器檢測到的溫度值超過系統(tǒng)設(shè)置上限值,系統(tǒng)同樣會啟動報警并在顯示屏上顯示相應(yīng)閃爍字樣。圖7 為串口通信顯示超聲波測試數(shù)據(jù)的示例圖。
本文設(shè)計、制作了一個基于STC89C52 的智能溫感稱重小車,可實時監(jiān)測寵物生長環(huán)境溫度濕度是否泄露不適的情況,以及食物是否需要補充,并在屏上顯示相關(guān)信息。用戶便可根據(jù)手機上的數(shù)據(jù)操作小車進行降溫、加濕或者投食操作。