汪老师分享 - 51单片机数控直流稳压电源设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于 51单片机数控直流稳压电源设计

第1章 硬件电路设计

1.1 控制电路设计

本设计以51单片机为控制电路的控制核心,围绕片设计出单片机的最小系统,可实现按键复位系统。可实现单片在“跑死”的情况下不需要断电复位,可直接通过按键复位单片机系统,省去了不必要的麻烦。

1.1.1 系统MCU简介

单片机是整个控制电路的核心部分,就像人的大脑一样,去接收处理然后发送数据。本设计选用的是AT89C52单片机作为系统的控制芯片。他是8051系列的微处理器,是一款低功耗,高处理的CPU,他内部有8k字节的Flash只读程序储存器和256字节的RAM,兼容,MCS-51指令系统。AT89C52芯片的功能已经完全可以满足设计需求,不需要再外接另外的器件,所以设计简单,并且抗干扰能力强。需要注意的是在使用AT89C52芯片的P0端口作为数据的输入输出端口时。要加上上拉电阻,把它的电位拉高,才可以使用。AT89C52单片机的外部引脚图。如图3-1所示.

图1-1AT89C52单片机引脚图

1.1.2 单片机最小系统设计

单片机的最小系统包括时钟电路部分、复位电路部分等几个部分成。如下图为单片机最小系统原理图

图1-2单片机最小系统

时钟电路部分利用30pf和一个12M的晶振,电容在通电时会储存一部分能量,当能量释放出去的时候可以帮助晶振进行震动,这样单片机才会工作,单片机是根据时钟来发送和接收数据的,所以这一部分的电路至关重要,这关乎到单片机能否可以正常的工作。晶振也有大有小,还有8M的,16M的,24M的,晶振的取值越高,单片机的反应速度取决于晶振的取值,晶振的取值越高,单片机的处理速就度越快,这里我们选择12M的晶振作为时钟电路的晶振就已经够用了。晶振在布线时候要尽量紧贴单片机,保证时钟信号可以更好的传递给单片机。

图1-3时钟电路

复位电路的原理就是当51单片机的复位引脚(RESET脚)的高电平状态可以达到两个机器周期,单片机就可以进行复位。所以设计的时候采用一个极性电容和一个电阻去实现他自动复位的功能。原理就是利用电容充电时,电压是不会突然变化的,只要充电时间达到可以使单片机的复位引脚达到高电平,并且可以持续两个机器周期以上,就可以让单片机去自动复位。所以选用合适的电容电阻,在打开电源时,复位电路即可正常工作。复位电路如下图1-4所示。

图1-4复位电

1.2 按键电路

1.2.1 按键电路简介

按键在单片机的设计中往往必不可少,用于控制相关数值的增减或开关等,在本设计中有两种类型的按键可供选择:独1立式按键和矩阵式按键,其中独立式按键较为简单但浪费I/O口,而矩阵式按键可控数值更多但节省I/O口,因本设计中需要控制的数值少,且I/O口的分配并不紧张,所以独立式按键即可满足本设计的需求。

1.2.2 按键电路设计

本设计的按键电路是用4个独立按键构成按键键盘,扫描周期短,程序简单而且快,稳定性强。当按键没有按下的时候是高电平,因为他的I/O口是在为按下按键的时候是弱上拉状态,当按键按下的时候,相对应的I/O口的电平会被拉低,从而使单片机判断出它是否被按下。当判断出他被按下,单片机他就会去处理这个信息,从而控制电路的输入、输出调整。独立式键盘电路设计如下图1-3所示。

图1-3键盘控制电路图

其中K1按键控制电压增加0.1V,K2按键控制电压减少0.1V,K3按键控制将电压跳转到5V,K4按键控制断电(即将电压跳转到0V)。

1.3 数模转换电路设计

数模转换电路是将数字信号转换成模拟信号的电路。本设计中单片机输入的数字制信号转换为连续变化的模拟量,用来控制其后的反馈电路,是稳压电源设计中重要的组成部分。

1.3.1 数模转换芯片TLC5615简介

TLC5615是电压型串行接口的数模转换器,它输出的最大电压基准电压的两倍。上电就把DAC寄存器复位清

零。只需要通过3根线就可以实现10位数据的输出。TLC5615引脚图如图1-5所示

其引脚功能如下:

DIN:串行数据输入端;

SCLK:串行时钟输入端;

/CS:芯片选用通端,低电平有效;

DOUT:用于级联时的串行数据输出端;

AGND:模拟地;

REFIN:基准电压输入端,2V~(VDD-2);

OUT:DAC模拟电压输出端;

