单片机温度时间是多少时间,基于pwm的单片机温控系统中pwm的周期一般选多少比较合适
来源:整理 编辑:亚灵电子网 2023-08-05 00:55:08
本文目录一览
1,基于pwm的单片机温控系统中pwm的周期一般选多少比较合适
有二种情况,第一,如果你所使用的8051单片机(例如stc12系列)是带有专用的pwm输出i/o口的话,那就只要控制里面的特殊功能寄存器改变输出占空比就行了,不要外加什么硬件电路的。第二,如果是通入软件模拟pwm输出的话,那就用定时器可以解决的,也不需要外加电路。温度变化惯性很大,pwm周期就随便了100ms对于单片机来说算很长时间了,对于温度变化来说,又是极短的时间。
2,在焊接的时候多大的温度能把单片机烧坏
看你的焊接设备咯。要是普通的烙铁一个脚焊接4-5秒都是正常的,要是用恒温台的话调到370,焊接时间还是要自己控制,温度不一样焊接每个点的时间也是不一样的。一般上焊接都不会导致芯片挂掉的。没测试过啊!不过不建议直接把单片机焊上啊;给个单片机的套就方便多啦,做完一个作品后,那单片机还可以做另外的作品。循环利用啊65w的就不错,不过一定要把电烙铁接地,否则很大概率烧坏芯片,再有就是选择平头的 方便刮焊这个没有测试过,但是最好是焊接时候,两秒钟离开元件应该没有问题如果没有特殊说明的话~!
3,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可能是使用温度吗?应该是指老化试验温度,不通电的,经过老化处理后性能比较稳定
4,嘿嘿单片机实训内容不晓得用数码管显示摄氏度的具体内容高手
要看你用的是什么温度传感器的,如果你用的是DS18B20这个传感器的话就比较好办了,因为它是数字的,在里面有一点存储器,只需将转化好的温度值读出来就行了,这个程序在网上是很多的,至于用数码管显示数字的程序,我想你应该会吧。时间部分,就是用定时器产生1s定时,然后再设几个变量,你应该明白了吧。你好!首先得有数码管,如果不用锁存器的话得用到动态扫描..其次温度检测,要么找相关模块,要么用热敏电阻搭个电容充放电来计算温度..然后按键调节这个么就比较简单不用说了吧如有疑问,请追问。温度传感器 DS18B20单片机 STC89C52时钟芯片DS1302这仨会用就行了,时间和日期你要从时间存储器上读。温度从温度传感器采集吧。自己设定多久才一次数据,也就是你的数据的更新速率。
5,温度对单片机有什么影响影响原因是什么
超声波测距原理
超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。
测距的公式表示为:L=C×T
式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。
超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量,虽然目前的测距量程上能达到百米,但测量的精度往往只能达到厘米数量级。
由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。在精密的液位测量中需要达到毫米级的测量精度,但是目前国内的超声波测距专用集成电路都是只有厘米级的测量精度。通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用LM92温度传感器进行声波传播速度的补偿后,我们设计的高精度超声波测距仪能达到毫米级的测量精度。
超声波测距误差分析
根据超声波测距公式L=C×T,可知测距的误差是由超声波的传播速度误差和测量距离传播的时间误差引起的。
时间误差
当要求测距误差小于1mm时,假设已知超声波速度C=344m/s (20℃室温),忽略声速的传播误差。测距误差s△t<(0.001/344) ≈0.000002907s 即2.907ms。
在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于1mm的误差。使用的12MHz晶体作时钟基准的89C51单片机定时器能方便的计数到1μs的精度,因此系统采用89C51定时器能保证时间误差在1mm的测量范围内。
超声波传播速度误差
超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系,如表1所示。
已知超声波速度与温度的关系如下:
式中: r —气体定压热容与定容热容的比值,对空气为1.40,
R —气体普适常量,8.314kg·mol-1·K-1,
M—气体分子量,空气为28.8×10-3kg·mol-1,
T —绝对温度,273K+T℃。
近似公式为:C=C0+0.607×T℃
式中:C0为零度时的声波速度332m/s;
T为实际温度(℃)。
对于超声波测距精度要求达到1mm时,就必须把超声波传播的环境温度考虑进去。例如当温度0℃时超声波速度是332m/s, 30℃时是350m/s,温度变化引起的超声波速度变化为18m/s。若超声波在30℃的环境下以0℃的声速测量100m距离所引起的测量误差将达到5m,测量1m误差将达到5mm。
美国国家半导体公司的LM92温度传感器的温度测试分辨率为0.0625℃,-10℃至+85℃准确度为±1.0℃,I2C总线接口。用89C51的通用I/O端口能很容易的模拟I2C总线的读写时序,LM92的高精度温度测量能很好的补偿超声波在不同温度的传播速度。
LM92温度补偿的超声测距仪
系统框图1说明:超声发射部分由89C51单片机P1.3产生40kHz的信号,通过CD4069驱动发射探头;系统接收部分由接收探头拾取反射回来的微弱信号,经过由TL082组成的30db放大器,再由二极管的检波电路得到一个直流电平送入比较器与门限电平比较,最后送入89C51的外部中断INT0,当接收电路接收到反射信号就中断89C51计数器停止计数,从而得到超声波从发射到接收信号的时间差,再读取LM92温度,根据温度修正超声波速度计算出测试的距离。
结语
由LM92温度传感器和单片机组成的高精度超声波测距已应用在各种高精度测距的场合,如自动气象站中水气日蒸发量的测试、自动任意形状物体密度测试仪等,它具有测试速度快,能达到毫米级的测量精度等优点,在工程上的开发与应用前景广阔。■参考资料:http://www.ee365.cn/show.aspx?ClassID=184&articleID=118
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,单片机问题
10个财富值你问这么多问题!!!!!!!!!!!!!!!1、如果单片机的时钟频率为12MHz 要求定时器T0工作方式在0,分别实现50ms,10ms,5ms的定时时间,那该怎样设置TH0及TL0?#include "reg51.h"unsigned int YSJS=0;unsigned int TIME;void Timer0Init(void) //5毫秒@12.000MHz TMOD &= 0xF0; //设置定时器模式 TL0 = 0xC0; //设置定时初值 TH0 = 0x63; //设置定时初值 TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计时 EA =1; //开总中断}void main(void) TIME=1;//TIME=1定时5mS,TIME=2定时10mS,TIME=10定时50mS Timer0Init() while(1) }}void TIMER0(void) interrupt 1 //定时器0中断函数使用默认寄存器组 YSJS++; if(YSJS==TIME)YSJS=0;}2、如果单片机的时钟频率为12MHz 试用单片机定时方式产生频率为50KHz的等宽矩形方波,怎样编程?#include "reg51.h"sbit OUT=P1^0;void Timer0Init(void) //10uS@12.000MHz TMOD &= 0xF0; //设置定时器模式 TMOD |= 0x02; //设置定时器模式 TL0 = 0xEC; //设置定时初值 TH0 = 0xEC; //设置定时初值 TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计时 EA =1; //开总中断}void main(void) Timer0Init() while(1) }}void TIMER0(void) interrupt 1 //定时器0中断函数使用默认寄存器组 OUT=!OUT;}3、假定A、B两机以方式1进行串行数据通信,其波特串为1200,系统主频为12MHz,编写程序将A机片外RAM 1000H~10FFH单元数据块通过行口传送到B机片外RAM 2000H~20FFH单元中去这个太麻烦了,不玩了。单片机到底是什么呢?就是一个电脑,只不过是微型的,麻雀虽小,五脏俱全:它内部也用和电脑功能类似的模块,比如cpu,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可...用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机,排烟罩vcd等等的家电里面都可以看到它的身影!..它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用pc)的主要区别。 单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的cd4000系列这些纯硬件来搞定的话,电路一定是一块大pcb板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的cpu,也没有像硬盘那样的海量存储设备。一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十k的尺寸!对于家用pc的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用pc上来运行,家用pc的也是承受不了的。 单片机的应用领域 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 2.在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 3.在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 4.在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5.单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途
文章TAG:
单片机温度时间是多少时间单片机 温度 时间