huiyong888 发表于 2009-6-2 23:32:57

用Atmega8单片机做48V120AH铅酸电池充电器(请大家讨论)

大家好,下图是我拆卸整理的一台48V30A铅酸电池充电器,因为我对Atmega8单片机不会,如何编写程序,想请教各位朋友帮我学习。
硬件部分 原理图如下:
主电源整流板.pdfourdev_450427.pdf(文件大小:35K) (原文件名:主电源整流板.pdf)
辅助电源.pdfourdev_450428.pdf(文件大小:43K) (原文件名:辅助电源.pdf)
控制显示板.pdfourdev_450429.pdf(文件大小:43K) (原文件名:控制显示板.pdf)
IGBT驱动板.pdfourdev_450430.pdf(文件大小:31K) (原文件名:IGBT驱动板.pdf)
脉宽调制板.pdfourdev_450431.pdf(文件大小:44K) (原文件名:脉宽调制板.pdf)

迫于学习,我在市场上找人破解了本电路中的Atmega8单片机程序,得到的反汇编程序代码。本意是学习,就是看不懂,不可以释读。
Atmega8反汇编文件.docourdev_450432.doc(文件大小:432K) (原文件名:Atmega8反汇编文件.doc)


请大家讨论下,我如何学习原机编程思路,吸收消化后加以改进。在线期待大家回帖!

KANGYD 发表于 2009-6-2 23:43:44

还没看完,帮顶,最近朋友要一大功率电源千瓦级的

bingou 发表于 2009-6-3 02:45:53

楼主检查一下3525电路图是否描得有误,

M8用来控制3525,无非是电流和电压采样,根据自己的最优充电曲线来设定,

我看楼主对模拟电路具有深厚的功底,能够搞定外围模拟,

再搞MCU比较合适。

anxiangbo 发表于 2009-6-3 08:20:49

jihao

tangqianqian 发表于 2009-6-3 08:25:22

看别人的这种汇编程序,很难搞清别人的思路,还不如自己去写。

Forever 发表于 2009-6-3 08:34:38

顶了先!

sharpufo 发表于 2009-6-3 08:42:43

怎么破的,什么价格啊,AVR的这么容易破啊,乖乖。

yaojinhao 发表于 2009-6-3 08:57:05

占个位置

huiyong888 发表于 2009-6-3 10:02:00

谢谢各位的回帖,想借助网络这个平台,结交朋友一块做做铅酸电池充电器。
下面是操作方法:

   本机功能强大,正常充电模式适用于日常补充充电,均衡充电模式适用于修复性或环境温度低于0度以下时充电。您可根据不同的情况选择不同的充电模式,以便延长电池的使用寿命,提高经济效益。
    1、充电模式A:正常充电主要用于对电动车辆进行日常补充充电使用,智能化脉冲充电方式,可保证电池不过充,不欠充,提高电池的充电效果。
    a、在使用时首先将本机的输出插座插入所充车辆的充电插座上并确保插入可靠牢固,否则会接触不良烧毁插座,将电源插座插入市电插座上。
    b、打开电源开关后,80%和100%灯先亮,充电器的电脑芯片开始自检,自检完成后,会发出“滴”一声,面板指示灯亮,充电器即开始工作。如果电池灯闪亮并发出长鸣,则是电池接反,应将电池极性调换后即可正常。
    c、充电器开始工作后,状态指示灯开始指示充电器的工作阶段,开始常亮表示小电流预充电,快速闪动表示大电流充电,慢速闪动表示小电流充电;状态灯和100%(绿灯)同时闪动表示充电器即将电池充满,开始进入最后的脉冲补足阶段。当100%绿灯不在闪动,风扇停止转动,充电器停止工作,充电过程完成,电池可投入使用。
   2、充电模式B:均衡充电模式
   均衡充电模式主要用于对电池进行修复性充电使用,由于电动车辆的电池经常工作在大电流长时间的放电状态,由于电池组各个单体电池性能的差异性,极易造成某一只或几只电池过放电,时间一长就会形成落后电池,均衡充电可最大限度的修复落后电池,减小电池的差异性。一般使用频繁的电池每月进行一次均衡充电,使用不频繁的电池每2月进行一次均衡充电,但夏季温度高可不进行均衡充电,一般环境温度大于25度就不要进行均衡充电。
   在使用前将本机的充电模式开关打在“均衡”位置,开机后工作指示灯会匀速闪动,说明充电器已进入均衡工作模式,充电完成后100%绿灯亮,风扇停止转动。其他工作状态与正常模式相同。
   当冬季环境温度低于0度时,使用正常充电模式,电池充电不足时也可用均衡充电模式。

下图是显示板示意图
http://cache.amobbs.com/bbs_upload782111/files_15/ourdev_450330.jpg
显示板示意图 (原文件名:Snap1.jpg)

那位朋友帮我看看如何绘制软件实现方块图?一步一步学习单片机。

rqiang 发表于 2009-6-3 10:18:14

有空的话,我可以帮忙搞!

huiyong888 发表于 2009-6-3 11:20:50

这个充电器流程图如何绘制?

Cliff 发表于 2009-6-3 13:53:36

看来楼主比较浮躁啊(楼主的老板毫无疑问的很浮躁)

1、你应该搞清楚铅酸蓄电池的充电原理,特别是快速充电、温度补偿、去硫化等,而不是程序
2、相比程序,你忽略了更重要的一块——电源,不知道你这块基础如何?不要以为开关电源能像普通电路一样可以抄哦,特别是你的功率和你参考设计的功率不一样,你需要120AH的,参考设计是30AH的。

phone 发表于 2009-6-3 13:58:40

