改中兴ZXD2400为可调电源
m24h 2021-10-24原创 电子技术
关键词
ZXD2400

已完工 全部开源在 XXXXXXXXXXXXXXXXXX/m24h/esp2400

请注意这个版本硬件和我之前发的帖子里面的图片是有不同的 参照时候请小心 有些微改进和改错(比如cs1237的ref引脚接错问题已改好)我自己都没用上 都是旧板上改或者将就了 当然也没测试

------------

最近需要一个功率大点的电源  思考再三  决定用中兴ZXD2400自己改一个

ZXD2400网传其V4.1版容易“低压大电流”爆管  这是一个UCC3895的移相全桥电路  据推测是因为低版本把死区(谐振延时)时间设得过长

IMG_20211024_015847.jpg

从这个图可以看出  低压输出时候相移本来就小  想象B截止之后  可能A的导通被过长延时  到D的截止之后  而这时候C也因为延时没有导通 这时候可能出现双臂上下齐截止的情况 

更糟糕的是  V4.1设计中没有钳位二极管  于是悬浮的  被大电流满满充值的容感谐振加上米勒效应  会出现什么情况都有可能的

对比之下  V4.3版做了改进  上了钳位二极管  放弃了自适应死区延时  减小了延时电阻  估计在变压器和电感上也有所改进

IMG_20211024_024318.jpg

所以我选择了V4.3版

电源已经到手  成色相当好  内部几乎无灰  堆料充足(比艾默生2900明显料多  所以我选择了它)

运行正常 唯一一个BUG也早就风干 IMG_20211023_234044.jpg

然后是方案选择 (我其实有点选择恐惧)

  1. 用两个电位器修改电路中的电压参考和电流过载参考  然后加上电压电流表头

  2. 在1的基础  用模拟电路实现  往下调低电压时接入假负载辅助放电  根据温度调节风扇

  3. 买网上阳江的数控方案

  4. 买网上蓝作坊的数控方案

  5. 自己做数控方案  成本应该小于用别人的  否则会有点不甘心

如果自己做数控/程控方案也需要选择

单片机方面:

  1. ESP8266  优点是可以用Lua快速开发  缺点是需要片外ADC  需要DAC或者PWM方式模拟  而且PWM通道同频  如果PWM高频模拟DAC  风扇和假负载就不合适也用PWM实现无极调节  也没有I2S  没法实现PDM  关键我手头上正好有一块想用掉的

  2. ESP32/S2  可以用Micropython快速开发 具备DAC和ADC  缺点是个头有点大  ZXD2400面板下面那个小窗口恐怕放不进太大的电路板

  3. ESP32C3  小巧  感觉RISC内核也比其他几个稳定  片内有ADC  但没有DAC  目前Micropython支持也差一点  应该只能用IDF

ADC方面:

  1. 片内ADC  无需代价  但是精度堪忧  文档上DNL和INL都到了10几LSB水平  实际分辨率估计只能到8位  只能显示一个小数点  而且温度和漂移方面没有参考

  2. ADS1015虽然不太贵  但是也比MCU还贵多了  甚至比两片ADS1013加起来贵  但是优点是测量结果有保证  后面校正不麻烦

DAC方面:

  1. 片内DAC  只有ESP32才有  而且才8位  如果使用I2S循环播放+DAC采用类似PDM方式可以模拟更高位

  2. 外部DAC  比如AD5697或者LTC2633  比ADC还贵  可能比其他加起来都贵  优点是输出有保证  校正轻松  温差和漂移可以用高精度参考源来优化

  3. PWM模拟方式  都能实现  方便还省钱  但是片外也需要一堆至少二阶的低通滤波电路

  4. 倒位PWM模拟  比PWM的高频特征容易滤除  可以精简滤波电路  算法简单  但也需要I2S循环播放才能实现

  5. PDM模拟  高频也容易去除  算法复杂  也需要I2S循环播放来实现

电压控制方面:

  1. 设定和测量分离无关  实际输出大负载下表现出一定的调整率  优点是稳定可靠

  2. 采用PID等方式动态调整  使得电压输出始终跟随设定  但是复杂的算法有时候体现出过冲等问题  负载变化的时候可能不稳定

电流控制方面:

  1. 与原电路过载控制结合实现  算法方便  但原电路的过载控制类似打嗝方法  感觉不太平滑

  2. 与电压控制通过算法结合  能减少对原电路的接线

  3. 设定和测量分离

  4. 采用PID等方式动态跟踪调整

