文字说明部分1.信号采集电路本设计中采用的是R型铂铑13-铂热电偶,测温范围为-40℃~1600℃,输出热电势为0~18.849mv。由于本设计要求的测温范围最高值为1400℃,对应热电势输出为16.040mv,在电路设计时,按照最大输出为17mv来设计。热电偶测温电路的设计:热电偶产生的热电势是一种变化缓慢的直流信号,在设置滤波电路时,将30Hz以上的信号是为干扰,将其滤掉。选用的时RC滤波电路,根据公式f=1/(2∏RC)得到R=510欧姆,C=10uF。温度补偿电路选用的是铂电阻Pt100,并采用三线制接法消除导线电阻的影响。为抑制温漂,采用两个精密电阻串联的分压方式测出100欧姆精密电阻在17nv值时的变化,对测量值进行补偿。为克服零点漂移,采样电路还对零电势进行测量,补偿元器件的零点漂移。2.运算放大电路本设计选用的运放为AD627。AD627放大倍数为5~1000倍,并且内部集成一200K精密电阻,在使用时只需外接一个电阻。AD627温漂为10ppm/℃,衰减度为0.001,输出电压Vout=((Vin+)-(Vin-))*(5+200k/Rg)+Vref.本电路中电压要从17mv放大到5V,Vref=2V,故选用的外接精密电阻为1166.381,约取1.2K。3.V-F变换电路选用的V-F变换器是AD652。输入电压为0~10V,输出脉冲频率为0~2MHz但由于在电压达到10V时,输出脉冲频率的误差较大,故采用5V电压输入,1MHz频率输出。由于AD652没有控制门,且考虑到单片机的内部资源,采用8253对AD652的输出脉冲进行定时计数。对8253的0号定时器输入精确脉冲,用其定时;将AD652的输出脉冲接到8253的1号计数器,对输出地脉冲计数。在工作过程中8253采用中断方式。8253的0号定时器的OUT端接到单片机的INT1,当定时时间到时向51申请中断,0号和1号定时器的GATE端接单片机P1.7口,计时时间到时,0号OUT端输出低电平向单片机申请中断,P1.7口将输出高电平将计数器0和1封锁,P0口将计数值送读出,从而可算出温度值。精确的脉冲输入为12MHz的12分频,为1MHz。4.直流稳压电源本设计选用的时5V直流稳压电源,稳压芯片为7805和7905,7805和7905的输入端电压为7.5V到45V,为防止电网电压波动,变压器选取时应保证稳压片输入端电压大于等于7.5V。不妨当电网电压为200V时,变压器二次侧电压为9V,则变压器原副线圈匝数比为22:1。此时当电网电压为250V时,二次侧电压为11V,加到7805的电压为8.04V,7805能稳定工作,故该匝数比可取。由于电源选的是双极性,故匝数比为11:1。5.保护电路:光电隔离为防止前段测温电路有可能产生的高压对控制电路的损坏,在VF变换器AD652与计数器8253之间采用光电隔离。本设计选用的光电隔离芯片为6N137。6N137光耦合器是一款用于单通道的高速光耦合器,其内部有一个850nm波长AlGaAsLED和一个集成检测器组成,其检测器由一个光敏二极管、高增益线性运放及一个肖特基钳位的集电极开路的三极管组成。具有温度、电流和电压补偿功能,高的输入输出隔离,LSTTL/TTL兼容,高速(典型为10MBd),5mA的极小输入电流。工作参数:最大输入电流,低电平:250uA最大输入电流,高电平:15mA最大允许低电平电压(输出高):0.8v最大允许高电平电压:Vcc最大电源电压、输出:5.5V扇出(TTL负载):8个(最多)工作温度范围:-40°Cto+85°C需要注意的是,在6N137光耦合器的电源管脚旁应有—个0.1uF的去耦电容。在选择电容类型时,应尽量选择高频特性好的电容器,如陶瓷电容或钽电容,并且尽量靠近6N137光耦合器的电源管脚;另外,输入使能管脚在芯片内部已有上拉电阻,无需再外接上拉电阻。6N137光耦合器的使用需要注意两点:第一是6N137光耦合器的第6脚Vo输出电路属于集电极开路电路,必须上拉一个电阻;第二是6N137光耦合器的第2脚和第3脚之间是一个LED,必须串接一个限流电阻。6.数码管显示电路本设计中的显示采用七段数码管动态显示,选用的数码管是共阴极数码管。动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但那个数码管会显示出字形这取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。在轮流显示过程中,每位数码管的点亮时间为循环总时间的1/5,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。数码管显示电路要显示四路温度值,三路热电偶信号采用五位数码显示,一路温度补偿信号采用四位数码显示。由于显示电路采用动态显示,为减小数码管的灭的占空比,采用四路同时显示方式,即在每路数码管前加一路锁存器74HC573,先将要显示的字码送到锁存器,当四路锁存器都存满后,再选通位码,其中四路数码管排成一个数码管阵列,相同列的数码管的位选线接到相同的I/O端口上。数码管阳极端接到74LS573的输出端,通过锁存器驱动,阴极端采用URL2003进行驱动。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。电路的特点如下:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。74HC573是高性能硅门CMOS器件,器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。芯片性能:输出能直接接到CMOS,NMOS和TTL接口上;操作电压范围:2.0V~6.0V;低输入电流:1.0uA;CMOS器件的高噪声抵抗特性。本设计中为节约单片机的I/O端口,在数据传输设计上采用串口传输,采用74LS164将串行数据转换后送到数码管进行显示。由于显示的路数比较多,在对数据进行传输时,使用74HC573锁存器对数据进行锁存,待显示阵列的同一列数据都进入锁存器后,选通该路数码管,将数据显示。7.键盘电路本设计中的参数设定及调整采用6按键键盘。排列为3个一行共两行。其功能如图:。其中M代表菜单键,通过该键可以选择所要调整的参数所在的菜单项,参数设定好后,该键当做确认键;D键是退出键,在参数设定好后按M键确认,在按D键退到上一菜单;《键是向左选择要调整的参数,》键是向左选择需要调整的参数;最后一组按键是调整参数的大小,第一行按键是将参数调大,另一个是将参数调小。键盘电路还使用了MAX6818芯片来防止因电路抖动引起的错误信号。MAX6818能采用延迟再判断的方法去除电路中产生的抖动。8.掉电保护电路为防止因电源断电而造成的信息丢失,设计的掉电保护电路目的是在断电前让单片机对现场进行保护。掉电保护电路是由电源的滤波电容之后采用电阻分压形式得到一大约+2V电压送到单片机中的外部中断0口,为防止电压波动而引起的单片机的损坏,在分压后的电路中接入一+2.5V稳压管保护电路正常工作。当电网突然断电时,该电路的输出就会保持在一低电平,从而引起单片机中断,让单片机保护现场;另一方面,该低电平信号还用于控制显示模块与执行模块的锁存器选择端OE,当低电平时,所有锁存器都不被选中,显示电路与执行电路都立即停止工作,电源中剩余的电量全部用于单片机保护现场之用。9.I/O端口分配P0.0~P0.7温度信号数据输入端INT1计数器定时时间到P1.0~P1.3,P2.0键盘接口RD,WD计数器读写控制P1.4~P1.6多路开关选择端P2.1~P2.4译码器数据端P1.7计数器门端控制(控制该路计数器是否工作)P2.5~P2.7计数器内存单元,片选选择端RXD串行数据输出TXD164脉冲输出INT0掉电保护中断检测10.执行电路采用分立开关元件控制电路是否工作。加热炉选用的炉丝功率为2KW,电路中的电流为10,加热温度为1450℃,故所选用的开关器件的最大工作电流为20A,工作电压为220V,开关电路采用光控可控硅MOC3083驱动P-MOSFET实现。11.系统流程图(1).采样流程图开始I/O端口初始化选通多路开关采完一遍N=7?申请定时器T0中断退出程序YN(2).计数器中断流程图计数器、定时器初始化送入初值定时时间到?启动计数器、定时器申请中断(INT0)NY开始把定时器1的计数值送出退出程序(3).PID算法输入R(k)计算E(k)=R(k)—M(k)()[()2(1)(2)]DDPkKEkEkEk计算()[()2(1)(2)]DDPkKEkEkEk计算()()IIPkKEk计算()[()(1)]PpkKpEkEk计算()()()PIDPPkPkPk(k)=()()()PIDPPkPkPk(k)=(2)(1),(1)()EkEkEkEk(2)(1),(1)()EkEkEkEk增量式PID控制算法流程图R3地址内容加一PID控制程序(增量型)返回(4).掉电保护关计数器调用当时温度数据将数据写入EEPROM保存结束开始(5).键盘子程序开始键盘I/O端口初始化检测键值检测是否有键按下?延时10ms检测是否有键按下?2#键增大设定值3#键减小设定值4#键左移设定位5#键右移设定位1#键menu6#键退出设定退出子程序(6).显示子程序开始初始化I/O端口将3路温度值送出3路温度值刷新?退出程序YN(7).主程序开始寄存器初始化I/O端口初始化键盘扫描INT1中断?执行中断程序INT0中断?执行中断程序显示子程序T0中断?执行中断程序如有需要,请联系QQ:2608784043学海无涯