摘要:本设计以80C31单片机为核心,集成运算放大器和DAC0832数模转换器构成具有深度负反馈的输出可控的直流稳压电源。由三端集成稳压器(7805、7815、7915)给各单元电路提供所需的工作电压。本系统由单片机做控制,输出电压在(0~9.9V)之间变化,实现0.1V的步进功能控制,输出电压采用LED共阴极数码显示。简易数控直流电源与传统稳压电源相比具有操作方便、显示稳定度高、使用广泛等特点。
关键词:单片机80C31 数模转换器DAC0832 三端集成稳压器
1 数控直流电源的应用及特点
本课题研究一种以单片机为核心的智能化高精度简易数控直流电源的设计。数控直流电源是一种常见的电子仪器也是电子技术常用的设备之一,广泛应用于电路,教学试验和科学研究等领域。以单片机系统为核心设计的新一代数控直流电源,它不但电路简单,结构紧凑,价格低廉,性能优越,而且由于单片机具有计算和控制能力,利用它对数据进行各种计算,从而可排除和减少模拟电路引起的误差,输出电压和限定电流采用输入键盘方式,电源的外表美观,操作使用方便,具有较高的使用价值,且兼备双重过载保护及报警功能, 特别适用于各种有较高精度要求的场合。
2 硬件电路的设计
2.1 数控直流电源的组成 简易数控直流电源由稳压电源部分、数字显示部分、输出部分、数控部分、“+”“-”按键五部分组成。
2.2 单元电路的设计
2.2.1 输出电路 输出电路是由三端固定输出稳压器件7805、运算放大器A和DAC电路所组成的输出电路。在该电路中U23=5V,Uo=U23+U3,若DAC的输出为-5V~+4.9V,则UO=0~9.9V。该电路的稳压性能7805保证,步进电压由DAC输入的数字量控制。这种电路输出电压的精度取决于7805输出电压的误差;运放的跟随误差以及DAC的积分非线性。步进值的误差直接与DAC的位数有关。
2.2.2 数控部分 数控部分应具备的功能有:输出电压可预置,且能以“步进”或“扫描”的工作方式加(“+”)或减(“-”)。数控部分的输出应直接控制数码电阻网络各个开关。
微控制器(MCU)又称单片机,数控部分为MCU电路。MCU的芯片品种繁多,芯片的选择应考虑价格,软件成熟,满足功能要求等因素,因此本设计选用80C31单片机。
两位BCD码拨盘开关将预置量输入到MCU并口,两位LED显示电路由MCU串口送入数值(输出电压)。单独设置的“+”“-”二个按键由并行口进行检测。DAC接收MCU数据总线传送的数据,并据以确定输出电压。在软件的控制下,MCU开机后先将预置值读入,在送去显示的同时,送入DAC,并产生相同的输出电压。然后不断循环检测“+”“-”两键是否按下。若检测到有键按下,将使显示值和输出电压相应增减0.1V。若检测到按键时间超过0.5s,则认为需连续增减,即处于“扫描”方式。
由于80C31片内RAM仅有128B容量不够所以要扩展片外RAM,因此由80C31、74LS373和8KB容量的2764组成MCU最小系统。
2.2.3 稳压电源 从电路简单、经济考虑,本设计采用三端固定输出集成稳压器。采用7805、7815、7915作为它们的输出电压分别为+5V、+15V、-15V,输出电流为1.5A。
直流稳压电源采用桥式全波整流,单电容滤波,三端固定输出集成稳压器件。输出电路由7815提供+15V电压,从而大大提高了电压调整率和负载调整率等指标。
2.2.4 显示电路 显示电路由两个数码管和两个74LS164组成。两个数码管分别组成显示电路的十位、个位,由于两个数码管至少需要14根I/O线,为节约资源,采用串行输入并行输出的74LS164进行驱动输出。单片机的两个并行分别作为信号输出口和时钟控制信号。采用单片机的P3.2、P3.3作为控制加减的控制。该实现方式是通过80C31串行输入,再并行输出到74LS164,再经过74LS164并行输出到数码显示管。
显示方式采用静态显示方式,80C31串以移位寄存器来驱动两位LED共阴极数码显示器,占用资源少,仅二根线。
3 软件设计
两位BCD码拨盘开关K3、K4,用以设置输出电压。K3、K4输入的P1口由电阻网络RN上拉。设置为低电平有效。“+”“-”键由10K电阻上拉,低电平有效输入至P3.2和P3.3口线。软件采用查询方式访问这两个键。
3.1 80C31资源分配
TXD、RXD 以串口方式0输出接移位寄存器/显示器。
P3.2 “+” 键
P3.3 “-”键
P0.0~P0.3 预置数BCD码输入(低位—十分位)
P0.4~P0.7 预置数BCD码输入(高位—个位)
FFFEH DAC 地址
42H D输出电压数值寄存
41H 40H 显示缓冲寄存,BCD码。
3.2 程序流程设计 复位后首先进行初始化工作,然后从BCD拨盘开关取输出电压预置值,经取反和十—二进制数转换后存入寄存器42H。预置值经串口输出送往显示器。由于输出电压数值是以0.1V做为基本单位的(即5V为50),所以送往显示的数值自动在高位加入小数点。以后输出电压值经标度变换后送DAC,由输出电压形成对应的输出电压。
程序将检测有无键按下,若无键按下,则不断地继续检测,直到有键按下。检测到有键按下后,首先延时20ms进行去抖处理,再判别是“+”还是“-”键若为“+”键,则42H中的数据加1,再判断是否已加至100,若是则42H复0,否则将数据送去显示和输出。若判别为“-”键,则数据减1,再判断是否已减至FFH,若是则42H赋值为99;否则将数据送去显示和输出。
只要点动“+”“-”键的时间小于0.5s,则每次步进增减0.1V。若一直按键,只要时间超过0.5s,则不停的步进,直到松开按键为止。
4 结论
本设计主要对简易数控直流电源电路进行了简单的设计与阐述。本设计系统主要由硬件部分和软件两部分组成,以单片机为核心,控制整个电路工作。数模转换器和集成运算放大器构成的具有深度负反馈的数字式可控直流电源。
本设计还存在许多不足,不当之处在所难免,望广大读者提出意见。
参考文献:
[1]苏文平,何希才主编.电子技术实践与制作教程.国防工业出版社.2002.
邱寄帆,唐程山主编.数字电子技术.人民邮电出版社.2002.