2013-11-23 已完成http://bbs.mydigit.cn/read.php?tid=736048 2013-11-20 充电图标进行了修改,更给力,电源界面也有动态图标,还加了个呼吸灯,还有NEC红外解码。先买个关子,先不上图了,外壳做好了一半了。
2013-11-18:因为毕竟硬件还装好,有时要给细节完善下,等做好了,我会放出电路和源码的。
昨天加了个电池充电动态图标,然后充电中拿掉电池,暂停充电,放入再继续。先给个模拟图

。
2013-11-16实验完毕,就差组装了。改进地方:电流档位不自动转换,需要在软件里切换。100mA,1A,10A共3档。超过相应档位电流时,电源关闭输出以下为随手拍的几张实验图片。 2013-11-15晚硬件实验结果:功能实现和仿真没区别,全部正常。
目前发现2个问题:1.像预料中的一样,因为AD采样的飘动(因为测试原因,程序里还没有做滤波),造成输出电压的轻微飘动(
这个问题可以通过改善
)。
2.电流档的自动转换问题:在100mA和1000mA临界点本来会有冲击(冲击电压最高为设定电压+2V)。后来用了个办法解决了问题。
经过实验,那个方法只是解决了电阻性负载的冲击问题,用LED实验,冲击还是存在。昨晚实验的时候,还没想到方法。希望今天可以程序里解决

。
如果无法解决,考虑加入手动固定电流档功能,这样就不完美了

。
造成冲击的原因:电流档3档(8位AD的无奈之举),每一档的采样电阻不一样,项大电流档换挡的一瞬间,采样电阻变小,加在负载上的电压突然上升,如果是LED的负载,电流可能就直接上升几个级别。。。大家有没有啥好办法?上个图大家看看,用0.5W 白光LED测试的(电流的误差还是可以接受的): 显示的4.8V为学习板工作电压。
过几天应该能做好,到时上所有东西。 上个设计参数: 硬件:1.单片机:AT89S52(12M,8K)
2.AD芯片:PCF8591(8位4路AD、1路DA)
3.时钟芯片:1302
以上直接用的mini80E升级版学习板的资源。
4.显示:无字库12864(带片选)
5.LM324 1路运放实现软件电压到实际电压的转换。
功能3种:时间界面:1.1302时钟(带电压表):显示时间、年月日、温度(板载热敏电阻)。
2.外接测试电压时,屏幕显示电压值。充电时,显示电池充电状态。
数控电源:1.电压:0V~8V 分辨率0.1V
2.电流3档自动转换,1档:0~100mA,分辨率1mA。2档:100mA~1000mA,分辨率10mA。3档:1000mA~10000mA,分辨率100mA(实际因为采样电阻功率闲置,3A内)
3.限流模式:0~3A,分辨率1mA。
充电界面:1.充电模式为限压恒流模式,小于截止电压,以恒流模式充电,到达截止电压停止充电(因为8位AD精度问题,没有做恒压阶段)
2.电压:0V~8V 分辨率0.1V
3.充电电流:0~3A,分辨率1mA (充电电压、电流在程序里和数控电源共用)
4.显示充入容量:0~9999mAh
5.显示充电时间:0~~99小时:59分钟
6.因为只有1路DA,在电池充电时,只能在时间界面和充电界面转换。
操作说明:1.key1加键/界面切换键,key2减键,key3设置键,key4组合键。
2.在数控电源和充电界面设定时,单按+-键,每次+-1,按住key4,再按+1键,每次+-10.
3.在任何界面,且不设置时,按住key4,再按-键,打开或者关闭12864背光
4.在充电界面,按-键对充电时间、充入容量等数据清零。
5.上电默认时间界面,因为没有设计输出键,为了安全,电源界面和充电界面的所有设定值默认为0
前传:
http://bbs.mydigit.cn/read.php?tid=720992