首页 > 电路 > 电路分析 > 单片机温度时间是多少,单片机温度控制程序

单片机温度时间是多少,单片机温度控制程序

来源:整理 时间:2023-04-09 14:42:10 编辑:亚灵电子网 手机版

本文目录一览

1,单片机温度控制程序

你直接使用DS18B20采集温度。代码网上多的很。温控的话可以控制功率器件来发热,单精度肯定高不了。代码?你要结合自己的硬件来完成。给你一堆,你没有原理图还不是没用。

单片机温度控制程序

2,基于pwm的单片机温控系统中pwm的周期一般选多少比较合适

温度变化惯性很大,pwm周期就随便了100ms对于单片机来说算很长时间了,对于温度变化来说,又是极短的时间。
有二种情况,第一,如果你所使用的8051单片机(例如stc12系列)是带有专用的pwm输出i/o口的话,那就只要控制里面的特殊功能寄存器改变输出占空比就行了,不要外加什么硬件电路的。第二,如果是通入软件模拟pwm输出的话,那就用定时器可以解决的,也不需要外加电路。

基于pwm的单片机温控系统中pwm的周期一般选多少比较合适

3,单片机C编程时钟温度湿度主程序问题急急急

1,先测试下温度和湿度子程序运行完成需要多长时间,如果太长了,肯定出现你上面说的问题;2,在运行温度和湿度子程序时,开启时钟中断,这样就不会出现时间不走的问题;3,如果你没有使用时钟中断,你要在运行温度和湿度子程序的延进程序里加入读时钟程序,才能相对准一点。
在单片机利用中,常常需要丈量温度、湿度、流量、速度、 液位、压力等多种摹拟量,... 生产进程nmos cmos 双 极性两线――串行数据sda 和串行时钟scl 线 在连接到总线... 第8章 单片

单片机C编程时钟温度湿度主程序问题急急急

4,在焊接的时候多大的温度能把单片机烧坏

看你的焊接设备咯。要是普通的烙铁一个脚焊接4-5秒都是正常的,要是用恒温台的话调到370,焊接时间还是要自己控制,温度不一样焊接每个点的时间也是不一样的。一般上焊接都不会导致芯片挂掉的。
没测试过啊!不过不建议直接把单片机焊上啊;给个单片机的套就方便多啦,做完一个作品后,那单片机还可以做另外的作品。循环利用啊
65w的就不错,不过一定要把电烙铁接地,否则很大概率烧坏芯片,再有就是选择平头的 方便刮焊
这个没有测试过,但是最好是焊接时候,两秒钟离开元件应该没有问题如果没有特殊说明的话~!

5,stc单片机175度8小时是指使用温度

可能是使用温度吗?应该是指老化试验温度,不通电的,经过老化处理后性能比较稳定
1,stc是芯片的前缀,stc系列单片机是深圳宏晶公司的产品.据说他们购买了sst公司的技术,并加以改进,很好的片子.我以前一直用飞利浦的单片机,现在在新研发产品时,优先考虑stc系列的.2.8051是一个对mcs51系列单片机的统称.8051一般拥有8kb程序存储器,128b数据存储器,2个16bit定时器,2个外部中断,1个串口...2c2052是出厂批号一类信息,不用管他.3.at89c51在5.0元左右,stc89c51也是5.0元左右(但增加很多功能).宏晶公司的网址:http://www.mcu-memory.com

6,单片机控制温度

