基于单片机的逆变电源设计_第1页
基于单片机的逆变电源设计_第2页
基于单片机的逆变电源设计_第3页
基于单片机的逆变电源设计_第4页
基于单片机的逆变电源设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要本设计是基于单片机STC而设计的纯正弦波逆变电源。额定输入电压为12V的直流电,输出为50Hz,220V的交流电。额定输出功率为300W。设计了全方位的保护电路。包含了可以根据温度来控制散热风扇的开启。实现了输入低压、过压的关断功能。当输入的电压过低时,停止逆变,可以防止损坏蓄电池,当输入的电压过高时,停止逆变,可以防止损坏芯片。拥有输入防反接功能,当输入正负极接错时,关断输入与后级电路的连接,不会烧坏芯片或蓄电池。采用了一个液晶屏来显示输出的电压,输出频率等信息。采用了两个发光二极管来指示工作状态。采用了一个蜂鸣器,当产生错误时,发出蜂鸣报警。输出的交流电为标准的正弦波,而不是方波或修正

2、波,可以实现更宽范围的带负载能力。根据测试,转换效率在85%以上,输出稳定,达到了良好的实验效果。关键词:单片机,逆变电源,正弦波,反接保护AbstractThe design is based on STC microcontroller designed for pure sine wave inverter. Rated input voltage of 12V DC, output is 50Hz, 220V AC. Rated output power of 300W. Designed a full range of protection circuits. Can be incl

3、uded to control the temperature on the cooling fan. Achieve a input voltage, overvoltage shutdown function. When the input voltage is too low, the inverter is stopped, to prevent damage to the battery, when the input voltage is too high, the inverter is stopped to prevent damage to the chip. Has the

4、 input anti-reverse function when the input is negative then the wrong time, and after the shutdown input stage circuit connections will not burn chips or batteries. Uses a liquid crystal screen to display the output voltage, output frequency and other information. Uses two light emitting diodes to

5、indicate the operating status. Uses a buzzer when an error occurs, the alarm beeps. The standard AC output sine wave, rather than a square wave or modified wave, a wider range can be achieved with a load capacity. According to the test, the conversion efficiency of more than 85%, stable output, to a

6、chieve a good experimental results.Key Words:MCU, Inverter, Sine wave, reverse polarity protection目 录1引言31.1系统研究的背景41.2 系统研究的意义52 系统的工作原理与结构52.1系统的工作原理52.2系统的硬件结构92.3系统的软件设计103 系统的硬件设计113.1主控制器113.2 DC-DC模块123.3 DC-AC模块163.4 保护模块213.5直流5V电路设计243.6显示与报警模块254.系统的软件设计264.1开发环境介绍274.2 SPWM程序设计304.4液晶驱动程

7、序设计364.5 输出采样程序设计405结束语42致谢43参考文献43附录一系统原理图44附录二系统源程序451 引言1.1系统研究的背景逆变电源是指将直流电源转换为交流电源的的装置。随着光伏发光的推广,汽车和车载电器数量的增加,UPS的广泛应用,逆变电源的应用场合也越来越多,成了电力电子技术中不可缺少的部件。而随着电子技术的发展,逆变电源也有一个高速发展的历程。最早的逆变系统采用的是,通过将直流电源供给直流电动机,直流电机通过机械传动带动交流发电机,来完成直交流的转换。这种转换方式占用空间大,重量大,产生一定的噪声,而且效率十分低下。到二十世纪六、七十年代,晶闸管的问世使得逆变电源的技术得到

8、了发展。逆变电源开始广泛使用晶闸管来作为主要器件,与传统的机械式转换相比,效率明显提高。但缺点也十分明显,转换的波形为方波,而不是正弦波,无法带动电感类负载。限于晶闸管的功率,电源的输出功率较小。进入八十年代以后,电子元件的种类也越来越多,诞生了功率场效应管、MOS管、可关断晶闸管、电力用晶体管、绝缘栅极晶体管等类型的功率型器件。这些器件的出现为逆变电源技术的高速发展奠定了坚实的基础。使得逆变电源从容量到频率等参数越来越高,占用的体积减小,逆变转换效率提高,各种品质指标也进一步提升。进入21世纪以后,随着微电子技术的发展,逆变电源在设计上,也渐渐使用微电子元件。得益于微电子元件的精密程度,逆变

9、电源的输出的稳定性,波形的精确度等都得到了保证。目前的逆变电源按照输出波形可分为三种。第一种是方波逆变电源。输出波形是标准的方波。这种逆变电源的优点是结构简单,转换效率较高,技术成熟。缺点是变压器和滤波器的体积、重量较大,工作的噪音较大。而由于输出波形是方波,上升和下降是突变的,当负载为感性负载时,由于电感对储能特性,会产生尖峰脉冲高压。造成负载或电源的损坏。第二种是修正波逆变电源。输出波形是将多个方波叠加而成的修正正弦波。大大减小了输出波形的谐波含量。与方波逆变电电源相比,性能得到了很大的提升。第三种是纯正弦波逆变电源。其输出波形为谐波含量很小的正弦波。与市电相比波形基本一致。可以带动所有类

