打印

基于单片机的可编程直流稳压电源

[复制链接]
815|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Roses|  楼主 | 2019-4-4 14:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于单片机的可编程直流稳压电源


     随着电力电子技术的迅速发展,直流电源应用非常广泛,其好坏直接影响着电气设备或控制系统的工作性能。直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。传统的多功能直流稳压电源功能简单、难控制、可靠性低、干扰大、精度低且体积大、复杂度高。而基于单片机控制的直流稳压电源能较好地解决以上传统稳压电源的不足。其良好的性价比更能为人们所接受,因此,具有一定的设计价值。


  一、系统设计

  (一)方框图设计

  该电路采用单片机(AT89C51)作为主控电路,由三端集成稳压器(LM317)作为稳压输出部分。另外,电路还增加参考电压电路、D/A转换电路、电压放大电路、显示电路等部分电路。其方框图如图所示:

  

  整个电路的运行需要模拟电压源提供+5V,±15V的模拟电压,以便使电路中的集成数字芯片能够正常工作。电路运行时,首先由单片机设置初始电压值,并送显示电路显示。然后将电压值送D/A转换电路进行数模转换,再经放大电路进行电压放大,最终反馈到三端集成稳压器(LM317)输出模拟电压。


  (二)硬件设计

  本电路的硬件组成部分主要由单片机(AT89C51)、变压器、整流电路、滤波电路、稳压器(LM317)、参考电压电路、D/A转换电路(DA0832)、放大电路、显示电路等组成。

  硬件电路如图2所示,整个电路通过单片机(AT89C51)控制,P0口和DAC0832的数据口直接相连,DA的CS和WR1连接后接P26,WR2和XFER接地,让DA工作在单缓冲方式下。DA的11脚接参考电压,通过调节可调电阻使LM336的输出电压为5.12V,所以在DAC的8脚输出电压的分辨率为5.12V/256=0.02V,也就是说DA输入数据端每增加1,电压增加0.02V。

  

  DA的电压输出端接放大器OP07的输入端,放大器的放大倍数为(R8+R9) /R8=(1K+4K) /1K=5,输出到电压模块LM317的电压分辨率为0.02V×5=0.1V.所以,当MCU输出数据增加1的时候,最终输出电压增加0.1V,当调节电压的时候,可以以每次0.1V的梯度增加或者降低电压。

  本电路设计两个按键,S1为电压增键,S2为电压减键,按一下S1,当前电压增加0.1v,按一下S2,当前电压减小0.1V.

  显示部分由三位共阳数码管和74LS164串入并出模块组成,电路如图3所示,可以显示三位数,一位显示十位,一位显示个位,另外还有一个小数位,比如可以显示12.5v,采用动态扫描驱动方式。本主电路的原理就是通过MCU控制DA的输出电压大小,通过放大器放大,给电压模块作为最终输出的参考电压,真正的电压,电流还是稳压模块LM317输出。

  

  (三)软件设计

  在本电路中由于CPU的工作任务是单一的,因此,源程序的工作过程为:系统上电复位后,默认输出9V电压,然后扫描S1,S2键,当S1或S2键有按下时,程序跳转至相应的按键处理子程序,经按键子程序处理后,再嵌套调用显示子程序,完成显示与输出操作后返回主程序,继续扫描此两键,程序运行原理如下:

  程序设计需要考虑的主要问题有两个方面:一方面要找出数字量Dn与输出电压的关系,这是程序设计的依据;另一方面要建立显示值与输出电压值的对应关系,这是程序设计是否成功的标志。因为在本系统中,显示的输出电压值不是之前从输出电路中通过检测得到的,因此显示与输出并不存在直接联系。但为了使显示值与实际输出值相一致,在程序编写时,必须人为地为两者建立某种关系。采用的方法是:在程序存储器中建立TAB1和TAB2两张表格,TAB1放101个Dn值,数值从小到大顺序排列,其值分别对应输出电压0~10v,TAB2存放数码显示器0~9字符所对应的数据。TAB1表格的数据指针存放在内存RAM中23H单元,内存20H, 21H和22H三个单元分别存放数码显示器小数点一位,个位和十位的字符数据指针。在主程序中初始化后之后首先给23H赋予40的偏移量,这个偏移量指向TAB表中的Dn为145,此值对应的输出电压为9V,由于这个原因,必然要求显示器显示的字符为"05.0",为此,须分别给20H, 21H和22H赋予0,5和0的偏移量,这三个偏移量分别指向TAB2中0,5和输出两者之间就建立了初步的对应关系。为了使两者保持这种对应的关系,在K1和K2按键处理子程序中,必须使23H, 20H, 21H和22H四个数据指针保持"同步"地变化,即为当K有键时, 23H单元增加1指向下一Dn时, 20H单元也相应增加1指向下一字符,并且20H单元(小数点一位指针)、21H单元(个位指针)和22H元(十位指针)应遵循十进制加法的原则,有进位时相应各位应作出相应地变化;当K2有键时,23H单元减1指向前一Dn时, 20H单元也相应减1指向前一字符,并且20H, 21H, 22H三个单元的数据指针应遵循十进制减法原则,有借位时相应的各位须作出相应地变化。按照这一算法只要控制TAB1表格数据指针不超出表格的长度就能使显示值与输出值保持一一对应的关系,即显示器能准确地显示出电源输出电压值的大小,达到电路设计的目的。由于理论计算与实际情况还存在着一定的差异,为了使显示值更加接近实际输出值,本电路需要对输出电压进行校正。


  二、调试与分析

  调试仪器:数字万用表、电烙铁、斜口钳、尖嘴钳、吸锡器、镊子。

  硬件调试:首先检查整个电路,电路连接完好,没有明显的错接,漏连。接上电源,电源指示类亮,数码管显示初始电压值+5V,用万用表的两只表笔测试LM317的输出电压为4.96V。当按下S1键一次,数码显示电压值变为4.9V,万用表读数变为4.85V.再按下S2键一次,数码显示电压值变为5.0V,万用表读数再次变为4.96V.通过改变显示电压值,用万用表测得几组输出电压数据见表1:

  电压调试所测数据对比分析表单位:V

  系统平均误差Δd=0.41V.

  误差原因分析:(1)工作电源不够稳定,不能为数字集成块提供精确工作电压;(2)电路参数设定不够精确;(3)提供给D/A转换的参考电压不够精确,使得转换过程存在误差;(4)单片机的P0口传输给D/A转换的数据不够准确,使得输出出现误差;(5)系统缺少电压电流采样电路。


使用特权

评论回复

相关帖子

沙发
Roses|  楼主 | 2019-4-4 14:16 | 只看该作者
基于单片机的可编程直流稳压电源

文档1.pdf

130.09 KB

使用特权

评论回复
板凳
zhangmangui| | 2019-4-4 22:40 | 只看该作者
这种做好了非常不错    电源稳定   可控    保护功能齐全

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

709

主题

1023

帖子

7

粉丝