视频加载中...
一、前言
这是一个高压生成装置。用于一球电子元器件的耐压测试。这款电压分压板用于数字万用表测量输出高压以及流过的电流。高压是通过 ZVS 电路改造后,通过一个高压包产生的直流高压。内部有 六个 2000pF 高压电容进行储能。这里是分压电路版的原理图。下面制作一个 基于 ADuC485单片机的电压显示模块。




二、电路设计
设计基于ADuC485 单片机的实验电路板,中间包括一个 OLED 接口。电路板适合使用单面覆铜板制作。一分钟后获得实验电路板。经过检查,制作的非常完美。下面进行焊接调试。


▲ 图1.2.1 显示模块原理图

▲ 图1.2.2 单面PCB设计图
焊接完测试电路板,先上电对其进行测试。检测电路板上 3.3V 稳压电压,以及 2.5V 的参考电压是否准确。其中 3.3V电压正常。2.5V的参考电压由于原理图出现误差,经过修改后正常了。

三、电路调试
使用串口*载下**软件*载下**测试程序。程序运行正常。验证了电路板焊接无误。下面进行功能软件开发。


C51\ADuC845\2023\HVDisp\HDDisp.uvproj
两个ADC通道分别读取外部电压与电流的数值。利用可编程数控直流电源输出电压与单片机读取的ADC数值绘制曲线,通道0对应的线性和精度非常好。第二个通道也满足设计比例值。下面将显示模块连接到高压模块上,进行数值标定。这样便可以实时显示高压模块的电压与电流了。

▲ 图1.3.1 读取的AD转换数值

▲ 图1.3.2 输入电压与读取的数值
vdim=[0.00,0.61,1.21,1.82,2.42,3.03,3.64,4.24,4.85,5.45,6.06,6.67,7.27,7.88,8.48,9.09,9.70,10.30,10.91,11.52,12.12,12.73,13.33,13.94,14.55,15.15,15.76,16.36,16.97,17.58,18.18,18.79,19.39,20.00,20.61,21.21,21.82,22.42,23.03,23.64,24.24,24.85,25.45,26.06,26.67,27.27,27.88,28.48,29.09,29.70,30.30,30.91,31.52,32.12,32.73,33.33,33.94,34.55,35.15,35.76,36.36,36.97,37.58,38.18,38.79,39.39,40.00,40.61,41.21,41.82,42.42,43.03,43.64,44.24,44.85,45.45,46.06,46.67,47.27,47.88,48.48,49.09,49.70,50.30,50.91,51.52,52.12,52.73,53.33,53.94,54.55,55.15,55.76,56.36,56.97,57.58,58.18,58.79,59.39,60.00]
mdim=[0.00,422.00,994.00,1605.00,2217.00,2830.00,3442.00,4054.00,4665.00,5279.00,5891.00,6505.00,7119.00,7732.00,8345.00,8958.00,9570.00,10185.00,10799.00,11415.00,12027.00,12640.00,13254.00,13869.00,14483.00,15098.00,15712.00,16327.00,16941.00,17554.00,18169.00,18783.00,19399.00,20011.00,20625.00,21238.00,21855.00,22469.00,23083.00,23700.00,24314.00,24927.00,25541.00,26157.00,26772.00,27387.00,28003.00,28618.00,29231.00,29846.00,30462.00,31079.00,31694.00,32311.00,32927.00,33541.00,34157.00,34770.00,35387.00,36003.00,36619.00,37234.00,37850.00,38464.00,39081.00,39696.00,40312.00,40929.00,41544.00,42160.00,42777.00,43393.00,44009.00,44627.00,45244.00,45860.00,46476.00,47092.00,47711.00,48327.00,48944.00,49561.00,50177.00,50793.00,51408.00,52027.00,52644.00,53262.00,53877.00,54493.00,55111.00,55727.00,56345.00,56961.00,57580.00,58195.00,58813.00,59431.00,60049.00,60665.00]
#!/usr/local/bin/python
# -*- coding: gbk -*-
#******************************
# TEST1.PY - by Dr. ZhuoQing 2023-12-17
#
# Note:
#******************************
from headm import *
import socket
from tsmodule.tsvisa import *
#------------------------------------------------------------
UDP_HOST '127.0.0.1'
UDP_PORT 2255
UDP_BUFSIZE = 0x1000
up = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
up.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, UDP_BUFSIZE)
up.settimeout(0.2)
def upsend(data):
ADDR = (UDP_HOST, UDP_PORT)
if type(data) != str:
data = str(data)
data = bytes(data, 'gbk')
up.sendto(data, ADDR)
def uprecv():
try:
data, ADDR = up.recvfrom(UDP_BUFSIZE)
except socket.timeout:
printf('Meter time out.')
data = ''
if len(data) > 0:
return data.decode('utf-8')
else: return ''
def upval():
upsend('MEMOS')
splitstr = uprecv().split(' ')
data = []
for val in splitstr:
if len(val) > 1:
data.append(eval(val))
return data
#------------------------------------------------------------
vdim = linspace(0, 60, 100)
mdim = []
dh1766setvolt1(0, 0, 5)
time.sleep(2)
for v in vdim:
dh1766setvolt1(v, 0, 5)
time.sleep(2)
upsend('CLEAR')
upsend('CMDmeasure\r')
time.sleep(.5)
upsend('MEMOS')
ms = uprecv().split(' ')
mdim.append(float(ms[0]))
printff(v, ms)
tspsave('Measure', vdim=vdim, mdim=mdim)
dh1766setvolt1(0, 0, 5)
plt.plot(vdim, mdim, lw=3)
plt.xlabel("Voltage(V)")
plt.ylabel("Measure")
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#******************************