10、型的负载。但缺点是技术不够成熟。成本较高。1.2 系统研究的意义一方面目前私家车已经走进千家万户,而车内可使用电器却因为电源受到诸多的限制。汽车的携带的蓄电池输出直流12V,而大部分电器的额定电压是市电交流220V。而目前常见的车载逆变电源有诸多缺点。如无输入低压保护,超额使用后,导致汽车无法启动。没有设计显示屏,用户无法查看输出参数。没有配置短路保护,过载保护等。另一方面随着太阳能发光的大力推广,逆变电源在太阳能发光的过程中有着不可缺少的作用。太阳能发光是将光能转换为电能存储在蓄电池中。而人们使用的家电无法直接通过蓄电池供电。必须通过逆变电源将直流电转换为交流电。随着逆变电源应用的场合越来越

11、多,对逆变电源技术的发展要求也越来越高。目前逆变电源的设计多采用纯硬件设计的分立式元件组成的结构。随着人们使用的电器数量和种类的增加,对逆变电源的波形、容量等参数的要求也越高,使得设计的逆变电源的复杂度也越来越高,采用的元件也越来越多。而由于元件数量过多,造成的电源稳定性较差,往往由于某一个元件的质量差而导致整个系统的损坏。而且传统逆变电源基于模拟元件的设计,没有可编程的能力,使得逆变电源的可扩展能力差,没有显示功能等问题。因此针对单片机来作为逆变电源主控制芯片的研究显的十分重要。2 系统的工作原理与结构2.1系统的工作原理逆变电源是一种将低压直流电转换为高压交流电的过程。一个直流电源对一个负

12、载的两端轮流供电时便在负载的两端形成一个交流电的过程。工作模型如图2-1所示。图2-1 逆变电源工作模型当图中的S1、S4闭合,S2、S3断开时。电流从负载的左侧流向右侧。负载两端的电压U0是一个正电压。电流方向和波形如图2-2所示。图2-2 S1、S4闭合时的电流方向和波形当图中的S2、S3闭合,S1、S4断开时。电流从负载的右侧流向左侧。负载两端的电压U0是一个负电压。电流方向和波形如图2-3所示。图2-3 S2、S3闭合时的电流方向和波形当开关开始和闭合的速度很快时,负载两端的电压便形成了一个交流电的过程。实际应用中,只要将图中的开关,改为可控的开关器件,这些开关器件组成的电路称为全桥。

13、全桥逆变电源主电路结构如图2-4所示。图2-4 全桥逆变电源结构图V1、V2、V3和四个开关管以及VD1、VD2、VD3和VD4四个续流二极管构成了左右两个桥臂。在任何时刻,左右两个桥臂的上下两个开关器件不可以同时打开,否则输入电源将短路。四个开关器件也不可同时判断,否则输出出现不可控的状态。这些开关器件的控制信号可以采用周期调制信号。而这些周期信号经过正弦脉宽调制,称为SPWM调制,电路结构称为SPWM全桥结构。典型的SPWM调制方式有两种,分别为单极性调制和双极性调制。单极性调制是指全桥的输出包括正负两个电平,输出载波频率与开关工作频率相同。单极性调制的波形图如图2-5所示。图2-5 单极

14、性调制波形图在ur和uc的交点时刻控制开关管的通断,uof表示uo的基波分量。在波形ur的正半周,V1的状态为通, V2的状态为断。在ur>uc时, V3的状态为断, V4的状态为通。此时的uo=ud。在ur<uc时,V3的状态为通,V4的状态为断。在波形ur的负半周,V1的状态为断, V2的状态为通。在ur>uc时,V3的状态为通, V4的状态为断。此时的uo=0。在ur<uc时,V3的状态为断,V4的状态为通。此时的uo=ud。双极性调制与单极性调制相比,多了一个零电平,即输出电平包括正、负和零三个电平。双极性调制波形如图2-6所示。图2-6 双极性调制波形图对于双

15、极性调制,在ur和uc的交点时刻控制开关管的通断。uof表示uo的基波分量。在ur的每半个周期中,调制载波的三角波有正有负,所得PWM波的幅值有±Ud两种电平。在ur的正负半周,对各开关管的控制规律相同。在ur >uc时,开关管V1和V4的状态为通, 开关管V2和V3状态为断。此时的uo=Ud。在ur<uc时,开关管V2和V3的状态为通,开关管V1和V4状态为断。此时的uo=-Ud 。这两种调制方式中,双极性调制的实现简单,缺点是四个开关管都处在高频的工作状态,开关的损耗较大,电路可靠性降价。单极性调制时一个桥臂为低频状态,另一个为高频状态,因此,开关管的导通损耗较低。降

