|
MCU鱼缸增氧、过滤定时控制器
一好友是位资深观赏鱼爱好者,家中饲养观赏鱼若干,其中不乏精品。该友终日为鱼儿增氧、鱼缸水过滤净化而劳顿。以往,多使用220V的潜水泵完成增氧、水过滤净化之事,奈何潜水泵使用日久而漏电,被电击数次。家人放言:如再使用这交流供电的泵,就击碎鱼缸,弄死这些劳什子。该友自己也为这些潜水泵而倍感忐忑。
在好友彷徨之际,耳闻我在玩单片机,于是就登门要求搞一个能自动定时的玩意儿,同时提出苛刻要求数款:什么可以自动定时开关这些泵,同时要全部是用可充电的锂电供电,并能监控各组电池的电压,欠压能报警,并能在电池电压下降之过程中保持电机的转速不变云云。。。其目的很明确,一是可以不必自己再劳顿,有闲暇可以自在的赏鱼,二可以安安全全不用再担心触电。
这岂不正中我下怀?最近正想找一个什么小项目练练手,就有送上门来的,于是乎就有了下面的任务书:
1、采用3组锂电池供电,一组为4节并联,充满后为4.2V,用一片低电压差线性LDO降压到3.3V为MCU和LCD供电。未降压前给1.5V的增氧泵供电。
第2组用4并2串的8.4V经DC-DC升压后为12V的小过滤泵供电。
第3组用4并4串得16。8V经DC-DC降压后给大的过滤泵供电。
2、用一个带开关的编码器完成所有功能,包括3个泵的工作停止时间设置。显示屏的背光亮与暗,电机转速初值的设定。
3、使用MCU内部的两个定时器TC0和TC1。TCO用于相位可调的PWM方波发生器,且占空比可调,用来控制制氧泵的转速,并且增氧泵的转速不因电池电压下降而变化,这是用一个经反复试验得到的经验公式来自动跟踪电压的变化而调速(自动调整方波的占空比)。
TC1为1S中断定时器,用它来决定3只泵的工作与停止。
4、用3路AD转换来检测电池的电压,无论哪一组电池欠压,都可以报警。
5、用电池供电,电池的功耗就是要重点考虑的,因此,显示屏的背光可以手控需要时亮,延时一段时间灭,像手机一样。
6、用一块LCD屏显示所有信息。
7、MCU选用ATmega16L,显示屏选用YB1604B,低电压差线性LDO选用MAX1818-33.
经过20多天的努力,终于完成了代码的编制与仿真。硬件PCB也完成。
有图有真相:
[ 本帖最后由 rjx 于 2013-2-28 16:38 编辑 ]
|
|