项目简介

事情起因于本人桌面上一直使用的一台3路程控直流电源IT6322坏了,于是就一直缺电源用,本来想再换一台的,可是刚好看到了立创的电子设计大赛有直流电源类,于是就顺理成章的萌生了DIY一台多路程控电源的想法,也正好趁此机会检验一下自己的能力水平。

初步的打算是按照IT6322来设计,IT6322有3路输出,两路30V、3A,一路5V、3A,电压输出精度0.01V,电流输出精度0.001A。操作界面打算使用3.5寸的液晶屏加触摸屏来控制,当然硅胶按键也要带上,有时候还是更习惯用按键(先都设计上吧,以免后面发现触摸不好用)。实体的数字键盘就不需要了,用方向键调节位数加旋转编码器旋钮调节数字的操作体验更舒服一些。GUI使用EMWIN。通信接口使用USB,其他接口暂时先不管,先满足自己的需要吧。通信协议使用SCPI,这样可以兼容其他的仪器,节省搭建测试平台时的工作量。

因为需要支持远程SCPI控制,因此需要一个上位机,先自己使用C#写一个简单的用着,先把远程控制电压、电流、开关、过流、过压等功能做了,其他功能后续再慢慢添加。

项目详情

1、通道一和通道二输出0-36V,0-4A;通道三输出0-8V,0-4A。三个通道的电压分辨率都为0.01V,电流分辨率都为0.001A。三个通道要完全隔离,且支持通道间串联、并联使用。电源要支持恒压模式和恒流模式,且自动切换。

2、保护功能要完善,过压保护、过流保护、过热保护等。

3、GUI界面人性化,方便操作。屏幕可以调节亮度,蜂鸣器可以开关控制,风扇根据温度自动调节。

4、设置参数有掉电保存功能。

5、有参数组快速输出功能,有延时输出和输出定时功能。

6、可以支持波形输出,比如输出正弦波、方波等。

7、有USB通信接口,支持SCPI协议,可以远程控制电源、远程升级电源固件。

方案选择

首先是确定电路方案,因为要实现多个通道的串联、并联输出,于是3个通道要完全隔离,每个通道采用独立的ADC和DAC分别控制输出电压与电流和测量输出电压与电流 ,然后ADC和DAC再通过隔离芯片与单片机进行通信。

输出电压与电流的控制有两种方案,一种是实时采集电压和电流,然后通过软件PID来调节;还有一种是直接使用硬件比较设置电压与输出电压,然后硬件电路自己调节。第一种调试起来会麻烦很多,因为怕时间耗费过多,所以直接采用第二种方案。

然后供电方案也有两种,一种是采用工频变压器供电,即直流电源。一种是采用开关电源供电。开关电源供电的效率比较高,散热压力小,但是纹波大,电路更复杂。工频变压器供电的纹波小,但是效率低,重量比较大。因为我是制作的实验室电源,对于电源的效率、重量并不太关心,反而对纹波要求比较高,于是选择第一种方案。

接下来就是选择芯片并绘制原理图了。因为输出电压范围为0-36V,精度0.01V,36/4096=0.0087V,因此ADC和DAC采用12位的就足够了。每路要进行电压和电流的分别控制,因此需要两个通道,最好直接选择双通道的ADC和DAC。经过选型,最后确定DAC采用DAC7612,ADC采用MCP3202。

因为要驱动TFT、触摸屏、控制3片DAC和ADC、继电器、按键、旋钮、风扇等,64个IO都不够,只有选100个引脚的单片机了,然后Flash需要大一点的,可以直接保存GUI用到的字库、图片,就不需要再加外挂Flash了。同时单片机RAM也得大一点,给显示缓存用,这样就不用再外挂一片SDRAM了,最后选择Flash有1M,RAM有96KB的GD32F103VGT6作为主控。

供电电路

三个输出通道各自隔离,自成一个系统,因此电源也是3个隔离的系统。每个通道的模拟电路需要正负12V、正5V、正4.1V的电源,单片机的供电也是一个隔离的系统需要正12V、正5V、正3.3V,USB通信接口也需要一个隔离正5V电源,因此一共是5个互相隔离的电源系统。

电压通过变压器得到,输入交流电压,经过整流桥、大电容滤波得到直流电。然后采用直流稳压芯片LM7812来得到正12V、采用LM7912来得到负12V、采用LM7805来得到正5V、采用LM317来得到正4.1V、采用AMS1117来得到正3.3V。电路图如下:

上面原理图的最上面那个光耦电路是过零检测电路,用于检测输入交流的过零点。检测到了过零点可以用来进行掉电保存数据和控制继电器在过零点动作,因为过零点时,交流电压最小,此时电流也最小,以保护继电器的触点,达到延长继电器寿命的作用。

