PWM控制加热.doc

上传人:w****2 文档编号:6616575 上传时间:2020-02-29 格式:DOC 页数:34 大小:2.65MB
返回 下载 相关 举报
PWM控制加热.doc_第1页
第1页 / 共34页
PWM控制加热.doc_第2页
第2页 / 共34页
PWM控制加热.doc_第3页
第3页 / 共34页
点击查看更多>>
资源描述
PWM控制加热目 录1 引言12 理论分析12.1 PWM12.2 PWM控制技术23 系统设计23.1 设计方案比较和论证33.1.1 单片机系统33.1.2 温度传感器33.1.3 显示电路33.1.4 PWM信号44 系统硬件设计44.1 复位电路44.2 时钟电路54.3 P0口上拉电阻电路54.4 按键电路64.5 LCD1602显示电路64.6 DS18B20测温电路74.7 电源电路74.8 温度控制电路85 系统软件设计85.1 PWM控制加热软件的主程序及流程图95.2 LCD1602显示子程序125.3 LCD延时子程序175.4 数字式温度传感器DS18B20子程序185.5 PWM控制加热子程序205.6 温度控制流程216 系统调试236.1 Keil软件236.2 Proteus软件236.3 仿真结果246.4 调试结果247 小结27参考文献27致谢28ABSTRACT29附录30附I 整体电路图30PWM控制加热摘要:介绍了以STC89C52单片机为核心,使用PWM技术和闭环系统实现对温度的自动或手动控制的系统。系统通过温度芯片DS18B20采集温度信号,并将温度信号传送给单片机。并由单片机进行相应处理,根据目标温度与实测温度关系决定是加热占空比高还是停止加热占空比高,从而实现对温度的闭环控制的目的。系统还加入LCD液晶显示电路,使得整个设计更加完整,更加灵活。系统可通过键盘设定温度,LCD显示设定温度值及当前温度值。关键词:STC89C52单片机;温度控制;PWM;DS18B20 ;LCD液晶显示1 引言 温度是众多行业生产中的基础参数之一,随着社会的进步、工业的发展,温度控制技术也不断革新,但其还处于初级发展阶段,很多领域对温度控制有着更高的要求。因此,温度控制是生产工艺流程中极为重要的一个环节,尤其在电力、航天、交通、造纸、装备制造、食品加工等行业有广泛的应用。利用单片机来对温度进行控制,不仅能够有效地提升控制能力与生产的自动化,而且还有可能尽早实现智能化的目标。和传统的温度控制相比,基于单片机实现PWM的温度控制可以降低能源消耗。因为传统的温度控制都是通过电阻限流的方式到达的温度控制,这样虽然加热器的热量小了,但是整体的功率并没有根本性的改变,造成了能源的浪费。而PWM是通过占空比实现的并没有限流的损失,这样就会大大节约能源。本文主要研究的就是利用单片机的PWM技术而设计的温度控制系统。2 理论分析2.1 PWMPWM是英文“Pulse Width Modulation”的缩写,即脉冲宽度调制,简称脉宽调制。它是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。PWM是开关型稳压电源中的术语。这是按稳压的控制方式分类的,除了PWM型,还有PFM型和PWM、PFM混合型。脉宽宽度调制式(PWM)开关型稳压电路是在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的。 其中方波高电平时间跟周期的比例叫占空比,例如1秒高电平1秒低电平的PWM波占空比是50% 。PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换,PWM相对于模拟控制的另一个优点是增强对噪声抵抗的能力。2.2 PWM控制技术 PWM(Pulse Width Modulation)控制技术就是对脉冲的宽度进行调制的技术,即通过对一系列脉冲的宽度进行调制,来等效的获得所需要的波形(含形状和幅值);(冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同.PWM控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。)而控制方法有:为了克服PAM法方波电压而不能调压这个缺点发展而来的等脉宽PWM法;为了减少电机绕组的电磁噪音及谐波造成的振动而发展而来的随机PWM方法;以采样控制理论中的一个重要结论为理论基础而产生的SPWM法;把SPWM法原理直接阐释成为等面积法;为计算繁琐的缺点而提出的硬件调制法;由于用软件生成SPWM波形变得比较容易而提出的软件生成法;使所得SPWM波形最接近正弦波而提出的自然采样法;对自然采样法的改进而成为规则采样法;以消去PWM波形中某些主要的低次谐波为目的的方法而成为低次谐波消去法;为了提高直流电压利用率提出了梯形波与三角波比较法;对于像三相异步电动机这样的三相无中线对称负载提出了线电压控制PWM,其中包括马鞍形波与三角波比较法和单元脉宽调制法;以把希望输出的电流波形作为指令信号的基本思想而提出了电流控制PWM,其中包括滞环比较法、三角波比较法以及预测电流控制法;以三相波形整体生成效果为前提,以逼近电机气隙的理想圆形旋转磁场轨迹为目的而提出了空间电压矢量控制PWM(SVPWM)等等。PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。PWM控制技术主要应用在电力电子技术行业,包括风力发电、电机调速、直流供电等领域。总之,PWM既经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。3 系统设计 硬件电路主要分为电源电路、复位电路、时钟电路、按键电路、LCD显示电路和温度采集电路六部分。采用集成的单片机作为主控,通过温度传感器采集数据信息,将结果传送到单片机控制的主控器,数据通过显示器显示。通过按键改变设定温度,从而改变运行操作程序。系统整体结构如图1所示。按键模块电源模块单片机LCD显示模块复位电路时钟电路温度采集模块图1 系统整体结构3.1 设计方案比较和论证3.1.1 单片机系统 单片机种类很多,刚开始想到ATMEL公司的51系列单片机,但翻阅资料后发现STC89C52单片机:处理速度快;价格低;加密性强;超强抗干扰;超低功耗;在系统可编程,无需编程器,无需仿真器。3.1.2 温度传感器温度传感器种类繁多,按照测量方式可以分为接触式和非接触式两大类;按照传感器材料以及电子的元件特性可分为热电阻和热电偶两类。传统的温度检测多数情况下以热敏电阻为传感器,但热敏电阻可靠性差、测量温度准确率低,且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。而DS18B20能够直接读出被测温度并且可以根据实际要求通过简单的编程实现912位的数字值读数;以其独特的一线接口方式,实现多点能力;无需连接外部元件,就可用数据总线供电,电压范围为3.0 V至5.5 V ;测量温度范围为-55C至+125,其中-10C至+85C范围内精度为0.5C,最大分辨率可达0.0625,可实现高精度测量。所以,在本设计中选择DS18B20温度传感器。3.1.3 显示电路通常显示电路主要有两类:数码管(LED)显示和液晶(LCD)显示。 液晶显示屏(LCD):低压微功耗、平板型结构、显示的信息量大、无电磁辐射、使用寿命长等优点,但本设计要求显示的数据量小,不能发挥其显示内容丰富的优点,同时占用I/O口线较多。 数码管显示(LED):采用LED数码管显示,该方案具有实现容易、发光亮度大、驱动电路简单等优点,但是显示内容单一。 所以,通过比较之后,我选择液晶显示屏来显示温度。本设计选择LCD1602,用来满足一定的视觉要求。3.1.4 PWM信号脉冲宽度调制信号的形成电路有4种:(1)可用电压-脉宽变换器产生,即硬件产生脉宽调制信号;(2)由软件定时产生,由定时器定时,定时时间受软件控制,并从脉宽信号的输出口P1.0或其他口输出脉宽可调信号;(3)由单片机控制外接定时/计数器(如8253)硬件电路产生脉宽调制信号,只需用两个计数器分别工作于方式1和方式2,通过硬件连接便可以产生脉宽调制信号;(4)软件延时模拟。其中,第一种是硬件电路实现,电路复杂。第二种使用定时器T0,但由于系统计数器不足,必须扩展。第三种是利用8253需要额外开销,所以我们选用软件延时非常方便,于是本系统选用了第四种方式进行PWM调制。4 系统硬件设计 硬件电路主要由八大块构成,分别是:复位电路、时钟电路、P0口上拉电阻电路、按键电路、LCD1602显示电路、DS18B20测温电路、电源电路、温度控制电路。4.1 复位电路 复位电路是单片机系统最基本的组成部分,可靠的复位设计是保证系统可靠运行的前提。单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。复位电路可以用很多方法来实现,但是从功能上一般分为两种:一种是电源复位,即外部的复位电路在系统通上电源之后直接使单片机工作,是用电源来控制单片机的开始与停止;另外一种是按键复位,就是在复位电路中设计按键开关,通过按键开关触发复位电平,控制单片机的复位。经过比较,本设计采用电源复位,设计电路如图2所示。 图2 单片机复位电路4.2 时钟电路时钟是单片机内部电路工作的基础,也是CPU工作时序的时间基准。时钟电路用于产生单片机工作所需的时钟信号。单片机内部有一个高增益反相放大器,用于构成振荡器。其输入端接至单片机的内部,即XTAL1引脚,其输出端接至单片机的外部,即XTAL2引脚。在XTAL1和XTAL2两端跨接一个晶振,两个电容,构成一个稳定的自激式振荡电路。电容C1、C2起稳定振荡频率、快速起振作用,容量的选择范围为530PF,通常选择30pF。振荡频率的选择范围为1.212MHz,本设计选择12MHZ,时钟周期为(1/12)s。如图3所示是单片机内部时钟方式的振荡电路。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。 图3 片机内部时钟电路4.3 P0口上拉电阻电路STC89C52单片机P0口内无上拉电阻,单片机对端口的输出是通过控制内部的场效应管导通或截止实现的,如果没有上拉电阻,虽然单片机输出1通过锁存器反相使场效应管截止,但单片机的端口还是无法得到高电平(输出0不影响),因此P0口处需加上拉电阻。如图4所示。 图4 P0口上拉电阻电路4.4 按键电路按键有二个,分别是S2和S3,其中S2作为加按键,S3作为减按键。通过两个按键,可以用来设定目标温度程序,加按按键和减按键,用来增加或者减少设定的目标温度。如图5所示。图5 按键电路4.5 LCD1602显示电路 LCD1602采用标准的16脚接口,字符型LCD通常有14条引脚线(市面上也有很多16条引脚线的LCD,多出来的2条线是电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样)。其中第3脚接一个10K的电位器可以用来调整液晶显示屏的对比度。其内部的驱动器为HD44100和控制器HD44780,都采用低功耗CMOS技术。采用并行8位数据线的传送方式,当然使用者也可以通过软件设计,使用四条数据线来控制液晶显示屏。目前市面上的字符型液晶绝大多数是基于HD44780液晶芯片的,所以控制原理是完全相同的,为HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。本系统液晶显示屏主要显示设定的目标温度和当前目标温度,如图6所示。图6 LCD1602显示电路4.6 DS18B20测温电路DS18B20是美国DALLAS半导体公司生产的单总线数字温度传感器,它可以实现数字化的输出和测试。每一个DS18B20包含一个唯一的64位长的序号,该序号值存放在DS18B20内部的ROM(只读存储器)中。DS18B20的1管脚接地,2管脚为数字输入/输出脚需要连接上拉电阻到电源并接至单片机端口,3管脚接电源。如下图7所示。图7 测温电路4.7 电源电路单片机系统电源主要运用220V的电压通过电路来实现芯片所需的+12V电源。如图8所示,该电源电路主要通过变压器把220V电压降压,经电桥整流、电容C1滤波产生24V电压,再利用7805集成芯片稳压输出+12V直流电压。输入电容C1是用来改善纹波和抑制过电压,C2是用来改善负载瞬态响应。图8 电源电路4.8 温度控制电路本设计中采用PWM来控制温度,此模块电路是为调节温度的PWM脉冲设计的。单片机控制Q3有两种状态: 1.Q3的基极为高电平,PNP截止此时Q2由于基极有下拉电阻NPN也处于截止 ,Q1有4.7K上拉电阻Q1场效应管不导通,此时PTC不通电不加热 ;2.Q3基极为低电平,PNP导通,此时Q2也导通,场效应管也处于导通 PTC有电流处于加热状态。PWM脉冲主要是数字电路的0与1的表现,当脉冲为0时,Q3的PNP型三级管导通,由Q2电路可知Q2也会跟着Q3一起导通,这样场效应管就跟着导通接入12V电源PTC开始加热;当脉冲为1时Q3截止,由于Q2有下拉电阻于是Q2也跟随截止,导致场效应管断开,即PTC停止加热。当DB18B20所获得温度大于60度时,系统会减小加热时间使温度下降,直至低于60度时,系统会再次提高加热占空比使温度上升,使得系统维持在60度。此时,单片机产生一定占空比的PWM脉冲,就会使PTC功率控制在一定范围内处于恒温,也就是所谓的温度控制。如图9所示。 图9 温度控制电路5 系统软件设计 软件编写的语言一般情况下,有汇编语言和语言两种,两种语言各有优劣。 用语言编写程序的优点是:编写简单,容易上手,网上有许多已编写好的子程序,可以通过学习再结合自己想要实现的功能,从而编写相关的程序,因此开发程序所需时间也相对短。 而用汇编语言编写则相对要求高一些,它要求对硬件有足够的了解和认识,在此基础上,严格地对照各部件的时序图,进行程序的编写,而且读起来相对繁琐。 通过两种语言的比较,语言学起来很快,所以我选择采用C语言编写。5.1 PWM控制加热软件的主程序及流程图程序的最基本思路流程图如图10所示。开始欢迎画面初始化温度显示初始化,变量初始化,温度传感器初始化读取当前温度并通过LCD显示,并根据温度计算调整占空比判断当前温度是否小于目标温度根据当前温度与目标温度的差决定加热占空比开始按比例控制加热目标温度增加键是否按下目标温度增加并重新显示目标温度减少键是否按下目标温度减少并重新显示暂停时停止加热NYYYNN图10 主程序流程图/主函数void main()uint X1,X2,CT=0,XCT=0;Init1602(); /液晶初始化LCDdelay(10000);Display_T_Init();tmpchange(); NT=tmp();Display_T_Init();while(1) /无限期循环tmpchange(); /数字型温度传感器,温度转换,模拟信号转数字NT=tmp();Display_T(NT,MMT); / NT实际温度,MMT目标温度/控制加温X1=NT/10; / 因为温度放大了10倍,所以要除上10X2=MMT/10;if(X1X2) /如果实际温度3) /目标温度-实际温度3度if(X280) /目标温度-实际温度3度,目标温度大于80度CT=100; XCT=0;Else /目标温度-实际温度3度,目标温度小于80度CT=50;XCT=100;Else /目标温度-实际温度3度CT=50;XCT=100;LCDdelay(CT); /通过延时长度不同,来控制恒温;CT为加热时间,CT等于多少,就加热多少;如果CT=0,那么刚刚拉低,又拉高,等于没有加热,延时为0JR=1; /单片机P1.7口为高电平,不加热LCDdelay(XCT);/+if(K1=0) /按键1按下LCDdelay(100); /屏幕以s级的延迟while(K1=0); MMT=MMT+10; /目标温度加1度if(MMT=1210) /当目标温度加热到超过或等于121度时 MMT=0;/-if(K2=0) /按键2按下LCDdelay(100);while(K2=0);MMT=MMT-10; /目标温度减1度if(MMT=0xff00) /目标温度-10度MMT=1200;/目标温度为120度5.2 LCD1602显示子程序显示数据子程序的主要功能就是把测温后的结果经单片机处理完毕后显示在LCD液晶显示屏上。显示数据子程序流程图如图11所示。开始数据传送显示数据结束YN图11 显示数据子流程图/写命令void write_com(uchar com) LCDRS=0; /单片机P2.7为低电平 P0=com; LCDdelay(10); LCDEN=1; /单片机P2.6为高电平 LCDdelay(10); LCDEN=0; /单片机P2.6为低电平/写数据void write_data(uchar date) LCDRS=1; /单片机P2.7为高电平 P0=date; LCDdelay(10); LCDEN=1; /单片机P2.6为高电平 LCDdelay(10); LCDEN=0; /单片机P2.6为低电平/1602初始化void Init1602() uchar i=0; /定义一个i write_com(0x38);/屏幕初始化 write_com(0x0C);/打开显示 无光标 无光标闪烁 write_com(0x06);/当读或写一个字符是指针后一一位 write_com(0x01);/清屏 write_com(0x80);/设置位置 for(i=0;i16;i+) write_data(Init1i); /显示init1数组中的内容 write_com(0x80+40);/设置位置 /跳到下一行 for(i=0;i16;i+) write_data(Init2i); /显示init2数组中的内容 void Display_T_Init() uchar i=0; write_com(0x38);/屏幕初始化 write_com(0x0C);/打开显示 无光标 无光标闪烁 write_com(0x06);/当读或写一个字符是指针后一一位 write_com(0x01);/清屏 write_com(0x80);/设置位置 for(i=0;i16;i+) write_data(Init3i); /显示init3数组中的内容 write_com(0x80+40);/设置位置 /跳到下一行 for(i=0;i16;i+) write_data(Init4i); /显示init4数组中的内容 /温度显示void Display_T(uint T,uint JT)write_com(0x80+0x40+9);/设置位置 /加9表示空9格write_com(0x80+0x40+9);/设置位置 LCDdelay(10);write_data(0+T/1000); /显示千位write_data(0+T/100%10); /显示百位write_data(0+T/10%10); /显示十位write_data(.); /显示小数点write_data(0+T%10); /显示个位write_data(0xDF); /显示write_data(C); /显示“C”write_com(0x80+0x40+1);/设置位置 /加1表示空1格write_com(0x80+0x40+1);/设置位置 LCDdelay(10);write_data(0+JT/1000); write_data(0+JT/100%10);write_data(0+JT/10%10);write_data(0xDF);write_data(C);1602程序流程图如图12所示。图12 1602程序流程图/read a byte date 读一个字节 uchar tmpread(void) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tmpreadbit(); /读出的数据最低位在最前面,这样刚好/一个字节在 dat 里 dat=(j1); /将一个字节数据返回 return(dat); /write a byte to ds18b20 /写一个字节到 DS18B20 里 void tmpwritebyte(uchar dat) uint i; uchar j; bit testb; for(j=1;j1; if(testb) /write 1 DS=0; i+;i+; DS=1; i=8;while(i0)i-; else DS=0; /write 0 i=8;while(i0)i-; DS=1; i+;i+; /温度显示void Display_T(uint T,uint JT)write_com(0x80+0x40+9);/设置位置 /加9表示空9格write_com(0x80+0x40+9);/设置位置 LCDdelay(10);write_data(0+T/1000); /显示千位write_data(0+T/100%10); /显示百位write_data(0+T/10%10); /显示十位write_data(.); /显示小数点write_data(0+T%10); /显示个位write_data(0xDF); /显示write_data(C); /显示“C”write_com(0x80+0x40+1);/设置位置 /加1表示空1格write_com(0x80+0x40+1);/设置位置 LCDdelay(10);write_data(0+JT/1000); write_data(0+JT/100%10);write_data(0+JT/10%10);write_data(0xDF);write_data(C);5.3 LCD延时子程序 LCD延时程序流程图如图13所示。图13 LCD延时程序流程图/LCD延时void LCDdelay(uint z) /定义Z uint x,y; for(x=z;x0;x-) /延时多久,在括号里填一定的数值Z for(y=10;y0;y-); 5.4 数字式温度传感器DS18B20子程序 DS18B20程序流程图如图14所示。图14 DS18B20程序流程图/DS18B20 begin change 发送温度转换命令void tmpchange(void) dsreset(); /初始化 DS18B20 delaySS(1); /延时 tmpwritebyte(0xcc); /跳过序列号命令 tmpwritebyte(0x44); /发送温度转换命令 /get the temperature 获得温度uint tmp() float tt; uchar a,b; dsreset(); delaySS(1); /发送读取数据命令 tmpwritebyte(0xcc); tmpwritebyte(0xbe); /连续读两个字节数据 a=tmpread(); b=tmpread(); /two byte compose a int variable /两字节合成一个整型变量。 temp=b; temp=8; temp=temp|a; if(b=0xff) flag=1; temp=temp+1; /得到真实十进制温度值,因为 DS18B20 tt=temp*0.0625; /可以精确到 0.0625 度,所以读回数据的最低位代表的是 /0.0625 度。 /放大十倍,这样做的目的将小数点后第一位 temp=tt*10+0.5; /也转换为可显示数字,同时进行一个四舍五入操作。 /返回温度值 return temp; 5.5 PWM控制加热子程序PWM是调节脉冲波占空比的一种方式,占空比= On-time(脉冲的High时间)/脉冲的一个周期(On-time +Off-time)。Tsw(一周期)可以是开关周期,也可以是Fsw=1/Tsw的开关频率。占空比以及所对应的周期,是由温度传感器所测的实际温度与目标温度的差来决定的。所以,分区间讨论,其中JR为加热管脚,X1实际温度,X2目标温度,自然冷却时间为:(1-占空比)*周期。1.X13,X280 此时占空比为100%,周期为10000us (2)X2-X13,X280 此时占空比为1/3,周期为15000us (3)X2-X1=X2 占空比为0,周期不定,自然冷却。PWM加热程序流程图如图15所示。图15 PWM加热程序流程图 /控制加温X1=NT/10; /因为温度放大了10倍,所以要除上10X2=MMT/10;if(X1X2) /如果实际温度3) /目标温度-实际温度3度if(X280) /目标温度-实际温度3度,目标温度大于80度CT=100; XCT=0;Else /目标温度-实际温度3度,目标温度小于80度CT=50;XCT=100;Else /目标温度-实际温度3度CT=50;XCT=100;LCDdelay(CT); /通过延时长度不同,来控制恒温;CT为加热时间,CT等于多少,就加热多少;如果CT=0,那么刚刚拉低,又拉高,等于没有加热,延时为0JR=1; /单片机P1.7口为高电平,不加热LCDdelay(XCT);5.6 温度控制流程 在设计中使用PWM技术作为设计的核心技术,PWM原理是以一固定直流电压经过以一定频率打开与闭合的开关K,从而控制改变PTC上的电压。设当PTC接通时的最大电流为。开关开闭周期为T,每次闭合时间为t,则当占空比为D=t/T,PTC的平均电流为: (1)由(1)式可知,当T不变(即开关的开关频率固定)时,只要改变导通时间t,就可改变PTC两端的平均电流,从而改变PTC的加热温度。 PTC的发热强度基本上正比于通过PTC器件的电流,这说明在脉冲电流的平均电流与直流电流相同的条件下,PTC的发热效果一样。另外,用高幅值的脉冲电流驱动PTC,然后通过调节脉冲的占空比获得较合适的平均电流,这样可以降低功耗。因为当PTC工作在脉冲状态时,人会感觉到PTC的温度会结余高温与均值之间。因此,脉冲电流驱动PTC可比直接恒流驱动的PTC温度更高一些,即获得同样的加热强度,脉冲电流驱动方式比直流驱动方式所需要的平均电流值更小。对于PTC,如果采用脉冲电路驱动,其控制部分采用脉宽调制方式,与恒流控制方式相比,控制部分的控制效率会有比较大的提升,另外还可去掉限流电阻或减小其值。因此,从节能的角度出发,采用脉冲电源驱动方式更好。脉冲驱动方式是利用温度的惰性,采用重复向PTC器件通断供电的方式使之点亮。但采用这种驱动方式通常需考虑脉冲直流幅值的确定和重复频率的选择。要获得与直流驱动方式相当的发热强度,脉冲驱动电流的平均值应与直流驱动的电流值相同。如图16所示,平均电流是瞬间电流i的时间积分。对于矩形波,有 (2) (3)式中,为直流驱动电流值,为脉冲驱动电流平均值,为脉冲电流幅值,是占空比。为了使脉冲驱动方式下的平均电流与直流驱动电流相同,则需使其脉冲电流幅值满足: (4)可见脉冲驱动时,脉冲电流的幅值是直流驱动电路的电流幅值的倍。需注意驱动器件的工作频率,当频率超过一定范围,器件将无法正常工作,因为器件无法正常导通和关断。PTC的工作频率是10Hz到几KHz范围内。 图16 脉冲电流驱动电路设计中PWM信号经过Q3与Q2的基极连接到P沟道功率MOSFET IRF9540的栅极上。P沟道功率MOSFET的栅极驱动采用简单的二级放大作为驱动电路,以改善MOSFET的导通过程,减少驱动电源的功率。6 系统调试6.1 Keil软件 单片机开发中不但要有必要的硬件,而且要有相应的软件与之结合,此时Keil软件发挥着举足轻重的地位。随着单片机开发技术的不断发展,从汇编语言的普遍使用到高级语言开发的逐渐使用,单片机的开发软件也随之在发展着,与汇编语言相比,C语言在功能上、结构性、可维护性上有明显的优势,易学易用。Keil软件是目前最流行的开发MCS-51系列单片机软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。Keil C51标准C编译器为8051微控制器的软件开发提供了C语言环境, 同时保留了汇编代码高效,快速的特点。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,功能不断增强,生成的目标代码效率非常高。所以本设计选择Keil软件。6.2 Proteus软件Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,除了具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其特有的功能是,它的电路仿真是互动的,针对微处理器的应用,还可以直接在原理图的虚拟原型上编程,并实现软件源码级的实时调试。由此可见,Proteus软件功能强大,集电路设计、制版以及仿真等功能于一身,不仅可以对电路进行设计与分析,还可以对微处理器进行设计和仿真,是一款电子线路设计与仿真软件。所以Proteus软件是一个基于Pro-SPICE混合模型仿真器、完整的嵌入式系统软硬件设计仿真平台。 Proteus软件与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时,单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真,从某种意义上讲,弥补了实验和工程应用不能相结合的不足。 所以本设计采用的仿真软件是Proteus软件,通过它实现电路图的绘制,并与Keil软件进行相关的调试。6.3 仿真结果 将Keil软件成的.hex文件加载到单片机内,并在Proteus软件里仿真,会在液晶显示屏内看到温度显示,如图17所。其中60度是系统设定的默认温度,即目标温度;27度是DS18B20温度传感器的温度,即实际温度。在显示27度之前,会看到DS18B20温度传感器显示85度,85度的产生是由于温度传感器读取过快,还没有复位,但当运行一会之后温度传感器就会复位。 图17 仿真图6.4 调试结果 温度调节效果如下: (1)通电源,打开开关,液晶显示情况如图18所示,其中TO表示目标温度,NO表示实际温度。图18 通电后,液晶屏显示情况(2) 通电一段时间后,随着温度的上升,目标温度与实际温度的差大于3度,且目标温度是60度,此时占空比为1/3,周期为15000us。此时液晶显示情况,如图19所示。 图19 通电一段时间后,液晶屏显示情况 (3) 通电一段时间后,目标温度与实际温度的差小于等于3度,此时占空比为1/3,周期为15000us。此时液晶显示情况,如图20所示。图20 液晶显示情况(4)通过按键S2,将目标温度增至86度,且目标温度与实际温度的差大于3度,此时占空比为100%,周期为10000us。此时液晶显示情况,如图21所示。图21 液晶显示情况(5)通过按键S3,将目标温度减至80度,此时占空比为0,周期不定,自然冷却。此时液晶显示情况,如图22所示。图22 液晶显示情况7 小结 本次的毕业设计,我基本上实现了“基于单片机实现的PWM温度控制系统的设计”。从选择单片机,并在研究单片机的管脚性能基础上,设计出相应的电路;通过设计程序,调试程序,把设计的相应电路通过Proteus软件以及keil软件结合起来,达到实现系统功能的设计,在仿真的基础上,确立电路以及程序的正确性,其中不足的是,Proteus软件当中没有PTC热敏电阻元件,而是通过NTC热敏电阻元件替代,不能实现相应的温度动态显示,只能显示一下传感器DS18B20的温度,以及程序设定的默认温度60度,看不到相应的PWM控制加热的效果,看不到具体的温度上升;在仿真的基础上完成实物,通过实物看到了具体的温度上升显示,基本完成设计的要求,不足之处,本设计是选择通过软件延时模拟进行的脉宽调制以及与闭环系统结合,不能得到准确的频率值,进而不能算出固定的周期。从这次设计中,我学到很多知识,体会到理论联系实际的好处,充分锻炼了我的动手能力,提高了我的思维能力,专业知识更加完善,对自己今后的学习、工作都有很大的帮助。参考文献:1 孙立志.PWM与数字化电动机控制技术应用.北京.中国电力出版社,2008.2 刘昭斌.单片机控制的温度控制系统.兰州石化职业技术学院学报(综合版),1992.3 周志敏 周纪海 纪爱华等.驱动电路设计与应用.北京.人民邮电出版社,2006.4 求是科技.单片机典型模块设计实例导航. 人民邮电出版社,2004.8.5 周坚.单片机轻松入门.北京航空航天大学出版社,2004.2.6 沙占友 王彦朋 孟志永等.单片机外围电路设计.电子工业出版社,2003.7 何立民.单片机应用系统设计.北京航空航天大学出版社,1994.24-38.8 杨素行.模拟电子技术基础简明教程.高等教育出版社. 2003.9 邹应全.51系列单片机原理与实验教程.西安电子科技大学出版社,2007.12.10 陈明.一种数字可调的升压型开关电源的设计与实现.西部工控11 梁坤 胡鸿至等.基于单片机功能的数控恒流源研制.桂林电子科技大学.12 Alou P.Cobos J A.Uceda J, et a1.Design ofa low voltage DCDC converter for telecom application with a new scheme for selfdriven synchronous rectification.IEEE APEC,1999.13 PWM Temperature Controller for Thermoelectric Modules Keeps Components within 0.1,2002.14 张俊谟.单片机中级教程-原理与应用(第2版).北京航空航天大学出版社,2006.1015 楼然苗.51系列单片机设计实例.北京航空航天出版社,2003.3.16 周润景 张丽娜等.基于PROTEUS 的电路及单片机系统设计与仿真.北京航空航天大学出版社.致谢 在老师的细心指导下,我顺利完成了这次毕业设计。从刚开始选题到选方案再到定稿,老师给我提出了宝贵的意见,并提供了一些相关的参考资料。在这里我由衷的感谢我的指导老师!同时还要感谢帮助我的同学,是他们拓宽了我的视野,提升我对问题的思考度! 最后,向本论文的评审委员会的老师和专家们致谢! PWM control of heatingABSTRACTIntroduced to STC89C52 microcontroller as the core, the use of PWM technology and closed loop system to achieve automatic or manual temperature control system. DS18B20 collection system through the temperature-chip temperature signal and temperature signal sent to the microcontroller. Dealt with accordingly by the microcontroller, depending on the target temperature and the measured temperature dependence of the decision to stop heating the heating duty cycle high or high duty cycle to achieve closed-loop temperature control. LCD liquid crystal display system also joined the circuit, making the design more complete and more flexible. System can set the temperature via the keyboard, LCD displays set temperature value and the current temperature value.Keywords:STC89C52 single-chip microcomputer; temperature control; PWM; DS18B20; LCD liquid crystal display 附录附I 整体电路图学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 2011年6月2日
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 人文社科


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

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


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