VDD:正电源端,4.5~5.5V,通常取5V

图1-4TLC5615引脚图

1.3.2 数模转换电路原理

DAC数字量转换模拟量模块是系统的核心连接模块。连接着输出电压。数模转换电路设计电路图如1-5所示。

数模转换采用TLC5615,它是一片10位的串行单5V电源DAC,是电压输出芯片。单片机P33、P32、P34分别连接TLC5615的时钟端、片选端、数据端就可以控制它输出想要的电压。所以要给TLC5615芯片的参考电压输入端需接上一个2.5V的参考电压。根据公式就可以算出来,当参考电压端为2.5V时,TLC5615芯片将最大输出5V电压。TL5615(DAC)电压计算公式如下公式3-1所示。

VOut就是输出电压,VREFIN为参考电压输入,N就是单片机通过1.2.3管脚向芯片写入的数据,1024是根据这是一片10位模转换而计算出来因为TLC5615集成了一个放大器,可以将信号放大两倍,所以公式中要乘以二。

1.3.3 数模转换电路设计

在给TLC输入2.5V参考电压的时候,本设计使用了TL431芯片。TL431是可控精密稳压源。它的输出电压用两个电阻就可以任意的设置到从2.5V到36V范围内的任何值。该器件的典型动态阻抗为0.2Ω,在很多应用中用它代替稳压二极管。

同时用OPA2107作为跟随器,减小2.5V基准电源的阻抗,再送入TLC5615参考电压端。

图1-5数模转换电路

1.4 显示部分电路设计

1.4.1 数码管简介

电路显示部分用LED七段数码管显示系统的状态信息[8]。包括电压输出大小,调节范围等信息。其由8个发光二级管组成,可通过控制各个LED灯管的亮灭来显示数字0到9,字符A到F、负号以及小数点等信息。

显示电路是整个系统电路设计的基本,此次是用四位数码管显示的。电路系统中并联了一个采样电阻,然后STC89C52单片机通过对它的采样,来显现数据关于得到的电压值。

1.4.2 显示原理

七段LED数码管的原理

LED数码管显示器由8个发光二极管中的7个长条发光二极管(称七笔段)按a、b、c、d、e、f、g顺序组成“8”字形,另一个点形的发光二极管放在右下方,用来显示小数点。数码管按内部连接方式又分为共阳极数码管和共阴极数码管两种。若内部8个发光二极管的阳极连在一起接电源正极,就成为共阳极数码管;若8个发光二极管的阴极连在一起接地,测称为共阴极数码管。

本次设计所用的到的共阴极数码管的引脚如图1-3所示,外部有10个引脚,其中1和6引脚连通,作为公共端接地。

图1-3共阴极数码管引脚图

1.4.3 电路设计

显示电路是整个系统电路设计的基本,此次是用四位数码管显示的。电路系统中并联了一个采样电阻,然后STC89C52单片机通过对它的采样,来显现数据关于得到的电压值。

LED数码管成本低廉,数值显示亮度达到本设计的要求,即使在夜晚也能清晰明亮的显示数值,而且耗电量极少。这种显示方式优点突出。但是也有相应的缺点,例如该原件因为受限于扫描显示方式,偶尔会出现闪烁。但是可以通过增大系统的扫描频率的方式消除闪烁。

与此对比的还有LCD液晶显示器,LCD本身并不发光,需要有背光源才能显示内容,这就导致了LCD需要额外加背光源,这样会导致实物设计体积变大,与设计要求中的体积小,便携等要求相悖,而且LED也是目前的大趋势,LED具有节能,寿命长,环保无毒害物质,并且是自发光,满足设计需求里体积小的要求。决定选用LED显示器。其电路图如图1-7所示。

图1-7LED电路图

1.5 稳压输出电路设计

TLC5615是电压型串行接口的数模转换器,它输出的最大电压基准电压的两倍,通过按键调节可改变TLC5615电压输出值。输出的电压经2脚进入OPA2107与3脚电压进行对比,控制Q1开关频率,实现对C5不断充放电达到调压的目的。

稳压输出电路图如下图1-8所示。

图1-8稳压输出电路图

第2章 系统调试及结果分析

2.1 KEIL软件介绍