MCU电路

单片机的电路部分采用GD32F103VGT6的最小电路,其中要注意引脚分配,比如编码旋钮的A、B线要接到定时器的通道1和2。掉电检测信号线也要接到定时器上。

单片机周围有用于保存参数的EEPROM、用于驱动散热风扇和继电器的ULN2003、用于检测散热器温度的LM35:

l DAC、ADC和隔离电路

通过数字隔离芯片SI8660和高速光耦6N137来隔离通道1的系统和单片机系统的通信信号线。

模拟电路部分

采用电压控制回路和电流控制回路并联的方式来实现恒压、恒流的自动切换。具体原理如下:

1)首先通过继电器来选择输入的交流电压,输入的交流电压有4档:9V、18V、27V、36V。根据设置的输出电压来控制继电器,进而控制输入的电压值。输入电压经过整流桥和大电容被滤波成直流电。

2)功率部分,输入的直流电流过功率管被调整为设置电压值的直流电,然后输出。

3)电压反馈部分,功率管是如何来调整电压的呢?这就要用到电压反馈电路了。首先输出电压值经过U2B组成的同比例放大电路,把0-36V的范围缩小12.4倍:

缩小后的电压再和DAC的输出电压做对比,经过积分电路把误差累积输出,输出信号再经过三极管增大驱动能力后直接通往功率管的栅极。

4)、电流反馈部分,首先是采样电阻:

采样电流信号经过U2C电路放大:

再和DAC的输出做对比,经过积分电路累积出驱动信号,经过三极管放大,驱动功率管:

5)通道输出开关,使用光耦来控制通道的输出与否。当光耦打开,驱动信号才有效,才能驱动功率管打开。

显示板电路

显示板主要包括:液晶电路、触摸屏驱动电路、HC165构成的按键电路、HC595构成的IO驱动电路、编码旋钮电路、USB通信隔离电路。

电源结构设计与配件选择

原理图设计好了,接下来需要确定好元器件和配件,进而确定电源的内部结构和整机大小。

接下来考虑电源的内部结构,然后根据内部结构来设计PCB。首先把变压器的设计图纸给厂家,厂家估算出变压器的尺寸为高70mm,直径130mm。再计算散热器的最大散热需求,首先功率管上的最大压降为8*1.414=11.312V,每个通道最大电流为4A,于是3个通道耗散在散热器上的最大功率为8*1.414*4*3=135.744W,因此散热器要足够大,而且风扇要用高风量的。最后借鉴IT6322的方法,使用60的方形散热器,然后风扇直接固定到散热器的一头,达到最好的散热效果。散热器直接固定到PCB上,同时靠边放置,剩下的位置用来摆放元器件。如果一张PCB放不下可以考虑上下两层。底板是功率板,顶板是控制板,这样结构要清晰一些,也能节省不少空间。暂时的布局示意图为:

功率板部分的结构基本确定了,再来看操作面板部分,操作面板上有6个接线柱、9个硅胶按键、3.5寸屏幕、电源开关和USB通讯接口,粗略的估计了一下,宽度不能小于200,有这么宽的话,功率板上就有200-60=140mm宽度的空余了,一张板子完全就可以放得下所有东西了,于是功率板确定使用一张PCB,这样比起上下两层板,更方便调试和安装,也省成本。把功率板的布局和操作面板的布局大致确定后,得到机箱的尺寸为:宽度要大于200mm,长度要大于260mm,高度要大于70mm。

下面再来设计操作面板的外观和布局,首先选好接线柱:

再选好旋钮、旋钮帽和电源开关:

接下来选择按键,按键的选择可是颇费心思,如果用硬质的按键+键帽,那就直接有现成的,也好购买和设计。比如:

可是操作体验比不上仪器上常用的硅胶按键,一般硅胶按键都是开模定制的,很难找到通用的,好不容易在淘宝里找到了几个符合我的要求的,可是按键高度不统一,而且一个按键是配合轻触开关使用的,另一个是自带导电黑粒的,不好统一画板:

于是又继续找,后面突然想到遥控器上面的硅胶按键可以用,于是买了两个遥控器回来:

把遥控器拆开,把硅胶按键取下来试了一下,感觉还是不行,又找了一圈,没办法只好将就用原来的方向键。因为方向键和透光按键的高度不同,同时还考虑到他们固定的问题,于是首先画了3块固定小板:

有了固定板和单独的触控板就可以解决按键高度不统一的问题了。

但是方向键是配合轻触开关使用的,于是再专门给它配导电黑粒:

把导电黑粒粘到方向按键上,都装配好后,试了一下,效果不错,这样一来功率板和操作面板的所有东西都确定好了,也就是整体的结构和物料都确定好了,接下来就可以画PCB了。

