上次儿子幼儿园搞科技周,在网上看到蒜头电池,很有兴趣,结果一看需要锌和铜片,立马放弃了。和下面的兄弟比,动手能力远远不够。
能工作的水果供电的AVR单片机的配置如下:
硬件:Mega88,32KHz外部晶振,2倍负压电路由AVR的PWM驱动,LCD是静态的笔端式LCD,用Mega88的IO口直接驱动,没有分时扫描。
软件:在Timer0中断服务程序中每2秒钟刷新LCD显示,平时AVR工作在空闲模式。Timer1提供PWM波形驱动2倍负压电路。
测量数据:
电路工作时水果电池电压2.5V,整机电流30uA,2倍负电压提供电压大约-3V。
本来觉得水果电池驱动LCD只是展示会上的噱头,三片柠檬的电力,应该足够带动LCD的。不过最初当我用Mega8L做了一个电路却不能用水果电池驱动时,我下决心亲自实践一番,看看水果供电的AVR单片机能否成功。
难度上从开源项目走会比较合适,这里比较有代表性的是Arduino为主的物件程式项目,相较于Microchip单片机具有较为完整的程式库与开源项目指导,从程式编写到硬件控制上都比较适合入门或非机电专业人士处理相关问题。
这样我可以验证对低功耗单片机设计的一些认识;而我手头上一个用MSP430的项目,样机已经做好多时了,觉得MSP430不爽(不只是贵,我们还要维护两套平台),有心想要改成AVR。那个MSP430功耗真是低,3节五号镍镉电池供电的样机,停停走走用了一年多。
喜欢MSP430做低功耗设计的朋友,欢迎来砸砖。
这是水果电池的电极,阳极是做PCB的覆铜板,阴极是镀锌螺丝。将上述电极浸入滴过醋的三个水杯里,我测到水果电池的容量能达到:空载电压3V,短路电流400uA。这使我有信心演示出水果供电的AVR单片机。
水果电池的电极
我用Mega8L做了一个电路,驱动静态的笔端式LCD,能够在2~3节电池下工作,却不能用水果电池驱动。原来Mega8L标称的最低工作电压是2.7V,实际可以工作到2.5V。水果电池电压被拉到1.9V,电流60uA,可见水果电池的容量很小。我没有花时间去改进水果电池,倒是想进一步改进AVR。
于是我先用Tiny13做了一个闪烁LED的实验,成功的验证了水果对AVR单片机供电的可能。Tiny13是可以工作到1.8V的。LED是Fairchild的HLMP-D150,小电流时的亮度要比普通LED好。实际上当LED点亮时,绝大部分功耗在LED上。
Tiny13驱动LED闪烁(亮)
Tiny13驱动LED闪烁(灭)
一周以后的水果电池
我想用Mega88P之类的PicoPower技术的AVR芯片代替Mega8,工作电流比前一代产品小,工作电压可以低到1.8V。终于收到了从Armok那里买的Mega88。
虽然Mega88和Mega8 Pin-pin 兼容,但和Mega8的寄存器略有不同,还得重新为Mega88编译代码。3V下LCD亮了,但是2.3V下LCD已经完全黯淡无光。原来LCD是设计在5V工作的,于是又装了一个2倍负压电路,用对称的PWM波驱动倍压电路。
Mega88驱动LCD显示数字0~9
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
所以,所谓兼容某某单片机,首先要保证的就是管脚对应的外设功能要一致。但是大多数时候,所谓“完美兼容替代”,其实也就只是做到了这一步。但它的程序通常是肯定要重写的,或者顶多提供某种形式的代码转换器,这就算到头了。