16、低了制作成本。本次设计采用单极性调制方式。2.2系统的硬件结构逆变电源实现直流电转换为交流电的过程可以分为三个步骤。第一步是通过震荡电路将直流电变为交流电。第二步是将得到的交流电通过变压器进行升压,此时输出波形为一个高压的方波,也就是方波逆变电源的波形。第三步是将升压后的交流电进行整流,得到一个正弦波波形的交流输出。本设计是基于单片机的正弦波输出逆变电源,根据实现功能和逆变电源的转换流程。系统的硬件可分为几大模块:主控制器,DC-DC驱动模块,DC-AC模块,保护模块,显示模块。系统的硬件结构框图如图2-7所示。图2-7 逆变电源系统框图主控制器采用单片机STC12C5410AD。主要实现的功

17、能是根据反馈输出电压、电流输出到液晶显示上显示。通过系统自带PCA模块,来对比寄存器的值,采用模拟脉宽调制法,控制端口输出正弦调制波即产生SPWM驱动。DC-DC驱动模块是利用经过PWM调制波将直流低压高频逆变为高频的方波。输出的高频方波经过整流滤波后转换为400V左右的直流电,给整个逆变电源提供足够的功率。DC-AC模块是利用主控制器产生的SPWM纯正弦波调制到DC-DC电路产生的400V直流上,最终将这个直流电转换成220V,50Hz的的交流电。保护模块主要有温度控制、输出保护、输入保护等。实现的功能包括根据采集到的温度控制散热风扇。如果输入电压过低,表示蓄电池电量不足,停止转换,保护蓄电

18、池。当输入电压过高时,切断输入,防止烧坏芯片。当输入正负接反时,切断电源输入,保护后级电路。输出短路时,自动停止逆变转换。当短路恢复后,自动恢复逆变转换。负载功率过高时,停止逆变转换。显示与告警模块有三部分。一是液晶显示屏,二是发光二极管,三是蜂鸣器。液晶屏可以显示输出的电压,电流,频率等信息。发光二极管用于指示电源的工作状态,保护状态的提示等。蜂鸣器是当发生短路、过载、输入过低或过高时发出蜂鸣声告知用户。2.3系统的软件设计根据设计要求,单片机程序主要实现的功能有:产生SPWM波形,接收来自反馈网络的信号,控制显示模块显示相关信息等。程序流程图如图所示。图2-8 系统程序流程图3 系统的硬件

19、设计3.1主控制器本次设计采用的主控制器是单片机STC12C5410AD。STC12C5410AD是宏晶公司生产的单时钟单片机,指令与8051系列完全兼容,但速度却快了近10倍。拥有10K的程序存储空间和512B的数据存储空间。拥有高速运算、超低功耗、超强抗干扰的性能。每个IO口、电源引脚、晶振引脚、复位引脚都经过特殊的处理,对VCC和GND加入了二极管箝位保护,可以有效的防止干扰经过这些接口进入到单片机内部。自带看门狗电路,无需外置看门狗芯片,减小系统的体积和成本。内部集成了复位专用的MAX810电路,使得复位电路的设计更加方便。集成了4路可编程的PWM模块电路,使得通过编程来产生SPWM波

20、形,最终调制出50Hz的交流电。集成了8路的高速10位AD转换模块,利用这些模块可以转换出反馈的交流电压和电流。单片机最小系统如图3-1所示。图3-1 单片机最小系统3.2 DC-DC模块该模块的作用是将输入的12V直流电,低压直流电经过高频PWM脉冲调制,控制开关管的关断与闭合,输出一个低压的交流电。该电压输入到高频变压器的低压端,变压器的高压端输出一个400V左右的交流电。将该电压经过整流后输出一个400V左右的高压直流电,该电压供给下一级使用。根据该模块的功能,可以将该模块分为三个部分来设计。第一部分是调制PWM脉冲的产生。第二部分是变压器的设计。第三部分是输出电压的整流。3.2.1 P

21、WM脉冲产生电路本次设计PWM脉冲产生采用的芯片是定频PWM芯片SG3525。内部结构如图3-2所示。图3-2 SG3525内部结构图芯片的1脚为反相输入端,2脚为同相的输入端,这两个管脚连接的是芯片内直流开环增益为70db的两级差分误差放大器。芯片的5脚、6脚、7脚内的电路组成了SG3525内部振荡器。这三个引脚内部的比较器和电容充放电电路加上外接的电阻电容电路便可组成振荡器。芯片的3脚为振荡器的外部同步输入端。5脚外接电容CT,6脚外接电阻RT。振荡器的频率的计算公司如下。f=振荡器的产生的输出分为两路,一路送入双稳态触发器,输出方式为时钟脉冲的形式;另一路送至入比较器的同相输入端,输入方

22、式为以锯齿波的形式。误差放大器输出的数据送入比较器的反相输入端。比较器根据输入的锯齿波和误差放大器的输出进行比较。输出一个方波,该方波的宽度随着误差放大器的输出电压高低而改变。该方波脉冲送入或非门其中一个输入端,另两个输入端为双稳态触发器和振荡锯齿波。双稳态触发器是两个输出互补的波形,高低电平交替输出。产生的PWM脉冲送至放大管VT1、VT2的基极。锯齿波可以保证VT1和VT2不会同时导通,控制了死区时间。VT1和VT2输出PWM波,其相位差180°。芯片9脚和1脚之间需要连接反馈补偿网络使输出的波形更加正确。由于PWM产生电路属于高频电路,与后级电路存在相互干扰的可能性。因此将PW

