简易数控直流稳压电源的设计
2014-08-08资灵薇安盼盼潘迪
资灵薇+安盼盼+潘迪
摘要:本设计以直流电压源为核心,CPLD为主控制器,通过按钮来设置直流电源的输出电压,设置步进等级可达0.1V,输出电压范围为0—9.9V,输出电流为1A,并由数码管显示输出电压值。由“+”、“-”两键分别控制输出电压步进增减,并且输出电压可预置在0~9.9V之间的任意一个值。由CPLD输出数字信号,经过D/A转换器(AD0832)输出模拟电流量,再经过运算放大器隔离放大输出模拟电压量,控制稳压芯片L7805电压的变化而输出不同的电压。
关键词:数控直流电源;CPLD;D/A数模转换
1方案设计
设计要求:(1)输出电压范围:0~9.9V,步进0.1V,纹波不大于10mV。(2)输出电流:500mA。(3)输出电压用数码管显示。(4)由“+”、“-”键分别控制输出电压步进增或减。(5)输出电压可预置在0~9.9V之间任意值。(6)输出电压可自动增加或减少(步进不变)。(7)增加保护功能:输出电压不能发生从0.0→9.9(或9.9→0.0)跳变。
2设计思路
3主要电路(设计和计算)
3.1电源部分:
a.变压部分:我们用的是220V,15V的变压器变压。
b.滤波部分:为了使稳压电源可以正常工作,滤波电路的输出电压U1应该满足下式:
U1≥Uomax+(UI-Uo)min
其中:Uomax为稳压电源输出最大值
(UI-Uo)min 为集成稳压器输入与输出最小电压差,典型值为3V.
所以:U1≥=V =12+3=15v
τ=RLC≥(3→5)T
RL=U1×I1(频率为50HZ)
C=(3→5)T*0.5÷RL=(3→5)×0.02×0.52×20.57=2666μF
则可以取2600μF以上的电容(RLC越大,电容的放电速度越慢,纹波成分越小)。因此电容C选用3300μF电解电容来滤波。
3.2CPLD部分。该部分我们将其分为6个模块分来实现其功能,其中时钟模块用的是原理图,其他模块使用VHDL语言编写,最后合成顶层文件的原理图文件。
3.2.1十进制可逆计数部分(延时,长按)。(其中V为两位BCD输出电压值,N为防抖延迟计数和快进连续计数延迟判断变量,DL为减速变量,时钟1Hz)第一,先实现从00~99的加减功能,分为temp1(0~9)(低位)和temp2(0~9)(高位)两位,每次都加(减)1,加到99(0)停止,控制temp1和temp2的取值范围,然后temp1等于9时temp2进(或减)一位,到99或0时停止;第二,实现防抖和长按功能,要消除因机械抖动而改变输出的电压。快进连续计数延迟判断变量,当某一个按键长时间按下时,实现连续加减。
3.2.2BCD转二进制。上面的程序输出的是0~99的BCD码,而实际中需要将0~99的二进制码输入DAC0832,所以还应将BCD码转换为二进制输出。
3.2.3BCD转8段译码显示。这个模块是把可逆计数模块输出的小数点前一位和小数点输出到数码管上,因为带有小数点,所以这一位有8位输出,最高位是‘1代表小数点。(BCD码输出显示到数码管上)这个模块的敏感信号就不是时钟了,还是temp1和temp2。由于实际中数码管是共阴极的,所以用真值表中‘1就代表点亮该位,‘0代表熄灭。
3.2.4时钟和分频。因为调用芯片内的晶振时钟的VHDL代码比较复杂,所以内部时钟这部分用原理图设计。分频部分,主要是将内部时钟的高频率降低到我们所需的频率,产生一个新的频率。
3.3D/A转换。D/A转换:CPLD部分向DAC0832发送数字编码,产生不同的输出。由于DAC0832的为电流量需要用运放将电流信号转变为电压信号。为了实现电压值稳定输出,还需要通过运放实现。因为输出电压量程为10V,VREF基准电压范围为-15V---+15V,基准电压可以为5.0V,这样在DAC0832的8脚输出电压的分辨率为:5.0÷127=0.039。即D/A输入数据端每增加1,电压增加0.039V。然后调节反馈电阻R 的大小,才能得到输出电压的电压分辨率:0.039÷15KΩ=0.1÷R,R的大小约为38.46 KΩ。这样当调节电压的时候,以每次0.1V的梯度增加或者降低电压。
4检测与调试问题
在检测D/A转换的Vref上,431提供的输出电压应该是5V,但出来总是9V左右0,不能满足DA转换的需要,电 路参数的设定还存在问题,暂时没检测出来。
在调试CPLD的输出即DAC0832的输入时。是从BCD码向二进制数的转换,引脚锁定比较复杂,检测了很多遍,输出不同的二进制数最后才正确的锁定好所有的引脚。
用示波器测试纹波的时候,纹波的大小约30mv,比较大,想到的解决方案是再电源和地之间加了一个1000μF和1nF的电容来减小输出的纹波。
在测试输出电流的时候,总是只有几毫安的大小,然后返回去检测输出电压是正确的,再检查7805之间的压差发现为0,即7805被烧坏,没有起到扩流的左右,解决方法即更换一个7805。
5测试数据及实验结果
电路空载及接入功率电阻(作为负载)后所测得电源电压输出及纹波大小如下表所示:
序号 空载 接10欧姆负载
显示电压/V 测量电压/V 显示电压/V 输出纹波/mV
1 9.9 9.75 9.9 6.1
2 9.0 8.90 9.0 6.1
3 8.0 7.95 8.0 6.3
4 7.0 7.00 7.0 6.2
5 6.0 6.03 6.0 6.1
6 5.0 5.04 5.0 6.4
7 4.0 4.10 4.0 6.2
8 3.0 3.09. 3.0 6.3
9 2.0 2.11 2.0 6.4
10 1.0 1.11 1.0 6.2
11 0.0 0.23 0.0 6.3
摘要:本设计以直流电压源为核心,CPLD为主控制器,通过按钮来设置直流电源的输出电压,设置步进等级可达0.1V,输出电压范围为0—9.9V,输出电流为1A,并由数码管显示输出电压值。由“+”、“-”两键分别控制输出电压步进增减,并且输出电压可预置在0~9.9V之间的任意一个值。由CPLD输出数字信号,经过D/A转换器(AD0832)输出模拟电流量,再经过运算放大器隔离放大输出模拟电压量,控制稳压芯片L7805电压的变化而输出不同的电压。
关键词:数控直流电源;CPLD;D/A数模转换
1方案设计
设计要求:(1)输出电压范围:0~9.9V,步进0.1V,纹波不大于10mV。(2)输出电流:500mA。(3)输出电压用数码管显示。(4)由“+”、“-”键分别控制输出电压步进增或减。(5)输出电压可预置在0~9.9V之间任意值。(6)输出电压可自动增加或减少(步进不变)。(7)增加保护功能:输出电压不能发生从0.0→9.9(或9.9→0.0)跳变。
2设计思路
3主要电路(设计和计算)
3.1电源部分:
a.变压部分:我们用的是220V,15V的变压器变压。
b.滤波部分:为了使稳压电源可以正常工作,滤波电路的输出电压U1应该满足下式:
U1≥Uomax+(UI-Uo)min
其中:Uomax为稳压电源输出最大值
(UI-Uo)min 为集成稳压器输入与输出最小电压差,典型值为3V.
所以:U1≥=V =12+3=15v
τ=RLC≥(3→5)T
RL=U1×I1(频率为50HZ)
C=(3→5)T*0.5÷RL=(3→5)×0.02×0.52×20.57=2666μF
则可以取2600μF以上的电容(RLC越大,电容的放电速度越慢,纹波成分越小)。因此电容C选用3300μF电解电容来滤波。
3.2CPLD部分。该部分我们将其分为6个模块分来实现其功能,其中时钟模块用的是原理图,其他模块使用VHDL语言编写,最后合成顶层文件的原理图文件。
3.2.1十进制可逆计数部分(延时,长按)。(其中V为两位BCD输出电压值,N为防抖延迟计数和快进连续计数延迟判断变量,DL为减速变量,时钟1Hz)第一,先实现从00~99的加减功能,分为temp1(0~9)(低位)和temp2(0~9)(高位)两位,每次都加(减)1,加到99(0)停止,控制temp1和temp2的取值范围,然后temp1等于9时temp2进(或减)一位,到99或0时停止;第二,实现防抖和长按功能,要消除因机械抖动而改变输出的电压。快进连续计数延迟判断变量,当某一个按键长时间按下时,实现连续加减。
3.2.2BCD转二进制。上面的程序输出的是0~99的BCD码,而实际中需要将0~99的二进制码输入DAC0832,所以还应将BCD码转换为二进制输出。
3.2.3BCD转8段译码显示。这个模块是把可逆计数模块输出的小数点前一位和小数点输出到数码管上,因为带有小数点,所以这一位有8位输出,最高位是‘1代表小数点。(BCD码输出显示到数码管上)这个模块的敏感信号就不是时钟了,还是temp1和temp2。由于实际中数码管是共阴极的,所以用真值表中‘1就代表点亮该位,‘0代表熄灭。
3.2.4时钟和分频。因为调用芯片内的晶振时钟的VHDL代码比较复杂,所以内部时钟这部分用原理图设计。分频部分,主要是将内部时钟的高频率降低到我们所需的频率,产生一个新的频率。
3.3D/A转换。D/A转换:CPLD部分向DAC0832发送数字编码,产生不同的输出。由于DAC0832的为电流量需要用运放将电流信号转变为电压信号。为了实现电压值稳定输出,还需要通过运放实现。因为输出电压量程为10V,VREF基准电压范围为-15V---+15V,基准电压可以为5.0V,这样在DAC0832的8脚输出电压的分辨率为:5.0÷127=0.039。即D/A输入数据端每增加1,电压增加0.039V。然后调节反馈电阻R 的大小,才能得到输出电压的电压分辨率:0.039÷15KΩ=0.1÷R,R的大小约为38.46 KΩ。这样当调节电压的时候,以每次0.1V的梯度增加或者降低电压。
4检测与调试问题
在检测D/A转换的Vref上,431提供的输出电压应该是5V,但出来总是9V左右0,不能满足DA转换的需要,电 路参数的设定还存在问题,暂时没检测出来。
在调试CPLD的输出即DAC0832的输入时。是从BCD码向二进制数的转换,引脚锁定比较复杂,检测了很多遍,输出不同的二进制数最后才正确的锁定好所有的引脚。
用示波器测试纹波的时候,纹波的大小约30mv,比较大,想到的解决方案是再电源和地之间加了一个1000μF和1nF的电容来减小输出的纹波。
在测试输出电流的时候,总是只有几毫安的大小,然后返回去检测输出电压是正确的,再检查7805之间的压差发现为0,即7805被烧坏,没有起到扩流的左右,解决方法即更换一个7805。
5测试数据及实验结果
电路空载及接入功率电阻(作为负载)后所测得电源电压输出及纹波大小如下表所示:
序号 空载 接10欧姆负载
显示电压/V 测量电压/V 显示电压/V 输出纹波/mV
1 9.9 9.75 9.9 6.1
2 9.0 8.90 9.0 6.1
3 8.0 7.95 8.0 6.3
4 7.0 7.00 7.0 6.2
5 6.0 6.03 6.0 6.1
6 5.0 5.04 5.0 6.4
7 4.0 4.10 4.0 6.2
8 3.0 3.09. 3.0 6.3
9 2.0 2.11 2.0 6.4
10 1.0 1.11 1.0 6.2
11 0.0 0.23 0.0 6.3
摘要:本设计以直流电压源为核心,CPLD为主控制器,通过按钮来设置直流电源的输出电压,设置步进等级可达0.1V,输出电压范围为0—9.9V,输出电流为1A,并由数码管显示输出电压值。由“+”、“-”两键分别控制输出电压步进增减,并且输出电压可预置在0~9.9V之间的任意一个值。由CPLD输出数字信号,经过D/A转换器(AD0832)输出模拟电流量,再经过运算放大器隔离放大输出模拟电压量,控制稳压芯片L7805电压的变化而输出不同的电压。
关键词:数控直流电源;CPLD;D/A数模转换
1方案设计
设计要求:(1)输出电压范围:0~9.9V,步进0.1V,纹波不大于10mV。(2)输出电流:500mA。(3)输出电压用数码管显示。(4)由“+”、“-”键分别控制输出电压步进增或减。(5)输出电压可预置在0~9.9V之间任意值。(6)输出电压可自动增加或减少(步进不变)。(7)增加保护功能:输出电压不能发生从0.0→9.9(或9.9→0.0)跳变。
2设计思路
3主要电路(设计和计算)
3.1电源部分:
a.变压部分:我们用的是220V,15V的变压器变压。
b.滤波部分:为了使稳压电源可以正常工作,滤波电路的输出电压U1应该满足下式:
U1≥Uomax+(UI-Uo)min
其中:Uomax为稳压电源输出最大值
(UI-Uo)min 为集成稳压器输入与输出最小电压差,典型值为3V.
所以:U1≥=V =12+3=15v
τ=RLC≥(3→5)T
RL=U1×I1(频率为50HZ)
C=(3→5)T*0.5÷RL=(3→5)×0.02×0.52×20.57=2666μF
则可以取2600μF以上的电容(RLC越大,电容的放电速度越慢,纹波成分越小)。因此电容C选用3300μF电解电容来滤波。
3.2CPLD部分。该部分我们将其分为6个模块分来实现其功能,其中时钟模块用的是原理图,其他模块使用VHDL语言编写,最后合成顶层文件的原理图文件。
3.2.1十进制可逆计数部分(延时,长按)。(其中V为两位BCD输出电压值,N为防抖延迟计数和快进连续计数延迟判断变量,DL为减速变量,时钟1Hz)第一,先实现从00~99的加减功能,分为temp1(0~9)(低位)和temp2(0~9)(高位)两位,每次都加(减)1,加到99(0)停止,控制temp1和temp2的取值范围,然后temp1等于9时temp2进(或减)一位,到99或0时停止;第二,实现防抖和长按功能,要消除因机械抖动而改变输出的电压。快进连续计数延迟判断变量,当某一个按键长时间按下时,实现连续加减。
3.2.2BCD转二进制。上面的程序输出的是0~99的BCD码,而实际中需要将0~99的二进制码输入DAC0832,所以还应将BCD码转换为二进制输出。
3.2.3BCD转8段译码显示。这个模块是把可逆计数模块输出的小数点前一位和小数点输出到数码管上,因为带有小数点,所以这一位有8位输出,最高位是‘1代表小数点。(BCD码输出显示到数码管上)这个模块的敏感信号就不是时钟了,还是temp1和temp2。由于实际中数码管是共阴极的,所以用真值表中‘1就代表点亮该位,‘0代表熄灭。
3.2.4时钟和分频。因为调用芯片内的晶振时钟的VHDL代码比较复杂,所以内部时钟这部分用原理图设计。分频部分,主要是将内部时钟的高频率降低到我们所需的频率,产生一个新的频率。
3.3D/A转换。D/A转换:CPLD部分向DAC0832发送数字编码,产生不同的输出。由于DAC0832的为电流量需要用运放将电流信号转变为电压信号。为了实现电压值稳定输出,还需要通过运放实现。因为输出电压量程为10V,VREF基准电压范围为-15V---+15V,基准电压可以为5.0V,这样在DAC0832的8脚输出电压的分辨率为:5.0÷127=0.039。即D/A输入数据端每增加1,电压增加0.039V。然后调节反馈电阻R 的大小,才能得到输出电压的电压分辨率:0.039÷15KΩ=0.1÷R,R的大小约为38.46 KΩ。这样当调节电压的时候,以每次0.1V的梯度增加或者降低电压。
4检测与调试问题
在检测D/A转换的Vref上,431提供的输出电压应该是5V,但出来总是9V左右0,不能满足DA转换的需要,电 路参数的设定还存在问题,暂时没检测出来。
在调试CPLD的输出即DAC0832的输入时。是从BCD码向二进制数的转换,引脚锁定比较复杂,检测了很多遍,输出不同的二进制数最后才正确的锁定好所有的引脚。
用示波器测试纹波的时候,纹波的大小约30mv,比较大,想到的解决方案是再电源和地之间加了一个1000μF和1nF的电容来减小输出的纹波。
在测试输出电流的时候,总是只有几毫安的大小,然后返回去检测输出电压是正确的,再检查7805之间的压差发现为0,即7805被烧坏,没有起到扩流的左右,解决方法即更换一个7805。
5测试数据及实验结果
电路空载及接入功率电阻(作为负载)后所测得电源电压输出及纹波大小如下表所示:
序号 空载 接10欧姆负载
显示电压/V 测量电压/V 显示电压/V 输出纹波/mV
1 9.9 9.75 9.9 6.1
2 9.0 8.90 9.0 6.1
3 8.0 7.95 8.0 6.3
4 7.0 7.00 7.0 6.2
5 6.0 6.03 6.0 6.1
6 5.0 5.04 5.0 6.4
7 4.0 4.10 4.0 6.2
8 3.0 3.09. 3.0 6.3
9 2.0 2.11 2.0 6.4
10 1.0 1.11 1.0 6.2
11 0.0 0.23 0.0 6.3