anbo104.com提供各种规格硅碳棒/热电偶保护管
全国咨询热线:

硅碳棒电加热温度控制器的设计要点详解doc

来源:anbo104.com    发布时间:2023-12-05 09:46:08 人气:1 次

  本科毕业设计 题目:硅碳棒电加热温度控制器的设计 学 院: 信息科学技术学院 专 业: 电子信息工程(微电子) 学 号: 学生姓名: 指导老师: 职 称: 二 零 一 二 年 五 月 摘要 温度是工业生产以及科学实验中的重要参数之一。温度的控制在许多领域中都有着积极的意义。在很多行业中都有大量的用电加热设备,如硅碳棒等。采用单片机对其来控制不仅仅具备控制方便,简单,灵活性大等特点,而且还可以较大幅度的提高被控温度的技术指标,从而能够大大的提高产品的质量。所以,智能化的温度控制技术正在被广泛地采用。 本次课题即是针对高温控制管理系统-硅碳棒电加热温度控制器的设计进行的分析与设计,我们采用了以STC12C5A60S2单片机为主体,铂铑10-铂热电偶温度采集模块,温度设置模块,LCD液晶显示模块以及温度控制模块相搭配的控制管理系统。 本系统中单片机将采集到的温度与设定的温度作比较,由此来判定硅碳棒上是否继续加热。此外还加入了显示模块,将采集到的温度以及设定的温度进行实时显示,使得整个设计更加完整,灵活性更好。 关键词:硅碳棒 单片机 温度控制many areas temperature control have a positive significance.There are a large number of electric heating equipment in many industries , such as silicon carbide, using the micro controller to control the temperature not only has a convenient, simple, flexible features, but also can greatly improve the technical indexes of the accused temperature was charged , which can greatly improve the quality of the product. Therefore, intelligent temperature control technology is being widely adopted. This issue is for the analysis and design of high-temperature control system - silicon carbide electric heating temperature controller design, we have adopted STC12C5A60S2 micro controller as the main, platinum and rhodium - platinum thermocouple temperature acquisition module, the temperature setting module , LCD module and temperature control module with the control system. In the system, micro controller will compare the collected temperature and setting temperature , and thus to determine whether to continue heating the silicon carbide. In addition,the system joined the display module will be collected temperature and set temperature in real-time display, making the whole design is more complete and more flexible Key words:Silicon Carbide MCU Temperature Control 目录 摘要 1 第一章 前言 5 1.1 本文研究的目的和意义 5 1.2 系统实现的功能 5 1.3 设计的要求与方案 6 第二章 总体设计分析 7 2.1 组成框图 7 2.2 基本功能模块的简介 7 2.2.1 传感器温度采集 7 2.2.2 温度设置 8 2.2.3 LCD液晶显示 8 2.2.4 温度控制 8 第三章 硬件设计 10 3.1 主控系统 10 3.1.1 STC12C5A60S2单片机简介 10 3.1.2 最小应用系统模块 12 3.2 传感器温度采集模块 14 3.2.1 器件选型与简介 14 3.2.2 整个模块设计与分析 17 3.3温度设置模块 19 3.4 LCD液晶显示模块 19 3.4.1 器件选型与简介 19 3.4.2 整个模块设计与分析 25 3.5 温度控制模块 26 3.5.1 光耦器件选型与简介 26 3.5.2 可控硅器件选型及简介 26 3.5.3 整个模块设计与分析 27 第四章 软件设计 29 4.1 主程序设计 29 4.2 子程序部分 31 4.2.1 A/D转换程序 31 4.2.2 温度设置程序 39 4.2.3 LCD显示程序 41 4.2.4 PID温度控制程序 45 结束语 49 1 设计历程 49 2 设计特点 49 3 存在的问题和改进 50 4 展望和体会 50 致谢 51 参考文献 52 附录1(电路原理图及PCB图) 53 附录2(部分程序) 55 第一章 前言 1.1 本文研究的目的和意义 温度是对温度的控制效果直接影响到产品的质量及常规使用的寿命,因此,温度控制成为所有的领域中的一项关键技术,研究高性能的温度控制具备极其重大意义。 硅碳棒使用温度高,具有耐高温、抗耐、升温快、寿命长、高温变形小等特点,有良好的化学稳定性。与自动化电控系统配套,可得到精确的恒定温度,又可根据自身的需求按曲线自动调温。使用硅碳棒加热既方便,又安全可靠。现已大范围的应用于各类加热设备的电加热元件。 的重点是控温方面,定值开关温度控制法通过硬件电路或软件计算判别当前温度值与设定温度值之间的关系,进而对系统加热源进行通断控制。这种开关控温方法较简单,是当系统温度上升至设定点时关断电源当系统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致系统温度波动大,控制精度低不适于高精度温度控制PID控制器中引入了参数整定和自适应控制理论算法简单可靠性高等特点由于 PID 器模型中考虑了系统的误差误差变化误差积累三个因素,其控制性能优越于定值开关控温法。采用方法实现的温度控制器,其控制品质的好坏主要根据三个PID 参数即比例值积分值微分值。只要 PID 参数选取的正确,对于一个确定的受控系统,其控制精度比较令人满意。 的可靠性高、精度高、简单易操作、功耗低、成本低 1.2 系统实现的功能 设计基于STC12C5A60S2单片机的硅碳棒电加热温度控制器,用于控制温度。功能如下: 根据给定的温度,调节硅碳棒的控制电压,从而调节温度,实现温度的闭环控制。温度通过通讯方式传入系统,硅碳棒电源电压为220V,功率10kw,温度调节范围0~1300度采用计算机软件方法来PID 调节功能 温度采集:此部分是使用型号为WRP-130的铂铑10-铂热电偶为测温元件,再将其输出电压经过处理变送再经过电压跟随后,与STC12C5A60S2单片机中的A/D转换相配合,以此来实现对初始温度的采集; (2温度设置:此部分依靠四个拨盘与单片机配合实现对最终温度的设置; (3)LCD液晶显示部分:采用FYD12864-0402B液晶显示模块,对温度采集所得温度以及设定温度进行显示; (4)温度控制部分:此部分首先采用过零触发双硅输出光耦MOC3061实现对单片机及可控硅温度控制器的隔离功能;然后采用双向可控硅MAC97A6构成过零比较电路,与单片机配合,运用PID控制方式来控制正弦波导通的周期个数,以此来实现对温度的控制功能。 第二章 总体设计分析 2.1 组成框图 根据设计思想所要完成的功能,该硅碳棒电加热温度控制器采用单片机作为微处理单元来控制。其次由传感器温度采集电路,温度设置电路,LCD液晶显示电路以及温度控制电路组成。系统的组成框图如下图2.1所示。 ▲图 2.1 组成框图 2.2 基本功能模块的简介 2.2.1 传感器温度采集 测温电路的设计是采用型号为WRP-130的铂铑10-铂热电偶,其测温范围在0-1300度,精度在+/_2.4%,其具有稳定性很高,抗氧化性能强以及测量精度高等优点,可以较为准确的测温。利用其感温效应,把随被测气温变化的电压采集过来,将其经变送过后的信号送入电压跟随器后,传入STC12C5A60S2单片机中进行A/D转换,实现由模拟量到数字量的转换,再利用STC12C5A60S2单片机进行数据的处理,从而采集得到温度。 2.2.2 温度设置 通过用四个拨盘以及四个电阻连接STC12C5A60S2单片机,应用编程来设置要给定的四位数的温度。其中S1与单片机的一个I/O口连接,用软件编程,使其每按一下温度增加1度;S2也与单片机的一个I/O口连接,用软件编程,使其每按一下温度增加10度;S3也与单片机的一个的I/O口连接,用软件编程,使其每按一下温度增加100度;S4也与单片机的一个I/O口连接,用软件编程,使其每按一下温度增加1000度。 2.2.3 LCD液晶显示 采用FYD12864-0402B液晶显示模块,该液晶模块每屏可显示4行8列共32个16*16点阵的汉字,每个显示RAM可显示1个中文字符或2个16*8点阵全高ASCII字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。在本系统中,利用该模块与单片机进行相连,对其进行编程使用,用来显示温度采集所得温度以及温度设置给定的四位数的温度。 2.2.4 温度控制 温度控制是本系统的关键,而此部分的重点是可控硅,我们采取了温度 ▲图3.1 STC12C5A60S2引脚图 3.1.2 最小应用系统模块 目前的单片机开发系统只能够仿真单片机,却没有给用户更好的提供一个通用的系统。由设计的要求,只要做很小集成度的系统应用在一些小的控制单元。其基本的应用特点包括以下几点: 全部I/O口线均可供用户使用; 内部存储器容量有限; 应用系统开发具有特殊性。 ▲图3.2 最小系统图 单片机最小系统如图3.2所示,其中有4个双向的8位并行I/O端口,分别记作P0、P1、P2、P3,都能够适用于数据的输出和输入,P3口具有第二功能,为系统提供一些控制信号。时钟电路用于产生单片机工作所必须的时钟控制信号,内部电路在时钟信号的控制下,严格地按照时序指令工作。单片机内部有一个用于构成振荡的高增益反向放大器,该高增益反向放大器的输入端为芯片的引脚XTAL1,输出端为芯片的引脚XTAL2。这两个引脚跨接石英振荡器和微调电容,这就构成了一个稳定的自激振荡器。电路中的石英振荡器通常选振荡频率为11.0592MHz的。微调电容通常选用两个22pf的,该电容的大小会影响振荡器频率的高低,振荡器的稳定性以及起振的快速性。 复位电路是单片机的一个重要的工作方式,该电路一般是由外部的复位电路来实现的。在单片机应用系统工作时,复位电路除了使系统正常的初始化以外,当由于程序运行出错或操作错误使系统处于死锁状态时,为了要摆脱该死锁状态,也需要用之来重新再启动。复位电路通常用这几种方式,包括上电自动复位、按键电平复位以及系统复位这三种方式。在本最小系统中,STC12C5A60S2单片机的复位采用最简单的上电复位的方式,高电平有效。R5和C3构成的微分电路,在接电的瞬间产生一个微分脉冲,其宽度大于两个机器周期,则单片机复位。为保证微分脉冲宽度足够大,R5、C3的时间常数应大于两个机器周期,所以电容取10UF,电阻取10K。 3.2 传感器温度采集模块 3.2.1 器件选型与简介 本系统测量的温度范围较广,所以选用了热电偶为贵金属热电偶。其正极(SP)的化学成分为铂铑合金,其中含铑为10%,含铂为90%,负极(SN)为纯铂,故俗称单铂铑热电偶。在热电偶系列中具有准确度最高稳定性最好测温温区常规使用的寿命长等优点。它的物理化学性能好,热电势稳定性在高温下抗氧化性能好,适用于氧化性和惰性气氛中具有优良的综合性能长期最高使用温度为1300℃, ▲图3.4 HA17358引脚图 在得到模拟信号以后有必要进行A/D转换,所谓A/D转换器即为模拟/数字转换器(Analog to Digital Converter 简称ADC),是将输入的模拟信号转换为数字信号。在主控系统中,我们选取STC12C5A60S2单片机,而STC12C5A60S2单片机又是自带A/D转换的,所以我们不用再另外选取A/D转换器。 下面对STC12C5A60S2单片机中的A/D转换功能进行介绍。 STC12C5A60S2单片机的A/D转换口在P1口(P1.7 - P1.0),有8路10位高速A/D转换器,转换速度可达250K/S(每秒钟25万次)。 STC12C5A60S2单片机ADC(A/D转换器)的结构如图3.6所示。 ▲图3.6 ADC结构图 当AUXR.1/ADRJ=0时,A/D转换结果寄存器格式如下: ADC_B9 ADC_B8 ADC_B7 ADC_B6 ADC_B5 ADC_B4 ADC_B3 ADC_B2 ADC_RES[7:0] - - - - - - ADC_B1 ADC_B0 ADC_RES[1:0] 当AUXR.1/ADRJ=1时,A/D转换结果寄存器格式如下: ADC_RES[1:0] - - - - - - ADC_B9 ADC_B8 ADC_B7 ADC_B6 ADC_B5 ADC_B4 ADC_B3 ADC_B2 ADC_B1 ADC_B0 ADC_RES[7:0] STC12C5A60S2单片机的ADC由多路选择开关,比较器,逐层比较寄存器,10位DAC,转换结果寄存器(ADC_RES和ADC_RESL)及ADC_CONTR构成。 STC12C5A60S2单片机的ADC是逐层比较型的ADC。逐层比较型的ADC是由一个比较器和D/A转换器构成的,通过逐层比较,从最高位(MSB)开始,顺序地对每一个输入电压与内置的D/A转换器输出作比较,经过多次的比较,使得转换所得的数字量逐次逼近输入模拟量的对应值。逐次比较型的ADC具有速度高、功耗低等优点。 从上图3.6能够准确的看出,通过模拟多路开关,将通过ADC 0~7的模拟量输入送至比较器。用数/模转换器(DAC)转换的模拟量同本次输入的模拟量经过比较器作比较,将比较的结果保存到逐次比较器中,并且通过逐次比较寄存器输出其转换结果。在A/D转换结束后,最终的转换结果保存到ADC转换结果寄存器ADC_RES 和ADC_RESL中,与此同时,置位ADC控制寄存器ADC_CONTR中的A/D转换结束标志位ADC_FLAG,该位是用来供程序查询或发出中断申请的。模拟通道的选择控制是通过ADC控制寄存器ADC_CONTR中的CHS2~CHS0来确定的。ADC的转换速度是由ADC控制寄存器中的SPEED1和SPEED0来确定的。使用ADC之前,应该先给ADC上电,即置位ADC控制寄存器中的ADC_POWER位。 当ADRJ=0时,如果要取10位结果,则按下面公式计算: 10-bit A/D Conversion Result:(ADC_RES[7:0],ADC_RESL[1:0])=1024*Vin/Vcc 当ADRJ=0时,如果要取8位结果,则按下面公式计算: 8-bit A/D Conversion Result:(ADC_RES[7:0])=256*Vin/Vcc 当ADRJ=1时,如果要取10位结果,则按下面公式计算: 10-bit A/D Conversion Result:(ADC_RES[1:0],ADC_RESL[7:0])=1024*Vin/Vcc 式中,Vin为模拟输入通道的输入电压,Vcc为单片机的实际在做的工作电压,用单片机的工作电压作为模拟的参考电压。 3.2.2 整个模块设计与分析 温度采集电路如图3.3所示: ▲图3.3 温度采集电路 在本系统中直接将铂铑10-铂热电偶采集的电信号经变送后得到的0~5V的电压信号,送给一个电压跟随器,通过电压跟随器对信号进行隔离,改变输入输出电阻值,使阻抗得到匹配。此外电压跟随器还有效的提高了输入电阻值,降低了对输入的微小信号量的要求,它还减小了输出电阻值,提高了电路的负载能力。 在经过电压跟随器之后,得到的模拟信号有必要进行A/D转换,即为模拟/数字转换,将输入的模拟信号转换为数字信号。而STC12C5A60S2单片机是自带A/D转换的,A/D转换口在P1口(P1.7 - P1.0),有8路10位高速A/D转换器,转换速度可达250K/S(每秒钟25万次),所以不必另外选取A/D转换器。在本系统中,选用STC12C5A60S2的P1.1口,将其通过软件设置为A/D转换口,此内容将在第四章进行介绍。 3.3温度设置模块 ▲图3.7 键盘设置图 这里要给单片机设定的温度,所以选用了四个拨盘及四个4.7K的电阻连单片机的P2.0~P2.3口,通过编程来设置要给定的四位数的温度。 S1与P2.0口连接,用软件编程,使每按一下温度增加1度 S2与P2.1口连接,用软件编程,使每按一下温度增加10度 S3与P2.2口连接,用软件编程,使每按一下温度增加100度 S4与P2.3口连接,用软件编程,使每按一下温度增加1000度 如图3.7所示。 3.4 LCD液晶显示模块 3.4.1 器件选型与简介 在液晶显示部分,本系统将采用现成的FYD12864-0402B液晶显示模块对温度采集所得温度以及温度设置的四位数的温度进行显示。 FYD12864-0402B是一种具有4位或8位并行,2线线串行多种接口方式,且内部含国标一级/二级简体中文字库的点阵图形液晶显示模块。其显示的分辨率为128*64,内置有8129个16*16点汉字,以及128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单方便的操作指令,可以构成全中文人机交互图形界面。可以显示8*4行16*16点阵的汉字。同时也可完成图形显示。该显示模块有一显著特点,就是低电压低功率。将由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块作比较,不论是硬件电路结构还是显示程序都要简洁很多,且该模块的价格也稍低于相同点阵的图形液晶模块。 其基本特征有以下几点: 1. 低电源电压(VDD:+3.0 ~ +5.5V) 2. 显示分辨率:128*64点 3. 2MHZ时钟频率 4. 显示方式:STN,半透以及正显 6. 驱动方式:1/32DUTY,1/5BIAS 7. 通讯方式:串口、并口 8. 内置有128个16*8点阵字符 9. 内置有汉字字库,提供8129个16*16点阵汉字(简繁体均可) 10. 内置有DC—DC转换电路,无需外加负压 11. 无需片选信号,简化软件设计 12. 背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 13. 工作时候的温度:0~+55度;储存温度:-20 ~ +60度 其原理方框图如下图3.8所示。 ▲图3.8 FYD12864-0402B原理方框图 其串行接口管脚信号如下表3.1: 表3.1 FYD12864-0402B串行接口管脚表 管脚号 名称 LEVEL 功能 1 VSS 0V 电源地 2 VDD +5V 电源正(3.0V-5.5V) 3 V0 - 对比度(亮度)调整 4 CS H/L 模组片选端,高电平有效 5 SID H/L 串行数据输入端 6 CLK H/L 串行同步时钟:上升沿时读取SID数据 15 PSB L L:串口方式 17 /RESET H/L 复位端,低电平有效 19 A VDD 背光源电压+5V 20 K VSS 背光源负端0V 其并行接口管脚信号如下表3.2所示。 表3.2 FYD12864-0402B并行接口管脚表 管脚号 管脚名称 电平 管脚功能描述 1 VSS 0V 电源地 2 VCC 3.0-5.5V 电源正 3 V0 - 对比度(亮度)调整 4 RS(CS) H/L R/S=H,表示DB7-DB0为显示数据 R/S=L,表示DB7-DB0为显示指令数据 5 R/W(SID) H/L R/W=H,E=H,数据被读到DB7-DB0 R/W=L,E=H L ,DB7-DB0的数据被写到IR或DR 6 E(SCLK) H/L 使能信号 7 DB0 H/L 三态数据线 H/L 三态数据线 H/L 三态数据线 H/L 三态数据线 H/L 三态数据线 H/L 三态数据线 H/L 三态数据线 H/L 三态数据线 PSB H/L H:8位或4位并口方式,L:串口方式 16 NC - 空脚 17 /RESET H/L 复位端,低电平有效 18 VOUT - LCD驱动电压输出端 19 A VDD 背光源正端(+5V) 20 K VSS 背光源负端 下面对控制器的接口信号进行简要的说明: RS,R/W的配合选择决定控制界面的4种模式,如下表3.3所示。 表3.3 RS,R/W功能表 RS R/W 功能说明 L L MPU写指令到指令寄存器(IR) L H 读出忙标志(BF)及地址计数器(AC)的状态 H L MPU写入数据到数据暂存器(DR) H H MPU从数据暂存器(DR)中读出数据 E信号,其控制功能如下表3.4所示。 E状态 执行动作 结果 高 低 I/O缓冲 DR 配合W进行写数据或指令 高 DR I/O缓冲 配合R进行读数据或指令 低/低 高 无动作 表3.4 E信号的控制功能表 3. 忙标志:BF BF标志提供内部的工作情况。当BF=1时,表示模块在进行内部操作,此时的模块不接受外部指令和数据;当BF=0时,表示模块为准备状态,此时的模块随便什么时间都能接受外部指令和数据。 利用STATUS RD指令,可将BF读到DB7总线上,从而来检验模块的工作状态。 4. 字型产生ROM(CGROM) 字型产生ROM(CGROM)提供8129个此触发器,其用于模块屏幕显示开和关的控制。当DFF=1时,为开显示(DISPLAY ON),DDRAM的内容就显示在屏幕上;当DFF=0时,为关显示(DISPLAY OFF)。 DFF的状态,由指令DISPLAY ON/OFF和RST信号控制的。 5. 显示数据RAM(DDRAM) 模块内部显示数据RAM提供64*2个位元组的空间,最多能控制4行16字(64个字)的中文字型显示。当写入显示数据RAM时,可以分别显示CGROM与CGRAM的字型。此模块可显示三种字型,分别是HCGROM(ASCII码字库)、CGRAM(自定义字形)及CGROM(中文字型)。这三种字型的选择是由在DDRAM中写入的编码来选择的,在0000H—0006H的编码中(其代码分别是0000、0002、0004、0006,共4个),将选择CGRAM的自定义字型,在02H—7FH的编码中将选择ASCII码字的字型,而A1以上的编码将会自动结合下一个位元组,组成两个位元组的编码,形成中文字型的编码BIG5(A140—D75F),GB(A1A0—F7FFH)。字符显示RAM在液晶模块中的地址80H~9FH。字符显示的RAM的地址与32个字符显示区域有一一对应的关系,其对应关系如下表3.5所示。 表3.5 字符显示的RAM的地址与32个字符显示区域的对应关系表 80H 81H 82H 83H 84H 85H 86H 87H 90H 91H 92H 93H 94H 95H 96H 97H 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH 地址计数器AC 地址计数器AC,用来贮存DDRAM/CGRAM之一的地址,它可以由设定指令暂存器来改变,而之后只要读取或者写入DDRAM/CGRAM的值时,地址计数器的值就会自动的加一,当RS为“0”、R/W为“1”时,地址计数器的值就会被读取到D86—D80中。 7. 光标/闪烁控制电路 此模块提供硬体光标以及闪烁控制电路,通过地址计数器的值来指定DDRAM中的光标或者闪烁的位置。 3.4.2 整个模块设计与分析 ▲图3.11 液晶显示与单片机的接口电路图 如图3.11所示是FYD12864-0402B液晶显示与单片机的接口电路图。本系统选用的是FYD12864-0402B的并行接口。FYD12864-0402B每屏可显示4行8列共32个16*16点阵的汉字,每个显示RAM可显示1个中文字符或2个16*8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。将FYD12864-0402B液晶显示模块与单片机相连,通过软件编程来显示传感器采集所得到的温度以及设定的温度。 3.5 温度控制模块 3.5.1 光耦器件选型与简介 光耦合器(Optical Couple,英文缩写为OC)亦称光电隔离器,简称光耦。其以光为媒介传输电信号,对输入、输出电信号有良好的隔离作用。其主要的优点包括:信号单向传输,输入端与输出端完全实现了电气隔离,输出信号对输入端无影响,且抗干扰能力强,工作稳定,无触点,常规使用的寿命长,传输效率高等。 在本系统中,选用MOC3061,为过零检测双向可控硅输出光电合器,新型的光电耦合器件通态电流100ma,触发电流15ma,峰值电压600V,隔离电压7.5KV,工作时候的温度-40~85℃双6脚用于驱动双向晶闸管不但具有隔离功能而且还可用于输出通道作为开关器件使用用直流低电压、小电流来控制交流高电压、大电流。可用于115/240V交流电源下的带有可控硅驱动的逻辑接口电路耐压高,具有过零关断功能,用来控制大功率可控硅的开关具有结构相对比较简单、成本低、触发可靠等优点。 ▲图3.8 MOC3061引脚图 3.5.2 可控硅器件选型及简介 双向可控硅是一种功率半导体器件,也称双向晶闸管。在单片机控制管理系统中,可当作功率驱动器件。一般双向可控硅接通的都是一些功率较大的用电器,且连接在强电网络中。其触发电路的抗干扰问题很重要,所以通常是通过光电耦合器将单片机控制管理系统中的触发信号加载到可控硅的控制极。为了减小驱动功率及双向可控硅触发时产生的干扰,交流电路双向可控硅的触发常采用过零触发电路。过零触发即指在电压为零或零的瞬间接通。 在本系统中,选用型号为BTB12-600B的双向可控硅。其主要用途在:变频电路,调光,调温,调光等控制电路。其主要参数有:通态平均电流IT(RMS)为12A,通态浪涌电流ITSM为120A,正向耐压VDRM600V,反向耐压VRRM600V,触发电流IGT(I/II/III/IV)50/50/50/100mA,通态压降VTM1.55V(ITM=17A),触发电压VGT=1.5V,结温为125度,其管脚排列为T1-T2-G。管脚图如图3.9所示。 ▲图3.9 BTB12-600B管脚图 3.5.3 整个模块设计与分析 ▲图3.10 温度控制电路图 如图3.8所示,图中光电耦合双向可控硅驱动器MOC3061,是用来驱动双向可控硅(BCR)BTB12-600B的,并且也起到隔离的作用。R7为触发限流电阻,R8为双向可控硅门极电阻,有防止误触发,提高抗干扰能力等作用。当单片机STC12C5A60S2的P1.0引脚输出负脉冲信号时,MOC3061导通,触发双向可控硅导通,接通交流负载。如果双向可控硅接感流负载时,由于电源电压超前负载电流一个相位角,所以,当负载交流为零时,电源电压为反向电压,此外,再加上感性负载自感电动势的作用,使双向可控硅承受的电压值要远超于电源电压。虽然双向可控硅是反向导通的,但是也容易击穿,所以必须使双向可控硅能承受这种反向电压。所以,一般在双向可控硅两级间并联一个RC阻容吸收电路,即C6与R9,以此实现双向可控硅的过电压保护。 第四章 软件设计 4.1 主程序设计 主程序是系统的监控程序。在程序运行的过程中,主程序的任务是首先对系统来进行初始化,包括按键程序以及各个端口的初始化工作,以实现参数输入,并控制硅碳棒电加热器的正常运行。在初始化完成后就进行温度数据采集及处理,以及智能控制等部分。其中温度数据采集及处理最重要的包含实时采集的温信号,计算出实际温与值的差值以及温差的变化率,并对温信号做处理。 ▲图4.1 主程序流程图 4.2 子程序部分 4.2.1 A/D转换程序 本设计是将模拟信号转换成数字信号,温度经过处理后转换成电压信号,进入单片机进行A/D转换后成数字量。其中温度范围的计算原理为:每个温度对应一个电压值。在0~1300度的温度范围内,电压范围在0~5V的范围内,随着温度的增长,电压呈现接近线性状态的增长,即可计算出温度。 下面对与STC12C5A60S2单片机的A/D转换相关的寄存器进行简要的介绍。 相关的寄存器列于下表4.1。 表4.1 A/D转换相关寄存器 符号 描述 地址 位地址及其符号 MSB LSB 复位值 P1ASF P1 Analog Function Configure register 9DH P17ASF P16ASF P15ASF P14ASF P13ASF P12ASF P11ASF P10ASF 0000 0000B ADC_CONTR ADC Control Register BCH ADC_POWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0 0000 0000B ADC_RES ADC Result high BDH 0000 0000B ADC_RESL ADC Result low BEH 0000 0000B AUXR1 Auxiliary register 1 A2H - PCA_P4 SPI_P4 S2_P4 GF2 ADRJ - DPS X000 00X0B IE Interrupt Enable A8H EA ELVD EADC ES ET1 EX1 ET0 EX0 0000 0000B IP Interrupt Priority Low B8H PPCA PLVD PADC PS PTI PX1 PT0 PX0 0000 0000B IPH Interrupt Priority High B7H PPCAH PLVDH PADCH PSH PT1H PX1H PT0H PX0H 0000 0000B 1. P1口模拟功能控制寄存器P1ASF STC12C5A60S2单片机的A/D转换通道与P1口(P1.7—P1.0)复用,上电复位后P1口为弱上拉型I/O口。我们大家可以通过软件设置将8路中的任何一路设置为A/D转换,不需要作为A/D转换使用的P1口则能够继续作为I/O口使用。需要作为A/D使用的口应先将P1ASF特殊功能寄存器中的相应位置1,将相应的口设置为模拟功能。P1ASF寄存器的格式如下: PIASF:P1口模拟功能控制寄存器(该寄存器为只写寄存器,读无效)。其介绍如下表4.2所示。 表4.2 PIASF格式 SFR name Address bit B7 B6 B5 B4 B3 B2 B1 B0 P1ASF 9DH name P17ASF P16ASF P15ASF P14ASF P13ASF P12ASF P11ASF P10ASF 当P1口中的相应位作为A/D使用时,要将P1ASF中的相应位置1。其选择功能如下表4.3所示。 表4.3 P1ASF设计功能 P1ASF[7:0] P1.x的功能 其中P1ASF寄存器地址为:[9DH](不可以进行位寻址) P1ASF.0=1 P1.0口作为模拟功能A/D使用 P1ASF.1=1 P1.1口作为模拟功能A/D使用 P1ASF.2=1 P1.2口作为模拟功能A/D使用 P1ASF.3=1 P1.3口作为模拟功能A/D使用 P1ASF.4=1 P1.4口作为模拟功能A/D使用 P1ASF.5=1 P1.5口作为模拟功能A/D使用 P1ASF.6=1 P1.6口作为模拟功能A/D使用 P1ASF.7=1 P1.7口作为模拟功能A/D使用 2. ADC控制寄存器ADC_CONTR 其格式如下表4.4所示: 表4.4 ADC控制寄存器格式 SFR name Address bit B7 B6 B5 B4 B3 B2 B1 B0 ADC_ CONTR BCH name ADC_ POWER SPEED1 SPEED0 ADC_ FLAG ADC_ START CHS2 CHS1 CHS0 ADC_POWER:ADC电源控制位。当为0时:关闭A/D转换器电源; 当为1时:打开A/D转换器电源。 进入空闲模式前,最好将ADC电源关闭,即ADC_POWER=0。在启动A/D转换之前一定要确认A/D电源已经打开,A/D转换结束后关闭A/D电源,能够更好的降低功耗,也可以不关闭。初次打开内部A/D转换模拟电源,有必要进行适当的延时,等到内部模拟电源稳定后,再启动A/D转换。 SPEED1,SPEED0:模数转换器转换速度控制位。其功能如下表4.5所示。 表4.5 SPEED1,SPEED0的功能 SPEED1 SPEED0 A/D转换所需时间 1 1 90个时钟周期转换一次,CPU工作频率21MHZ时,A/D转换速度约250KHZ 1 0 180个时钟周期转换一次 0 1 360个时钟周期转换一次 0 0 540个时钟周期转换一次 STC12C5A60S2单片机的A/D转换模块使用的时钟是内部R/C振荡器所产生的系统时钟,而不使用时钟分频寄存器CLK_DIV对系统时钟分频后所产生的,供给CPU工作所使用的时钟。其具有的好处是:可以让ADC用较高的频率工作,提高A/D的转换速度;同时能让CPU用较低的频率工作,降低系统的功耗。 ADC_FLAG:模数转换器结束标志位。当A/D转换完成后,ADC_FLAG=1,由软件清 0。不管是A/D转换完成后,由该位申请产生中断,还是由软件查询该标志 位A/D转换是否结束。当A/D转换完成后,ADC_FLAG=1,一定要由软件 清0。 ADC_START:模数转换器(ADC)转换启动控制位。当其设置为“1”时,开始做转 换,当转换结束后为0。 CHS2/CHS1/CHS0:模拟输入通道选择。其功能如下表4.6所示。 表4.6 CHS2/CHS1/CHS的功能 CHS2 CHS1 CHS0 Analog Channel Select (模拟输入通道选择) 0 0 0 选择P1.0作为A/D输入来用 0 0 1 选择P1.1作为A/D输入来用 0 1 0 选择P1.2作为A/D输入来用 0 1 1 选择P1.3作为A/D输入来用 1 0 0 选择P1.4作为A/D输入来用 1 0 1 选择P1.5作为A/D输入来用 1 1 0 选择P1.6作为A/D输入来用 1 1 1 选择P1.7作为A/D输入来用 在编程中需注意:由于是2套时钟,所以在设置ADC_CONTR控制寄存器后,要加4个空操作延时,这样才可以正确读到ADC_CONTR寄存器的值。这是因为在设置ADC_CONTR控制寄存器的语句执行后,要经过4个CPU时钟延时,只有这样其值才可能正真的保证被设置进入ADC_CONTR控制寄存器。 3. A/D转换结果寄存器ADC_RES和ADC_RESL 特殊功能寄存器ADC_RES以及ADC_RESL寄存器用于保存A/D转换结果,其格式如下表4.7所示: 表4.7 A/D转换结果寄存器格式 Mnemonic Add Name B7 B6 B5 B4 B3 B2 B1 B0 ADC_RES BDh A/D转化结果寄存器高 ADC_RESL BEh A/D转换结果寄存器低 AUXR1 A2H Auxiliary register1 - PCA_P4 SPI_P4 S2_P4 GF2 ADRJ - DPS AUXR1寄存器的ADRJ位是A/D转换结果寄存器(ADC_RES、ADC_RESL)的数据格式调整控制位。 当ADRJ=0时,10位A/D转换结果的高8位存放在ADC_RES中,而低2位则存放在ADC_RESL的低2位中。 其存放方式如下表4.8所示。 表4.8 ADRJ=0时结果的存放方式 Mnemonic Add Name B7 B6 B5 B4 B3 B2 B1 B0 ADC_RES BDh A/D转化结果寄存器高8位 ADC_RES9 ADC_RES8 ADC_RES7 ADC_RES6 ADC_RES5 ADC_RES4 ADC_RES3 ADC_RES2 ADC_RESL BEh A/D转换结果寄存器低2位 - - - - - - ADC_RES1 ADC_RES0 AUXR1 A2H Auxiliary register1 ADRJ=0 此时,若用户需要取完整的10位结果,则按下面公式计算: 10—bit A/D转换器结果(ADC_RES[7:0],ADC_RESL[1:0])=1024*Vin/Vcc 如果用户只需要取8位结果,则按下面公式计算: 8—bit A/D转换器结果(ADC_RES[7:0])=256*Vin/Vcc 式中,Vin为模拟输入通道的输入电压,Vcc为单片机的实际工作电压,把单片机的工作电压作为模拟的参考电压。 当ADRJ=1时,10位A/D转换结果的高2位存放在ADC_RES的低2位中,而低8位则存放在ADC_RESL中。 表4.9 ADRJ=1时结果的存放方式 Mnemonic Add Name B7 B6 B5 B4 B3 B2 B1 B0 ADC_RES BDh A/D转化结果寄存器高2位 ADC_RES9 ADC_RES8 ADC_RESL BEh A/D转换结果寄存器低8位 ADC_RES7 ADC_RES6 ADC_RES5 ADC_RES4 ADC_RES3 ADC_RES2 ADC_RES1 ADC_RES0 AUXR1 A2H Auxiliary register1 ADRJ=1 此时,如果用户要取完整的10位结果,则按下面公式计算: 10—bit A/D转换器结果(ADC_RES[1:0],ADC_RESL[7:0])=1024*Vin/Vcc 式中,Vin为模拟输入通道的输入电压,Vcc为单片机的实际在做的工作电压,把单片机的工作电压作为模拟的参考电压。 与A/D中断有关的寄存器 IE:中断允许寄存器(可位寻址)。其格式如下表4.10所示。 表4.10 中断允许寄存器格式 SFR name Address bit B7 B6 B5 B6 B3 B2 B1 B0 IE A8H name EA ELVD EADC ES ET1 EX1 ET0 EX0 EA:CPU的中断开放标志。当EA=1时,CPU开放中断;当EA=0时,则CPU屏蔽所有 的中断申请。 EA的作用是使中断允许形成多级控制。各中断源首先受到EA的控制,然后还要受 到各中断源自己的中断允许控制位控制。 EADC:A/D转换中断允许位。当EADC=1时,允许A/D转换中断;当EADC=0时,禁 止A/D转换中断。 如果要允许A/D转换中断,则需将相应的控制位置1: 将EADC置1,则允许ADC中断,其为ADC转换的中断控制位。 将EA置1,打开单片机的总中断控制位。如果此位不打开,也是没办法产生ADC中断的。 在A/D中断服务程序中,要用软件清0。A/D中断请求标志位ADC_FLAG,该位也是 A/D转换结束标志位。 IPH:中断优先级控制寄存器高(不可位寻址)。其格式如下表4.11所示。 表4.11 中断优先级控制寄存器高格式 SFR name Address bit B7 B6 B5 B6 B3 B2 B1 B0 IPH B7H name PPCAH PLVDH PADCH PSH PT1H PX1H PT0H PX0H IP:中断优先级控制寄存器低(可位寻址)。其格式如下表4.12所示。 表4.12 中断优先级控制寄存器低格式 SFR name Address bit B7 B6 B5 B4 B3 B2 B1 B0 IP B8H name PPCA PLVD PADC PS PT1 PX1 PT0 PX0 PADCH,PADC:A/D转换中断优先级控制位。 当PADCH=0且PADC=0时,A/D转换中断为最低优先级中断(优先级0) 当PADCH=0且PADC=1时,A/D转换中断为较低优先级中断(优先级1) 当PADCH=1且PADC=0时,A/D转换中断为较高优先级中断(优先级2) 当PADCH=1且PADC=1时,A/D转换中断为最高优先级中断(优先级3) STC12C5A60S2单片机的A/D转换流程图如下图4.2所示。 N Y ▲图4.2 A/D转换流程图 4.2.2 温度设置程序 键盘是人与微机打交道的主要设备。在本次设计中,设定温度采用4个拨盘的方式给定。这四个键分别代表,个,十,百,千位,由程序给定。 在本系统的键盘设置中,键闭合和键释放的信息获取,键抖动的消除,键值的查找以及一些保护的方法的实施等任务,都是由软件来实现完成的。本键盘设置的键输入程序应该完成的任务有:(1)监测有无键按下:键的闭合与否,反映在电压上呈现高电平或低电平,所以通过电平的高低状态来进行仔细的检测,即可确认按键是否按下;(2)判断是哪个键按下;(3)完成按键的任务。 按键的触点在闭合和断开时都会产生抖动,这时触点的逻辑电平是不稳定的。所以这里采用采用软件延时的方法避开抖动,这一延时程序一般是大于5ms的。在第一次检测到有键按下时,执行一段延时子程序,再确定电平是否仍就保持闭合状态电平,如果保持,则确实有键按下。这种软件延时的方法很切实可行的消除了软件抖动的影响。键盘子程序流程图如图4.3所示。 Y N Y Y N N Y N Y N ▲图4.2 温度设置子程序流程图 4.2.3 LCD显示程序 在本系统中,采用FYD12864-0402B液晶显示模块。 该模块控制芯片提供两套控制命令,基本指令和扩充指令如下: 基本指令(当RE=0时)的指令表如下表4.13所示。 表4.13基本指令表 指令 指令码 功能 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 清除显示 0 0 0 0 0 0 0 0 0 1 将DDRAM填满20H,并设定DDRAM的地址计器(AC)00H 地址归位 0 0 0 0 0 0 0 0 1 X 设定DDRAM的地址计数器(AC)到00H,并且将游标移到开头原点位置:这个指令不改变DDRAM的内容 显示状态开/关 0 0 0 0 0 0 1 D C B D=1:整个显示0N C=1:游标0N B=1:游标位置反白允许 进入点设定 0 0 0 0 0 0 0 1 I/D S 指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位 游标或显示移位控制 0 0 0 0 0 1 S/C R/L X X 设定游标的移动与显示的移位控制位;这个指令不改变DDRAM的内容 功能设定 0 0 0 0 1 DL X RE X X DL=0/1:4/8位数据 RE=1:扩充指令操作 RE=0:基本指令操作 设定CGRAM地址 0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 设定CGRAM地址 设定DDRAM地址 0 0 1 0 AC5 AC4 AC3 AC2 AC1 AC0 设定DDRAM地址(显示位址) 第一行:80H-87H 第二行:90H-97H 读取忙标志和地址 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 读取忙标志(BF)可以确认内部动作是否完成,同时能读出地址计数器(AC)的值 写数据到RAM 1 0 数据 将数据D7-D0写入到内部的R

  原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者