#define KP 3.0 //比例系数 #define KI 0.3 //积分系数 #define KD 200.0 //微分系数 #define KC 0.1 //维持功率系数 #define T_c 16 //采样周期(单位:秒) sbit pid_port=P3^5; //控制输出端口 float T_target=0; //目标温度 float T_real=0; //当前温度 float PWM=0; //输出控制量 bit read_AD_enable=0; //PID运算允许标志位 //T0定时器初始化 void Timer0_Init() { TMOD|=0x01; TF0 =0; TR0 =1; IE |=0x02; } //读取AD 转换值并刻度 void read_AD(void) { int delta_ad; unsigned char ad[3]; ad[0]=ADRESH; ad[1]=ADRESM; ad[2]=ADRESL; delta_ad=ad[0]*0x100+ad[1]-0x23cb; if(delta_ad<=0)delta_ad=0; T_real=(float)delta_ad/70; } //*--------PID运算函数 void pid(void) { static float diff[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; static float sum_diff=0; //Σ(diff) static int curr_=0; float p_out,i_out,d_out,temp; float pwm_0; temp=diff[curr_]; if(curr_+1>=20)curr_=0; else curr_+=1; sum_diff-=diff[curr_]; diff[curr_]=T_target-T_real; sum_diff+=diff[curr_]; p_out=KP*diff[curr_]; //比例项输出 i_out=KI*sum_diff; //积分项输出 d_out=KD*(diff[curr_]-temp); //微分项输出 pwm_0=KC*T_target; //维持功率项 if(i_out>100)i_out=100; //积分分离 if(i_out<-100)i_out=-100; PWM=p_out+i_out+d_out+pwm_0; //总输出量 if(PWM<0)PWM=0; else if(PWM>=100)PWM=100; } // 输出函数 void PWM_OUT(float PWM) { static unsigned char t=1; //t=(1--100)周期为4秒 unsigned char limit; //pid_value输出百分比 limit=(unsigned char)PWM; if(t<=limit)pid_port=0; //加热 else pid_port=1; //停止加热 t++; if(t>100)t=1; } /**************************************************/ //T0中断服务程序 void Timer0_ISR() interrupt 1 using 1 { static unsigned int x=0; TH0=(28672)>>8; // 11.0592MHz,interval 40mS TL0=(28672+20)&0xff; // +20 compensate TF0=0; if((x++)>(T_c*25)) { x=0; read_AD_enable=1; } PWM_OUT(PWM); //可控硅输出 } /**************************************************** 主程序 ----------------------------------------------------*/ void main (void) { //-------程序初始化(略) while (1) { if(read_AD_enable==1) { read_AD_enable=0; read_AD(); pid(); } } } 大致的参考程序就是这样了 具体的话需要你自己看了
说难不难,就是没人会花那么多时间帮你做........
18B20测温,加热用SSR,单片机编一个简单的PID,定值若要改变再加个数据输入接口。

7,求助单片机的温度检测与控制

