馮雅莉,郝寧生
基于單片機的全自動智能魚缸清理器系統(tǒng)設計
馮雅莉,郝寧生*
(韶關學院物理與機電工程學院,廣東韶關512005)
全自動智能魚缸清理器系統(tǒng)的設計是采用STC系列單片機中AT89C52、步進電機滑臺、定時系統(tǒng)和控制部分組成的.系統(tǒng)中含有2個步進滑臺,分別代表直角坐標系中的橫縱坐標軸.滑臺的轉軸上有一有轉軸帶動的金屬塊,代表清理器在魚缸清潔軌道上的位置.其中,轉軸是由步進滑臺中的四相步進電機帶動的.定時系統(tǒng)是由定時部分的DS1302芯片、測溫部分18B20芯片和顯示部分的液晶屏LCD1602組成.該系統(tǒng)可以實現(xiàn)人為定時清理魚缸,過濾水體中異物,增氧以及遇故障時人為調整等功能.
AT89C52;步進滑臺;四相步進電機;DS1302;18B20;LCD1602
全自動智能魚缸清理器的清潔軌跡是可以根據(jù)魚缸的形狀進行設計的,除了具備清潔池底的功能外,還有增氧、檢測水體溫度、過濾水體、移動清潔的功能.目前市場上的產品及其系統(tǒng)的設計是基于PLC技術,采用PLC技術來控制直流電機或交流電機,其共同的缺點是不能根據(jù)不同類型的魚缸進行修改清理器的行走軌跡.采用PLC技術是針對特定的軌道設計,程序比較簡單,容易操作,但是運動軌跡變動時,需要改變內部硬件設備才能實現(xiàn)行走軌跡的更改,而且只能訂制,不便投入批量生產.而單片機的片內含可反復擦寫的Flash只讀程序存儲器和隨機存取數(shù)據(jù)存儲器,可以通過簡單的改變程序實現(xiàn)行走軌跡的變化.本設計采用可改變的滑動軌道,可以根據(jù)不同的魚缸進行重組軌道,從而大大增加了產品適用性和可操作性.
全自動智能魚缸清理器的工作步驟如下:LCD1602顯示時間,水體的溫度,手動設定清理器開始工作的時間,當時間與設定時間一致時,魚缸清理器自動開始工作,清理器工作一個周期后回到原位.本設計要實現(xiàn)的技術要求是:(1)溫度檢測:對水體溫度進行測量并且反應到顯示器上.(2)顯示部分:顯示當前時間、當前水體溫度、定時設置.(3)鍵盤控制:在電動機停止工作的時候可以手動控制電動機的移動.(4)電機軌道:根據(jù)魚缸的規(guī)格形狀設定,確保能夠讓其清理到整個魚缸底面.
圖1 系統(tǒng)設計的方塊圖
圖2DS18B20實物
1.1 系統(tǒng)設計的方塊圖及其說明
系統(tǒng)設計的方塊如圖1所示.由AT89C52控制的魚缸清理器系統(tǒng)的設計說明.溫度傳感器18B20把檢測到的溫度轉化成數(shù)據(jù)傳輸給單片機,單片機控制LCD顯示出當前的溫度.而顯示部分包括DS1302時鐘芯片,所以可以把當前時間顯示在LCD屏上.接近開關是在魚缸的軌道的四個方位上,當清理器移動到靠近接近開關時,接近開關就可以把信號傳送給單片機,單片機控制步進電機的行走方向.水泵由單片機控制,當系統(tǒng)啟動的時候,單片機I/O口給出高電率水泵部分的繼電器,即可讓繼電器合上常開開關,讓水泵通電即可運作.鍵盤部分是控制電機的運轉方向的,鍵盤的信號通過單片機傳給電機進行控制.
1.2 顯示部分
顯示部分是由LCD1602液晶顯示器,DS1302芯片和輕觸開關組成,主要是起到顯示當前時間和當前水體溫度的作用.輕觸開關主要是用于調節(jié)時間,設定清潔時間.
本設計使用的LCD1602液晶顯示器為5V電壓驅動,帶背光,可顯示兩行,每行16個字符,不能顯示漢字,內置含128個字符的ASCII字符集字庫,只有并行接口,無串行接口.
1.3控制部分
控制部分是由4個輕觸開關組成.當清理器出現(xiàn)故障時,可手動控制清理器回到原點,重啟機器,則運行將恢復正常.
1.4 溫度檢測部分
溫度檢測部分功能主要是由DS18B20,32 KHz晶振,紐扣電池等元件組成.本設計使用的DS18B20是帶有金屬外殼的,具有防水功能.DS18B20是一種具有體型小、低能耗、高性能、抗干擾能力強、易配微處理器等優(yōu)點的溫度傳感器,可以檢測的溫度范圍是-55℃~125℃,在-10℃~85℃時精確度為±0.5℃.DS18B20的實物如圖2所示.
1.5 電機軌道設計
假設本次設計是基于一個長方體的魚缸,則電機的行走軌跡如圖3所示.接近開關是安裝在軌道的拐彎處的軌道壁上.
圖3 電機行走軌跡
2.1 最小系統(tǒng)電路原理圖
最小系統(tǒng)的核心就是AT89C52芯片,可以通過Keil C軟件編譯所需的程序,然后生成有效文件.hex,通過燒錄系統(tǒng)直接把程序載入到AT89C52芯片中.
2.2 顯示部分以及時鐘芯片部分電路
圖4 顯示部分電路原理圖
圖5 時鐘芯片部分電路原理圖
顯示部分主要顯示當前時間、溫度和定時設置,其中按鍵S1、S2、S3、S4用來設置時間,功能分別是選擇、增加、減少、取消.系統(tǒng)基本能通過這4個按鍵實現(xiàn)時間的設定.顯示部分電路原理如圖4所示,時鐘芯片部分電路原理如圖5所示.
2.3 電機部分控制電路
光電隔離電路主要是由TLP521,三極管電路等組成,主要用于電動機的供給電控制.當單片機發(fā)出高電平給光電隔離器時,繼電器的常開處會閉合形成回路,則電機與外接電路中的開關電源(24 V)接通.光電隔離的作用是保護最小系統(tǒng)中的89C52,以免因為電路中的電壓不同而受到干擾,甚至損壞單片機.帶有光電隔離的開關電路的步進電機控制電路原理圖如圖6所示.
圖6 帶有光電隔離的開關電路的步進電機控制電路原理圖
圖7 帶步進電機的滑臺組合電路實物
兩個滑臺分別模擬軌道的水平方向和豎直方向,在滑臺上裝有4個接近開關,分別模擬軌道的上、下、左、右4個方位的壁.電機的速度由單片機控制.帶步進電機的滑臺組合電路實物如圖7所示.
圖8 主程序流程
圖8 溫度檢測程序流圖
圖10 LCD1602液晶顯示模塊程序流程
首先進行所有數(shù)據(jù)的初始化,啟動水泵,LCD顯示當前時間,18B20檢測水溫,反饋給LCD顯示出來;判斷當前時間是否與設定清理時間一致,若一致,開始檢測接近開關數(shù)據(jù),若靠近步進電機,則步進電機執(zhí)行命令,清理器開始運行.主程序流程如圖8所示.
圖9為溫度檢測的程序控制流程.溫度控制主要是由18B20采集數(shù)據(jù),然后經過自身對數(shù)據(jù)的處理,轉化為計算機可以識別的編碼傳輸給單片機,單片機傳送給LCD即可實現(xiàn)溫度的可讀性.
圖10為LCD1602液晶顯示模塊程序流程.首先初始化顯示器的數(shù)據(jù),并且定義時間設置按鍵S1、S2、S3、S4,其功能分別是選擇、增加、減少、取消.單片機必須檢測是否有按下按鍵,按鍵消抖后,若檢測到有按下按鍵,就開始根據(jù)按鍵的次數(shù)來調整數(shù)據(jù),把BCD碼轉換數(shù)據(jù),存入單片機寄存器,LCD1602寫出命令,最后顯示出來.
圖11為步進電機運行程序流程,該流程是根據(jù)圖3的軌跡設定的.電機1是指沿Y軸方向上下移動的步進電機,電機2是指沿X軸方向左右移動的步進電機.其中電機1的正轉是指向Y軸的負方向移動的轉向,反之,電機1的反轉是指向Y軸的正方向移動的轉向.電機2的正轉是指向X軸的正方向移動的轉向,反之,電機2的反轉是指向X軸的負方向移動的轉向.接近開關1,2,3,4分別是軌道的上,左,下,右壁.當前時間與設定清理時間一致時,單片機發(fā)送信號給步進電機,電機接收信號后,開始判斷清理器的位置,如果不是在原點,則可以通過鍵盤控制,使其回到原點;若在原點,則是按照程序的設計運行,運行的軌跡按圖3設定.清理器碰到接近開關時,改變自身運行方向,使其可以完成設定軌跡的運動.
圖11 步進電機運行程序
該系統(tǒng)的設計能夠實現(xiàn)魚缸底面的清潔的,而且操作比較簡單,只需設定清潔時間即可.當單片機檢測到設定時間與當前時間一致時,清潔器就可以開始運行.清潔器的運行軌跡是根據(jù)魚缸的形狀設定的,若改變魚缸的形狀,可以通過改變單片機程序來改變清潔器軌跡,使其盡最大的可能使其軌道覆蓋整個魚缸.在設計硬件時,引入接近開關,使整個設計的復雜度大大的降低,接近開關模擬魚缸軌道的拐點,單片機可以通過接近開關傳送的信號改變步進電機的相序,從而改變電機的轉動方向.
[1]宋建永,張金柱.基于MCS-51與8279的智能時控開關設計[J].電腦與電信,2008(9),106-107.
[2]徐金龍.片上時鐘產生電路的研究[D].哈爾濱:哈爾濱工業(yè)大學,2009.
[3]郭天祥.新概念51單片機C語言教程——入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2010.
[4]譚浩強.C程序設計[M].2版.北京:清華大學出版社,2001.
[5]康華光.電子技術基礎數(shù)字部分[M].5版.北京:高等教育出版社,2006.
[6]周立功,陳明計,王祖群,等.項目驅動—單片機應用設計基礎[M].北京:北京航空航天大學出版社,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
(責任編輯:李婉)
2015-02-20
廣東省大學生創(chuàng)新創(chuàng)業(yè)訓練項目(1057613-012).
馮雅莉(1991-),女,廣東廣州人,韶關學院物理與機電工程學院學生;研究方向:自動化控制.*通訊作者.