2020年7月17号,画好了两张PCB,同时把3D封装也加上了:

7月20号,拿到了两个PCB,开始焊接元件。

7月22号,PCB大致焊接完成,功率板只焊了一个通道拿来验证电路设计,要是一股脑全焊完了测试才发现设计有问题,就傻眼了。

7月24号,完成ADC和DAC的测试程序和电路调试,初步确定电路设计没有大问题。只有几个小问题:一是单片机供电回路的12V输出和5V使用的LM7812和LM7805,因为这两个电源电流太大,导致这两个芯片发热严重,于是改为了使用LM2596和LM2315。二是单片机的电源上的电容太小了,导致掉电后,没有足够的电容来给单片机供电,使单片机保存掉电参数。三是显示板的PCB布置不太合理,导致装上机壳后,不好看。

这几个问题都采用飞板子和飞线的方法解决了。接下来开始测试其他模块。

7月30号搞定了液晶显示,触摸屏,旋钮等模块的底层驱动程序。

8月15号,搞定了GUI的大体设计,可以开始进行功率板和显示板的联调了。

8月25号,电源功能总体完成。开始优化、资料整理和拍摄视频。

电源功能展示和性能测试

1)电源主页面

2)电源设置页面

3)电源校准功能页面

4)电源快速输出功能页面

5)电源波形输出功能页面

6)电压电流输出和回读精度报告

7)负载调整率测试报告

8)SCPI程控功能

SCPI协议栈移植的Github上的开源协议栈。

9)波形输出功能

成本以及市场环境分析

项目面临的挑战及解决的问题

挑战一:这个电源设计之初,就是做一台完成度很高的三通道程控直流电源来替代自己坏掉的IT6322,而不是自己做来玩的。因此对于电源的外观和结构设计花费了很多工夫。在这个过程中买了很多样品来试验成品效果,整机搭配效果。包括前后面板的颜色、材质之类的设计,都试验过很多。这对于产品设计能力是一个挑战。

挑战二:GUI的设计,前期只是闷着头设计,比如一开始的主页面设计是把屏幕水平三等分来分别给三通道使用,这导致最后的效果上,每个通道的显示字符都很小,最后才不得不借鉴DP832的方法,把屏幕分为3个三角形来最大化三个通道的显示字符大小。

挑战三:模拟电路部分的调试,需要根据电路的反馈情况和相位裕度来调整运放电路周围的电容和电阻,这也是比较费工夫的地方。同时,为了减少散热器的散热压力,把输入电压四等分了,再根据输出电压的大小来控制继电器调节输入电压的大小,继电器还要在过零点切换以保护其触点,这也是一个挑战。

挑战四:数据处理。因为DAC的输出和ADC的输入最终反映到电压和电流上并不是线性的,因此需要单片机把DAC和ADC的原始值和与之对应的电压电流值采集到,再进行曲线拟合处理来做数据的矫正,这样电压电流值才会准确。

项目硬件、软件部分涉及到的关键点

硬件设计上的关键点主要在于:

1、电路方案的选择,控制方式选哪种,供电方式哪种。

2、物料的选择,根据的设计需求来选择合适的物料。比如DAC、ADC、MCU、隔离芯片、驱动芯片等。

3、模拟电路的设计和调试,这里需要耐心和理论知识来慢慢调试电路。

4、PCB的布局和布线,因为涉及的元件还是不少,而且电路中有模拟部分、有数字部分、也有大功率部分。因此对于PCB的设计还是要求不小的。

软件设计上的关键点主要在于:

1、整体多任务控制程序的编写。

2、GUI软件的设计。

3、SCPI协议栈的移植。

项目材料清单

功率板BOM:

显示板BOM:

项目图片

功率板PCB正反面

显示板PCB正反面

硅胶按键固定板PCB正反面

项目其它图片

项目演示视频

“GD32杯”第五届立创电子设计大赛:《三通道程控直流电源》项目-功能演示

1、第五届立创电子设计大赛:《三通道程控直流电源》项目-作品展示1。

2、第五届立创电子设计大赛:《三通道程控直流电源》项目-原理图、PCB、内部结构展示。

3、第五届立创电子设计大赛:《三通道程控直流电源》项目-校准功能演示。

4、第五届立创电子设计大赛:《三通道程控直流电源》项目-输出电压电流精度测试。

5:第五届立创电子设计大赛:《三通道程控直流电源》项目-电源负载调整率测试。

开源文档

请下载附件查看详情

附件:

原理图和PCB.rar

三通道程控直流电源开源代码.rar

三路可编程直流电源SCPI编程手册.pdf

电源测试报告.xlsx

功率板BOM.xlsx

显示板BOM.xlsx


展开阅读全文