▲ 图1.3.3 电流通道输入电压与读取数值
vdim=[0.00,0.24,0.48,0.73,0.97,1.21,1.45,1.70,1.94,2.18,2.42,2.67,2.91,3.15,3.39,3.64,3.88,4.12,4.36,4.61,4.85,5.09,5.33,5.58,5.82,6.06,6.30,6.55,6.79,7.03,7.27,7.52,7.76,8.00,8.24,8.48,8.73,8.97,9.21,9.45,9.70,9.94,10.18,10.42,10.67,10.91,11.15,11.39,11.64,11.88,12.12,12.36,12.61,12.85,13.09,13.33,13.58,13.82,14.06,14.30,14.55,14.79,15.03,15.27,15.52,15.76,16.00,16.24,16.48,16.73,16.97,17.21,17.45,17.70,17.94,18.18,18.42,18.67,18.91,19.15,19.39,19.64,19.88,20.12,20.36,20.61,20.85,21.09,21.33,21.58,21.82,22.06,22.30,22.55,22.79,23.03,23.27,23.52,23.76,24.00]
mdim=[0.00,229.00,470.00,713.00,955.00,1197.00,1439.00,1681.00,1923.00,2165.00,2406.00,2650.00,2891.00,3132.00,3375.00,3617.00,3859.00,4101.00,4343.00,4585.00,4827.00,5068.00,5311.00,5553.00,5795.00,6038.00,6279.00,6521.00,6763.00,7004.00,7247.00,7489.00,7730.00,7973.00,8214.00,8457.00,8699.00,8941.00,9183.00,9425.00,9667.00,9909.00,10151.00,10394.00,10636.00,10877.00,11120.00,11361.00,11603.00,11845.00,12087.00,12329.00,12572.00,12813.00,13056.00,13297.00,13539.00,13781.00,14023.00,14265.00,14508.00,14749.00,14992.00,15233.00,15476.00,15719.00,15961.00,16202.00,16445.00,16686.00,16928.00,17171.00,17412.00,17655.00,17897.00,18138.00,18380.00,18622.00,18865.00,19107.00,19349.00,19592.00,19833.00,20075.00,20318.00,20559.00,20802.00,21044.00,21286.00,21529.00,21770.00,22012.00,22256.00,22498.00,22739.00,22982.00,23223.00,23466.00,23708.00,23950.00]
四、二极管击穿电压
将制作好的高压显示电路按照在高压模块上。使用它可以测量一些器件的耐压。这是昨天实验中使用的整流二极管。型号为 FR107,这是一个快恢复整流二极管。反向击穿电压超过 1000V。下面增加高压电压。可以看到在 1374V时,二极管已经反向击穿,击穿电流为 848微安。利用这个高压发生器,可以帮助我们检测一些器件的耐压性能。


※总 结 ※
本文记录了基于ADuC845单片机制作的电压电流显示模块。用在高压模块上,可以方便测量期间的耐压。简化了器件的测量过程。

参考资料
[1]
设计ADuC845低噪声信号采集版: https://blog.csdn.net/zhuoqingjoking97298/article/details/109431420
[2]
基于ADuC845的数据采集板: https://blog.csdn.net/zhuoqingjoking97298/article/details/109408762
[3]
ADuC845串口*载下**模块制作: https://blog.csdn.net/zhuoqingjoking97298/article/details/109427941
[4]
创界uVision下的ADuC845的工程文件: https://zhuoqing.blog.csdn.net/article/details/109399638
[5]
ADcU845数据手册: https://www.analog.com/media/en/technical-documentation/data-sheets/ADUC845_847_848.pdf