馮雅莉,郝寧生
基于單片機(jī)的全自動(dòng)智能魚缸清理器系統(tǒng)設(shè)計(jì)
馮雅莉,郝寧生*
(韶關(guān)學(xué)院物理與機(jī)電工程學(xué)院,廣東韶關(guān)512005)
全自動(dòng)智能魚缸清理器系統(tǒng)的設(shè)計(jì)是采用STC系列單片機(jī)中AT89C52、步進(jìn)電機(jī)滑臺(tái)、定時(shí)系統(tǒng)和控制部分組成的.系統(tǒng)中含有2個(gè)步進(jìn)滑臺(tái),分別代表直角坐標(biāo)系中的橫縱坐標(biāo)軸.滑臺(tái)的轉(zhuǎn)軸上有一有轉(zhuǎn)軸帶動(dòng)的金屬塊,代表清理器在魚缸清潔軌道上的位置.其中,轉(zhuǎn)軸是由步進(jìn)滑臺(tái)中的四相步進(jìn)電機(jī)帶動(dòng)的.定時(shí)系統(tǒng)是由定時(shí)部分的DS1302芯片、測(cè)溫部分18B20芯片和顯示部分的液晶屏LCD1602組成.該系統(tǒng)可以實(shí)現(xiàn)人為定時(shí)清理魚缸,過(guò)濾水體中異物,增氧以及遇故障時(shí)人為調(diào)整等功能.
AT89C52;步進(jìn)滑臺(tái);四相步進(jìn)電機(jī);DS1302;18B20;LCD1602
全自動(dòng)智能魚缸清理器的清潔軌跡是可以根據(jù)魚缸的形狀進(jìn)行設(shè)計(jì)的,除了具備清潔池底的功能外,還有增氧、檢測(cè)水體溫度、過(guò)濾水體、移動(dòng)清潔的功能.目前市場(chǎng)上的產(chǎn)品及其系統(tǒng)的設(shè)計(jì)是基于PLC技術(shù),采用PLC技術(shù)來(lái)控制直流電機(jī)或交流電機(jī),其共同的缺點(diǎn)是不能根據(jù)不同類型的魚缸進(jìn)行修改清理器的行走軌跡.采用PLC技術(shù)是針對(duì)特定的軌道設(shè)計(jì),程序比較簡(jiǎn)單,容易操作,但是運(yùn)動(dòng)軌跡變動(dòng)時(shí),需要改變內(nèi)部硬件設(shè)備才能實(shí)現(xiàn)行走軌跡的更改,而且只能訂制,不便投入批量生產(chǎn).而單片機(jī)的片內(nèi)含可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,可以通過(guò)簡(jiǎn)單的改變程序?qū)崿F(xiàn)行走軌跡的變化.本設(shè)計(jì)采用可改變的滑動(dòng)軌道,可以根據(jù)不同的魚缸進(jìn)行重組軌道,從而大大增加了產(chǎn)品適用性和可操作性.
全自動(dòng)智能魚缸清理器的工作步驟如下:LCD1602顯示時(shí)間,水體的溫度,手動(dòng)設(shè)定清理器開始工作的時(shí)間,當(dāng)時(shí)間與設(shè)定時(shí)間一致時(shí),魚缸清理器自動(dòng)開始工作,清理器工作一個(gè)周期后回到原位.本設(shè)計(jì)要實(shí)現(xiàn)的技術(shù)要求是:(1)溫度檢測(cè):對(duì)水體溫度進(jìn)行測(cè)量并且反應(yīng)到顯示器上.(2)顯示部分:顯示當(dāng)前時(shí)間、當(dāng)前水體溫度、定時(shí)設(shè)置.(3)鍵盤控制:在電動(dòng)機(jī)停止工作的時(shí)候可以手動(dòng)控制電動(dòng)機(jī)的移動(dòng).(4)電機(jī)軌道:根據(jù)魚缸的規(guī)格形狀設(shè)定,確保能夠讓其清理到整個(gè)魚缸底面.
圖1 系統(tǒng)設(shè)計(jì)的方塊圖
圖2DS18B20實(shí)物
1.1 系統(tǒng)設(shè)計(jì)的方塊圖及其說(shuō)明
系統(tǒng)設(shè)計(jì)的方塊如圖1所示.由AT89C52控制的魚缸清理器系統(tǒng)的設(shè)計(jì)說(shuō)明.溫度傳感器18B20把檢測(cè)到的溫度轉(zhuǎn)化成數(shù)據(jù)傳輸給單片機(jī),單片機(jī)控制LCD顯示出當(dāng)前的溫度.而顯示部分包括DS1302時(shí)鐘芯片,所以可以把當(dāng)前時(shí)間顯示在LCD屏上.接近開關(guān)是在魚缸的軌道的四個(gè)方位上,當(dāng)清理器移動(dòng)到靠近接近開關(guān)時(shí),接近開關(guān)就可以把信號(hào)傳送給單片機(jī),單片機(jī)控制步進(jìn)電機(jī)的行走方向.水泵由單片機(jī)控制,當(dāng)系統(tǒng)啟動(dòng)的時(shí)候,單片機(jī)I/O口給出高電率水泵部分的繼電器,即可讓繼電器合上常開開關(guān),讓水泵通電即可運(yùn)作.鍵盤部分是控制電機(jī)的運(yùn)轉(zhuǎn)方向的,鍵盤的信號(hào)通過(guò)單片機(jī)傳給電機(jī)進(jìn)行控制.
1.2 顯示部分
顯示部分是由LCD1602液晶顯示器,DS1302芯片和輕觸開關(guān)組成,主要是起到顯示當(dāng)前時(shí)間和當(dāng)前水體溫度的作用.輕觸開關(guān)主要是用于調(diào)節(jié)時(shí)間,設(shè)定清潔時(shí)間.
本設(shè)計(jì)使用的LCD1602液晶顯示器為5V電壓驅(qū)動(dòng),帶背光,可顯示兩行,每行16個(gè)字符,不能顯示漢字,內(nèi)置含128個(gè)字符的ASCII字符集字庫(kù),只有并行接口,無(wú)串行接口.
1.3控制部分
控制部分是由4個(gè)輕觸開關(guān)組成.當(dāng)清理器出現(xiàn)故障時(shí),可手動(dòng)控制清理器回到原點(diǎn),重啟機(jī)器,則運(yùn)行將恢復(fù)正常.
1.4 溫度檢測(cè)部分
溫度檢測(cè)部分功能主要是由DS18B20,32 KHz晶振,紐扣電池等元件組成.本設(shè)計(jì)使用的DS18B20是帶有金屬外殼的,具有防水功能.DS18B20是一種具有體型小、低能耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn)的溫度傳感器,可以檢測(cè)的溫度范圍是-55℃~125℃,在-10℃~85℃時(shí)精確度為±0.5℃.DS18B20的實(shí)物如圖2所示.
1.5 電機(jī)軌道設(shè)計(jì)
假設(shè)本次設(shè)計(jì)是基于一個(gè)長(zhǎng)方體的魚缸,則電機(jī)的行走軌跡如圖3所示.接近開關(guān)是安裝在軌道的拐彎處的軌道壁上.
圖3 電機(jī)行走軌跡
2.1 最小系統(tǒng)電路原理圖
最小系統(tǒng)的核心就是AT89C52芯片,可以通過(guò)Keil C軟件編譯所需的程序,然后生成有效文件.hex,通過(guò)燒錄系統(tǒng)直接把程序載入到AT89C52芯片中.
2.2 顯示部分以及時(shí)鐘芯片部分電路
圖4 顯示部分電路原理圖
圖5 時(shí)鐘芯片部分電路原理圖
顯示部分主要顯示當(dāng)前時(shí)間、溫度和定時(shí)設(shè)置,其中按鍵S1、S2、S3、S4用來(lái)設(shè)置時(shí)間,功能分別是選擇、增加、減少、取消.系統(tǒng)基本能通過(guò)這4個(gè)按鍵實(shí)現(xiàn)時(shí)間的設(shè)定.顯示部分電路原理如圖4所示,時(shí)鐘芯片部分電路原理如圖5所示.
2.3 電機(jī)部分控制電路
光電隔離電路主要是由TLP521,三極管電路等組成,主要用于電動(dòng)機(jī)的供給電控制.當(dāng)單片機(jī)發(fā)出高電平給光電隔離器時(shí),繼電器的常開處會(huì)閉合形成回路,則電機(jī)與外接電路中的開關(guān)電源(24 V)接通.光電隔離的作用是保護(hù)最小系統(tǒng)中的89C52,以免因?yàn)殡娐分械碾妷翰煌艿礁蓴_,甚至損壞單片機(jī).帶有光電隔離的開關(guān)電路的步進(jìn)電機(jī)控制電路原理圖如圖6所示.
圖6 帶有光電隔離的開關(guān)電路的步進(jìn)電機(jī)控制電路原理圖
圖7 帶步進(jìn)電機(jī)的滑臺(tái)組合電路實(shí)物
兩個(gè)滑臺(tái)分別模擬軌道的水平方向和豎直方向,在滑臺(tái)上裝有4個(gè)接近開關(guān),分別模擬軌道的上、下、左、右4個(gè)方位的壁.電機(jī)的速度由單片機(jī)控制.帶步進(jìn)電機(jī)的滑臺(tái)組合電路實(shí)物如圖7所示.
圖8 主程序流程
圖8 溫度檢測(cè)程序流圖
圖10 LCD1602液晶顯示模塊程序流程
首先進(jìn)行所有數(shù)據(jù)的初始化,啟動(dòng)水泵,LCD顯示當(dāng)前時(shí)間,18B20檢測(cè)水溫,反饋給LCD顯示出來(lái);判斷當(dāng)前時(shí)間是否與設(shè)定清理時(shí)間一致,若一致,開始檢測(cè)接近開關(guān)數(shù)據(jù),若靠近步進(jìn)電機(jī),則步進(jìn)電機(jī)執(zhí)行命令,清理器開始運(yùn)行.主程序流程如圖8所示.
圖9為溫度檢測(cè)的程序控制流程.溫度控制主要是由18B20采集數(shù)據(jù),然后經(jīng)過(guò)自身對(duì)數(shù)據(jù)的處理,轉(zhuǎn)化為計(jì)算機(jī)可以識(shí)別的編碼傳輸給單片機(jī),單片機(jī)傳送給LCD即可實(shí)現(xiàn)溫度的可讀性.
圖10為L(zhǎng)CD1602液晶顯示模塊程序流程.首先初始化顯示器的數(shù)據(jù),并且定義時(shí)間設(shè)置按鍵S1、S2、S3、S4,其功能分別是選擇、增加、減少、取消.單片機(jī)必須檢測(cè)是否有按下按鍵,按鍵消抖后,若檢測(cè)到有按下按鍵,就開始根據(jù)按鍵的次數(shù)來(lái)調(diào)整數(shù)據(jù),把BCD碼轉(zhuǎn)換數(shù)據(jù),存入單片機(jī)寄存器,LCD1602寫出命令,最后顯示出來(lái).
圖11為步進(jìn)電機(jī)運(yùn)行程序流程,該流程是根據(jù)圖3的軌跡設(shè)定的.電機(jī)1是指沿Y軸方向上下移動(dòng)的步進(jìn)電機(jī),電機(jī)2是指沿X軸方向左右移動(dòng)的步進(jìn)電機(jī).其中電機(jī)1的正轉(zhuǎn)是指向Y軸的負(fù)方向移動(dòng)的轉(zhuǎn)向,反之,電機(jī)1的反轉(zhuǎn)是指向Y軸的正方向移動(dòng)的轉(zhuǎn)向.電機(jī)2的正轉(zhuǎn)是指向X軸的正方向移動(dòng)的轉(zhuǎn)向,反之,電機(jī)2的反轉(zhuǎn)是指向X軸的負(fù)方向移動(dòng)的轉(zhuǎn)向.接近開關(guān)1,2,3,4分別是軌道的上,左,下,右壁.當(dāng)前時(shí)間與設(shè)定清理時(shí)間一致時(shí),單片機(jī)發(fā)送信號(hào)給步進(jìn)電機(jī),電機(jī)接收信號(hào)后,開始判斷清理器的位置,如果不是在原點(diǎn),則可以通過(guò)鍵盤控制,使其回到原點(diǎn);若在原點(diǎn),則是按照程序的設(shè)計(jì)運(yùn)行,運(yùn)行的軌跡按圖3設(shè)定.清理器碰到接近開關(guān)時(shí),改變自身運(yùn)行方向,使其可以完成設(shè)定軌跡的運(yùn)動(dòng).
圖11 步進(jìn)電機(jī)運(yùn)行程序
該系統(tǒng)的設(shè)計(jì)能夠?qū)崿F(xiàn)魚缸底面的清潔的,而且操作比較簡(jiǎn)單,只需設(shè)定清潔時(shí)間即可.當(dāng)單片機(jī)檢測(cè)到設(shè)定時(shí)間與當(dāng)前時(shí)間一致時(shí),清潔器就可以開始運(yùn)行.清潔器的運(yùn)行軌跡是根據(jù)魚缸的形狀設(shè)定的,若改變魚缸的形狀,可以通過(guò)改變單片機(jī)程序來(lái)改變清潔器軌跡,使其盡最大的可能使其軌道覆蓋整個(gè)魚缸.在設(shè)計(jì)硬件時(shí),引入接近開關(guān),使整個(gè)設(shè)計(jì)的復(fù)雜度大大的降低,接近開關(guān)模擬魚缸軌道的拐點(diǎn),單片機(jī)可以通過(guò)接近開關(guān)傳送的信號(hào)改變步進(jìn)電機(jī)的相序,從而改變電機(jī)的轉(zhuǎn)動(dòng)方向.
[1]宋建永,張金柱.基于MCS-51與8279的智能時(shí)控開關(guān)設(shè)計(jì)[J].電腦與電信,2008(9),106-107.
[2]徐金龍.片上時(shí)鐘產(chǎn)生電路的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2009.
[3]郭天祥.新概念51單片機(jī)C語(yǔ)言教程——入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2010.
[4]譚浩強(qiáng).C程序設(shè)計(jì)[M].2版.北京:清華大學(xué)出版社,2001.
[5]康華光.電子技術(shù)基礎(chǔ)數(shù)字部分[M].5版.北京:高等教育出版社,2006.
[6]周立功,陳明計(jì),王祖群,等.項(xiàng)目驅(qū)動(dòng)—單片機(jī)應(yīng)用設(shè)計(jì)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2011.
Automatic Intelligent Fish Tank Cleaning Device Based on SCM Control Technology
FENG Ya-li,HAO Ning-sheng*
(Institute of Physics and Mechanical&Electrical Engineering,Shaoguan University, Shaoguan 512005,Guangdong,China)
The cleaning device consists four parts:AT89C52 of STC series,stepper motor slide unit,timing system and the controlling part.The STC contains a memory inside which the data can be repeatedly written and erased as well as a random access memory.There are two slide units in the device,standing for the x-axis and y-axis in rectangular coordinate system respectively.A shaft,powered by the four-phrase steeper motor is placed inside the slide unit.Rotated by the shaft a mental block,it indicates the position of the cleaning device in the fish tank.The timing system combines a chip DS1302 for timing,a chip 18B20 for temperature testing and a LCD screen LCD1602.The device is developed for multi-functions such as cleaning the tank automatically in specific time;removing the impurity in water;adding oxygen to the water and adjusting the position of the stepper motor intelligently when accident occurs.
AT89C52;slide unit;four-phrase steeper motor;DS1302;18B20;LCD1602
TP23
:A
:1007-5348(2015)04-0022-05
(責(zé)任編輯:李婉)
2015-02-20
廣東省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目(1057613-012).
馮雅莉(1991-),女,廣東廣州人,韶關(guān)學(xué)院物理與機(jī)電工程學(xué)院學(xué)生;研究方向:自動(dòng)化控制.*通訊作者.