最近流行苹果皮,给ipod加上一个马甲就成了iphone。受到这个思路的启发,我把以前的AVR Butterfly也加了一个背夹,扩展了AVR Butterfly的功能。先看看几个照片:
正面没有什么改动。
反面,取下了原来的别针。用MP3的可充电锂电池(150mAH)替换了原来的一次性锂电池CR2430。因为锂电池电压最高可以到4.2V,超过了外置FLash芯片AT45DB041B的范围,所以使用了2个1N4148降压(为什么需要2个1N4148?因为一个只能降低约0.45V,还是稍微超出范围,二极管的正向压降并不是恒定值,而是与正向电流有很大关系,电流越大压降越大)。为了方便充电,把原来外电压输入端口Vin做为充电输入,还同时还可以采集电池电压。
AVR Butterfly背夹。左上角是充电芯片MC34673,中间是USB转串口芯片FT232R。
硬件改造:AVR Butterfly是前几年非常好的一个AVR开发板,包含了液晶、RTC、数据Flash、温度传感器、光强传感器、蜂鸣器、RS232等多个外设。开发板使用一个CR2430锂电池供电,同时使用内部的RS232电路(三极管电平转换方式)和计算机通信。改造的思路是:
|
需要使用的芯片基本上是利用以前的旧芯片和现有的样片。USB转换使用了FT232R,这个芯片是FTDI Chip公司的芯片,是目前最稳定的USB转串口芯片,可能也是最贵的一个。也可以使用便宜的PL2303,引脚和FT232R基本兼容,但是需要连接外部晶体。
因为使用了USB转串口,所以不需要原有的RS232转换电路,直接把TTL信号连接到USB芯片上就行,为此需要去掉R302、R303、R304、R305、R306等几个电阻。为了方便指示通信的状态,将CBUS2和CBUS3连接到LED上。因为这不是默认的收发状态LED驱动端口,还使用了FT_PROG/MPROG软件修改端口,同时还可以修改USB的连接提示和序列号等。
充电芯片使用了MC34673,这是FreeScale一个不错的充电芯片,全集成,无需外部MOS管,有充电指示。最高28V输入,最大1.2A充电电流,可以通过外部电阻调整充电电流。在当年的FreeScale Badge胸卡上就使用了这个芯片。这个
这个芯片什么都好,就是封装太小,比较难焊,为此花了不少时间。
今天硬件基本改造完成了,看这一张背夹连接AVR Butterfly,并给电池充电的照片。
还预备加上ST的3轴数字加速度传感器LIS302,这样可以把Butterfly做为计步器了。这个芯片是ST出的,和FreeScale的MMA7455L兼容,从引脚到封装都完全一样。可以用I2C或者SPI接口通信,为了焊接方便,当然是使用I2C接口。
因为原有的液晶没有背光,可能还需要增加一个LED做为背光,这样晚上也可以看,等硬件全部改造完成时再上图了。
下一步就是软件的改进了,预备先修改Bootloader(AVR Butterfly带有一个不错的Bootloader,但是使用起来不够方便),以后就通过Bootloader而无需编程器了。再增加充电管理、加速度传感器、背光、改进温度采样(原有的温度采集误差很大)等功能。这些需要等全部完成后,再公布了。
用户377235 2013-7-10 19:22