首先确定你的温控仪有上下限报警功能。假如主控out设定300℃上限设定alm1设定320℃ 下限设定alm2设定280℃上电主控长开触点闭合,开始加热升温。alm2触点闭合报警,当温度超过280℃,触点放开停止报警。当温度上升到300℃主控停止加热,当温度低于295℃又重复开始加热。当温度超过320℃alm1触点闭合报警。
将仪表连线接妥后,将开关拨至“下限设定”处,同时旋转相对应的下限设定旋钮,此时数字显示的是所需的下限温度值,将开关拨至“上限设定”处,同时旋转相对应的上限设定旋钮,此时数字显示的是所需的上限温度值;再将开关拨至“测量”处,数字显示的是被测对象的实际温度值。当实际温度值低于下限设定值时,绿灯亮,上限继电器均为总低通,总高断;当实际值达到或超过下限设定值而仍低于上限设定值时,绿灯红灯均熄灭、下限继电器总低断、总高通、上限继电器为总低通,总高断、当实际值达到或超过上限设定值时,红灯亮,此处对上限继电器均为总低断、总高通。一般作温度控制时可把下限继电器输出辅助加热控制、上限作加热控制,也可把下限继电器输出作温度控制,而把上限继电器输出作超温报警。后缀加“f”的仪表,上限所需温度值必须调整到高于下限所需温度高值。当实际值低于下限值时绿灯亮,继电器总低通,升温;当实际值高于下限值且低于上限值时仍为总低通,升温;当实际值高于上限值时,红灯亮,继电器总高通、总低断开,停止加温,只有当实际温度值低于下限值时,绿灯亮,总低通,周而复始。整个过程只有一个继电器输出,以便与负载方便地配接。
怎样设定温度控制器信号输出上下限?也就是测定值到达上限停小于设定值启。
1、下限偏差告警设置:按set键选择显示“slp”,绿色显示屏显示该项参数的数值,选择移位、递增、递减键设置或修改该项参数。该参数表示告警点低于主控设定点的相差值。
2、上限偏差告警设置:按set键选择显示“shp”,绿色显示屏显示该项参数的数值,选择移位、递增、递减键设置或修改该项参数。该参数表示告警点高于主控设定点的相差值。
3、比例范围设置:按set键选择显示“p”,绿色显示屏显示该项参数的数值,选择移位、递增、递减键设置或修改该项参数。“p”值越大,温控器的主控继电器输出的灵敏度越低,“p”值越小,温控器的主控继电器输出的灵敏度越高。
4、积分时间设置:按set键选择显示“i”,绿色显示屏显示该项参数的数值,选择移位、递增、递减键设置或修改该项参数。设定的积分时间越短,积分作用越强。
5、微分时间设置:按set键选择显示“d”,绿色显示屏显示该项参数的数值,选择移位、递增、递减键设置或修改该项参数。仪表设定的微分时间越长,则以微分作用进行的修正越强。
6、比例周期设置:按set键选择显示“t”,绿色显示屏显示该项参数的数值,选择移位、递增、递减键设置或修改该项参数。
7、自整定设置:按set键选择显示“aτ”,绿色显示屏显示该项参数的数值,选择移位、递增、递减键设置或修改该项参数;设置为“00”表示自整定关闭,设置为“01”表示自整定启动。
8、锁参数设置:按set键选择显示“lok”,绿色显示屏显示锁的状态,选择移位、递增、递减键设置或修改该项参数;设置为“00”表示不锁,设置为“01”表示只锁主控以外的参数,设置为“02”表示所有参数全锁定。参数被锁定后,别人不能修改,需修改时要解锁,即设置为“00”。
9、主控温度上限设置:按set键选择显示“soh”,绿色显示屏显示该项参数的数值,选择移位、递增、递减键设置或修改该项参数;该参数表示主控继电器动作温度不能高于此值,否则,主控设定温度无效
10、温度修正设置:按set键选择显示“sc”,绿色显示屏显示该项参数的数值,选择移位、递增、递减键设置或修改该项参数;当温控器长时间运行后产生测量偏差时,就可使用该项功能修正误差。如测量值偏小2℃时,即可设置该项参数为02,若测量值偏大2℃时,即可设置该项参数为-2。
人工智能温控器上面不光有模似量输出,固态继电器低压侧就是模似量输出,而且有常规状态下有继电器输出就是,常开,常闭,公共端三个点,来控制接触器的线圈,好多加热控制回路,也有用接触器的,如果原来的主控输出是控制可控硅的想把它改成接触器的,对于用户来说不太可能,只能利用仪表的上下限报警输出来控制接触器。
根据工作环境的温度变化,在开关内部发生物理形变,从而产生某些特殊效应,温控器 温控 开关,产生导通或者断开动作的一系列自动控制元件,也叫温控开关、温度保护器、温度控制器,简称温控器。或是通过温度传感器器将温度信号传到温度控制器,温度控制器发出开关命令,从而控制设备的运行以达到理想的温度及节能效果,其应用范围非常广泛,例如热水系统,烤箱,蔬菜大棚,孵化箱,陶瓷窑等。
附上可设定上下限温控程序源代码,仅供参考!
/*----------------------------------------------------------------
段p0,位p2。接线从低端开始,段a--h对应p0.0--p0.7.位1,2.。。对应 p2.0--p2.7 ------------------------------------------------------------------*/ //单片机:89cs52 //晶振:12mh
#include 《at89x52.h》 #include “ds18b20.h” #define schar signed char #define uint unsigned int
#define uchar unsigned char //宏定义
sbit set=p3^1; //定义调整键 sbit dec=p3^2; //定义减少键 sbit add=p3^3; //定义增加键
sbit jiawen=p3^6; //定义加温
bit shanshuo_st; //闪烁间隔标志 bit beep_st; //加温间隔标志
uchar x=0; //计数器
schar m,pd; //温度值全局变量 uchar n; //温度值全局变量 uchar set_st=0; //状态标志
schar shangxian=50; //上限报警温度,默认值为50 schar xiaxian=25; //下限报警温度,默认值为25 uchar
code leddata[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90}; //共阳码 code leddata1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //共阳码 /*****延时子程序*****/ void delay(uint num) { while( --num ); }
/*****初始化定时器0*****/ void inittimer() { tmod=0x1; th0=0x3c; tl0=0xb0; //50ms(晶振12m) }
/*****定时器0 中断服务程序*****/ void timer0(void) interrupt 1 {
th0=0x3c; tl0=0xb0; x++; }
/*****外部中断0 服务程序*****/ void int0(void) interrupt 0 { ex0=0; //关外部中断0 if(dec==0&&set_st==1) { if(dec==0) delay(80); //500
if(dec==0) { shangxian--;
do { while(dec==0); delay(80); // } while(dec==0); if(shangxian《xiaxian)
shangxian=xiaxian; } } else if(dec==0&&set_st==2) { if(dec==0) delay(80); // if(dec==0) { xiaxian--; do { while(dec==0); delay(80); // } while(dec==0);
if(xiaxian《0) xiaxian=0; } } }
/*****外部中断1 服务程序*****/ void int1(void) interrupt 2 { ex1=0; //关外部中断1 if(add==0&&set_st==1) { if(add==0) delay(80); //500 if(add==0) { shangxian++; do { while(add==0); delay(80); //500 } while(add==0);
if(shangxian》=99) shangxian=99; } } else if(add==0&&set_st==2) { if(add==0) delay(80); // if(add==0) { xiaxian++; do { while(add==0); delay(80); //500 } while(add==0); if(xiaxian》shangxian) xiaxian=shangxian; } } }
/*****读取温度*****/ void check_wendu() {
uint a,b,c; c=readtemperature()-5; //获取温度值并减去ds18b20 的温漂误差 a=c/100; //计算得到十位数字 b=c/10-a*10; //计算得到个位数字 m=c/10; //计算得到整数位 n=c-a*100-b*10; //计算得到小数位 if(m《0){m=0;n=0;} //设置温度显示下限 if(m》99){m=99;n=9;} //设置温度显示上限 }
/*****显示开机初始化等待画面*****/ disp_init() { p0 = 0xbf; //显示- p2 = 0xf7; delay(200); p2 = 0xfb; delay(200); p2 = 0xfd; delay(200); p2 = 0xfe; delay(200); p2 = 0xff; //关闭显示 }
/*****显示温度子程序*****/
disp_temperature() //显示温度 { p0 =0xc6; //显示c p2 = 0xfe; delay(200); p0 =leddata[n]; //显示个位 p2 = 0xfd; delay(200); p0 =leddata1[m%10]; //显示十位 p2 = 0xfb; delay(200); p0 =leddata[m/10]; //显示百位 p2 = 0xf7; delay(200); p2 = 0xff; //关闭显示 }
/*****显示报警温度子程序*****/ disp_alarm(uchar baojing) {
p0 =0xc6; //显示c p2 = 0xfe; delay(200); p0 =leddata[baojing%10]; //显示十位 p2 = 0xfd; delay(200); p0 =leddata[baojing/10]; //显示百位 p2 = 0xfb; delay(200); if(set_st==1)p0 =0x89; else if(set_st==2)p0 =0xc7; //上限h、下限l 标示 p2 = 0xf7; delay(200); p2 = 0xff; //关闭显示 }
/*****加降温子程序*****/ void alarm() { if(x》=0) { beep_st=~beep_st; x=0; }
// if((m》=shangxian&&beep_st==1)||(m《xiaxian&&beep_st==1)) // jiawen=0; // else //上下限两头加温,中间不加温 // jiawen=1; if(m》=shangxian) //大于上限停止 { jiawen=1; } if(m《=xiaxian) //当降到下限才加温 { jiawen=0; } }
/*****主函数*****/ void main() { uint z; inittimer(); //初始化定时器 ea=1; //全局中断开关
tr0=1; //启动定时器0
it0=1; //定时器0脉冲触发方式,下降沿有效 it1=1; //定时器1脉冲触发方式,下降沿有效 check_wendu(); check_wendu(); for(z=0;z《300;z++) { disp_init(); }
while(1) {
if(set==0) { delay(600); //2000 do{}while(set==0); set_st++;x=0;shanshuo_st=1; if(set_st》2)set_st=0; } if(set_st==0) { ex0=0; //关闭外部中断0 ex1=0; //关闭外部中断1 check_wendu(); disp_temperature(); alarm(); //加温检测 }
else if(set_st==1) { jiawen=1; //关闭加温 ex0=1; //开启外部中断0 ex1=1; //开启外部中断1 if(x》=10){shanshuo_st=~shanshuo_st;x=0;} if(shanshuo_st) {disp_alarm(shangxian);} }
else if(set_st==2) { jiawen=1; //关闭加温
ex0=1; //开启外部中断0
ex1=1; //开启外部中断1 if(x》=10){shanshuo_st=~shanshuo_st;x=0;} if(shanshuo_st) {disp_alarm(xiaxian);} } } }
/*单片机89cs52*/
#ifndef ds18b20_h #define ds18b20_h #include 《at89x52.h》 #define uint unsigned int
#define uchar unsigned char //宏定义
sbit dq=p3^7; //定义ds18b20 总线i/o /*****延时子程序*****/
void delay_ds18b20(int num) { while(num--) }
/*****初始化ds18b20*****/ void init_ds18b20(void) { uchar x=0; dq = 1; //dq 复位 delay_ds18b20(8); //稍做延时8 dq = 0; //单片机将dq 拉低 delay_ds18b20(32); //精确延时,大于480us 80 dq = 1; //拉高总线 delay_ds18b20(14); //14 x = dq; //稍做延时后,如果x=0 则初始化成功,x=1 则初始化失败 delay_ds18b20(20); //20 }
/*****读一个字节*****/ uchar readonechar(void) { uchar i=0; uchar dat = 0; for (i=8;i》0;i--) { dq = 0; // 给脉冲信号 dat》》=1; dq = 1; // 给脉冲信号
if(dq) dat|=0x80; delay_ds18b20(4); //4 }
return(dat); }
/*****写一个字节*****/ void writeonechar(uchar dat) { uchar i=0; for (i=8; i》0; i--) { dq = 0; dq = dat&0x01; delay_ds18b20(5); //5 dq = 1; dat》》=1; } }
/*****读取温度*****/ uint readtemperature(void) { uchar a=0; uchar b=0; uint t=0; float tt=0; init_ds18b20(); writeonechar(0xcc); //跳过读序号列号的操作 writeonechar(0x44); //启动温度转换 init_ds18b20(); writeonechar(0xcc); //跳过读序号列号的操作 writeonechar(0xbe); //读取温度寄存器 a=readonechar(); //读低8 位 b=readonechar(); //读高8 位 t=b; t《《=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; //放大10 倍输出并四舍五入 return(t); }
#endif
/*****end*****/
镇流器出现烧坏现象是什么原因,有什么解决办法
小米8和oppor15哪个好
AMD连续10个月在处理器销量方面明显压制Intel
HTC第一次在台湾以外的地区开设的Viveland VR主题公园开业
苹果准备启动新生产计划将减少新iPhone生产线或重启iPhoneX
温控器上下限设置方法
DSSHA1 内存映射的SHA-1协处理器
荣耀10在伦敦亮相,开启国际化AI大潮
4通道SMU PXI板卡产品介绍及详细参数
深入浅出谈Android多线程及AsyncTask机制
什么是位逻辑指令?
三季度中国平板电脑市场华为出货量第一,苹果排第二
简单DIY印制电路板设计制作过程
继电器工作原理接线图
固态电池会对电解液和隔膜材料厂商造成冲击
华为P10和华为P9谁的性价比更高?华为P10和华为P9区别对比评测
又一模拟芯片厂商闯关科创板,产品面向4G/5G基站、光通信等领域!
电瓶修复技术-电动车电池放电检测怎么才正常
拆解报告:华为FreeBuds 2 Pro真无线蓝牙耳机无线充电盒
一文详解CXL.cache协议