#第五届立创电子#线性预稳压/DCDC双模切换两象限电源 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 #第五届立创电子#线性预稳压/DCDC双模切换两象限电源

简介:一个功能尽可能全都要的电源

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2020-06-21 11:31:54
更新时间: 2023-03-29 16:59:58
描述
# 1、自我介绍 本人是在校学生,STM32稍微入门的水平,想学习多一种单片机,GD32或许是个不错选择。 # 2、项目简介 想要做一个功能尽可能全都要的电源,见识过IMAXB6充电器,发现了几个缺点,于是在他的基础上进行改造。 # 3、项目描述 作为数控电源,首先要分成4大模块:**功率,数模,模数,人机交互**。 授人以鱼不如授人以渔。 我认为硬件开源的项目,比起只是把图丢出来,秀秀功能,发个HEX。还不如把原理讲清,让别人吃透你的设计,才算分享。 ## 硬件细节 说到电源,首先从功率部分讲起 **功率回路:** 输入-->xl4501(我以前开源的升降压拓扑,点我个人主页查看)-->LM317(进一步稳压)-->ACS712(霍尔电流采样)-->输出 ![image.png](//image.lceda.cn/pullimage/Dddsu0rE7pqJj0dvOW8xP3c3Ky3YyeAzVZVdgPvH.png) **假负载回路:** 输出端电流反向流入-->ACS712(霍尔电流采样)-->IRF1404(低导通电阻MOS管)-->R12(取样电阻)-->GND ![image.png](//image.lceda.cn/pullimage/6cjYtFcyfq97wU13xtUAr8NKAxlXyiLdsmZ127b6.png) **外设电压产生:** 首先是中间电压: ![image.png](//image.lceda.cn/pullimage/H0W9HYovQHpGYyGZhCQCieZGO8A41keABe5I1wcW.png) 功率5V供电: ![image.png](//image.lceda.cn/pullimage/hw6K0fTjqddP0cyvkDw0GkGIoXBQN0QfbD0Uzb1t.png) -5V产生: ![image.png](//image.lceda.cn/pullimage/vp2B5mcP3jhQv9WSYcEOupPCV7pXYlskuBCUFTKn.png) 其实降压拓扑的ic都是可以用来产生负压的(包括同步整流的ic), 而现在新的PDF一般不会写出来。你百度出来的图基本都是MC34063,这个芯片很全能,但效率上不去。 话虽如此,但里面的拓扑很值得学习。 **简单的电源滤波电路:** RC滤波后,经过三极管放大,从而抑制纹波。 ![image.png](//image.lceda.cn/pullimage/u7TD6WCW9EUeKZXVGXyr2K2EG64DGAHzfQX2lDZd.png) ![image.png](//image.lceda.cn/pullimage/nfrbf4oQHs9GwcoGVAifHcMmkxS4VlhECFQk2ZY8.png) ##### 关于电源这图的线性降压为什么不用1117-5,而是用7805呢? 这要从纹波抑制这个参数说起。 下面这图是1117的,作为低压差稳压块(LDO)来说,由于用P管作调整管,这曲线符合预期。 ![image.png](//image.lceda.cn/pullimage/xk7tQ70zLMaPu0xEkeTL8uhnXhmNCbaN4H5xIgfc.png) 下图是7805的,由于采用N管调整,对输入的干扰不是敏感,所以高频的纹波抑制上去的。 这对于DCDC再线性稳压给精密部分是有好处的。 (功率部分线性稳压采用LM317同理,大电流低压降的型号有LM1084) ![image.png](//image.lceda.cn/pullimage/UBLuBxIDeg9dowN7z8bGUOPeKkZbspPWAS0rqQhu.png) **反馈调节部分:** **预稳压跟随:** LM317的电压经过R6,R7分压,输入进Q3(PMOS),当Q3的GS电压到达导通阀值时,Q3导通,FB拉高, 使得XL4051输出变低,不通过单片机控制便能电压跟随,按照图上的参数,实测LM317两端电压为3V。 而且R10的下方并不是接GND的,而是接到其中一个DAC的输出,这样便可以0V起调了。 【假设:忽略Q3,DCDC_CTRL的电压为1.25V(FB的内部参考电压也是1.25V),则输出电压也稳定在1.25V, 如果DCDC_CTRL电压比1.25V高,则输出会比1.25V低(前提是带负载,如果空载,电流会从反馈电阻流到输出)。好比一个反相比例放大电路】 ![image.png](//image.lceda.cn/pullimage/AKg1nZMOhea3sgMctjJS0RJQBSUjC5D7pf7Z8Ozc.png) **DAC驱动放大:** 第一个运放组成巴特沃斯滤波器,用作滤波和增加输入电阻 第二个运放组成反相比例放大器,使DAC动态范围在运放电源轨内任意调节,充分发挥DAC位数。 ![image.png](//image.lceda.cn/pullimage/vIsI1p1uk11wRWfhZvQTMVa4AehXS5liFyJA3J8P.png) **单端转差分电路:** 由于想把ADC的分辨率用起来,所以用GS8592(性价比很高的精密轨对轨运放),做了单端转差分电路, 但目前的情况是电流读数不是很稳定,不确定这个电路是可靠的,等排查了问题修改了电路再重新编辑。 ![image.png](//image.lceda.cn/pullimage/Hm0EwKI0WMtw6zJMOCVFyLfRSOXCtDu3beo4EQOq.png) **人机交互的IO复用:** LCD1602是EN下降沿才加载数据,其他时候数据脚是可以做其他用途的, 这里我引出一个按键使能端,置低后,便能读取按键状态了 ![LCD.png](//image.lceda.cn/pullimage/mF59USSWnPo8xWxAPtgWn4Wp8tZpXC2P11eBmLJ6.png) # 软件细节 这是温度采样的原理图,通过三极管电流镜电路产生4mA的恒定电流流过NTC电阻 ![NTC.png](//image.lceda.cn/pullimage/vx3Gy7kSaWLlKyDQV1puR4t9NgoaSEBxipT3O8rG.png) 这是从pdf里复制出的电阻表,经过excel的计算转换,导出数组,推荐大家也这么操作 (末尾给出腾讯文档链接,可以学习下对应函数) ![NTCE.png](//image.lceda.cn/pullimage/gkMxa4ie0NxKMpV7VnuLCnv6L4v2H07lXPuNSZDQ.png) 经过二分查表法,便能将adc电压转成对于温度,代码如下: ``` language //输出16~99度 uint8_t ntc_decode(uint16_t dat)//以降序排序的二分法查表 { uint8_t min=0; uint8_t max=83;//限制最大显示99度 uint8_t temp; uint8_t i; for(i=0;i=ntc_code[temp]) max=temp; else min=temp; } for(i=min;i=ntc_code[i]) break; } return i+16; } ``` CGRAM作模拟条显示的代码,具体效果看下面视频 通过这个模拟条,节省了1602本来不多的屏幕空间 通过实际值与目标值的百分比,让使用者知道当前是恒流还是恒压模式,预估当前设定的值, 便于查看更快的变化(万用表刷新的速度一般是4HZ,我这里的字符刷新是5HZ,模拟条是10HZ) ``` language void lcd_write(uint8_t dat,uint8_t cmd);//1602写数据,cmd为0为命令,1为数据 void LCD_analog(uint8_t add,uint8_t dat)//模拟条CGRAM加载 { uint8_t temp; lcd_write(0x40+(add
设计图
原理图
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
暂无
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP