基于单片机的太阳能电池控制器的设计.doc

上传人:xin****828 文档编号:6653798 上传时间:2020-03-01 格式:DOC 页数:43 大小:544.50KB
返回 下载 相关 举报
基于单片机的太阳能电池控制器的设计.doc_第1页
第1页 / 共43页
基于单片机的太阳能电池控制器的设计.doc_第2页
第2页 / 共43页
基于单片机的太阳能电池控制器的设计.doc_第3页
第3页 / 共43页
点击查看更多>>
资源描述
基于单片机的太阳能电池控制器的设计【摘要】目前在全世界范围内,由于能源的不可再生和人类的过度开采,全球化的能源危机已经初现端倪,为此世界各国竞相发展绿色能源,太阳能凭借其独特的优点,受到了一致的青睐,在太阳能的各种应用中,光伏发电应用倍受关注。光伏发电系统主要有两种:分布式发电系统和独立式发电系统,然而现在光伏发电应用的主流为独立式发电系统,在独立式发电系统中主要由四部分:太阳能电池板,控制器,,和直流负载。其中控制器为整个发电系统的核心,由于独立式发电系统中蓄电池的充电放电比较频繁故所以控制器要对蓄电池的充电放电进行管理,从而延长蓄电池寿命,减少系统的故障率,提高系统稳定性大大减少发电运营成本。本次毕业设计就将对独立式光伏发电中所要使用到的基于单片机的太阳能蓄电池的控制器进行探讨和研究。【关键词】太阳能;单片机;控制器Abstract: At present,while most countries all over the world are developing green and renewable energy,solar energy is accepted commonly because of its unusual advantagesPhotovoltaic(PV)systems are paid more attention to among its various applicationsPV systems are mainly two: stand-alone distributed power systems and power generation systems, but stand-alone systems has been a trend in nowdays. Stand-alone distributed power systems has four mainly parts: the Solar panels, the controller, the battery and the DC load, while in the four parts, the controller is the most important one. The controller has to decide how and when to charge or discharge because of the high working frequency of the system,So the controller can extended the battery life,decrease the failure rate,make the system steady and reduce the costs of system. This gradual design aimed at the study of the controller used in the stand-alone systems based on microcontroller.Key words: solar energy; microcontroller; controlle目录1概述11.1题目要求11.2题目国内外发展现状1 1.3题目设计目标级功能要求21.4 题目设计所需要的环境22总体设计32.1硬件总体设计42.2程序总体设计43硬件设计93.1电压采集电路93.1.1电压采样电路93.1.2ADC0809模数转换芯片93.1.3 74LS373锁存器113.2单片机及其外围电路123.2.1单片机功能引脚介绍123.2.2单片机外围电路133.3充放电电路143.3.1MOSFET143.3.2光耦合器件153.3.3PWM控制技术介绍163.4硬件设计软件184软件设计194.1中断系统194.1.1中断系统结构194.1.2中断响应224.1.3中断响应过程224.1.4中断请求的撤销234.2各设计模块244.2.1程序初始化模块244.2.2定时器中断模块244.2.3A/D转换模块254.2.4PWM脉冲宽度控制模块254.2.5方案的选择控制模块264.2.6单片机停止工作的按键输入模块264.3 软件总体设计265系统调试315.1硬件电路调试315.2程序调试326其它器件介绍336.1太阳能电池336.2蓄电池336.2.1蓄电池分类336.2.2蓄电池容量336.2.3蓄电池能量效率356.2.4蓄电池循环寿命35参考文献.36致谢.381概述1.1题目要求在全球能源形势紧张,全球气候变暖严重威胁经济发展的今天,世界各国都在寻取新的能源替代战略,以求得可持续发展及在日后的发展中获得优势地位。太阳能以其清洁、可再生、安全等显著等显著优势成为当今关注的重点。尤其是太阳能光伏发电技术,在近些年来更是得到飞速的发展,时至今日光伏发电技术已经极其成熟,在光伏发电技术中主要分为两种:独立式发电系统和分布式发电系统。分布式发电系统则主要应用于大规模的并网发电系统。独立式发电系统主要面向小型用户或者小型负载,独立式发电系统以其应用灵活,适应性强贝越来越多的应用于各个领域。独立式光伏发电系统主要有4部分组:太阳能电池板、制器、电池和直流负载。太阳能电池板和蓄电池的技术发展相对来说比较成熟,而对于控制器由于所适用的场合有所不同,其对性能的要求也就各不相同,就一般太阳能电池板蓄电池对于控制器的要求主要侧重于对蓄电池充放电的管理,以及对夜间和白昼的充放电选择,这样才能更加合理的利用太阳能,使光伏发电系统的效率最大化,另一方面通过单片机对蓄电池的过充电和过放电的管理,可以延长蓄电池的寿命,从而进一步提升系统的性价比,因此对于设计出这样一种智能控制器就显得很必要了。1.2题目国内外发展现状太阳光没有地域的限制无论陆地或海洋,无论高山或岛屿,都处处皆有,可直接开发和利用,且勿须开采和运输。它同以往其他电源发电原理完全不同,具有以下特点:1.无枯竭危险;2.干净无公害;3.不受资源分布地域的限制;4.可在用电处就近发电;5.能源质量高;6.获取能源花费的时间短。正是由于以上特点,美国在经历上世纪80年代能源危机后,就一直致力于开发太阳能发电技术,到现在为止该项技术在美国,德国,瑞士和日本等国的技术发展和推动下,已变得极为成熟。在我国国内市场,已经有很多对此类控制器开发研制的技术厂商和科研院所,因此从某一方面来讲,我国已完完全全进入太阳能全面发展的时代。太阳能电池板直流负载控制装置蓄电池图1.1 太阳能电池板给直流系统供电的系统结构框图太阳能电池蓄电池充电控制光耦电路A/D转换分压电路采集电压分压电路采集电压A/D转换光耦电路放电控制51单片机图1.2 本次设计中所采用的系统结构框图1.3题目设计目标及功能要求在本次设计中抓药要设计出一种智能型的太阳能电池控制器,对功能具体要求如下:1电池长时间发电,电压较低时要停止放电。2蓄电池电压高于其所能承受的电压时,要停止对其充电。3通过电压采样检测,对不同的蓄电池不同充电状态,采用不同的充电方案。4对于整套充放电系统要设置可手动关停的按钮,以达到对系统更为智能的设计。5通过设置时间,从而根据光照情况对蓄电池进行自动的关停。6可对线路进行过流,短路保护本次设计中将以ATMEL系列中的AT89S51单片机为控制中心,软硬件的结合,利用分压电路对蓄电池,太阳能电池的电压、电流进行采样。再经过A/D转换采样数据输入到单片机中进行处理。单片机输出经光耦驱动MOSFET管来控制外接电路开启关闭。该系统可以实现控制蓄电池的最优充放电,当蓄电池电压在14.4V+0.5时,太阳能电池停止对蓄电池充电,当蓄电池电压在10.9V+0.5时,蓄电池停止对负载放电;负载电流检测电路可进行过流保护及负载功率检测.。1.4题目设计所需要的环境对于本次设计的关键核心在于,如何对硬件电路进行设计,和单片机程序如何设计。现行的硬件电路设计和单片机汇编语言设计的主要工具为proteus和keil uVision2,proteus对数字电路的设计有着优越的性能,它有着庞大的元件库,而且元件库中拥有大量的微处理器芯片,另一方面,keil对汇编语言进行编译成功后可产生能与proteus进行联机调试的“HEX”文件。故在本次设计中采用proteus和keil这两款软件分别对软硬件进行设计和仿真。在接下来的各个章节中,我们就将对独立式光伏发电系统中的控制器部分,通过proteus和keil对其进行软硬件的设计,并对其进行仿真。 2总体设计系统设计的流程图如下开 始初始化变量电压采集Vbat14.5V停止充电 Y Vbat12V N浮充Y Vbat10.8V N快充Y 停止放电 N 是否按键输入 N Y结束 图2.1 系统设计的流程图由流程图可知,对于 整个充放电过程主要分为以下4个阶段: Vbat10.8V时,电池停止放电,而且当有结束按键输入时要结束整个程序,当无啊、结束按键输入时,程序转而对蓄电池进行快充10.8V Vbat12V时,对电池进行快速充电 12VVbat14.5时,对电池进行浮充 Vbat=14.5V时,对电池停止充电执行以上各阶段程序后,程序要继续进入电压检测阶段,进而根据充电情况对充放电方案重新进行选择。由流程图可以看出没有对充放电进行专门的设置,而是通过单片机比较经过A/D转换过的采样电压的大小来对冲电或放电进行管理的,当电压值大于14.5V时单片机发出信号,使得充放电电路停止充电,当然此时可以放电回路,可以放电,也可以出断开状态; 当电压值小于10.8V时,首先要断开放电回路,然后再通过一个外置于单片机的手动开关,若此时用户想要控制器停止工作,则按下按钮,此时单片机就会进入停止工作状态,若想让单片机继续进行充放电工作状态,则无需按下按钮,系统会自动进入快充状态,之后后继续进入下一个电压采集转换,以及方案选择的循环中,直至用户需要停止系统工作按下按钮。2.1硬件总体设计图2.1 硬件总体设计图2.2程序总体设计 ORG 0000HLJMP STARTORG 0003HLJMP EXTERN_INTORG 000BH LJMP TIMER0_INT START: MOV SP,#050H ;设置堆栈MOV R0,#030H ;设置A/D存储单元初始地址MOV IE,#0FFH ;打开所有中断MOV DPTR,#0FEF8H ;采集通道首地址,只使用一路A/D就可以MOV R0,#40H MOV R0,#00H ;清除方案选择MOV R0,#40HMOV R0,#00H ;清楚方案选择触发位MOV R1,#042HMOV R0,#00H ;清除定时计数器LCALL TIMER1_INT LOOP: MOV R0,#30H ;30H是A/D转换的地址,将数据和几个值进行比较,确定方案 MOV A,R0 SUBB A,#99H ;当电压很小的时候,采用第1种方案,想引脚PWM发送占空比为10%的信号 JC PROCESS_01 MOV A,R0 SUBB A,#0AAH JC PROCESS_02 ;很小的时候,采用第2种方案,想引脚PWM发送占空比为20%的信号 MOV A,R0 SUBB A,#0CDH JC PROCESS_03;电压很小的时候,采用第3种方案,想引脚PWM发送占空比为50%的信号 MOV A,#04H ;当电压超出的时候,采用第4种方案,向引脚PWM发送占空比为0%的信号 LJMP PROCESS_04 CLEAR_FLAG: MOV R0,#40H ;清除方案选择位 MOV R0,#00H MOV R0,#41H ;清除触发位 MOV R0,#00H LJMP LOOPPROCESS_01: MOV R1,#040H; MOV R1,#01H; ;选择方案1PROCESS_01_NEXT: CLR P2.4 ; ;将和PWM连接的管脚置低,此时停止充电 MOV R1,#01H; MOV R0,#01HPROCESS_01_01: DJNZ R1,PROCESS_01_01 DJNZ R0,PROCESS_01_01 ;空跑16*256*2个周期 CLR P2.4 ;将和PWM连接的管脚置低 MOV R1,#01H MOV R0,#01H PROCESS_01_02: DJNZ R1,PROCESS_01_02 DJNZ R0,PROCESS_01_02 ;空跑16*256*2*9个周期 MOV R1,#041H ;当方案改变标志位到来的时候,清楚标志并且重新进行判断 CJNE R1,#00H,CLEAR_FLAG SJMP PROCESS_01_NEXT PROCESS_02: MOV R1,#040H MOV R1,#02H ;选择方案2 PROCESS_02_NEXT: SETB P2.4 ;将和PWM连接的管脚置高,选择浮充 MOV R1,#01H MOV R0,#01H PROCESS_02_01: DJNZ R1,PROCESS_02_01 DJNZ R0,PROCESS_02_01 ;空跑16*256*2个周期 CLR P2.4 ; 将和PWM连接的管脚置低 MOV R1,#01H MOV R0,#01H PROCESS_02_02: DJNZ R1,PROCESS_02_02 DJNZ R0,PROCESS_02_02 ;空跑16*256*2*8个周期 MOV R1,#041H ;当方案改变标志位到来的时候,清除标志并且重新进行判断 CJNE R1,#00H,CLEAR_FLAG SJMP PROCESS_02_NEXT PROCESS_03: MOV R1,#040H MOV R1,#03H ;选择方案3 PROCESS_03_NEXT: SETB P2.4 ;将和PWM连接的管脚置高,选择快充 MOV R1,#01H MOV R0,#01H PROCESS_03_01: DJNZ R1,PROCESS_03_01 DJNZ R0,PROCESS_03_01 ;空跑16*256*2*2个周期 CLR P2.4 ;将和PWM连接的管脚置低 MOV R1,#01H MOV R0,#01H PROCESS_03_02: DJNZ R1,PROCESS_03_02 DJNZ R0,PROCESS_03_02 ;空跑16*256*2*7个周期 MOV R1,#041H ;当方案改变标志位到来的时候,清除标志并且重新进行判断 CJNE R1,#00H,CLEAR_FLAG SJMP PROCESS_03_NEXT PROCESS_04: CLR P2.4 ; 停止放电 CLR P2.1 MOV R1,#040H MOV R1,#04H ;选择方案4 MOV R1,#041H CJNE R1,#00H,CLEAR_FLAG SJMP PROCESS_04 TIMER1_INT: ANL TMOD,#0FH ;设置定时器T1为方式2 ORL TMOD,#10H MOV TMOD,#21H ;定时器T0工作在方式1 MOV PCON,#080H CLR TR1 ;禁止定时器T1 SETB EA SETB ET1 SETB ET0 SETB PT0 ;定时器T0中断优于串口中断 CLR TF1 MOV TL0,#00H MOV TH0,#01FH ;定时器T0中断发生时间为62.5ms SETB TR0 ;使能定时器T0 CLR TF0 RET; ;- ; 进入定时器中断,每500ms设置1次标志位 ;- TIMER0_INT: PUSH ACC ;累加器入栈 PUSH PSW ;程序状态字入栈 MOV PSW,#18H ;切换寄存器区域 CLR TF0 ;清除定时器TF0 CLR TR0 ;禁止定时器T0 MOV TL0,#00H MOV TH0,#01FH ;定时器T0中断发生时间为6 CLR TF0 ;清除溢出中断位 MOV R1,#042H INC R1 ;增加计数器的值,到8为止,这样达到500ms CJNE R1,#08H,TIMER0_READY MOV R1,#00H ;清除计数器的值 MOV R1,#041H ;设置标志位,每500ms重新选择方案 MOV R1,#01H TIMER0_READY: SETB TR0 ;使能定时器T0 POP PSW ;程序状态字出栈 POP ACC ;累加器出栈 RETI;-; 进入外部中断,每进入一次读取ADC的值;- EXTERN_INT: PUSH ACC ;累加器压栈 PUSH PSW ;程序状态字压栈 MOV PSW,#010H ;切换寄存器区域 MOV DPTR,#0FEF8H ;A/D转换器首地址 MOVX A,DPTR ;读入A/D的值 MOV R1,#030H ;存储A/D转换器的数据的地址 MOV R1,A ;将A/D的值读入该地址 POP PSW ;程序状态字出栈 POP ACC ;累加器出栈 RETI END3硬件设计3.1电压采集电路3.1.1电压采样电路如图2.5所示,电压采集电路使用两个串联的电阻,大小比例为4:1,然后并联在需要检测的电压两端,从两个电阻中间采集电压。由分压公式得出采集的电压为VR1R21/5电池充满电时电压大概为14.5V,计算出采集到的电压为2.9VA/D转换芯片的ADC0809的值为94H图3.1 电压采集电路假设蓄电池电压为U,则根据欧姆定律 R= 和串联电路的分压特性,可得 = .U=U=U通过采样对蓄电池电压进行采样后,模数转换的芯片输入端所处理的电压 范围缩小至03V,大大增强了数模转换的可行性3.1.2ADC0809模数转换芯片AT89S51单片机没有内置的A/D转换模块,因此采集的电压需要经A/D转换才可接入单片机。在本次设计中,我们采用ADC0809对采样电压进行数模转换, ADC0809为八位逐次比较式A/D转换芯片,具有8路模拟输入通道和8位数字输出通道,其工作频率为640kHz(理论上1kHz)。该芯片采用脉冲启动方式:只要给其控制端加一个符合要求的脉冲信号即可启动该芯片进行模数转换(通常用和地址译码的输出经过一定的逻辑电路进行控制,对于本次设计,只需把符合要求的电平加到启动控制端即可可是转换)。ADC0809芯片内部逻辑与引脚图8路模拟开关三态锁存缓冲器A/D转换 IN7 . . . . DB7 IN0 . .地址锁存与译码. ADDA . ADDB. ADDCDB6 ALE (a) (b)图3.2 ADC0809芯片的内部逻辑结构与引脚图(a)内部逻辑图 (b)引脚图ADC0809输入通道地址选择表表3.1 ADC0809输入通道地址选通表ADDC ADDB ADDA选通的通道0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 ADC0809工作转换时序 START ALE A.B.C INOE EOCDate D0D7 图3.3 ADC0809工作时序图3.1.3 74LS373锁存器 74LS373是一种带输出三态门的8D锁存器,其结构如下图所示 8D锁存器 三态门IN1IN8OUT1OUT81D 1Q. . . .8D 8QG 图3.4 74LS373结构示意图1D8D为8个输入端1Q8Q为8个输出端G为数据锁存控制端:当G为“1”时,锁存器输出端同输入端;当G由“1”变0时,数据输入锁存器中。为输出允许端:当为“0”时,三态门打开;当为“1”时,三态门关闭,输出呈高阻状态。在51单片机系统中,常采用74LS373做为地址锁存器使用,其连接方法如下图所示。1D 1Q . . . .8D . 8Q74LS373G A7A0 P0.7P0.0 ALE 图3.5 74LS373用作地址锁存器3.2单片机及其外围电路3.2.1单片机功能引脚介绍本设计使用51些列单片机,51系列单片机是8051系列的简称,是指MCS-51系列单片机和其他公司的8051派生品。MCS-51系列单片机最早是由intel公司推出的通用型单片机,MCS-51系列单片机产品可分为两大系列:51子系列和52子系列。51子系列的基本产品是8031,,8051和87c51三种机型,分别与这三种机型兼容的低功耗CMOS器件产品是80C31,80C51和87C51。它们的指令系统和芯片引脚完全兼容,它们之间的差别仅在于片内有无ROM或EPROM 图3.6 51单片机引脚图51单片机引脚功能: MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照-单片机引脚图: l P0.0P0.7 P0口8位双向口线(在引脚的3932号端子)。 l P1.0P1.7 P1口8位双向口线(在引脚的18号端子)。 l P2.0P2.7 P2口8位双向口线(在引脚的2128号端子)。 l P3.0P3.7 P2口8位双向口线(在引脚的1017号端子)。 P0口有三个功能: 1、外部扩展存储器时,当做数据总线(如图1中的D0D7为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图1中的A0A7为地址总线接口) 3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。P0口有三个功能: 1、外部扩展存储器时,当做数据总线(如图1中的D0D7为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图1中的A0A7为地址总线接口) 3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。RST 复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。 XTAL1和XTAL2 外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VCC:电源+5V输入 VSS:GND接地。 3.2.2单片机外围电路8051单片机单片机及其外围电路包括上电复位电路,晶振如图11所示, 图3.7 单片机外围电路图3.3充放电电路3.3.1MOSFETMOSFET为金属氧化层体-场效晶体管,简称金氧半场效晶体管(Metal-Oxide-Semiconductor Field-Effect Transistor, MOSFET)是一种可以广泛使用在模拟电路与数字电路的场效晶体管(field-effect transistor)。MOSFET依照其“通道”的极性不同,可分为n-type与p-type的MOSFET,通常又称为NMOSFET与PMOSFET,其他简称尚包括NMOS FET、PMOS FET、nMOSFET、pMOSFET等。对于这一部分的设计由充二极管D1、滤波电容C1、续流二极管D2、MOSFET管Q1、滤波电容C2、MOSFET管Q1等构成。二极管D1是为了防反充,当阴天或晚上蓄电池的电压高于太阳能电池的电压时,D1就生效。通过控制开关闭合跟断开的时间(即PWM脉冲宽度调制),就可以控制输出电压。所使用的MOSFET是电压控制单极性金属氧化物半导体场效应晶体管,所需驱动功率较小。而且MOSFET只有多数载流子参与导电,不存在少数载流子的复合时间,因而开关频率可以很高,非常适合作控制充放电开关。设计中采用IRF9540N P沟道MOSFET管,P沟道MOSFET的导通电压Vth0,由下图可以实现MOSFET的驱动。当光耦U5导通时,由于Q1的G极电压很小,G极近似接地,Vgs0,当S极电压达到一定值时,Q1导通。Q2的原理类似。电路如图3图3.8 充放电电路3.3.2光耦合器件光耦合器件是由发光二极管(发光源)与受光源(如光敏二极管,光敏晶闸管或光敏集成电路等)封装在一起,构成的电光电转化器件。根据受光源结构的不同,可以将光耦合器件分为晶体管输出的光电耦合器件和晶闸管输出的光电耦合器件两大类 14 32 图3.9 为本次设计中所使用的晶体管光耦合器件1脚:正极 2脚:负极 3脚:发射极 4脚:集电极TLP521是可控制的光电藕合器件,光电耦合器广泛作用在电脑终端机,可控硅系统设备,测量仪器,影印机,自动售票,家用电器,如风扇,加热器等在1、2极之间加正向电压,内部的发光二极管(LED)将会发出一定波长的光,被光探测器接收而产生光电流,3、4极之间导通。反之,光耦内部的发光二极管的电流近似为零,输出端两管脚间的电阻很大,相当于开关断开。由于单片机输出只有5V不足于驱动MOSFET管,因此驱动MOSFET管的电压从U3出接出。电路之间的信号传输,使之前端与负载完全隔离,目的在于增加安全性,减小电路干扰,减化电路设计。在本次设计中由图2.7可知:入信号C1为低电平时,光耦内部的发光二极管的电流近似为零,输出端两管脚间的电阻很大,相当于开关“断开”;当C1为高电平时,光耦内部的发光二极管发光,输出端两管脚间的电阻变小,相当于开关“接通”,此时从U5输入的电压经光耦流向接地端,K1处的电压接近为零,MOSEFT的Vgs0,当S极电压达到一定值时,Q1导通。图3.10 光耦开关电路3.3.3PWM控制技术介绍PWM(Pulse Width Modulation)控制脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。 PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆变电路中的应用,才确定了它在电力电子技术中的重要地位。 理论基础: 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。 (t) (t) (t) (t) (t) 0 t t t t(a) (b) (c) (d)图3.11形状不同而冲量相同的各种窄脉冲面积等效原理: 分别将如图1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图2a所示。其输出电流i(t)对不同窄脉冲时的响应波形如图2b所示。从波形可以看出,在i(t)的上升段,i(t)的形状也略有不同,但其下降段则几乎完全相同。脉冲越窄,各i(t)响应波形的差异也越小。如果周期性地施加上述脉冲,则响应i(t)也是周期性的。用傅里叶级数分解后将可看出,各i(t)在低频段的特性将非常接近,仅在高频段有所不同。 i(t) i(t)cabd e(t)(a) (b)图3.12 冲量相同的各种窄脉冲的响应波形用一系列等幅不等宽的脉冲来代替一个正弦半波,正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等;用矩形脉冲代替,等幅,不等宽,中点重合,面积(冲量)相等,宽度按正弦规律变化。 SPWM波形脉冲宽度按正弦规律变化而和正弦波等效的PWM波形。 0 t t图3.13 用PWM原理图PWM波代替正弦半波要改变等效输出正弦波幅值,按同一比例改变各脉冲宽度即可。 PWM电流波: 电流型逆变电路进行PWM控制,得到的就是PWM电流波。 PWM波形可等效的各种波形: 直流斩波电路:等效直流波形 SPWM波:等效正弦波形,还可以等效成其他所需波形,如等效所需非正弦交流波形等,其基本原理和SPWM控制相同,也基于等效面积原理。PWM相关概念占空比:就是输出的PWM中,高电平保持的时间 与 该PWM的时钟周期的时间 之比如,一个PWM的频率是1000Hz,那么它的时钟周期就是1ms,就是1000us,如果高电平出现的时间是200us,那么低电平的时间肯定是800us,那么占空比就是200:1000,也就是说PWM的占空比就是1:5。分辨率也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就是1:255(单斜率), 16位的的PWM理论就是1:65535(单斜率)。频率就是这样的,如16位的PWM,它的分辨率达到了1:65535,要达到这个分辨率,T/C就必须从0计数到65535才能达到,如果计数从0计到80之后又从0开始计到80.,那么它的分辨率最小就是1:80了,但是,它也快了,也就是说PWM的输出频率高了。双斜率 / 单斜率假设一个PWM从0计数到80,之后又从0计数到80. 这个就是单斜率。假设一个PWM从0计数到80,之后是从80计数到0. 这个就是双斜率。可见,双斜率的计数时间多了一倍,所以输出的PWM频率就慢了一半,但是分辨率却是1:(80+80) 1:160,就是提高了一倍。假设PWM是单斜率,设定最高计数是80,我们再设定一个比较值是10,那么T/C从0计数到10时(这时计数器还是一直往上计数,直到计数到设定值80),单片机就会根据你的设定,控制某个IO口在这个时候是输出1还是输出0还是端口取反,这样,就是PWM的最基本的原理了。3.4硬件设计软件本次设计中我们用PROTEUS对设计中的硬件电路进行设计。Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器4软件设计4.1中断系统4.1.1中断系统结构在CPU 与外设交换信息时,存在着一个快速的 CPU 与慢速的外设之间的矛盾。为解决这个问题,发展了中断的概念。 单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢?通过中断可以实现多个任务的资源共享。 中断现象在现实生活中也会经常遇到,例如,你在看书手机响了你在书上作个记号你接通电话和对方聊天谈话结束从书上的记号处继续看书。这就是一个中断过程。通过中断,你一个人在特定的时刻,同时完成了看书和打电话两件事情。用计算机语言来描述,所谓的中断就是,当 CPU 正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求 CPU 暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。 从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回这样三个要素。中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被中断的程序。 主 程 主 中断 中断 序 程中 序 中断源 断 中断源响 主 应 主 程 程 序 序 (a) (b) 图4.1 中断系统结构图 (a)一级中断系统机构图 (b)二级嵌套中断系统结构图 MCS-51单片机的中断源 MCS-51单片机的中断源共有两类,它们分别是:外部中断和内部中断。 外部中断源: 外部中断0( ):来自P3.2 引脚,采集到低电平或者下降沿时,产生中断请求; 外部中断1( ):来自P3.3引脚,采集到低电平或者下降沿时,产生中断请求。. 内部中断源 :定时器计数器0:定时功能时,计数脉冲来自片内;计数功能时,计数脉冲来自片外P3.2引脚。发生溢出时,产生中断请求;定时器计数器1:定时功能时,计数脉冲来自片内;计数功能时,计数脉冲来自片外 引脚。发生溢出时,产生中断请求。串行口:为完成串行数据传送而设置。单片机完成接受或发送一组数据时,产生中断请求。MCS-51单片机有多个中断源,以8051为例,有5个中断源,两个外中断、两个定时中断和一个串行中断,这一节我们讨论外中断软件编程。外中断是由外部原因引起的中断,有两个中断源。即外中断0(INT0)和外中断1(INT1),中断请求信号由引脚P3.2(INT0)和P3.3(INT1)输入。外中断请求信号有两种方式,一是电平方式,二是脉冲方式。可通过有关控制位的定义进行规定。电平方式为低电平有效,只需在单片机的(INT0)和(INT1)中断请求输入端采样到有效的低电平时,就会激活外部中断。脉冲方式则在脉冲的后负跳沿有效,即在相邻两个机器周期对中断请求引入端进行采样中,如前一次为高,后一次为低即为有效中断请求。这就要求在这种中断方式,中断请求信号的脉冲宽度必须大于一个机器周期,以保证电平变化能被单片机采样到。定时器控制寄存器 (TCON)外中断请求方式的控制位在定时控制寄存器TCON(地址为88H)中的位88(IT0)和位8A(IT1)两个位,当IT0(IT1)=0为电平方式,IT0(IT1)=1为脉冲方式。同时在此寄存器中的位89(IE0)和位8B(IE1)为外中断请求标志位,当CPU采样到INT0(INT1)端出现有效中断请求时,此位由硬件置1。在中断响应完成后转向中断服务时,再由硬件自动清0。表4.1 定时控制寄存器定时器控制寄存器(TCON)位地址8F8E8D8C8B8A8988位符号TF1TR1TF0TR0TE1IT1IE0IT0 中断允许控制寄存器 (IE)表4.2 中断允许控制寄存器中断允许控制寄存器(IE)位地址AFAEADACABAAA9A8位符号EA/ESET1EX1ET0EX0 下面我们对有关控制位作说明:EA中断允许总控制位,EA=0,中断总禁止,禁止所有中断。EA=1,中断总允许,总允许位打开后,各中断的允许或禁止由各中断允许控制位设置决定。EX0(EX1)外部中断允许控制位,EX0(EX1)=0,禁止外部中断。EX0(EX1)=1,允许外部中断。ET0(ET1)定时/计数中断允许控制位,ET0(ET1)=0,禁止定时/计数中断。ET0(ET1)=1,允许定时/计数中断。ES串行中断允许控制位,ES=0,禁止串行中断。ES=1,允许串行中断。中断的允许和禁止就是中断的开放和关闭,中断允许就是开放中断,中断的禁止就是关闭中断。从以上说明我们可看出,MCS-51的中断允许是通过两级控制的,以EA位作为总中断控制位,以各中断控制位为分控制位。当总中断位为禁止状态时,不管分控制位是允许或禁止整个中断都是禁止的。只有当EA=1(允许)时,才能由各分控制位设置各自的中断允许与禁止。MCS-51单片机复位后,IE=00H,因此中断处于禁止状态。值得一提的是:单片机中断响应后不会自动关闭中断,因此在转入中断服务程序后,应由软件指令禁止中断。中断优先级控制寄存器 (IP)MCS-51的中断优先级控制比较简单,只设置了高、低两个级别的有限级,各中断源的优先级别由优先寄存器(IP)进行控制。表4.3 中断优先级控制器中断优先级控制寄存器(IP)位地址BFBEBDBCBBBAB9B8位符号/PSPT1PX1PT0PX0 PX0外中断0(INT0)优先级控制位。PT0定时中断0(T0)优先级控制位。PX1外中断1(INT1)优先级控制位。PT1定
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 其他分类 > 大学论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!