MCU魚缸增氧、過濾定時控制器
一好友是位資深觀賞魚愛好者,家中飼養(yǎng)觀賞魚若干,其中不乏精品。該友終日為魚兒增氧、魚缸水過濾凈化而勞頓。以往,多使用220V的潛水泵完成增氧、水過濾凈化之事,奈何潛水泵使用日久而漏電,被電擊數(shù)次。家人放言:如再使用這交流供電的泵,就擊碎魚缸,弄死這些勞什子。該友自己也為這些潛水泵而倍感忐忑。
在好友彷徨之際,耳聞我在玩單片機,于是就登門要求搞一個能自動定時的玩意兒,同時提出苛刻要求數(shù)款:什么可以自動定時開關(guān)這些泵,同時要全部是用可充電的鋰電供電,并能監(jiān)控各組電池的電壓,欠壓能報警,并能在電池電壓下降之過程中保持電機的轉(zhuǎn)速不變云云。。。其目的很明確,一是可以不必自己再勞頓,有閑暇可以自在的賞魚,二可以安安全全不用再擔(dān)心觸電。
這豈不正中我下懷?最近正想找一個什么小項目練練手,就有送上門來的,于是乎就有了下面的任務(wù)書:
1、采用3組鋰電池供電,一組為4節(jié)并聯(lián),充滿后為4.2V,用一片低電壓差線性LDO降壓到3.3V為MCU和LCD供電。未降壓前給1.5V的增氧泵供電。
第2組用4并2串的8.4V經(jīng)DC-DC升壓后為12V的小過濾泵供電。
第3組用4并4串得16。8V經(jīng)DC-DC降壓后給大的過濾泵供電。
2、用一個帶開關(guān)的編碼器完成所有功能,包括3個泵的工作停止時間設(shè)置。顯示屏的背光亮與暗,電機轉(zhuǎn)速初值的設(shè)定。
3、使用MCU內(nèi)部的兩個定時器TC0和TC1。TCO用于相位可調(diào)的PWM方波發(fā)生器,且占空比可調(diào),用來控制制氧泵的轉(zhuǎn)速,并且增氧泵的轉(zhuǎn)速不因電池電壓下降而變化,這是用一個經(jīng)反復(fù)試驗得到的經(jīng)驗公式來自動跟蹤電壓的變化而調(diào)速(自動調(diào)整方波的占空比)。
TC1為1S中斷定時器,用它來決定3只泵的工作與停止。
4、用3路AD轉(zhuǎn)換來檢測電池的電壓,無論哪一組電池欠壓,都可以報警。
5、用電池供電,電池的功耗就是要重點考慮的,因此,顯示屏的背光可以手控需要時亮,延時一段時間滅,像手機一樣。
6、用一塊LCD屏顯示所有信息。
7、MCU選用ATmega16L,顯示屏選用YB1604B,低電壓差線性LDO選用MAX1818-33.
經(jīng)過20多天的努力,終于完成了代碼的編制與仿真。硬件PCB也完成。
有圖有真相:
圖怎么傳不上啊?!
[此貼子已經(jīng)被作者于2013-2-28 16:31:01編輯過]
|