放电负载方面:

  1. 使用灯管灯泡  耐用不怕热不怕烧坏  但是体积大  不耐震动不够可靠  冷起电流冲击大  但是发热发光后有些恒流效果

  2. 使用水泥电阻  不太耐烧  只能降低放电电流  放电慢  而且高压时放电电流太大  低压放电电流太小的问题

  3. 使用PTC发热块  恒流效果和灯泡类似  响应却慢不少

  4. 使用三极管或者场管等做恒流源假负载  线路较复杂  散热也是一个问题  需要散热片或者加工做到原机的散热片上  增加原机负担

供电方面:

  1. 使用电阻+LDO接入原机15V辅电  实现方便 但是如果打开WIFI  近1A的电流给电阻和辅电负担太大

  2. 从15V辅电通过小开关电源变到3.3V  缺点是如果使用PWM模拟DAC和使用片内ADC/DAC时  不够稳定的电源会给精度带来较大影响

  3. 先小开关电源变换到5V  再LDO到3.3V  电路复杂了

显示界面方面:

  1. 使用数码管  红绿分色显示  漂亮好看  但是串并转换电路复杂  I2C接口的数码管也特别贵  而且设置和矫正时候没有直观的现实  可能只能通过USB/TTL串口来做设置

  2. 使用一块OLED屏  菜单方面方便设置和校正了  设定和实际输出包括温度等都能同时显示  但电压电流不分色而且不醒目  而且大尺寸OLED挺贵的

  3. 使用LCD点阵屏幕  显示数字大了  但是没有OLED亮

  4. 使用两块不同颜色的OLED屏  这有点凶狠了  放不放得下也是个问题

旋钮方面:

  1. 一个旋钮  缺点是电压电流设定时多了一个步骤

  2. 左右各一个旋钮  分别设定电压和电流  但是可能不够地方放  而且除了ESP32  其他的都会不够IO引脚用了

开关机方面:

  1. 不做电源开关  这个电源用得应该不频繁  也不能当桌面常设仪表使用  用时候再插电  

  2. 找个16A的开关串进电源线回路  但是机身后面空位不太  放两个输出接线柱  再放电源插座就不够地方放它了  除非电源线直接通里面不用插座

  3. 用个带开关的电源插座  这个一来得买  二来这么紧凑的东西电流只怕到不了16A

  4. 后面不放开关  前面用个小开关控制主机辅电回路开关机  但这个开关需要接入热电部分  需要和控制板独立  面板要找地方开口  不好看也不方便

  5. 用一个常工作的小隔离电源给控制板  然后通过光耦等来控制主机辅电和电源是否启动关闭

  6. 用个一直接入热电的小电路  单片机或者模拟电路  通过隔离变压器使用高频交变信号  与无电的控制板通信   原理是检测隔离变压器次边是否短路(比如次边通过电容与按钮串接  启动后小电路不再提供信号  也不影响控制板工作)  但做起来是复杂了

方案方面:

  1. 做个高性能的精品还是做个便宜实用的

  2. 做个方便简单的还是做个可调整参数很多的

抉择好难  可能要想一阵子  大家有什么意见或者参考么?  有什么便宜的ADC/DAC介绍? 有什么好用的PID参数或者模糊PID规则?或者有什么我没考虑到的? 毕竟是个3000w的东西  漏想什么可能就爆我一脸了

[修改于 9 天前 - 2022-01-14 01:43:08]

来自:电子信息 / 电子技术
26
1
虎哥
3个月0天前
1楼

两个电位器两个表头完事,搞那么复杂不如干脆设计一个全新的数控电源产品了…

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
amo
3个月0天前
2楼

自己做数控板的话,建议先拿LM2576之类的小模块练练手,搞定了再移植过去

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
2个月29天前
3楼
引用虎哥发表于1楼的内容
两个电位器两个表头完事,搞那么复杂不如干脆设计一个全新的数控电源产品了…

