摘 "要:隨著人民生活水平的日益提高,人們對舒適生活的追求成為一種趨勢。對于居室中魚的飼養價值和觀賞價值更是得到充分的體現,它可以放松心情、緩解壓力、消除學習及工作中的眼睛及心理的疲勞。對于養魚所需要的魚缸,目前市場上存在著諸多問題。養魚者大部分采用傳統魚缸,這對魚的飼養及照料有一定的困難;而智能魚缸多為價格昂貴,體積龐大的水族箱,得不到廣泛的普及。故魚缸的智能化設計以及其普遍推廣使用的結合也是亟待解決的問題。針對這一現狀,設計了一套基于Holtek單片機控制的智能魚缸。
關鍵詞:合泰Holtek單片機;HT46RU232;智能魚缸;自動調整
文章編號:1674-3520(2014)-11-00-02
針對魚缸的養護問題,市場上出現了很多有關魚缸的水溫控制、換水、充氧和照明的設備和器具,例如過濾器可除去水中雜質、加熱器給水加溫、加氧泵改善水中含氧量等的設備。但是由于產品種類繁多,功能效果不統一,而且大部分都是非智能化的、單一化的恒溫控制、充氧和照明的系統。
一、本設計中智能魚缸的實現
本課題設計是根據目前國內外水族行業的發展情況,以及水族箱和觀賞魚的養護需求進行分析,并對行業中水族箱控制設備的研發和產品的特點進行總結,自主設計并開發制作的價格低廉,操作簡單,節能環保,集恒溫控制、自動充氧、自動水位檢測并控制進排水、自動照明、自動喂食以及要遙控設計控制等多功能與一體的魚缸智能控制系統。
(一)HT46RU232最小系統的設計
HT46RU232單片機最小系統和其他單片機的使用相似,同樣需要除單片機組件外的時鐘振蕩電路、復位電路。
(二)系統功能特色
1、組合創新。市場上的魚缸大多沒有其他附屬功能,許多商家有這方面的研究,但是功能相對單一,我們將魚缸水溫、排水、充氧、照明和喂食等設備結合在一起,用單片機進行控制,實現了功能的統一和系統的智能化
2、恒溫設計。具有低溫加熱功能;可以根據不同魚的水中的適宜溫度進行不同的設置。
3、定時自動喂食功能。可以按鍵設置喂食的時間,當設置的時刻一到,單片機發送喂食命令,控制舵機轉動,使其放食口打開并適時關閉,使其食物適量放入魚缸中。
4、具有多重水循環與水質過濾。
5、運用無線遙控進行控制,更能方便使用者對其進行開光照、啟用水泵、啟用充氧泵、喂食等的設置。
6、應用超聲波原理進行對水位進行檢測,根據所得到的值進行判斷是否關閉抽水水泵,達到自動停止放水的功能。
二、系統硬件設計
(一)傳感器模塊設計
傳感器模塊由光照傳感器、溫度傳感器、水位監測器等構成。
1、光照傳感器
光照傳感器是由光敏電阻和LM358為主要部件制作的,應用光敏電阻有入射光強電阻減小,入射光弱電阻增大的特性,還有LM358的電壓放大功能,得到一個隨光照減弱而增強的電壓。把此電壓值用單片機內部自帶的AD功能將電壓模擬量變為數字量,
2、溫度傳感器
溫度傳感器采用單總線溫度傳感器DS18B20,性能穩定,可以節省IO,由于測的是水溫故需要選擇帶有防水型不銹鋼封裝水溫探頭的DS18B20。
3、水位監測器
水位監測器是應用超聲波可以測距的功能來制作的,應用NE555占空比可調的脈沖振蕩電路產生40KHz的信號,利用CX20106進行接收40KHz的信號,由單片機計數器計算發送到接收到信號的時間T,有距離(Distance)=T*340/2即可得到離水面的高度。
(二)無線控制模塊設計
315M無線模塊體積小,操作簡單,價格低廉,采用315M無線模塊可以在20米的范圍內遙控開關燈、加氧泵和抽水泵等。
(三)人機界面設計
系統以液晶顯示器LCD12864作為人機顯示界面,以鍵盤作為人機交流界面。顯示界面將顯示時間、日期、溫度等信息,實時時間由DS1302時鐘芯片提供。通過鍵盤還可設定啟用光照的最小強度值、水溫的恒溫值和定時喂食時間,充分體現了智能魚缸的人性化和智能化。
1、液晶顯示LCD12864
LCD12864漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示繪圖RAM(GDRAM)。
在本設計中采用了3位串行的輸入方式,雖然對于并行輸入方式來說速度相對慢些,但對硬件線路連接來說相對變的簡單了,并且節省了不少單片機的I/O口資源。此時15引腳PSB應該接地或是在單片機的使其在使用時該引腳設置為0,在本設計中選擇15引腳PSB接地的方式進行選擇其串行輸入方式。為方便其與單片機連接,制作了LCD12864的轉接板。
2、鍵盤設計
鍵盤采用獨立按鍵,通過按鍵的復用達到相應需要的數值的調整、以及選擇。
KEY1設置為Enter確認鍵,KEY2設置為Add加調整鍵,KEY3設置為Sub減調整鍵,KEY4設置為Back返回鍵。
3、時鐘模塊
DS1302芯片管腳說明:
表3-1 " DS1302管腳:
(四)執行部分設計
執行部分包括水中加熱棒、燈、加氧泵、水泵。由于其供電均用220V/50Hz供電,故需要對其控制部分與執行部分進行隔離,采用PC817芯片進行光電耦合控制通過驅動繼電器的通斷來分別實現加熱棒、燈、加氧泵、水泵的開啟與否,光電耦合器PC817在電路中起到隔離的效果,使繼電器在導通的情況下產生的較大電流與單片機的控制管腳進行。
三、系統軟件設計
(一)系統中使用Holtek MCU的主要核心功能
1、AD轉換器
將光照傳感器輸出電壓接至AD轉換器的一個通道引腳上(PB0),將模擬電壓轉化為數字信號,有效的減少了外圍電路和開發成本。
2、外部中斷
水位監測器中,應用了HT46RU232中的外部中斷功能。40KHz信號接收端接外部中斷引腳(PA5),當接收到40KHz信號時,立即執行計算計數值的中斷程序,從而可得到較準確的水位值。
3、定時/計數器
利用了單片機中是定時/計數器0(16位定時計數),計算發送到接收到信號的時間T。
4、看門狗定時器功能
啟用看門狗定時器功能能防止如電磁的干擾等外部不可控制事件,所造成的程序不正常動作或跳轉到未知的地址,從而提高了系統的穩定性。
在系統主程序中,首先是對各個模塊的初始化,除了包括液晶屏LCD12864、DS1302及串口的初始化外,還應對I/O口進行正確設置,按鍵設定為輸入狀態,繼電器控制腳設置為輸出狀態。經過單片機對DS1302讀取時間數據、DS18B20進行溫度讀取、AD采集到的光照值、定時器記下的時間數據經過數據的處理后分別其顯示時間(時分秒年月日星期)、溫度、光照值、離水面的距離。
(二)系統流程圖
當菜單鍵按下后,就進入了設置模式選擇的界面,顯示2當確定調整模式后,就分別可以進入四種調整界面,即時間調整確定后就進入了顯示3的界面,定時調整確定后就進入了顯示4的界面,光照調整界面確定后就進入了顯示5的界面,溫度調整確定后就進入了顯示6的界面。
當進入各自的調整界面后就可以通過加減及確定按鍵進行相應的數值調整,從而改變顯示時間、喂食時間、光照最低值、溫度設定值。
圖4-1 "人機界面及控制軟件流程圖
除此之外,在不進入設定調整狀態時,可以通過無線遙控進行相應的控制。即水泵、加氧、燈光、喂食的工作控制。在遙控模式下,遙控的四個按鍵進行相應的控制,并且配合著相應的指示燈進行指示說明,按下后啟動,再次按下后關閉,第三次按下后開啟,第四次按下后關閉,以此類推。這樣就達到了無線控制的方便、簡捷的控制。
圖4-2 " "顯示界面設計
四、結論
本設計主要采用Holtek合泰單片機HT46RU232為主控芯片作為控制器,充分使用其單片機的內部資源所做的一套智能魚缸系統。該系統有著恒溫設計、定時自動喂食、多重水循環與水質過濾、運用無線遙控進行控制、超聲波原理進行對水位進行檢測等功能性和實用性的組合創新。
在設計制作的過程中對單片機的硬件結構和指令系統有了進一步充分的了解,通過Holtek合泰單片機的學習,培養了自己對知識的遷移性和靈活性的掌握,同時也鍛煉了自己的學習新事物的能力。
在編寫程序的時候出現了語法正確,編譯RAM超出范圍的情況。分析應該是數據存儲器使用完畢,初步認為解決的方法有外加存儲器、使用串口多使用一塊單片機。但看到程序存儲器使用度較低,故發現了可以用在ROM定義所要顯示的字符串,節省RAM。經過此番處理,問題得以完善解決。