|
|
|
| 虚拟总论坛 -> 搜索主题:2576 -> 用M8与LM2576制作可调数控开关电源【恢复】 | 跳转至: | 未登录 |
| ↓↓ 用M8与LM2576制作可调数控开关电源【恢复】 | 回复数:170,点击数:20130 |
|
抱歉本贴的回复数太多,为了减轻网络流量,只显示帖子正文的前后各10个回复。本贴的正文内容中间隐藏了150个回复。你需要 点击此处 才能查看全部内容。 对为你带来的访问不便表示歉意。不过我们仍会坚持即使没有登录,仍能共享我们网站的所有资料。你没有 登录后就能消除这个访问上的不便(可增加到显示60个回复)。 如果你是新用户请先 注册。注册是免费的,并且手续简单只需要填写用户名与口令。 ↓↓↓↓↓↓↓↓↓↓↓↓ |
|
【楼主位】 jun427 积分:132 派别: 等级:------ 来自: |
电源的输出电压从0-30V,电流1.5A(设计3A)
输出电流保护0-3A连续调整 输出电流分两档0-300mA,0-3A 电源的输入电压从12-35V(电源输入电压决定电源的最高输出电压,这是一个降压开关电源。) 这是不同输入输出电压电流下电源效率 (原文件名:效率.GIF) 电源控制原理可参考我另一贴:实验用0-20V数控电源 http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=996115&bbs_page_no=1&bbs_id=9999 这个制作存的一个问题:当电源的输出电压大于9V时,电源关闭后(LM2576第五脚TTL电平)不能重新启动,它与负载大小没有关系,不知什么原因,只要不关闭全程调压正常。我把这个不完善的制作发表,希望与网友们共同研究。 源程序我整理好后会放上来 这是原理图
(原文件名:Schematic M8.gif)
(原文件名:Schematic Lm2576.gif) 这是完成后的样子
(原文件名:DSCF3691-1.jpg) 可热转印的电路板
(原文件名:DSCF3692-1.jpg) 这是实验系统
(原文件名:DSCF3695-1.jpg)
(原文件名:DSCF3696-1.jpg) 这是源代码: '/////////////////////////////////////////////////////////////////////////////// '/ / '/ 用M8与LM2576制作可调数控开关电源 / '/ 输出电压 0-30V / '/ 最大输出电流 3.0A / '/ 截止型过电流保护 0-3.0A 连续调节 / '/ 程序设计:吕军省 / '/ junsheng427@126.com 20081003 天津大港 / '/////////////////////////////////////////////////////////////////////////////// $regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.0 , Rs = Portd.2 Config Lcd = 16 * 2 '定义LED是16字符,2行 Config Adc = Single , Prescaler = Auto , Reference = Internal '定义ADC为单次运行模式,转换时钟-自动,内部参考电压 Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Prescale = 1 'PWM1A配置,用于数模转换, Ddrb.1 = 1 'PWM1A输出端子 '定义所需要变量 //////////////////////////////////////////////////////////////// Dim V_dc As Long , V_dc1 As Long , A_dc As Long , A_dc1 As Long Dim V1_dc As Word , V2_dc As Word Dim A1_dc As Word , A2_dc As Word , A As Word , C As Word , A1 As Word Dim V1 As String * 5 Dim V2 As String * 5 Dim V3 As String * 5 Dim V4 As String * 5 Dim C1 As String * 4 Dim Va1 As Byte Dim N As Byte , B2 As Byte , B3 As Byte , B4 As Byte , B5 As Byte '初始化设置///////////////////////////////////////////////////////////////////// Ddrd.3 = 0 '定义PD.3~PD.7为输入,上拉电阻有效 .按键初始化 Ddrd.4 = 0 Ddrd.5 = 0 Ddrd.6 = 0 Ddrd.7 = 0 Portd.3 = 1 Portd.4 = 1 Portd.5 = 1 Portd.6 = 1 Portd.7 = 1 Start Timer1 Start Adc Cls Cursor Off Locate 1 , 14 Lcd "ON-" A = 0 C = 3000 Ddrc.4 = 1 '初始化电源开关 Portc.4 = 0 '主程序///////////////////////////////////////////////////////////////////////// Do Pwm1a = A N = 1 V1_dc = 0 V_dc = 0 V2_dc = 0 V_dc1 = 0 A1_dc = 0 A_dc = 0 A2_dc = 0 A_dc1 = 0 For N = 1 To 60 'ADC采样60次 V1_dc = Getadc(0) '电源输出电压 V_dc = V_dc + V1_dc 'ADC的原始值累加 A1_dc = Getadc(1) '电流300mA档 A_dc = A_dc + A1_dc A2_dc = Getadc(2) '电流3A档 A_dc1 = A_dc1 + A2_dc V2_dc = Getadc(3) '电源输入电压 V_dc1 = V_dc1 + V2_dc Next V_dc = V_dc / 60 '还原各测量值 A_dc = A_dc / 60 A_dc1 = A_dc1 / 60 V_dc1 = V_dc1 / 60 V_dc = 3040 * V_dc '标准3040 V_dc = V_dc / 1023 A_dc = 3120 * A_dc '标准3040 A_dc = A_dc / 1023 A_dc1 = 3040 * A_dc1 A_dc1 = A_dc1 / 1023 V_dc1 = 4025 * V_dc1 V_dc1 = V_dc1 / 1023 If A_dc>= C Then '截止型电流保护300mA档 Waitms 500 If A_dc>= C Then Portc.4 = 1 Locate 1 , 14 Lcd "OC " Gosub Mu End If End If If A_dc1>= C Then '截止型电流保护3A档 Waitms 500 If A_dc1>= C Then Portc.4 = 1 Locate 1 , 14 Lcd "OC " Gosub Mu End If End If If V_dc1 <= 1200 Then '输入电压范围低端保护 Cls Lcd "Input U<12V" Portc.4 = 1 Gosub Mu End If If V_dc1>= 3500 Then '输入电压范围高端保护 Cls Lcd "Input U>35V" Portc.4 = 1 Gosub Mu End If Gosub Lp_lcd Gosub Lp_key Loop End '显示处理/////////////////////////////////////////////////////////////////////// Lp_lcd: V1 = Str(v_dc) '输出电压 Va1 = Len(v1) '读字符串 If Va1 <= 3 Then V1 = Format(v1 , "0.00") '定位小数点 Else V1 = Format(v1 , " 0.00") End If V2 = Str(a_dc) '电流300mA档 Va1 = Len(v2) If Va1 <= 2 Then V2 = Format(v2 , "0.0") Else V2 = Format(v2 , " 0.0") End If V3 = Str(a_dc1) '电流3A档 V3 = Format(v3 , "0.000") V4 = Str(v_dc1) '输入电压 V4 = Format(v4 , " 0") C1 = Str(c) '设定电流 C1 = Format(c1 , " 0") Locate 1 , 8 Lcd " " Locate 1 , 1 Lcd "U:" ; V1 ; "V" Locate 2 , 1 Lcd "I:" If A_dc> A_dc1 Then Locate 2 , 8 Lcd " " Locate 2 , 1 Lcd "I:" ; V2 ; "mA" End If If A_dc < A_dc1 Then Locate 2 , 1 Lcd "I:" ; V3 ; "A" End If If A_dc = A_dc1 Then Locate 2 , 3 Lcd "0.0 " End If 'Locate 1 , 9 'Lcd V4 Locate 2 , 10 Lcd "<" ; C1 ; "mA" Return '按键处理////////////////////////////////////////////////////////////////////// Lp_key: If Pind.3 = 0 Then '启动 Waitms 20 If Pind.3 = 0 And Portc.4 = 1 Then Portc.4 = 0 'Portc.4控制LM2576开/关 Locate 1 , 14 Lcd "ON " Waitms 250 End If End If If Pind.3 = 0 Then '停止 Waitms 20 If Pind.3 = 0 And Portc.4 = 0 Then Portc.4 = 1 '控制LM2576开/关 Locate 1 , 14 Lcd "OFF" End If End If If Pind.4 = 1 Then B2 = 0 '电压+ If Pind.4 = 0 And Portc.4 = 0 Then Waitms 20 If Pind.4 = 0 Then If A < 1023 Then A = A + 1 B2 = B2 + 1 If B2> 20 And A < 1013 Then A = A + 10 End If End If End If End If If Pind.5 = 1 Then B3 = 0 '电压- If Pind.5 = 0 And Portc.4 = 0 Then Waitms 20 If Pind.5 = 0 Then If A> 1 Then A = A - 1 B3 = B3 + 1 If B3> 20 And A> 10 Then A = A - 10 End If End If End If End If If Pind.6 = 1 Then B4 = 0 '电流+ If Pind.6 = 0 Then Waitms 20 If Pind.6 = 0 Then If C < 3000 Then C = C + 1 B4 = B4 + 1 If B4> 20 And C < 2980 Then C = C + 20 End If End If End If End If If Pind.7 = 1 Then B5 = 0 '电流- If Pind.7 = 0 Then Waitms 20 If Pind.7 = 0 Then If C> 1 Then C = C - 1 B5 = B5 + 1 If B5> 20 And C> 20 Then C = C - 20 End If End If End If End If Return '报警声音/////////////////////////////////////////////////////////////////////// Mu: Sound Portc.5 , 100 , 1000 Waitms 20 Sound Portc.5 , 100 , 1000 Waitms 20 Sound Portc.5 , 100 , 1000 Return '/////////////////////////////////////////////////////////////////////////////// HEX文件 ourdev_478900.rar(文件大小:4K) (原文件名:KG01.rar) 装配图 ourdev_478901.pdf(文件大小:30K) (原文件名:装配图.pdf) PCB+热转印 ourdev_478902.rar(文件大小:32K) (原文件名:PCB+热转印.rar) 本贴被 jun427 编辑过,最后修改时间:2008-11-02,09:20:28. |
||
|
|
|
|
【1楼】 atommann 积分:1431 派别: 等级:------ 来自: |
太漂亮了。 | ||
|
|
|
|
【2楼】 kdtcf 春风 积分:1251 派别: 等级:------ 来自:中国 |
酷,加油 | ||
|
|
|
|
【3楼】 logics 积分:263 派别: 等级:------ 来自:http://shop35748174.taobao.com/ |
cool! | ||
|
|
|
|
【4楼】 ZealotNH 发仔 积分:639 派别: 等级:------ 来自:广东佛山南海 |
弓虽
还未看到LZ是用什么方法测电流。 |
||
|
|
|
|
【5楼】 fsclub 绿林好汉 积分:5234 派别: 等级:------ 来自:孩子还小,我就全国到处跑。 |
楼主用了3个0.15欧的电阻并在一起测电流.
不知道楼主的机下次开机的电压电流是多少?像老外那个用EEP保存最好.下次开机就是上次断电时的电流和电压. |
||
|
__________________________ 东戳一下,西顶一下。 予独爱莲之出淤泥而不染,濯清涟而不妖,中通外直,不蔓不枝,香远益清,亭亭净植,可远观而不可亵玩焉! <a href=..>A..</a> <font color="red">A..</font> <font size=5>A..</font> |
|||
|
|
|
|
【6楼】 wpp_2124 无风起浪 积分:232 派别: 等级:------ 来自:中国-广东 |
好~~~~~~~~~ | ||
|
|
|
|
【7楼】 zc3909 积分:1269 派别: 等级:------ 来自:长春 |
做的不错 | ||
|
__________________________ ATmega64+gsm/gprs模块实现彩信,短信,email,远程文件下载,数据传输,图像远程传输开发板 http://shop33759355.taobao.com/ |
|||
|
|
|
|
【8楼】 srygg 积分:342 派别: 等级:------ 来自: |
做得太漂亮了.楼主看来是个做事完美的人!学习一下,有空也仿一个. | ||
|
|
|
|
【9楼】 cgbabc 积分:1044 派别: 等级:------ 来自: |
有过这个想法,没想到高手先做出来了,先顶一个 | ||
|
|
|
|
【10楼】 ninjia 积分:270 派别: 等级:------ 来自:北京 |
持续关注中。。。。。。 | ||
|
|
|
|
↑↑↑↑↑↑↑↑↑↑↑↑ 抱歉本贴的回复数太多,为了减轻网络流量,只显示帖子正文的前后各10个回复。本贴的正文内容中间隐藏了150个回复。你需要 点击此处 才能查看全部内容。 对为你带来的访问不便表示歉意。不过我们仍会坚持即使没有登录,仍能共享我们网站的所有资料。你没有 登录后就能消除这个访问上的不便(可增加到显示60个回复)。 如果你是新用户请先 注册。注册是免费的,并且手续简单只需要填写用户名与口令。 ↓↓↓↓↓↓↓↓↓↓↓↓ |
|
【161楼】 bbssr 积分:561 派别: 等级:------ 来自:深圳 |
回复【35楼】HSP8031
----------------------------------------------------------------------- 加三极管转换电平应该就可以 |
||
|
|
|
|
【162楼】 feixuehanyi 积分:98 派别: 等级:------ 来自: |
顶
|
||
|
|
|
|
【163楼】 cuikai12345 积分:559 派别: 等级:------ 来自:家在石家庄,人在北京 |
mark | ||
|
__________________________ http://blog.ednchina.com/aini80225/ 个人博客 |
|||
|
|
|
|
【164楼】 dengyaoan 积分:33 派别: 等级:------ 来自: |
good6
|
||
|
|
|
|
【165楼】 weijiapingshu 积分:4 派别: 等级:------ 来自: |
问一下楼主。。你的正五伏从哪提供呢?上次我也是那么做的,但是直接从电路稳压,电路流增大后,会拉低M8的电压,使它驱动能力下降 | ||
|
|
|
|
【166楼】 zbjzxc 积分:370 派别: 等级:------ 来自:中国(CHINA) |
记号~~
|
||
|
|
|
|
【167楼】 twlkzxy 笨笨的二休 积分:88 派别: 等级:------ 来自:火山 |
好的 | ||
|
|
|
|
【168楼】 zjzpost 积分:12 派别: 等级:------ 来自: |
好 | ||
|
|
|
|
【169楼】 sswz 积分:5 派别: 等级:------ 来自: |
很好 学习了 | ||
|
|
|
|
【170楼】 taiwentaotwt 积分:114 派别: 等级:------ 来自: |
学习中…… | ||
|
|
|
|
【171楼】 lghtjpu 艳阳高照 积分:169 派别: 等级:------ 来自:深圳 |
学习了 | ||
|
|
|
|
【172楼】 XUEPENGBIN 薛鹏斌 积分:630 派别: 等级:------ 来自:河南省三门陕 |
谢谢楼主,收藏乐、 | ||
|
|
|
|
↑↑↑↑↑↑↑↑↑↑↑↑ 抱歉本贴的回复数太多,为了减轻网络流量,只显示帖子正文的前后各10个回复。本贴的正文内容中间隐藏了150个回复。你需要 点击此处 才能查看全部内容。 对为你带来的访问不便表示歉意。不过我们仍会坚持即使没有登录,仍能共享我们网站的所有资料。你没有 登录后就能消除这个访问上的不便(可增加到显示60个回复)。 如果你是新用户请先 注册。注册是免费的,并且手续简单只需要填写用户名与口令。 |
| ↑↑  快速回复帖子主题:用M8与LM2576制作可调数控开关电源【恢复】 |
| 你尚未登录,不能回复以上帖子。 |
| 虚拟总论坛 -> 搜索主题:2576 -> 用M8与LM2576制作可调数控开关电源【恢复】 | 跳转至: | 未登录 |
| 任何建议或投诉,欢迎随时与我们联系。 ourDEV.cn 我们的电子开发网,友好交流气氛,乐于开源共享,“这里远比混乱的现实世界美好”。 | ||||
| 网站负责人: | 阿莫(armok),手机:13433056000,电邮:armok ourdev.cn(请将空格改成@) | |||
| 地址与电话: |
东莞市东城八一路同沙工业园内,0769-22298000,传真请按4 阿莫邮购门市与雕刻机展示厅:东莞市莞城区莞太路和生文具礼品批发市场A2018,A2035 杨小姐 13711915767 雕刻机的技术咨询、订单查询、生产进度,可查询:13600266008吴先生(雕刻机设计人员kaif_w) |
|||
| 声明: |
本网站由东莞科士通(Infostone)科技有限公司属下的阿莫电子邮购部提供独家赞助。 有正式的工商注册与网站备案。详情可到东莞工商局查询。 本网站(ourDEV.cn)原名称为ourAVR.com(我们的AVR),自2007-09-01起从专业的AVR网转成综合电子网站。 本网站系统由armok Using Oracle + Java/JSP + WebLogic + Linux 2001/12/20 -- 2007/09/13 本BBS所有代码均为原创,版权归 armok 所有。本网站自:2004-10-03,16:31:17 起开始运行。 |
|||
| 法律顾问: | 本网站尊重知识产权,自2007年08月15日起,魏龙律师担任ourDEV.cn(原ourAVR.com)常年法律顾问。 | |||