|
(Grant原创)5 J$ u5 ]4 |! K& P( x 前叙: + _" @; p5 A* w; B8 i, f' c9 j O 活动的目的是为学而做,不为做而做。这里需要强调的是活动目前所做的充电器仅是DemoKit,而不是商业化的产品。如本活动能顺利完成,对于那些通过活动了解电池特性并有兴趣做成商业化的产品的,本活动并不限制。 - S! O3 V; |% F0 q" Y0 F # v% G7 B( ]6 L* u% \ 概述: ; h M& t8 U( W8 P, L- d 9 p& A9 C% t* Z, |4 ^) d* u 通过MCU控制实现两节可充电电池快速充电。充电判满使用有-△V以及-△V0检测,同时提供电池性能检测与保护, 涓流充电保持、最大充电时间、最高允许充电电压、充电允许电池最高温度保护功能; c0 i' R2 F+ }" V8 ` 基本规格: 1、使用外接直流电源,电源规格4A/5V; 2、充电器使用AVR Atmega32,同时提供CPU Pack连接接口。MCU使用CPU Pack方式放置,Pack板包含MCU的最小系统以及调试接口; + l/ d8 G9 |2 `# X 5 z1 o$ e' m3 F; \; C' A9 U 3、同时支持2节电池,每节电池均使用独立的充、放电回路,并可单独控制; : [2 G* G! v8 R3 U6 P0 l 3 s$ U; x! J- R 4、电池种类支持镍镉(NiCD)、镍氢(NiMH)、锂(Li); 5、尺寸支持AA,对于锂电池大小按实际采购到的电池尺寸确定; 7 u. K$ y/ ?) \. S5 m8 T/ Y 6、对NiCd/NiMH电池使用脉冲方式充电,对于锂电池使用恒流方式充电; : ~; r- U3 g: T' A2 Y1 ?' e+ n4 x 7、单节电池最大允许充电电流上限为2A 人机接口: 1、LCD(1602)指示每节电池的充电状态。 包括电池类型、当前所处充电阶段、电池电压、充电电流、电池温度、当前累计已充电时间; + d. N/ J0 x; T) ]0 w 2、提供3个LED分别指示电源以及对应电池的充电状态指示,如使用LCD,该指示保留不焊接; 9 Q; V9 R* p* y3 f; n: [ ; f& D; V' k8 N+ G. Q; l$ i; _0 Z3 z 3、提供6个按键,可单独设置每节电池的充电参数,并可保存在充电器端; & E$ D1 N: h. n0 O 4、提供恢复默认定义充电参数功能; 5、提供RS232接口与PC通讯,允许PC端软件监控和修改充电器充电参数; , V" t. _4 [- ^ 6、通过RS232接口向PC端软件提供充电数据,允许PC端软件时实监控电池状态; : K& t6 D& n* t4 i2 ?! r 充电功能: O& w3 u: a& p, K% p 1、对过放电电池提供修复功能(需通过人工设定来实现); - \$ I8 r" F" O' w4 r 2、提供充电保护。包括最大充电时间、电池表面最高允许温度、电池最大电压; & S3 S8 F1 d& n& P% j 5 ^% o2 T7 a. t6 D' I8 ~* [5 o 3、可自动检测是否有电池放入充电插槽内(电压在0.4V~1.7V),并判断电池是否有效及提供电池短路保护(对于电压小于0.5V的电池可以认为出现短路或有故障电池,停止充电)并给出对应电池的LED指示信号。 ( ]" j0 Z! J2 f( N: v( ?$ C / f# ^7 D/ f2 G. d5 } 4、对预充电电池提供预放电功能。使用该功能,充电器将以300mA~400mA的电流对单节电池进行预放电,放电的截至电压为0.8V(默认定义,可通过按键或串口修改)。预放电电路的电流大小仅由放电硬件电路提供,整个放电过程不对放电电流大小进行控制 。; / y* `' L" H7 o+ N# F 5、整个充电阶段分为预充->快充->补充->涓流四个阶段 6、对于NiCD/NiMH,充电过程中充电时序使用脉冲方式。充电时序为436mS->16mS停->32mS采集数据->16mS停(默认定义,可通过按键或串口修改);对于Li。充电过程使用恒流方式; 7、快充充电电流默认定义为1.5A,对于其它不同规格的电池,可自行通过按键或串口修改; 5 {+ p4 V1 j1 F0 O 8、当电池放入时的电压小于1.1V(默认定义,可通过按键或串口修改)时,电池进入预充阶段,预充阶段的电流默认250mA(默认定义,可通过按键或串口修改),在预充阶段当电池电压达到1.3V时电池进入快充;当电池放入时的电压大于或等于1.2V(默认定义,可通过按键或串口修改)时,等待30秒,并通过LCD显示,要求用户是否进入预放电设置,如果用户要求放电,放电将按照放电的默认流程进行放电;如果在30秒内,用户未给出指示,电池进入快充阶段,快充阶段的电流1.5A(默认定义,可通过按键或串口修改);当放入的电池电压介于1.1V~1.2V之间,电池直接进入快充阶段。 5 b+ {+ }% i8 \. X3 n& T 9、在快充阶段使用-△V和△V0检测 10、电池充电过程中允许出现的最高端电压上限为1.5V,在充电过程中如持续2分钟出现超出上述电压范围,停止充电,直接进入涓流段阶。 11、当判断电池为充满后,充电进入补充阶段,补充阶段将以200mA的电流在补充5min(实际需要的时间根据实测决定),然后进入涓流。涓流的电流为5mA~15mA 12、Timesmax检测功能,对于部分无法充电的失效电池提供该项辅助检测功能。当充电时间超过4小时(以2100mAh的电池,1.2A的充电电流计算 2.1Ah*1.2*/1.2A=2.1H),能无法判断充满,结束充电。 3 c# W1 A I( d$ [ ) }* ]1 O; {& J. C: U 2007年10月31日0:22分更新: 根据上述时间之前的全部讨论帖子所涉及的规格书草稿正文,现做如下总结: 1、增加使用MCU一项,确认项目使用AVR Atmega32。MCU使用CPU Pack方式放置,Pack板包含MCU的最小系统以及调试接口; 2 q) K! L# I( D# G3 n' @ 2、连接方式仅使用RS232,不考虑USB接口; 3、电池的充电方式为2节,每节独立充电; 2 t9 h, m* l+ k& T+ Z' P) R 4、对于Li电,由于无法确定具体我们需要充电的电池规格,目前仅保留充电接口。由于无法没有Li电的卡座,温度探头将无法充分接触到电池表面,在从状态下温度保护功能将会失效,这一点请需要考虑Li电池的朋友注意; " f2 n) X0 e& p+ S' A( U. w6 K. ] 5、LCD确认使用1602; , w# y+ S/ w; J4 e / ^. U' U8 Z5 h# D; G& [' ?" m 6、电源部分提供两路接口: k W% x2 ?* X5 a; v5 {7 [ 1)、使用外部电压7V以上电压,MCU供电由LM7805供给。电源电压最大支持20V。 2)、提供外部5V电压输入的旁路接口,对于5V外接电源提供直接支持。 1 x0 f; X- ?- G( l; | 这里考虑了两个问题: / [* z+ x: P1 b/ |) s& U$ O 1)、大电压大电流的电源适配器不好找。相信很多人家里5V、9V的电源适配器都有,12V、15V等以上的恐怕就不多了,2A以上的恐怕就更不多了。 9 E5 Y/ C0 C3 P/ }/ g8 X0 N, U 2)、对于7V以上的电压供给MCU是否使用DC-DC降压实现。毕竟使用7805这样的LDO在20V电压下压降太大,自身的温度会上升很高。由于MCU耗电很少,能提供100mA左右的就可以; 4 |, y8 B2 Q: c& o7 Y v% w 5 Y5 y3 h/ J5 U 7、RTC不需要; 5 R) \9 h. X6 n3 V 8、由于使用的是1602,LCD不需要用来显示实时的数据,因此外扩RAM不需要; 9、 |
微信公众号
手机版
RE:智能充电器 设计规格书 -草稿 10月31日0:22分更新
1、使用何种MCU? + v) Y2 f) f# y) `
我倾向使用ARM,就拿Cortex-M3,最便宜的STM32公开报价也不过就是1.8$,也贵不到哪去,资源可是比AVR的丰富多了。这个还是看大家的意见吧。 2 g- P/ k; w4 B% w. g. `0 m
2、这里我对Li仅是提到提供充电接口,并未对Li的充电要求做任何说明;
3、一直在考虑是同时充2节还是充4节,这里我还是坚持原先的。由于支持的充电节数取决与选定的MCU资源,目前暂定2节,如果选的MCU资源丰富再修改。充电理论都是一样的,与充电节数无关。
4、对于充电电流,我仅提出电流大小,并未对可控制的电流精度做任何解释。由于充电电池本身对于外部加载的充电电压是呈一个惰性的,过于要求电流精度没有任何实际意义,反而会增加控制难道。 . m+ m3 @. q' F) B; w4 {9 a
先想到这么多,大家看看,技术规格上有没有什么毛病?
9 _* g% Z9 M+ G$ ^; E# ~