23、M产生电路单独设计,通过插接方式来连接。设计的部分电路如图3-3所示。图3-3 PWM产生电路图3.2.2变压器的设计高频变压器作为逆变电源DC-DC模块中的核心器件,它的主要参数和性能指标直接决定整个逆变电源的优劣。高频变压器磁化特性曲线工作在第一和第三象限。磁通变化范围较大,可以从-Bm到+Bm。因此,它属于对称式变压器。本次设计采用的E55铁氧体磁芯变压器。关于变压器的参数计算,主要有以下几项。(1)功率容量 EE55的心柱截面积Ae为3.515平方厘米。窗口面积Aq为3.9 平方厘米。功率容量的计算为AP=Ae*Aq=13.7。(2)原边绕组匝数原边绕组匝数NP的计算公式如下

24、。NP=(VI/2)*10/(4*f*Bm*Ae)=(310/2) *10/(4*80000*0.15*3.5)=10.1NP取整数10匝。(3)副边绕组匝数根据原副边绕组匝数比公式NP /NS=VIN MIN/(2XVOP),可以计算出原副边绕组的匝数比为1:6。则副边绕组的匝数为60匝。绕制步骤为。(1) 先绕1/2次级绕组(高压部分)使用高温胶带在磁芯的骨架上粘一圈,可以防止导线打滑。用一根0.93线绕30圈左右,可以绕一层为准。采用高温胶带将次级绕组的外面包三层。(2) 初级绕组(低压部分)低压绕组分两层。绕制示意图如图3-4所示。图3-4 绕制示意图先用5根0.93线绕两圈,如图中红

25、色。线中间留空隙。在空隙处用另5根线绕两圈,如蓝线。两根线的长度约37厘米。采用同样方法,绕第二层。两层中间采用高温胶带隔离。相当于10匝。(3) 另外1/2的次级绕组按照步骤1的方法,采用同样的绕向绕完剩下的1/2。采用高温胶带包三层左右。(4) 焊接引线绕组绕完后,将留出的线头,采用焊接在骨架上。并将线头去漆上锡。3.3.3输出整流电路的设计输出整流采用的是快速二极管SBYV26C组成的桥式整流电路。输出经过一个100uf/400V的电容滤波处理。经过滤波后输出一个400V的直流电。供给下一级使用。PWM产生电路产生的两路PWM波P1和P2后,经过开关管的调制为交流电后,经过高频变压器,输

26、出高频高压,经过四个二极管来整流。设计的电路如图3-5所示。图3-5 DC-DC输出电路原理图3.3 DC-AC模块逆变电源实现的主要功能便是直流到交流的转换,而该模块实现的主要功能便是直流到交流的转换。因此,该模块是是整个系统中最重要的组成部分。是整个逆变电源的灵魂,起主导地位。逆变电源的性能很大程序取决于该模块的性能。该模块的转换原理是将DC-DC模块得到的400V直流电通过SPWM波形调制成220V,50Hz的交流电。然后通过LC滤波电路滤除其它杂波,使输出波形更加完美。因此,该模块电路可以分为三部分。第一部分是驱动单片机产生的SPWM波形。第二部分是将接在400V直流电的开关管按SPW

27、M波形闭合与断开。第三部分是对开关管的输出的波形进行滤波。详细介绍如下。3.3.1SPWM波驱动隔离单片机直接输出的功率较小,而且容易受到后级功率型开关器件的干扰,从而引发灾难性的后果。因此,两部分电路的连接需要采用隔离驱动的方式。常用隔离驱动有两种方式,一种是光电隔离,一种是电磁驱动。光电隔离采用用的主要器件为光耦。光耦的优点是体积小,结构简单,缺点是传输速度较慢。电磁隔离常用的器件是脉冲变压器。它的优点是响应的速度快,比光电隔离拥有较强的共模抑制比。但缺点是体积大,加工复杂,对传输信号有一定的要求。比如占空比不能超过50%,能传输的信号最小宽度较小。本次设计采用的是IR2110S作为驱动器

28、件。IR2110S是美国IR公司生产的封装为SO16的芯片,兼有体积小和速度快两个优点。IR2110S采用闩锁和HVIC的CMOS制造工艺的贴片封装,具有很强的抗干扰能力。低端和高端输入通道相互独立,互不干扰。悬浮电源采用的是自举电路,可以实现高端工作电压在500V。逻辑电源电压范围在5到15V,因此可以与单片机的TTL电平匹配。最高工作频率可以为500KHz。开通、关断的延迟只有120ns和94ns。IR2110S的内部结构框图如图3-6所示。图3-6 IR2110S内部结构框图IR2110S的管脚如表3-1所示。引脚名称功能1LO低端输出2COM公共端3VCC电源电压(低端固定)4NC无效

