欢迎来到天天文库
浏览记录
ID:23894881
大小:274.00 KB
页数:13页
时间:2018-11-11
《基于stc12系列单片机的串联型开关电源设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于STC12系列单片机的串联型开关电源设计与实现开关电源是一种利用现代电力电子技术,控制开关管开通和闭合的时间比率,维持稳定输出电压的一种电源,开关电源一般是由脉冲宽度调制(PWM)控制。与一般的线性电源相比较,两者的成本都随着输出功率的增加而增长,但两者的增长速率有所差异,最重要的一点就是开关电源效率一般都会要比线性电源的效率要高。基于开关电源与线性电源的不同,开关电源主要由以下的几个模块组成:1串联开关电源电路;2AD转换模块采集电源电压;3PWM波形输出模块;4数码管显示;5键盘输入设置电压;6通过CPU(STC12C5A60
2、S2)控制算法。系统的基本框图如下:基本思路为:首先从键盘输入一个电压值,并把该电压值在数码管上面显示出来,再由A/D转换模块对串联开关电源电路的输出端进行电压采集,将采集到的电压值与键盘输入的电压值进行比较,通过闭环算法,控制PWM的脉宽输出,由此控制串联开关电压电源电路,改变输出的电压值,使得输出值与设定的电压值相等。一:串联开关电源电路部分该电路图由一个三极管,电感,电阻,电容,二极管,还有就是接VCC和接GND端,电路相对比较简单,如图所示:原理:在PWM端无输入时,三极管相当于闭合,三极管右边的电路无电流流过,此时RL两端的
3、电压为0V。当PWM端有电流输入时,三极管导通,电感L1和电容C1,可以分别防止电流和电压突变,有一定的稳压作用。高频二极管D1,可以在PWM由开向关状态转换时与电感L1形成通路,释放电感的能量。而由于PWM端输入的是方波,也就是说三极管是处于开或者关状态的。由此C1和R1在开状态时电容充电,R1两端的电压逐渐升高,而当三极管处于关状态时,电容C1对R1进行放电,此时电压逐渐降低。最后通过控制三极管的开与关的时间比例便可以使得在R1两端形成稳定的电压。二:键盘输入数据部分在该实验中,输入数据时要用到矩阵键盘,矩阵键盘又称为行列式键盘,
4、它是用4条I/O线作为列线,4条I/O线作为行线组成的键盘。在行线和列线的每一个交叉点上设置一个按键,由此组成了4*4的键盘,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。这样的行列式键盘结构可以有效地提高单片机系统中I/O口的利用率。如下图所示的4*4矩阵键盘:为了判断矩阵键盘上面的按键是否有按下的,由于矩阵键盘是连接着P2口的,可以事先对P2端口赋值,比如使P2=0x7f,则除了
5、P2.7口是低电平之外,其余的均为高电平。通过扫描P2.0到P2.3,要是有按键按下,假如P2.3为低电平,则可知道P2.3与P2.7对应的那个按键按下了(也就是SM1),以此类推,便可以知道具体是哪个按键被按下了。除了上面要知道是哪个按键被按下了之后,还要知道那个按下的按键代表的是哪个值,此时通过给所赋的低电平的端口和另一个低电平的端口组合起来就可以知道所按下的按键所代表的数值。三:数码管数据显示部分知道了上面在矩阵键盘输入的数值后,便要在数码管上面显示出来。该实验板的8位数码管是共阴极的数码管,使用端口为P0和P1口,且为动态数码
6、管,因此在同一时间,只有一个数码管是亮着,但由于人眼的视觉残留,使得看上去是全部一起亮着的。8位分别有段选和位选,段选就是要一个数码管显示的字型,而位选则是由低电平选中所要那一个数码管,该数码管才能亮。因此要使得数码管亮并显示数字,则必须在位选时该数码管的位选管脚出于低电平,然后再通过段选显示字型。如下图所示的数码管:四:控制PWM输出部分STC12C5A60S2系列单片机集成了两路可编程计数器阵列(PCA)模块,可用于软件定时器,外部脉冲的捕捉,高速输出以及脉宽调制(PWM)输出。在该实验中主要用到PWM脉宽调制输出,通过对特殊功能
7、寄存器初始化,就可以在P1.3(选择模式0时)或P1.4(选择模式1时)端口输出可调占空比的高速脉冲。五:A/D转换部分(完成万用表功能,即测量开关电源输出电压)STC12C5A60S2系列单片机自带有8路10位高速A/D转换器,在本实验中只用到其中的一路,故可以通过软件设计选择其中的一路用来测量电压。在不需作为A/D转换的端口可以继续作为I/O口使用。AD转换对特殊功能寄存器的初始化主要有ADC_CONTR和A/D转换结果寄存器ADC_RES(用来存放高八位)﹑ADC_RESL(用来存放低两位);在ADC_CONTR中包含有ADC电
8、源控制位ADC_POWER,模数转换器转换速度控制位SPEED1﹑SPEED0,模数转换器转换结束标志位ADC_FLAG,模数转换器(ADC)转换启动控制位ADC_START,模拟输入通道选择CHS1/CHS2/CHS3
此文档下载收益归作者所有