反汇编程序很短呀,是不是完整的,铅酸电充电器我开发过一款,是用pic芯片的。程序比这个长很多,带4位数码管显示,显示电池电压,充电电流,充电时间,充进去的容量。可充电池电压可选,分6v,12v,14v,16v,24v,充电电流可手动调,也可使用自动模式。

huiyong888 发表于 2009-6-3 15:17:26

补充点,上面的充电器48V120AH铅酸充电器,我是按照快速充电速率为4C设计的,此时充电电路为30A。开关电源部分我可以独立计算。

stephon1 发表于 2009-6-3 16:16:43

脉宽调制部分里的3525的一脚应用怎么没看明白呀:)
PWM的接法有点晕

huiyong888 发表于 2009-6-3 17:20:55

1脚是运放反相输入端,电压采样端,
当自定义“PWM”输出为高电平时,光电耦合器导通,是输出电压升高。

stephon1 发表于 2009-6-3 18:46:41

楼上的说法我也明白
1脚一般的应用都是接到系统中的电压输出采样,然后调节3525的占空比,使输出达到设定值.

你的电路不但接入采样端,同时还将39K电阻并了一个光耦,通过光耦的开关,可以控制采样端电压.但对你的光耦的工作方式不是很理解,你的PWM信号不是破坏了采样端的反馈信号.

yaonui 发表于 2009-6-3 18:54:23

关注下,正想做个充电器

kdtcf 发表于 2009-6-3 19:45:56

看搂主设计的充电器是4个12V、120AH的铅酸蓄电池按4C设计那就是12A×4 = 48A电流了,电压考虑到线路损耗和电池内阻就要达到每块电瓶16V就是16V×4 = 64V就是输出电压64V输出电流48A的开关电源,功率是64 × 48 =3KW左右,这个功率和小型弧焊机的功率相当了,应该用全桥驱动。
副电源用3844做单端反激电源我觉得不太合适,因为反激电源设计难度也是很大的,不如用工频变压器的线性电源简单,安全可靠。
单片机系统功能设置和显示过于简单,可以考虑数码管显示或液晶中文菜单显示。

huiyong888 发表于 2009-6-4 08:42:33

上面朋友你好,这台充电器是4个12V、120AH的铅酸蓄电池串联充电按4C设计的,最大输出功率为48V*30A=1500W,用半桥结构可以减低成本,IGBT用一块,驱动芯片用一对就够了
副电源部分,因为有多路隔离输出,采用反激结构,可以小型化,这块不难搞得,此电路是独立计算的,电压反馈采用单零点单极点补偿网路,性能比样机稳定多了。如果那位朋友需要做充电器,我可以设计硬件PCB部分,对软件我真的不懂,很想学习下。

Cliff 发表于 2009-6-4 12:07:19

不是 4C 吧,4C 的话就是 120A * 4 = 480A 了,你这个应该是 1/4 C
另,1500W+ 的开关电源,你做有源功率因素补偿吗?

关于软件部分,不知道你到底有多少经验?反汇编人家的代码来读,不是一个好办法,效率非常低下。而那段代码我也看过,初步感觉编写程序的水平也不怎样,你看这样的代码收获不大的。

更重要的是,学习如何把思路变成程序,而不是从程序中找思路。

你应该要清楚蓄电池如何充电的思路,再把这个思路用程序表达出来

wuly 发表于 2009-6-4 14:57:37

这么大的应该考虑去硫化,温度补偿,均充,浮充,快充。

既然是单片机控制,脉冲充电也是小菜,兴致好的话可以考虑负脉冲。

从原则上讲楼主考虑还是比较细致的,就是缺少实现方法

huiyong888 发表于 2009-6-4 15:02:21

谢谢朋友的教会,充电速率是1/4C,带PFC的1500W充电器,我没做个,制作过300W的带PFC的直流电源.
能把C程序代码传给我学习下吧,至少前人已经做出了产品,学习消化后加以吸收改良过程,对个人而言是个提高。

hhx1213 发表于 2009-11-10 21:10:09

楼主,对你的充电器很感兴趣,我现在也在做快速充电,我对软件比较熟悉,对硬件控制电路不是很熟悉,可否考虑合作。

hassim 发表于 2010-2-10 17:09:20

不错。

bkkman 发表于 2010-2-11 17:45:17

LZ把你的PROJET分成几个子任务,搞清了ADC,PWMDAC,键盘扫描,LCD菜单及充电算法后,集成起来就可以了,反演人家的代码在时间和精力得不偿失。

yu_studio 发表于 2010-2-11 18:52:54

不错,先做个记号

wcm_e 发表于 2010-2-11 19:07:56

MARK

zenglong 发表于 2010-2-12 11:38:40

记下

lsxiaoma 发表于 2010-3-8 10:00:30

mark

asions 发表于 2012-4-15 13:20:49



........
如果有C语言的程序就好了...

almostlover 发表于 2012-5-28 21:19:24

乖乖,不错的东东!
就是不能下啊!!

almostlover 发表于 2012-5-31 19:24:25

楼主能否发我邮箱一份,xiexie
maxjumping@163.com

shunda 发表于 2012-6-1 12:55:12

标记学习

miaoxun206 发表于 2012-6-6 16:48:02

mark



谷木幽月 发表于 2013-3-22 15:05:53

mark一下!

sigeway 发表于 2015-12-24 02:14:56

phone 发表于 2009-6-3 13:58
反汇编程序很短呀,是不是完整的,铅酸电充电器我开发过一款,是用pic芯片的。程序比这个长很多,带4位数码 ...

你好 我对你的充电器有兴娶 加我qq 611579933 十分谢谢
页: [1]
查看完整版本: 用Atmega8单片机做48V120AH铅酸电池充电器(请大家讨论)