29、端5NC无效端6Vs电源偏移电压(高端浮置)7VB电源电压(高端浮置)8HO输出(高端)9NC无效端10NC无效端11VDD逻辑电源电压(逻辑)12HIN逻辑高端输入13SD关断14LIN逻辑低端输入Vss15Vss逻辑地16NC无效端表3-1 IR2110S引脚逻辑电路地根据芯片的结构和管脚设计的电路原理图如图3-7所示。图3-7 驱动隔离原理图单片机输出的四路SPWM波输入到IR2110S的HIN和LIN。C23、C24、C30和C31为芯片电源的滤波电容。C22、C29为自举电容,D4、D21为自举二极管。开关管在导通时,需要在很小的时间内存储足够的栅电荷供给门极。开关管在开通后,自举电

30、容两端的电压为10V,开关管充分导通的所需电压为8.3V。自举电容充电时,两端的压降在1.5V左右。开关管栅极泄漏压降约有1/2左右。综合这些条件,自举电容容量选择公式为C1>2Qg/(VCC101.5)。经过计算,本次设计的自举电容为100uf/35V。自举二极管是组成自举电路的重要的自举器件,主要作用是阻断直流干线上的高压。自举二极管所需承受的电流是栅极电荷与开关频率之积。本次设计采用的自举二极管为恢复二极管FM1S。该二极管拥有较小的反向漏电流,可以有效的减小电荷损失。3.3.2 开关电路的设计本次设计中开关管的输入电压在400V左右,输出功率在300W以上。因此必须使用功率足够的

31、功率开关管。本次设计采用的是IRF840作为开关管。IRF840的最大漏源电压在500V,漏极电流为8A左右,足以满足本次设计的要求。设计的电路如图3-8所示。图3-8 开关电路原理图开关管的控制信号为IR2110S隔离后的SPWM正弦波,输入电压为400V左右的直流电,经过SPWM波形调制后,输出220V,50Hz的正弦波交流电。经过后级的LC滤波电路后,使输出波形的更加纯净。3.3.3 LC滤波电路设计为了滤除开关管输出的交流电中高频成分,以及增强电源的EMI特性。设计了一个LC滤波电路。电路原理图如图3-9所示。图3-9 LC滤波电路L1采用的是磁环绕制导线而成的差模电感。磁环为直径40

32、MM的铁硅铝材料制作。采用1.18的线在磁环上绕90圈左右,使用的线长在4.5米左右。磁环的导磁率为125,电感量为1.5mH,导磁率为60。绕制时分两层,第一层为45圈,内圈的线紧密绕制,外圈线的每圈留有一个空隙。第二层为45圈,内圈叠在第一层线上,外圈嵌在第一层的空隙中。3.4 保护模块3.4.1 温度保护本设计有两路温度控制电路。一个是当温度超过一定值时开启散热风扇。另一个是作为DC-DC模块的温度补偿模块,当温度过高时,停止前级DC-DC的转换。散热风扇的控制采用的是热保护器KSD9700。KSD9700是由两片不同材料的金属片组成的。正常温度情况下,两个金属片断开,相当于开关断开。风

33、扇不工作。当金属片感知温度超过40摄氏度时,两个金属片粘合,相当于开关闭合,此时风扇开始工作。当温度恢复正常时,两个金属片又重新断开。设计的电路如图3-10所示。图3-10 散热风扇电路设计DC-DC模块的温度补偿传感器采用NTC热敏电阻。热敏电阻接入DC-DC模块中PWM脉冲产生芯片SG3525的关断端。当温度过高时,SG3525停止工作。3.4.2输入保护输入的保护主要有三部分。一是防止输入反接。二是防止输入电压过低。三是防止输入电压过高。逆变器的输入端为直流输入,存在输入接反的可能性。因此,设计了一防反接电路。当接反时,切断电源的输入,防止损坏后级电路。设计的电路如图3-11所示。图3-

34、11 反接保护原理图当输入电源正确接入时,MOS管体二极管正向导通,MOS管的栅极电压大于源极电压,因此MOS管导通。后级负载正常工作。当输入电源接错时,二极管反射截止,MOS的截止,电路中没有电流流过,切断了后级负载与电源的连接。电路中Ri1与电容Ci1为缓冲电路,防止上电瞬间电压过高损坏MOS管。Z1为稳压管,防止MOS管的栅极和源极两端电压过高,损坏MOS管。输入电压保护采用一个LM324运放组成的电压比较器。当输入电压过高或过低时,关断DC-DC模块中PWM的产生,即可停止转换。同时,输出一个信号控制蜂鸣器发出蜂鸣声报警。设计的电路如图3-12所示。图3-12 输入电压保护电路原理图3

