我给你一个0~10可调的吧。我刚做的
图貌似出不来了
北京交通大学
思源0702
设计要求及技术指标
数控直流稳压电源
(2)输出电压Vo=±12V,最大输出电流Iomax=1A
(3)输出纹波电压ΔVop-p≤5mV
可控部分:
• 1)输出电压:0~9.9V步进可调,调整步距0.1V。
• 2)输出电流:≤500mA。
• 3)精度:静态误差≤1%FSR,纹波≤10mV。
• 4)显示:输出电压用LED数码管显示。
• 5)电压调整:由“+”、“-”两键分别控制输出电压步进增减。
数显、控制部分:
查阅网上的数显可控直流稳压电源资料,得到以下电路图:
这种方案不仅对变压器要求高,而且使用了7块芯片,连接复杂,其中参数选择有多处错误。我们决定应用其原理,从新设计一套方案。
电路图如下:
此电路由6部分组成:
(1) 正负12V直流稳压输出
(2) 数字电路供电电源
(3) 单片机控制系统
(4) D/A转换及其输出
(5) 数字显示
(6) 负反馈可控直流输出
一、正负12V直流稳压输出
电路图及仿真结果如下:(带1千欧负载)
交流信号:
二、数字电路供电电源
通过正12V直流稳压电源与两个大电阻分压,得到4V参考电压,在通过电压跟随器为数字电路供电。
其中所选电阻为
电压跟随器为LM324
三、单片机控制系统
包括最小系统及各引脚引线。单片机:STC12C4051AD,20引脚DIP封装,与AT89C2051通用。11.059MHz晶体振荡。
程序原理:设置电压初始值为5.1V,由P1口的低7位输出,连接到DAC0832的高8位地址,最低位接电源。然后连接DAC0832的选片线到单片机P3.7口,由P3.7口输出负跳变,实现DAC的数据锁存。由于单片机指令周期过短,小于DAC0832的最小负跳变时间间隔。加入de1延时,使芯片输出正确的模拟电压。
按加号键加0.1V,按减号键减0.1V,按键扫描时间间隔0.2秒。
完成DA转换后输出BCD码,输入数显部分。
程序原码:
org 0000h
st: mov r0,#33h ;初始电压为参考电压的一半
ljmp st1
ss: call de ;扫描,等待按键
jnb p3.4,i0
jnb p3.5,i1
sjmp ss
i0:inc r0 ;r0加一,并调用st1
cjne r0,#100,st1
dec r0
ljmp st1
i1:cjne r0,#0,i11 ;r0减一,并调用st1
ljmp st1
i11: djnz r0,st1
ljmp ss
st1:mov a,r0 ;输出的函数
mov p1,r0
clr p3.7
call de1 ;等待芯片接受数据
setb p3.7
mov b,#10
div ab
mov r1,b
rl a
rl a
rl a
rl a
add a,r1
mov p1,a
ljmp ss
de: mov r7,#200
a3: mov r1,#250
a2: mov r2,#2
a1: djnz r2,a1
djnz r1,a2
djnz r7,a3
ret
de1:mov r1,#200
b1: mov r2,#50
b2: djnz r2,b2
djnz r1,b1
ret
end
四、D/A转换及其输出
DA转换芯片的输出只能为负,所以经过反向比例放大,输出正向控制电压。
五、数字显示
使用了两块BCD七段数码管驱动芯片,分别驱动两个八段数码管。(使用A型数码管,即共阴极)其中第一个数码管的小数点接电源。
六、负反馈可控直流输出
采用大功率三极管的共集极组态作为输出,由LM324进行控制。由DA转换所得的电压作为LM324的参考电压,通过调节反馈电阻来使输出电压与数字显示的电压一致。
实际电路中,由于三极管选购失误,暂时不能获得大功率三极管。我们用一个普通的NPN型三极管来代替,调节反馈电阻的值,实现了功能,误差在0.05伏特以内,通过四舍五入,可认为数显电压值就是实际电压值。若与实际有偏差,还可以现场调节反馈电阻,校准数显。
改进:
(1)为使结构紧凑合理、美观大方,我们准备重新设计电路结构,新的电路板将吸取这次的教训,提高稳定性和健壮性。
(2)为提高电源的效率,我们准备使用开关型直流电源,降低对功率的要求,提高对效率的要求。
(3)为减少芯片数量,降低成本,降低焊接难度,我们决定使用单片机直接驱动数显,使用动态显示。程序如下:(未进行仿真,准备进行硬件仿真。)
org 0000h
bcd:mov a,#12 ;BCD转换
mov b,#10
div ab
mov r0,a
add a,r0
add a,r0
call dis
mov r4,a
mov a,b
add a,b
add a,b
call dis
mov r5,a
call de
ajmp bcd
dis:mov dptr,#tab
jmp @a+dptr
tab:mov a,#01111110b
ret
mov a,#00110000b
ret
mov a,#01101101b
ret
mov a,#01111001b
ret
mov a,#00110011b
ret
mov a,#01011011b
ret
mov a,#01011111b
ret
mov a,#01110000b
ret
mov a,#01111111b
ret
mov a,#01111011b
ret
de: clr p3.0
setb p3.1
mov p1,r4
call de1
setb p3.0
clr p3.1
mov p1,r5
call de1
ret
de1:mov r1,#200
b1: mov r2,#50
b2: djnz r2,b2
djnz r1,b1
ret
end
首先要用变压器变压,只实现那么简单的功能的话,单片机的选择上就简单了,用PIC单片机控制是最好的了,只要会用PIC单片机,应该就不会有什么问题了