一个简单的大功率开关电源 即使原理简单 电路可抄 做出来对普通人依然很难

  1. 元件众多 光收集就非常费事和费钱 通常需要几家或者十几家去采购 光邮费都可能比零件贵  即使照抄零装一个 花钱比买十个都多

  2. 有些元件也特殊难买难加工 比如如铜板而不是漆包线的变压器 覆铜板也是厚敷铜 还有 这个电源功率板上双面放元件 元件上是设计好的散热器 两面的散热器的两个顶面 正好顶到两边机壳 可以拧上螺丝 整机非常小巧 普通爱好者做出肯定体积大两倍

  3. 即使中兴也出到V4.3才算稳定 这种大功率的东西需要时间考验 比方说去掉自适应延时更好这种违反芯片厂家推荐的做法 没有大量的爆管普通爱好者无法知道

所以说完全去设计一个新的 等于浪费普通爱好者的时间和金钱啊 而“改装” 这个复杂度  又是在普通爱好者可以承受的范围 而且收益也是明显的 一个成品大功率数控电源价格极高 我也是没有需要没有好处不会这么做的

至于数控我考虑过了 觉得还是必要的 我现在用的电源就不是数控的 电压电流变位器都坏了几次换了几次了 

其实看我文章 自制数控部分改装上去基本是我心中的定局  其他买别人的也不过是个概括 花点零散时间动手设计和操作也是爱好者应该折腾的

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
大仙
2个月29天前
4楼
引用m24h发表于3楼的内容
一个简单的大功率开关电源 即使原理简单 电路可抄 做出来对普通人依然很难元件众多 光收集就非常费事和...

8266和ESP32用在电源这种需要可靠性很高的东西上不靠谱,最近在用浙江某公司的ESP32 PLC功能挺多的,价格也很便宜,就是不太稳定,厂家说还在改bug。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
2个月29天前
5楼
引用大仙发表于4楼的内容
8266和ESP32用在电源这种需要可靠性很高的东西上不靠谱,最近在用浙江某公司的ESP32 PLC...

这是可能的  IDF的库就不断修改  我还发现过bug给他们去信过

STM和pic可能就稳定得多 但是本来复杂的东西  即便用老牌子的芯片 也一样会出问题 有硬件也有软件的 这也是很难避免的  但是也不能因此就放弃  只做最简单可靠但不够方便的方案

今天下单买ADC/DAC了  连续几家都没货  哎

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
2个月26天前
6楼

目前确定了mpu用ESP32c3(但是引脚还在尽量腾挪 真不够用 ESP8266又更不够了 恨不得再用两片pic12f508帮忙扩展IO ESP32又太大)

显示用1.14寸st7789的IPS TFT彩屏

ADC可能用I2C的 ina226/233(后者温飘小一半 但贵而且可能买不到)备选ADS1115 

DAC还没有满意的 可能用I2C的DAC7574 mcp4728 mcp4726(因为I2C地址是固化和分批的 就怕买到一批地址一样的)

好想用一块AD5593把AD/DA/IO全扩展解决 正好综合全精度满足我0.2%的要求 就是太贵 不是缺钱 但是用这样的方案会觉得不理想和低效

关键在占用ESP引脚/可购性/性能上均衡 尤其是中意的元件不一定买得到 我都得买到了才敢设计电路

很多商家根本发不出元件就在网上挂 结果现在网络会自动判断 超时自动赔偿 然后我居然赚了不少 这比白嫖感觉还开心 今天我都吓了一跳 

Screenshot_2021-10-28-20-14-46-952_com.taobao.taobao.jpg

毕竟一单就有那么多种元件。。。


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
2个月21天前 修改于 2个月21天前
7楼

终于确定了

ESP32 (实在需要IO脚) st7789彩屏  双旋钮 ADC用cs1237(虽然是电子秤用的 难得自带振荡器 可用外部基准源 增益没固定在个大数 就是接口不是标准SPI 需要浪费ESP32引脚) DAC直接用PWM加超过3阶的低通滤波

基本全国产元件 都除了个基准源ref5025 (额 还有个AP1117)

话说国产有PWM的DAC 有Sigma-Delta的ADC 但是精确的SAR ADC和简单的R-2R电阻网络的DAC都没有 包括精密的电压源 因为这些虽然设计简单 但是加工精度需要保证  例如需要用类似激光的手段在IC上做出准确的电阻 可见基础还是需要大力改进 不然怎么好意思说什么赶超

而且发现 最近芯片真涨价好多 就连ESP也涨了几成 进口ADC/DAC我也感觉用不起或者买不到了

先上初版给大家 怎么说 这个词叫“斧正” 用起来感觉很有范

main_sch.png