35、.4.3输出保护输出保护的设计采用的是从开关管的输出部分取样,反馈到一个LM393组成的电压比较器,一路送入单片机的AD端,经过AD转换后修正输出。另一路送入IR2110S的关断端(SD端)。当IR2110S的SD端接收到信号后,停止驱动隔离,则不再输出SPWM波形。有效的保护的电路。设计的电路如图3-13所示。3-13 输出保护电路原理图3.5直流5V电路设计系统输入的电压为直流的12V,输出为交流220V,而系统内各芯片工作电压为直流5V。因此需要设计一个直流5V的产生电路,作为芯片的电源使用。本设计采用的方案为将输入的12V直流电压经过7805三端稳压集成电路,芯片输出稳定的直流5V电源

36、。7805包含三条引脚,分别是输入、输出端和接地端。因此,所组成的稳压电路也十分简单,仅需配置几个滤波电容,便可以组成一个稳压电路。芯片内部已经集成了过流、过热的保护电路。设计的稳压电路如图3-14所示。3-13 直流5V电源原理图3.6显示与报警模块3.6.1液晶显示本设计采用的液晶显示是12832液晶模块。常见的液晶模块的驱动方式有三种,分别为静态驱动、单矩阵驱动和主动矩阵驱动。矩阵驱动系统包括行驱动器,列驱动器,偏压电路,电源等电路。行寄存器在内部的数据传输为串行方式,列寄存器有两种数据传输方式,一种是串行传输,一种是并行数据传输。12832液晶模块引脚定义如表3-2所示。引脚名称功能说

37、明1VO亮度调整,外部接电阻2VR亮度调整,外部接电阻3GND地4VCC电源5NC保留端6RS(CS)并行:选择寄存器;串行:数据寄存器片选端7RW(SID)并行:读写控制器;串行:数据输入端8E(SCLK)并行:读写数据起始端;串行:输入脉冲9D0数据0位,仅在并行有效10D1数据1位,仅在并行有效11D2数据2位,仅在并行有效12D3数据3位,仅在并行有效13D4数据4位,仅在并行有效14D5数据5位,仅在并行有效15D6数据6位,仅在并行有效16D7数据7位,仅在并行有效17PSB控制信号,0为串行,1为并行18RST低有效的复位信号19LK液晶内部背光源负极20LA液晶内部背光源正极表

38、3-2 LCD12831管脚为了节约管脚的使用,简化电路连接,本次设计采用的是串行口连接。当PSB引脚连接低电平时,液晶进入串行工作模式。在串行工作模式下,根据同步时钟线SCLK和串行数据线SID配合完成数据的发送与接收。设计的电路如图3-13所示。图3-13 液晶显示模块原理图3.6.2蜂鸣器报警当输入电压过高或过低时,会通过蜂鸣器产生蜂鸣声,蜂鸣器的电路设计如图3-14所示。图3-14 蜂鸣器电路原理图4.系统的软件设计硬件是一个设计的身体,而软件则是一个设计的灵魂。两者缺一不可。因此,对系统的软件设计也很重要。系统的软件设计步骤有三个,一是选择开发环境的,即程序的编写、调试、编译等操作的

39、环境与软件;二是各功能模块程序的设计;三是最终的程序调试,以实现要求的功能。4.1开发环境介绍本次设计采用Keil uVision3软件,由于Keil uVision3的库中并不包含STC系列的单片机,但STC与51系列单片机的内核相同。因此,可以选择51的内核,在程序中加入STC12C5410AD单片机宏定义的头文件即可使用。创建的步骤如下。首先需要新建一个文件夹,用于存放程序的工程文件。新建文件夹完成后启动Keil uVision3软件。之后新建一个工程,并将该工程保存在新建的文件夹中。创建工程的步骤为,点击Project下的New Project菜单,弹出一个对话框。在对话框中选择保存该

40、工程的文件夹和工程名。将该工程保存在新建的文件夹中。点击保存按钮即可。如图4-1所示。图4-1 新建工程点击保存按钮后,需要选择单片机型号。选择Atmel的AT89C51即可。选择之后,点击确定按钮。如图4-2所示。图4-2 选择型号我们不需要仿真的配置文件,因此,在弹出的是否添加仿真配置文件的对话框中,选择“NO”。如图4-3所示。图4-3 添加仿真配置一个新的工程创建成功。工程创建完成后,需要新建一个程序文件。点击File下的New菜单,在软件中弹出一个新的文本输入窗口。默认文件名为Text1,在该窗口中可以输入源程序。如图图4-4所示。图4-4 新建程序文件源程序输入完成后,点击保存。将

41、该程序文件保存在工程的目录下。文件名需要加上扩展名,本次设计的程序设计采用C语言编写,因此,将程序文件命名为main.c。程序文件虽然创建保存成功,但并没有与工程关联,加入到工程中。因此,需要将程序文件加入到工程中。右击左侧目录树中的“Source Group1”,在弹出的下拉菜单中选择“Add file to Group”,出现一个对话框,双击创建的main.c即可,关闭对话框完成向工程中添加文件。如图图4-5所示。图4-5 添加文件程序文件添加完成后,需要将编写的程序编译成单片机能识别的hex文件。右击“Target 1”,在弹出的菜单中选择“Options for Target Targ

