ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

双功率储能电容放电控制板:采集电压

双功率储能电容放电控制板:采集电压 母线电压放电监控使用NSD1025驱动IGBTDL2M100N5AD\Test\2026\September\TwoCapacitorDischargeSTC32G12.SchDoc01【储能电容放电控制板】一、电路设计前面我们测试了这款大功率RGBT模块的基本特性。 下面我们设计一个双通道放电回路 用于释放电压母线储能电容上的电压。 该模块同时能够显示双储能电容的电压 并且根据电压进行恒功率放电 这为我们后面调试大功率设备提供输入电源电压监控和放电功能。二、测试结果设计放电控制电路板 核心单片机使用STC32G单片机 通过它控制 IGBT导通占空比 进而控制放电电阻上消耗功率 不要超过电阻本身最大能够承受的功率。 外部电容上电压通过分压 利用单片机进行采集。 一方面可以利用这些信息来控制放电速率 另一方面也可以显示电容电压数值这样便于后面来观察储能电容上的状态。 放电过程使用外部开关来进行触发。 在放电过程中软件来检测放电过程中电容上电压是否下降进而判断当前状态 是否电容还被外部整流桥继续补充电能。 如果是这种情况则自动终止放电 以免造成放电电阻持续高温。 下面铺设控制电路板使用单面PCB进行铺设。 这样便于使用一分钟制板方法制作电路板 一分钟之后得到控制电路板 电路板制作得非常完美 焊接电路板使用高温水蒸气对电路板进行清洗 接下来我们来编写电路板的控制功能软件。三、电压测量显示首先我们来编写测试电压程序 这其中需要将电路板上的OLED屏进行设置。 这块程序早期已经应用很多 将相应的子程序拷贝到当前工程下 修改对应的控制管脚在单片机上的定义。 可以看到现在OLED屏已经能够正确的显示相应的英文字符了。接下来我们给电路高压部分 两个通道同时输入60伏电压 调试一下单片机对应的两个通道ADC采样数值 两个通道寻摸百K欧姆和510欧姆的分压 分压比大约为1/200。 根据现在输入60伏 我们可以大体知道每个通道输入大概是0.3伏。 对应的采样数值为0X100左右 通过OLED液晶屏显示 可以看到数值在正常范围之内 下面我们连续采样不同的输入电压对应的采样数值。 矫正采集电压的线性比例系数。四、电压参数通过编程外部输入从0至60伏的电压 读出每个电压值对应的ADC数值这样我们可以计算出ADC转换成电压的比例系数 。根据测量的数值我们最终得到两个通道ADC转换成电压的比例系数。通道AB10.2395-0.032220.23810.0087#!/usr/local/bin/python# -*- coding: gbk -*-## TEST1.PY -- by Dr. ZhuoQing 2026-09-30## Note:#fromheadmimport*fromtsmodule.tsvisaimport*fromtsmodule.tsstm32import*#------------------------------------------------------------defgetadc():ispclearreceive()ispsend()time.sleep(.1)ispcopyreceive()time.sleep(.1)sssclipboard.paste().split(\r\n)[1].split( )data[int(s,16)forsinsss]returndata#------------------------------------------------------------vdimlinspace(0,60,60)d1dim[]d2dim[]dh1766volt1(0)time.sleep(2)forvinvdim:dh1766volt1(v)time.sleep(1)datagetadc()d1dim.append(data[0])d2dim.append(data[1])printff(v,data)tspsave(adc,vdimvdim,d1dimd1dim,d2dimd2dim)#------------------------------------------------------------plt.plot(vdim,d1dim,lw3,labelADC1)plt.plot(vdim,d2dim,lw3,labelADC2)plt.xlabel(Vin(V),colorsteelblue,fontsize24)plt.ylabel(ADC,colorsteelblue,fontsize24)plt.grid(True,whichboth,linestyle--,alpha0.7)plt.legend(locupper right,fontsize24)plt.xticks(fontsize16)plt.yticks(fontsize16)plt.tight_layout()plt.show()#------------------------------------------------------------printf(\a)#------------------------------------------------------------# END OF FILE : TEST1.PY#vdim[0.0000,1.0169,2.0339,3.0508,4.0678,5.0847,6.1017,7.1186,8.1356,9.1525,10.1695,11.1864,12.2034,13.2203,14.2373,15.2542,16.2712,17.2881,18.3051,19.3220,20.3390,21.3559,22.3729,23.3898,24.4068,25.4237,26.4407,27.4576,28.4746,29.4915,30.5085,31.5254,32.5424,33.5593,34.5763,35.5932,36.6102,37.6271,38.6441,39.6610,40.6780,41.6949,42.7119,43.7288,44.7458,45.7627,46.7797,47.7966,48.8136,49.8305,50.8475,51.8644,52.8814,53.8983,54.9153,55.9322,56.9492,57.9661,58.9831,60.0000]d1dim[1.0000,5.0000,9.0000,13.0000,18.0000,21.0000,26.0000,30.0000,34.0000,39.0000,43.0000,47.0000,51.0000,55.0000,59.0000,64.0000,68.0000,72.0000,77.0000,81.0000,85.0000,89.0000,93.0000,98.0000,102.0000,106.0000,110.0000,114.0000,119.0000,123.0000,127.0000,132.0000,136.0000,140.0000,144.0000,147.0000,153.0000,157.0000,161.0000,165.0000,169.0000,175.0000,178.0000,182.0000,187.0000,191.0000,196.0000,200.0000,204.0000,208.0000,212.0000,217.0000,222.0000,226.0000,230.0000,234.0000,239.0000,242.0000,247.0000,251.0000]d2dim[0.0000,5.0000,9.0000,13.0000,17.0000,22.0000,25.0000,30.0000,35.0000,38.0000,43.0000,47.0000,51.0000,55.0000,60.0000,65.0000,68.0000,72.0000,76.0000,81.0000,86.0000,89.0000,94.0000,98.0000,103.0000,107.0000,111.0000,115.0000,119.0000,123.0000,128.0000,133.0000,136.0000,141.0000,145.0000,149.0000,153.0000,158.0000,162.0000,166.0000,171.0000,175.0000,179.0000,183.0000,188.0000,192.0000,197.0000,201.0000,205.0000,209.0000,213.0000,218.0000,222.0000,227.0000,231.0000,236.0000,239.0000,244.0000,248.0000,252.0000]利用前面得到的比例转换系数 我们可以将两个通道采集的ADC转换成电压显示在OLED屏上。 经过测试可以看到转换之后的数值与外部输入电压之间是相符合的。※总结 ※本文设计了双通道放电控制回路 现在我们调试了其中电压采集及显示的功能 具体控制放电部分的功能 放在下一次来进行调试。■ 相关文献链接:使用NSD1025驱动IGBTDL2M100N5-CSDN博客
返回列表