还剩3个片内ADC和两个GPIO扩展的可能  不过有可能就这个电路图ZXD的小窗口里就放不下 可能要放在两块PCB里实现 如果把TFT放在ESP32背上应该能省出足够空间 但怕ESP32开WiFi后温度太高把TFT烤坏

风扇控制板和假负载板都好弄 就连开机板也有想法(正好没一块钱进了几块PIC12f508)这些都等基本OK再设计增加 (不加问题也不太大 尤其假负载放电 其实电源主动迅速降低电压是可能导致反灌的  电源问题不大 但它供电的线路的某些BE间的PN结可能会反向击穿的)

USB口开在哪儿还得想想 省去了部分典型下载电路 必须手动按着电流键开机或插USB才可以下载  否则运行中下载可能会出问题 按理CH340N就够用 但我手上只有CH340C

此外发现个在线仿真网站很好用啊 推荐一下

IMG_20211102_151331.png

PS 加个题外话 央视那个公开的“中国电磁炮”有人看了没有。。。我只觉得无言以对

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
2个月4天前
8楼

更新一下 电路图有所改变 为了在这么小空间弄出PCB 放弃了IO-MUX走GPIO的SPI 端口能就近用哪个就用哪个

sch.png

PCB也设计好了还做出来了 需要飞两根线 而且电源VDD走线有些地方也是冒险的细 SMD器件的焊盘出线角度也不算规范 而且ESP32部分引脚需要用聚酰亚胺胶带屏蔽 也在无铜区放线了。。。。两边各是一个EC11编码器 可以对比看出板子太小  只有81mm*27mm大 又要个人可以实施 尽量减少过孔 只能这么做了

pcb_F_Cu.png

pcb_B_Cu.png

IMG_20211120_000006.jpg

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
2个月2天前
9楼

IMG_20211122_003513.jpg

元件都上去了 ESP32启动log也看到了

然后就是软件了。。。还在micropython和IDF之间徘徊

为了走线和过孔 装配时候用了聚酰亚胺胶带纸 也屏蔽ESP32几个脚。。。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
2个月1天前
10楼

惨哉!!!

刚才检查时候发现 参考电压应该接 cs1237的ref-in脚 却接到了ref-out脚 。。。这是一个无逻辑的错误 体现了凡人必有疏忽

只好划断两根铜箔再飞两条线 线路图改了 但是不会再改PCB公布了 。。。毕竟只是自己用 不会去生产

IMG_20211122_025550.jpg sch.png

引用
评论
2
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
街头老杨
2个月1天前
11楼

费这个劲自己做线路板,不如嘉立创24H打样,免费还包邮。 


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
2个月1天前
12楼
引用街头老杨发表于11楼的内容
费这个劲自己做线路板,不如嘉立创24H打样,免费还包邮。 