42、et1”。选择“output”选项卡,将“create HEX file”项打钩,点确定。便会在编译时,在工程文件的目录中产生hex文件。编译的快捷键是F7。每次修改程序后,按F7,都将重新产生一个hex文件,新hex文件将覆盖旧文件。编译完成后,在软件的下方状态栏中可以查看该程序生成的代码大小。4.2 SPWM程序设计单片机STC12C5410AD自带四路可编程计数器阵列PCA/PWM模块电路,只需配置相关的寄存器便可产生标准的PWM波形。SPWM也是PWM的一种,是指在PWM的基础上改变了调制方式,冲量相等形状不同,脉冲的宽度按照正弦规律变化,输出波形即为正弦波。STC12C5410AD单

43、片机PCA模块输出管脚如表4-1所示。管脚第一功能第二功能15P3.7PCA0/PWM09P3.5PCA1/PWM126P2.0PCA2/PWM210P2.4PCA3/PWM3表4-1 PCA/PWM模块管脚对应表STC12C5410AD内部的PCA模块是一个16位的特殊功能的定时器,连接了四个捕获/比较模块。PCA定时器决定了这四个模块的时间基准。PCA模式寄存器CMOD的位定义如表4-2所示。名称地址Bit7Bi6Bit5Bit4Bit3Bit2Bit1Bit0CMOD0XD9CIDL-CPS1CPS0ECF表4-2 CMOD寄存器定义表中的CPSl和CPS0位是PCA计数脉冲选择位。两个

44、位的决定了PCA脉冲源输入。PCA计数脉冲选择如表4-3所示。CPS1CPS0脉冲源00系统时钟/1201系统时钟/210T0的溢出脉冲11ECI外部时钟表4-3 PCA计数脉冲选择表PCA/PWM模块共有四种工作模式,分别为:上升/下降沿捕获模式,PWM脉冲输出模式,软件定时器模式,高速输出模式。SPWM生成主要工作PWM脉冲输出模式。 PWM输出模式的框图如图4-6所示。图4-6 PWM输出模式的框图当工作在PWM脉冲输出模式时。CL的值小于EPCn时,输出为低。当CL的值大于或等于EPCn时,输出为高。当CL的值为FF时,继续增加将产生溢出,溢出时变为0,此时EPCn的值装载到EPCnL

45、和CCAPnL中。从而实现了在更新PWM时,不会产生干扰。CCAPMn寄存器中的PWMn位和ECOMn位置位时可以使能PWM模式。本次设计采用的SPWM波形通过软件中断的形式来实现,综合使用了PWM模式和16位定时器模式。中断服务子程序流程图如图4-7所示。图4-7 中断服务程序流程图设计的中断服务子程序如下。void int_time0(void) interrupt 1TH0=0XFE;/重装初值TL0=0X09;/重装计数值/TR0=1;/使能定时器CCAP0H=pwm0;/装入第一路脉冲宽度值/CCAP1H=pwm1; /装入第二路脉冲宽度值/CCAP2H=pwm2; /装入第三路脉冲

46、宽度值/ CCAP3H=pwm3; /装入第四路脉冲宽度值/ k+;/中断次累计 if(k<159)/正半周/i=k;/重新赋值pwm_1=m*pwmi/216;/计算宽度值 pwm1=(unsigned char)pwm_1;/转换为8位数值pwm2=0; /清0 else if(k<318)/负半周的程序/j=k-159;pwm1=0;/清0pwm_2=m*pwmj/216; /计算宽度值 pwm2=(unsigned char)pwm_2; /转换为8位数值pwm1=0; /清0 else/周期结束/k=0;/清0i=k; /清0pwm_1=m*pwmi/216;pwm1=(

47、unsigned char)pwm_1; pwm2=0;voltage_regulation();/占空比调整实现稳压v_bat=ad(AD_BATTERY)*400/256; /取得电压的值i_out=ad(AD_IOUT)*i_c/256; /取得电流 STC12C5410AD产生SPWM波形的基本原理是将载波周期值赋给CCAP1H和CCAP1L。PCA定时器的CH与CCAP1H,CL与CCAL1L比较,两者相等时,产生中断。在中断的服务程序中,将下一个SPWM波要求的脉冲宽度装载到CCAPOL中。SPWM波形脉宽示意图如图4-8所示。图4-8 SPWM波形脉宽示意图脉冲宽度值需要通过MA

48、TLAB来计算出220V,50Hz交流电的正弦表,本次设计选出了159个典型值,存入数组中。选出的正弦数组如下。unsigned char code pwm159=0,4,8,13,17,21,25,29,34,38,42,46,50,54,59,63,67,71,75,79,83,86,90,94,98,102,105,109,113,116,120,123,127,130,134,137,140,143,147,150,153,156,159,161,164,167,170,172,175,177,179,182,184,186,188,190,192,194,196,198,199,20