1、 传感器选择 常用的温度检测元件主要有热电偶、热电阻、热敏电阻等。热电偶主要是利用两种不同金属的热电效应,产生接触电势随温度变化而变化,从而达到测温的目的。测量准确,价格适中测温范围宽,线性度较好。但其输出电压受冷端温度影响,需要进行冷端温度补偿,使电路变得复杂,在本题中并非最佳方案。 热敏电阻由金属氧化物或半导体材料制成,灵敏度高、热惰性小、寿命长、价格便宜。但其测量的稳定性和复现性差,测量精度无法满足本题发挥部分0.2℃的要求。而且线性度差,需要进行查表线性拟合,大大浪费控制器的资源,因此不能选用。 热电阻是利用金属的电阻率随温度变化而变化的特性,将温度量转化成电阻量。其优点是准确度高,稳定性高,性能可靠,热惯性小、复现性好,价格适中。但电阻值与温度是非线性关系,Pt100热电阻,当0℃<t<850℃时可用下式表示: 其中A=3.9083╳10-3 /℃;B=-5.775╳10-7 /℃;由此可见,温度越高非线性误差越大,本题目要求温控范围是40℃~90℃,温度较低。经计算当温度为90℃时,非线性误差为0.34%,运用最小二乘法适当的进行零点和增益的调整,还可使此误差降低一倍,而本题要求精度为,0.2/90=0.22%,因此在本题中可以选用Pt100热电阻,并可近似将其电阻值与温度看作线性关系。 2、 放大电路 热电阻所测得的是电阻量,需要转化为电压量才能被控制器采集。最基本的电阻-电压转换电路是将其与另一固定电阻串联,但这种方法,当温度为量程下限时输出不为零,这样不利于小信号的放大和提高A/D转换的精度。因此,本作品采用桥路测量,电路如图2所示: 其中R1R2为10kΩ固定电阻,Rt为热电阻,Rw2为调零电阻,由于 ,因此上下两支路电流相等,并保持恒定不变,输出电压 ,可调整Rt0=Rw2,使得 由于在桥路中R1很大,使得输出量uo变化很小,当Rt从0到100℃变化时,输出仅有十几毫伏,因此还需要进行小信号放大。本作品所用低频增益可调放大电路如图3: 其中Rw1为增益电阻,用于调整测量满量程,运放采用低噪声NE5532,令R1=R2,R3=R4,R5=R6,则该放大电路总增益为 ,当Rw1从0到50kΩ变化时,Av的变化范围为150至+∞,满足所需增益要求。 3、 A/D转换 题目所要求测量度精度为0.2℃,测温的范围应该为室温到要求的最高温度,即20~90℃,这就决定了A/D转换的最低分辨率不低于0.2/(90-20)=1/350,而普通八位A/D转换芯片只能达到1/256,不能满足要求。而如果选用更高位的芯片,将大大增加成本。温度是一种变化时间常数较大的物理量,对A/D转换速度要求不高,因此,在设计中选用了压控振荡器,先将电压信号转化为频率量,再通过控制器的计数功能转化为数字信号,这样可以大大提高精度,节约成本。 压控振荡器如图4所示: 电容器C1充电周期为 ,放电周期为 ,由于 所以 ,所以其振荡频率可近似看作与输入电压Ui成正比。但当频率较高时,仍有较大(约为5%)非线性误差,不能满足题目要求。因此,在作品中利用FPGA的优点,该测频率为测正脉冲宽度,再通过单片机求倒数,这样即可完全消除非线性误差。 4、 控制器 对水温的反馈偏差控制,就必然用到经典控制理论中的PID(Proportional Integral and Derivative比例积分微分)控制,控制器可有多种选择,如模拟电路、单片机、逻辑器件等。 模拟电路控制可对偏差变化进行连续的控制,技术成熟,性能较稳定。但其缺点是不便于显示,调整PID参数需更换元器件,易受到外界干扰等,在现在这个数字化高度发展的时代已趋于淘汰。 单片机作为微型计算机的一个分支,已有二十多年的发展,在各控制领域都有广泛的应用。而近年以FPGA(现场可编程门阵列)为代表的可编程逻辑器件异军突起,其优异的性能大大弥补了单片机响应速度慢、中断源少的缺点。但FPGA的运算能力有限,因此,在我们的设计中采用FPGA与单片机相结合的控制方式,二者优势互补,性能大大提高。 在本作品中,FPGA主要负责接收压控振荡器的信号,通过测量其正脉宽而获得电压量;单片机接收FPGA发送的数据,进行显示、PID运算,和输出。 5、 输出驱动电路 控制器将其PID运算的结果转化为不同占空比的脉冲信号输出,该信号作用于执行机构还需要经过驱动电路。 本作品中采用交流调功电路,即将负载与交流电源接通几个周波,再断开几个周波,通过改变开通与断开周波的比值来调节负载所消耗的平均功率。具体实现电路如图5。 将220V/50Hz的市电,经电阻分压到5V以下,输入运放的同相输入端,运放作为过零比较器,当市电过零时,产生跳变,运放输出送到D触发器的时钟端,D触发器的输入接单片机输出的脉冲信号,输出接双向晶闸管的门极。这样,只有当交流电过零时,单片机的输出信号才对晶闸管产生作用,也就是说,只有当交流电过零时,晶闸管才能开通或关断。这样可以大大减小开通关断过程中对晶闸管的冲击,减少开通关断损耗。 二、 控制器软件设计 1、 FPGA程序设计 在本作品中,FPGA的主要功能是测量压控振荡器输出高脉宽的时间。由于压控振荡器的频率较低(<10kHz),因此在测量中采用的方法是,提取一个高脉宽,在这个高脉宽内对标准频率(50MHz)计数,计数的值即与脉宽成正比。 2、 单片机程序设计 单片机在本作品中起主要的作用,其功能主要是接收FPGA的数据、运算、显示和输出控制脉冲。以上几部分在一个周期内顺序执行,如图6所示,一个周期的时间约为0.1秒,即为一个采样周期。对于水温这一时间常数较大的系统,0.1秒的采样周期足够。 由于精度的要求,FPGA发送的数据位数较高,需要多次传送,每次传8位,共传8次,放入缓冲区中。然后根据脉宽——电压——温度三者的对应关系,计算出当前温度。尽管测量的非线性误差很小,但仍会对精度产生一定影响,因此在实验中,取若干脉宽与温度对应实验数据,利用最小二乘法进行一元线性回归,如图7所示,将原来a直线,变为b直线,这样可以在很大程度上减小非线性误差。 显示部分,采用7位七段LED数码管显示,可以显示给定值和当前实际值,因考虑人眼的视觉暂留的影响,数码管每5个采样周期,即0.5秒刷新一次。 本作品的PID运算采用了当前计算机控制常用的增量PID算法。具体做法如下: 采样PID控制的基本公式为 ,其中Kp未必例系数,Ti为积分时间,Td为微分时间,T为采样时间。因计算中需要累加求和,不便于单片机的计算。因此算其增量式 ,其中 。软件进行PID运算后判断如果Δu>0,则输出脉冲的占空比增加1%,反之减小1% 为了确定PID参数,根据容器加热、传热的公式,列出加热容器的微分方程,经拉氏变换后得到一个一阶滞后环节,其传递函数约为 ,对整个控制回路用Matlab中的Simulink工具箱进行方针,其框图如图8 图中step为输入阶跃给定信号,step1为干扰量,A中存储输出占空比,scope显示输出波形(图9a),scope1显示占空比值(图9b)。 图9a 图9b 当t=10时刻,给定值输入阶跃量,t=100时刻,输入干扰阶跃量。由此可见,本系统可以以较小的超调和较短的调节时间达到稳定状态,并对于干扰有较好的控制作用。很不错的回答
你在百度搜索一下有好多呢.我不是很懂着方面,你自己看吧http://www.baidu.com/s?wd=%B5%A5%C6%AC%BB%FA%B5%C4%CE%C2%B6%C8%BC%EC%B2%E2%D3%EB%BF%D8%D6%C6&cl=3
文章TAG:单片机温度时间是多少单片机温度时间