系统编程软件使用的是KEIL4版本,KEIL4是一强大的程序编译软件,可实现从画理图、仿真代码调试编译到单片机的外围电路布局,以及PCB电路制板均都可以轻松实现。真正实现了从设计到实现的所有功能。而且它可以模拟51系列单片机等常用主流单片机,配合输出电平显示功能,可以看出运行中、运行后的电路输入输出的变化。使用任何一种语言进行程序设计,都离不开与其配套的编译软件。C语言程序设计广泛使用到Keil软件。C语言为高级语言,计算机无法直接识别。它具有强大的兼容性,该软件可以进行编辑,编译等操作。Keil软件非常容易上手并且在调试程序过程,具有较强的检错能力。在本设计中所用的软件是KeilUv4,其界面如图5-1所示。使用Keil软件编程时,首先需要考虑编写程序的正确性、是否可移植等问题。如下有几种常用的编程技巧:

(1)使用头文件定义:一些常见函数在头文件中都有定义,使用头文件有利于编程。

(2)使用宏定义:宏定义的使用,有利于编程后的调试和修改工作,由于它的使用具有一改全改的特点,为某些程序参数修改减少很多工作量。

(3)模块化编程:将一个较大的程序以功能模块为单位进行分割为若干个子程序,通过主函数调用子程序、子程序之间相互调用方式,可以减少代码编写量,同时功能清晰,还利于调试、纠错的实现。

图2-1KeilUv4界面图

软件的编程完成后,接下来需要至关重要的一步,就是程序反复调试的过程。第一次进行程序调试时,可以单击全速执行,便于快速检查程序是否存在问题。当KeiluVision4调试软件提示有错误时,通常在程序的某一行设置断点,然后操作全速运行进行进一步检查,缩小错误所在范围。缩小到一定的范围,然后执行过程单步,找到程序错误的具体位置。通过反复的调试查错、纠错,最终可以保证程序的正确性。软件调试部分界面如图2-2、2-3所示。

图2-2编译界面图

图2-3连接界面图

2.2 硬件组装与调试

2.2.1 硬件选型及数量

以下为器件选型及用量清单:

量()

STC89C52单片机

1

IRF9Z24NPmos

1

OPA2107/LM358运放

2

四位共阳数码管

1

按键

5

TL431稳压

1

晶振12.000

1

8p片底座

3

40p芯片底座

1

5V蜂鸣器

1

220V转12V变压器

1

源线

1

0.1欧电阻2W

1

DACTLC5615

1

流桥

1

1000uf电解电容

1

470uf电解电容

1

30p/22pF瓷片电容

2

10uf电解电容

3

2P子电源端子

2

1k电阻

7

220欧电阻

2

10k电阻

2

10K/2K电位器

1

7805稳压

1

7812稳压

1

9012三极管

5

散热

1

线

1

焊锡丝

1

万能板

1

2.2.2 硬件调试

原理图与软件完成后,接下来就要进行器件的组装与焊接。焊接之前,我们首先要对系统器件进行检查,如电容,电阻、数码管、单片机、变压器、芯片

2-4焊接实物背部图

本设计的要求是输出电压在0V—15V左右,输出电流0.1A左右。整个电路设计系统对工作效率有规定,因此要测量各种指标。比如输出与输入电压和电流。因为是通过控制占空比来调节电流输出的比例的,比例分别有两种,分别为1:1和1:2。通过测量然后测量支路的电流形成的比例。在此采用的是并联供电,电压测量的时候可以对被测点的两侧进行并联测量。

系统上电之后开始运行初始化,在数码管上将出现初始预设电压值,4按键分别为电压加、电压减、5V电压、0V电压按键。按动电压加按键,可观察到电压0.1V增加,按动减按键可以观察到电压0.1V的减小。按动0V按键电压会归零,按动5V按键,电压会达到5V。

当按下K1时,可调电压输出端口会步进增加0.1V的电压。

当按下K2时,可调电压输出端口会步进减小0.1V的电压。

当按下K3时,可调电压输出端口会不管之前的电压怎样会立即跳转输出5V电压。

当按下K4时,可调电压输出端口会不管之前的电压怎样会立即跳转输出0V电压。

通过调节滑动变阻器RV1的阻值,就可以控制电流的大小并且会在显示屏上显示。

实物测试图如下图2-5所示。

图2-5按键步进调节输出电压显示

通过实物测试,系统实现了将220V的常规家用电转化为可以稳定输出电压0V-15V的直流稳压电源实现了用按键进行步进调整电压,数码管可显示电压电流的功能,达成设计目标。

程序运行后,当按下5V按键以,电压会直接提升到5V,按下0V按键,电压就会降到0V。再按下5V按键,然后按下加按键,每按一下电压就会增加0.2V,直至上升到15V就不再增加了。再按下减按键,电压就可以从15V逐步减小,每按一下也是减小0.1V。并且在进行电压调整的时候,都会在显示屏上显示。

如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!

  • 48
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值