49、1,203,204,205,207,208,209,210,211,212,213,213,214,214,215,215,216,216,216,216,216,216,215,215,214,214,213,213,212,211,210,209,208,207,205,204,203,201,199,198,196,194,192,190,188,186,184,182,179,177,175,172,170,167,164,161,159,156,153,150,147,143,140,137,134,130,127,123,120,116,113,109,105,102,98,94,

50、90,86,83,79,75,71,67,63,59,54,50,46,42,38,34,29,25,21,17,13,8,4;脉冲宽度值通过正弦表格的形式存入程序中的数组中,在每个载波周期,调取对应的数值。程序的设计流程如下。(1) 将PCA模块0的工作模式通过寄存器定义为8位的PWM模式。(2) 16位计数/定时器CH、CL清0。(3) PCA模式输助寄存器清0。(4) PCA比较/捕获模块寄存CCAPMn定义为使能比较模式,匹配中断设为允许。(5) 将脉冲宽度值sinn装入CCAPnH。(6) 开PCA模块中断及总中断。(7) 启动PCA计数。(8) 直到最大数值N,完成循环。经过以上的

51、步骤后,在对应的PWM引脚上不断的产生随着正弦规律变化的脉冲宽度,显示出来的便为准确的SPWM波形。寄存器定义的实现程序如下。void pwm_init() CMOD=0X02; /该指令为选择PCA计数器的工作频率输入源/ CCON=0X00; /将计数器和溢出标志清零/ CL=0X00; /将计数器的低8位清零/ CH=0X00;/ 将计数器的高8位清零/ CCAPM0=0X42; /设置第一路PWM口/ CCAPM1=0X42; /设置第二路PWM口/ CCAPM2=0X42; /设置第三路PWM口/ CCAPM3=0X42; /设置第四路PWM口/ CCAP0L=0X00; /清空第一

52、路的比较/捕捉寄存器的低8位/ CCAP0H=0X00; /清空第一路的比较/捕捉寄存器的高8位/ CCAP1L=0X00; /清空第二路的比较/捕捉寄存器的低8位/ CCAP1H=0X00; /清空第二路的比较/捕捉寄存器的高8位/ CCAP2L=0X00; /清空第三路的比较/捕捉寄存器的低8位/ CCAP2H=0X00; /清空第三路的比较/捕捉寄存器的高8位/ CCAP3L=0X00; /清空第四路的比较/捕捉寄存器的低8位/ CCAP3H=0X00; /清空第四路的比较/捕捉寄存器的高8位/ CR=1;/使能PCA计数器/4.4液晶驱动程序设计本设计采用的12832液晶屏的控制器为台

53、湾矽创公司生产的ST7920。具有较强的控制显示功能。在程序编写时,仅需根据指令集输入对应的指令便可实现对液晶屏显示的控制。常用的操作指令有如下几个命令。(1)设定DDRAMDDRAM是指Display Data RAM,可以设置显示地址计数器。第一行地址为80H到87H,第二行的地址为90H到97H。(2)设定CGRAM即输入要显示的字符的ASCII码。(3)设定进入点在显示数据时,光标的移动方向,即位地址计数器是递增还是递减。(4)显示状态控制显示的开关,光标的开关,反白或正常显示。(5)读取忙碌标志读取忙碌标志位BF,可以查看上条指令是否完成。返回值包含了位地址计数器的数据。在每次发送指

54、令前,都要判断忙碌标志位。在对液晶屏进行显示之前要根据这些常用指令对液晶进行初始化操作。初始化的程序流程如图4-9所示。图4-9 液晶初始化流程图设计的液晶屏初始化程序如下。void init_lcd (void)/LCD的初始化程序 psb=0;/置为串行工作模式 wr_lcd (comm,0x30); /*30H,选择基本指令集模式*/ wr_lcd (comm,0x01);/*31H,清屏命令,将地址指针设在00H*/ delay (100);/延时 wr_lcd (comm,0x06); /*设置光标的移动方向为向右*/ wr_lcd (comm,0x0c); /*将显示打开,关闭光标

55、的显示*/当片选端CS=0时,同步时钟线SCLK无效,数据无法输入。当片选端CS=1时,同步时钟线SCLK有效。可以正常的输入数据。CS从0跳变到1时,将要传输的一组串行数据计数重新定义第一位。12832液晶模块的串行工作模式的时序如图4-10所示。图4-10 LCD 12832串行模式时序图单片机向液晶模块发送一个字节的数据时,一共需要24个有效的时钟脉冲。首先传输5位全是1的同步位元字串,实现的功能是重置传输计数以及同步串行传输。后两个位元为RW和RS。RW代表了数据的传输方向,即控制读数据或写数据。RS代表了数据与指令的选择,即本次发送的命令为数据或指令。第8位位元为固定的0。在前8位数据传输完成后,将传输一个字节的命令。一个有效的一字节命令分两将传输,第一次传输命令的高4位,低4位置0,组成一个字节传输。第二次传输命令的低4位,低4位置0,组成一个字节传输。将这24位数据传输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论