最近更新

  • ao4435多少钱,84消毒液多少钱一瓶ao4435多少钱,84消毒液多少钱一瓶

    84消毒液多少钱一瓶2,求大功率开关管工作电压12V启动电流达到100A左右工作电流是810A3,OCTO手表都多少钱4,移动电源IC的MOS管5,这个烟多少钱一盒6,怎么用万用表检测场效应管的好坏7,这个555.....

    电路分析 日期:2024-04-10

  • 戴维南电路题,电路的戴维宁定理戴维南电路题,电路的戴维宁定理

    在断开的电路中,找到剩余短路的戴维宁(诺顿)等效电路。解决方法:首先,找出电阻R从电路断开后的戴维宁等效电路,求解戴维南定理的基本步骤如下:戴维南等效是关于电压源的等效,因此,第一步:将需.....

    电路分析 日期:2024-04-10

  • 电阻精度的测量电路,高精度电阻测量电路电阻精度的测量电路,高精度电阻测量电路

    测量电阻时应注意以下几点:第一,测量前先切断电路!测量被测电阻时,应断开被测线路的电源,否则会影响测量精度,严重时还会损坏万用表。例如,为了测量汽车中电器或线路的电阻,可以断开电池,输入.....

    电路分析 日期:2024-04-10

  • 开发芯片要多少钱,做芯片大约能要多少钱啊开发芯片要多少钱,做芯片大约能要多少钱啊

    做芯片大约能要多少钱啊现在一般来说都在5000以上做芯片要一定批量。贵的多得是你要做什么芯片。2,做一块基因芯片要花多少钱看什么公司的,有三千多到六七千都有。看做什么项目了,佳学基.....

    电路分析 日期:2024-04-10

  • cx1084稳压多少伏,cx1084ADJ电流是多少cx1084稳压多少伏,cx1084ADJ电流是多少

    cx1084ADJ电流是多少此为最大输出5A的LDO这个应当是1个产品的型号2,CX1084是什么块电源稳压器,3.3V和5V的比较常用-------------------------3,电子式仪表稳压器的输出电压一般为多少伏.....

    电路分析 日期:2024-04-10

  • 电压保护器的接线如何连接电涌保护器电压保护器的接线如何连接电涌保护器

    两相漏电保护器接线,电涌保护器的正确接线方法是选择与电涌保护器额定电流和电压相匹配的插座。漏电保护器用于支路保护时,电涌保护器的正确接线方法,使用正确的电缆和连接器:选择合适的.....

    电路分析 日期:2024-04-10

  • boost电路的频率能达到多少,为什么boost电路的pwm波占空比达到一定值就会短路boost电路的频率能达到多少,为什么boost电路的pwm波占空比达到一定值就会短路

    本文目录一览1,为什么boost电路的pwm波占空比达到一定值就会短路2,sy7711芯片boost电路效率3,BOOST电路中的PWM频率如何设置跟电感和开关管的关系如何4,boost电路5,980ti145g超1070是指的bo.....

    电路分析 日期:2024-04-10

  • 电容器组的耐压是多少,高压电容器组总容量大于多少时必须采用电容器组的耐压是多少,高压电容器组总容量大于多少时必须采用

    高压电容器组总容量大于多少时必须采用2,串联后的电容器耐压是多少3,什么是电容器组的耐压值和电容器耐压值有什么不同4,电容器的电容的耐压值5,电容的容量和耐压6,电阻和电容的耐压是多少7.....

    电路分析 日期:2024-04-09