一来 制作电路板实际只花了两天晚上(因为做了两次 又花了一天焊接 这是这个项目最快速的阶段 无论是构思 设计 还是后面的编程 都远比这个耗时。。。。就拿下载最新IDF开发环境而言 我下了一天到现在都没成功呢

二来 这个也就我自己用 电路设计毫无创新和独特之处 估计感兴趣甚至照抄的人都会及其罕见 我预估这个项目中 最令人搜索和阅读和模仿和有所创新的部分 居然应该还是电路板的制造部分(虽然在另一篇文章)

三来 我不喜欢白嫖 如果嘉立创收点小钱倒还罢了 我对不该免费的东西免费感觉不安心

四来 我想用掉那些干膜油墨腐蚀剂等 不然有生之年只怕用不掉了 我也是一个喜欢动手的人

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
1个月27天前
13楼

IMG_20211126_012423.jpg

界面设计好了 找了好久才找到心仪的字体 有数码管的感觉

当然下面一栏应该是类似联网状态 温度 风扇 负载瓦数等杂项。。。不过也可以考虑联网滚动出供饭消息等

测试了一下st7789(240*135像素)的性能 确实不错 单线传输时钟20Mbps没有问题 走GPIO不走IO-MUX也没有问题  ESP32刷像素如果用双缓冲区交换写刷 刷过25帧率也没有问题 意味着可以放小电视了

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
1个月6天前
14楼

开发中重新计算了一下 发现温度采样分压电阻R30需要改成15k 监控范围才能上到150度以上 不改就只能到70度 感觉不够用 

软件总算写完了 主要功能就是采样显示 控制输出 详细点还包括一个命令行界面 一个web界面 和传统的LCD界面 电压电流各支持27个预设值和16点的多点校正 提供按秒分时的统计 支持中文和英文两种语言 支持WIFI两种模式STA和AP 支持查看和设置分别要求密码 还有看门狗等等

大概看了一下 代码约250k 其中甚至有几行汇编来产生CS1237需要的时序 字体文件500k 基本用PC2LCD2002生成 最后bin文件1.5M 再加上嵌入的网页100k左右

Total sizes:
Used static DRAM:   50288 bytes ( 130448 remain, 27.8% used)
      .data size:   16936 bytes
      .bss  size:   33352 bytes
Used static IRAM:   97411 bytes (  33661 remain, 74.3% used)
      .text size:   96384 bytes
   .vectors size:    1027 bytes
Used stat D/IRAM:  147699 bytes ( 164109 remain, 47.4% used)
      .data size:   16936 bytes
      .bss  size:   33352 bytes
      .text size:   96384 bytes
   .vectors size:    1027 bytes
Used Flash size : 1303843 bytes
      .text     :  627443 bytes
      .rodata   :  676144 bytes
Total image size: 1532537 bytes (.bin may be padded larger)

支持的命令行命令有

zxd2400>
zxd2400> help
help
  Print the list of registered commands

version
  Show version infomation

memory
  Show free memory

task
  Show current task running state

file  [format - to format internal file system]
  Show file system

timer
  Show timer state

log  [log number, 0:this boot, 1:last ...] [clear, to delete logs from the number]
  Show current and history logs stored in flash

reset
  Reset the system

config  [(empty means show)/load/save/default(restore to factory default)]
  Configuation operations

name  [new machine name if specified, <32 chars]
  Show (without parameters) or set machine name

pass  [new password if specified, "" means empty, <32 chars]
  Show existence (without parameters) or set password

admpass  [new password if specified, "" means empty, <32 chars]
  Show existence (without parameters) or set admin password

sta  [on/off] [auth open/wep/wpa_psk/wpa2_psk/wpa_1_2_psk] [ssid ...] [pass ...] [ip ...] [mask ...] [gw ...]

  Show (without parameters) or set WIFI station parameters

ap  [on/off] [auth open/wep/wpa_psk/wpa2_psk/wpa_1_2_psk] [ssid ...] [pass ...] [ip ...] [mask ...]
  Show (without parameters) or set WIFI AP parameters

quickv  [position to set] [voltage to set (mV)]
  show (without parameters) or set quick-pick voltage

quicki  [position to set] [current to set (mA)]
  show (without parameters) or set quick-pick current

calv  [del/set] [voltage to-del/measured (mV)]
  Show (without parameters) or delete/set calibration of voltage

cali  [del/set] [cu

show
  Show all parameters

getv
  Get actual voltage

geti
  Get actual current

getp
  Get actual power

gete
  Get integral energy

gett
  Get temperature

setv  [new voltage setting, if specified, in mV]
  Get and set target of voltage

seti  [new current setting, if specified, in mA]
  Get and set target of current

sete  [new integral energy value, 0 to reset totally]
  Set new integral energy value

stat  [reset: to reset whole-time statistics data]
  Show gathered whole-time statistics data, from last boot or last reset

statv  [s:last seconds, m:last seconds, h:last hours]
  Show gathered statistics of voltage

stati  [s:last seconds, m:last seconds, h:last hours]
  Show gathered statistics of current

statp  [s:last seconds, m:last seconds, h:last hours]
  Show gathered statistics of power

net  [reset]
  Show network interfaces, if [reset] is appended, network will restart for ne
  w configuration

ping  [ip destination like xx.xx.xx.xx] [repeat times]
  ping ip address, if [ip destination] is not set, WIFI station gateway is use

zxd2400>

web界面如下

za.png

菜单界面大致拍几张照

1639684753489.jpg

当有个web界面在2秒轮询刷怪的时候 性能大致如下 内存快不够了 CPU还剩很多

zxd2400> memory
Free MEM : 67732, DRAM : 35708
zxd2400> task
Total runtime : 1658848651
#       Name            Status  Prio    StackHWM        Core    Time
14      REPL_TASK            0  2/2         2220           1     <1%
7       IDLE                 1  0/0         1012           0     95%
8       IDLE                 1  0/0         1016           1     94%
16      tiT                  2  18/18       2104         N/A      1%
15      MAIN_TASK            2  3/3         1236           1      2%
12      sys_evt              2  20/20       1352           0     <1%
3       ipc0                 2  24/24        532           0     <1%
4       ipc1                 2  24/24        544           1      1%
17      mdns                 2  1/1         2256           0     <1%
19      httpd                2  5/5         2912         N/A      1%
13      APP_ELOOP            2  3/3         1700         N/A      2%
18      wifi                 2  23/23       4092           0      3%
5       esp_timer            3  22/22       3348           0      1%
9       Tmr Svc              2  1/1         1596           0     <1%

用的是最新的IDF5.0 dirty版 用到的最新功能应该是2周前刚上的磨损均衡的FAT的分区生成 因此还发现了BUG去提出了(自己也改了)

离线测试基本没有意外 下面再做两个小板 灯泡放电和风扇加速 然后找个吉时就可以接上试试了

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
1个月1天前
15楼

先把放电电路做出来了 主要是为了轻负载时候的电压稳定 回避开关电源的休眠打嗝问题 将由ESP32进行恒功率负载(约10w)控制 。。。正好zxd2400的整流散热器留下一块空白处 假负载mos正好放那

discharge.png discharge-F_Cu.png

风扇控制还在矛盾中 构思了几个电路都不够舒服 用ESP32推ao3400进行PWM控制 要么得落到音频区 要么因为推动不足导致mos管功耗温升超过限制 用达林顿npn结构又感觉和线性控制功耗差不多 查到有个Hi7003蛮合适又买不到 手头有cl6807功率只够一个风扇一套 再想想看

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
1个月0天前 修改于 29天8时前
16楼

哎 不多想了 老老实实加一级驱动吧 风扇pwm控制电路也设计好了

原本想法是电流超过20A或者60度就简单加强风扇 既然用了pwm 看来还得加入控温的算法

两个1n4001是限制风扇的电位超过0.7v 不然原电路会检测不到风扇电流而告警

fan_sch.png fan_pcb.png

。。。。。。。。。

糟糕得很 搞错量级了 470uH/2A是个大电感 心里不知道怎么想成47uH的了 此电路作废 

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
29天6时前
17楼

终于做了这个决定 别人说我不理 升压型开关电源芯片的非典型应用

主要就是在原本的ESP32的PWM输出上 再调制上一个400kHz的90%的最大2A的PWM 类似"电子变压器"的思路 大大减少了电感的体积 同时也不用考虑驱动MOS之类的问题

电路很简单 但是这种用法我没找到经验 只能尝试

其实仍然是单层板的设计 另一面纯粹是为了给芯片散热 很大的可能也不会真的做第二面 (可能会在芯片上贴个小散热片 如果测试发现升温超过30度)

fan_sch.png fan_pcb.png

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
warmonkey
29天0时前
18楼
引用m24h发表于16楼的内容
哎 不多想了 老老实实加一级驱动吧 风扇pwm控制电路也设计好了原本想法是电流超过20A或者60度就...

搞太复杂了。直接用4线cpu风扇即可,有pwm调速输入。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
28天23时前
19楼
引用warmonkey发表于18楼的内容
搞太复杂了。直接用4线cpu风扇即可,有pwm调速输入。

买两个新风扇替代原装两个?那太贵了也不方便 还要接线弄插头

引用
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
26天3时前
20楼

测试下来 用XL6007的风扇电路也失败了

原因有3:

  1. XL6007内置的反馈补偿太强 以至于PWM必须工作在占空比大于39%的情况 这个问题还算可以接受 本来风扇就不能全停

  2. 买的06030合金电感严重不达标 本来号称22uH能达3A的 实际电流没到1.5A就饱和了 导致XL6007进入保护(本来心里还觉得不错 所谓合金电感觉体积只有CD75一半 而CD75只能到1.5A)以至于空负载波形正常 带一个风扇都带不起来 占空比只能到30% 换成CD75后轻负载下(一个风扇)工作正常(可见实际上最多和CD75拉平) 但是重负载下(预期平均1A目标)也发生了问题3

  3. XL6007似乎存在奇怪的妖蛾子 当我接FB直接0V 如果直接上电 会进入一种类似保护的状态  看波形占空比很小(此时电感并不饱和 但有可能上电过程中发生过饱和))如果调低电源电压(看视频在8V左右 预期工作电压是15V) 然后似乎低到某个点 进入正常状态 又进入符合文档的工作状态 电流反而上升 看波形也正常了 继续调回电压至预期的工作电压也行了。。。。 感觉很不可靠啊 风扇哪怕不调速 符合预期更重要

VID_20211227_220906(0).mp4 点击下载

下面打算测一下用hi7002的效果看看 如果不行 就靠虑不用电感用电阻滤波 实在不好就不PWM调速了 等到货吧 反正我定的40N20至今还没发出

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
19天20时前
21楼

终于把风扇PWM板弄好了 用的芯片是Hi7002 验证过轻重负载下都符合设计预期 这种电路应用算是有点新意 因为类似芯片本来是为LED调光设计的

  fan_sch.png fan_pcb.png

可惜我没有0.39欧姆的电阻 用了0.36的 而且虽然按每个风扇标称0.5A设计 实际测量每个风扇工作电流不到0.3A 又而且这个电路是电流控制型的 (实在找不到简单的芯片和电路 可以实现共阳的电压反馈加电流控制的) 结果导致PWM duty 50%就等于全功率输出了.... 但是又不好不考虑到有些风扇可能会真达到标称0.5A的实际电流....所有大概会在算法上通过指数化把50-100%区间压缩到85-100%

温控算法还要想想 目标是什么 原本我的想法很简单 就是电流20A以上 温度50度以上就 ...就让这大风吹 吹呀吹的.... 现在可能要考虑一个复杂点 带有电流参数的PID控温算法

反正先把板子弄上去了

fan-install.jpg

放电板 (负载板) 也弄好了 主要作用是提供一个小负载让电压更稳定防止电源打嗝或者休眠 这个运放反馈和驱动N-MOS的电路没有什么新意 主要工作量就是做个相位补偿和仿真 防止自激就没啥了

但是本来预期是恒负载10w工作的 测量下来整体热阻还是超过5度每瓦 10w会带来50多度的升温 虽然这个温度加上预期的系统工作温度还是小于可承受的结温 我还是打算在算法上限制负载为3-5w以下 是否能实现防止电源打嗝或者休眠 到时候再测试 如果需要加大功率就改用IRF250N之类的大管 扩大散热接触面积 或者试试陶瓷片 串上120V/150W左右的卤素灯负载 (关键是买一个不划算 而且弄不到灯丝冷热电阻值之类的数据进行设计) 

discharge_sch.png 1641152364604.jpg discharge-temperature-10W.jpg discharge-install.jpg

和其他人在卖的方案相比 就差一个开关机电路了 虽然主控板上留了余地 (但是简单算了一下 串进去的两个2nF电容偏小了 可能要有20nF才行) 不过大概率先不做了

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
14天23时前
22楼

放电和温控软件做好了 顺便加了一个电压电流上升下降限速的功能 控温的PID参数只能先毛估估了 

今晚先把主板引线做好了 还差一个后面的尾插要改 但是手上没有空白的环氧板或者电木 看来还要搁置几天 其实可以联调 但是主机太重 我还是想把结构都做好再连 不然一不小心就可能把线坠断了

esp2400-connect.png IMG_20220108_021710.jpg IMG_20220108_021546.jpg IMG_20220108_021317.jpg IMG_20220108_021147.jpg IMG_20220108_021224.jpg

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
11天23时前 修改于 11天23时前
23楼

电木到了 也铣出来了 可惜就是接线柱上的塑料在焊接导线中大大变形了 按理应该先焊再上塑料件 但这样就需要接新线 要重新冷压 或者剪断旧线最后又焊上 我只能接受这个歪曲了 能用就行吧 早知道买那种用胶木而不是塑料的接线柱了

一颗螺丝安装时候不见了 找了2个小时 只好在尽量排除掉入电路缝隙的情况下找个库存替换掉。。。还是不放心 明天还得找 但今天已经来不及继续装了

这样安装对风路是有影响的 原先的尾插是把机壳上的洞堵死的 现在是大大漏风了 也许该用类ABS和耐高温树脂打印出一圈封边。。。但我先用胶布把四周缠上了 应该也算解决这个问题了

backface.png IMG_20220111_023144.jpg IMG_20220111_023112.jpg

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
11天3时前 修改于 11天3时前
24楼

今天算完工了

3D打印了个面板

face.png IMG_20220111_074333.jpg

再把控制板的1117输出脚焊了个散热片 同时把原来的铁板铣了钻了 一来给引线过去 二来好固定USB接口板 三来加强散热 但这板太不好铣 又粘又不好夹持 最后干脆手工钻孔

 通过折弯来顶住固定USB接线板(我在机壳侧边铣了个孔来通USB口 正面出孔难看 而且不方便加工还可能被旋钮挡住)不过折弯也很难加工很难扳 没弄好 (现在想想应该通过锤的方式) 只能说达到了目的 但是好丑

Mezzanine.png IMG_20220111_214314.jpg IMG_20220111_211124.jpg

全装上去了 发现少了两颗螺丝是自己补上的 不过幸好也多出两颗螺丝(不同类型 但不可能混用 真是奇怪)开机没爆炸 风扇还是好吵

基本功能符合预期 电压也能控制校准 电流我还在发愁怎么校准50A 但是感觉应该有些bug 比如温度应该没到33度 刚开机应该室温27度左右 还有奇怪的电压显示跳动(万用表没有测出来 不知道是输出就这样 还是内部测量或者显示的问题)

性能上感觉非线性度还是有的 校正两点后 中间仍然有近30mV的误差 此外空载时候感觉电压依然有波动(尤其是低电压输出时)看来假负载还是轻了

旋钮选错了 不光突破了左右边 连底线都突破了 整机没法放在平面上 还得再找

IMG_20220111_214119.jpg IMG_20220111_214232.jpg

今天先这样吧 改天测试好关键功能和性能 做完全的判断 修改可能存在的BUG后 就可以开源和结束掉了

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
张静茹
9天12时前 修改于 9天12时前
25楼

风干的BUG 23333333

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
m24h作者
9天1时前
26楼

总算弄好了 发现和修改不少问题

最麻烦的问题是风扇PWM电路 之前忘了把两个5.1欧电阻剪断 风扇大风力时候会报警 原来风扇所谓小力输出时候就已经太吵 现在可以很轻柔了

IMG_20220113_043044.jpg

最危险的地方是因为电流校正程序是抄和改电压校正程序的 有个地方抄了没改 校正电流时候大电流输出差点烧了我的表

最无奈之处是采样虽然是差分的 但是基准输出和供电是共地的 所以接系统地那根线上的压降会被放大到输出中 比如打开WIFI 输出电压会有20mV左右的增加 接上USB因为分担了供电电流 输出电压也会有20mV左右的下降

虽然分辨率有近14bits 近5mV分辨率 但是电源输出噪声还是粗旷的型开关电源级别 还带毛刺(也可能是示波器未隔离而导致的串扰)

IMG_20220113_220652.jpg

虽然有假负载电路(3W左右) 但是小于3V输出时候还是有轻微的休眠打嗝现象 下面是1.5V输出的

IMG_20220113_220602.jpg

非线性度测下来不错 PWM输出的线性度很高 几乎2点校正就堪用 σ-δ采样芯片反而没它准 但误差也在10几mV内

两小时测下来漂移不高 可以接受 比WIFI影响可能还小

IMG_20220113_094812.jpg

正在想办法上传到G hub 上好了应该把地址放在首贴

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
m24h
进士 机友
文章
22
回复
472
学术分
0
2020/01/22注册,2 小时前活动

无聊地过着没有意义的日子 偶尔期待一点意思

%7B%22isDisplay%22%3Atrue%7D
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
等待中...
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
处理中..
处理失败
插入表情
我的表情
共享表情
Emoji
上传
注意事项
最大尺寸100px,超过会被压缩。为保证效果,建议上传前自行处理。
建议上传自己DIY的表情,严禁上传侵权内容。
点击重试等待上传{{s.progress}}%处理中...已上传,正在处理中
空空如也~
处理中...
处理失败
加载中...
草稿箱
加载中...
此处只插入正文,如果要使用草稿中的其余内容,请点击继续创作。
{{fromNow(d.toc)}}
{{getDraftInfo(d)}}
标题:{{d.t}}
内容:{{d.c}}
继续创作
删除插入插入
{{forum.displayName}}
{{forum.countThreads}}
篇文章,
{{forum.countPosts}}
条回复
{{forum.description || "暂无简介"}}
ID: {{user.uid}}
学术分隐藏
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

支持的图片格式:jpg, jpeg, png
插入公式
分享回复:{{shareId}}
加载中...
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
加入关注取消关注
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
建议修改
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也