单片机最低温度是多少,是否有MCU或者单片机温度能达到60还能工作
来源:整理 编辑:亚灵电子网 2023-04-12 20:34:00
1,是否有MCU或者单片机温度能达到60还能工作

2,单片机为什么有环境温度限制
按理说单片机就是一些芯片、金属板、导线的组合,主要是通电使用,电和温度也没关系啊电和温度有关系有很大关系材料的导电性能在不同温度下会不同最极端情况比如接近0K的时候会有著名的超导现象。另外温度过高导线的绝缘皮什么的很可能会被破坏或者芯片本身的结构也会被破坏我确实口气有问题,在这里道歉,原句编辑掉好了。满意请采纳
3,基于单片机温度测量比实际温度要低
软件上,你可以通过改变编程中计算温度的公式来达到调结的作用,多试几次,直到温度差不多为止,硬件上,也可以,不过没有改公式来的简单方便。你这个论文题目有点问题。 温度测量的话,起码应该有传感器吧。。光用单片机,没有数据输入也没法处理。。所以不是很清楚你的设计的要求。难道温度感应元件是设计好的?只需要用单片机做数据处理和结果显示? 你最好先问一下你的老师这个论文题目是否能够通过再考虑论文内容。+u
4,基于单片机的温室温度控制范围是多少
温度采集用 db18b20 现在比较多,可以采集 干温 湿温 处理下 湿度就出来了。 db18b20 采用单总线的通讯模式,通讯上后 直接就可以读温度。。 然后 温度控制可以用 一个单片机 i/o 控制 个电炉什么的 加热。 湿度控制: 可以用 i/o控制 个抽风机实现。 简单一点 说的。。。 什么温室?是种植植物的吗?如果是,最佳温度要根据所种植的对象确定。如果是温室花房,里面有许多品种,那一般最佳温度是25度左右。最低不可低于12度最高不要高于38度。
5,单片机控制风扇低于限制温度时
可能你的程序在设置时没考虑到低于20度,延时开始计时时,这个时候温度又跳上20度,这个时候的程序应该怎么运行,就是你的程序可能编的不太完善1.单片机测量值与实际温度值有误差,即实际温度可能19度,而单片机测量的温度也许是21度。2.单片机设定的温度容限较宽,即19度与20度的差值不被认为超差。你检查一下程序,,,按下面方法编写:设一个风扇启,停标记, 标记为1就转 为0 就停主程序就1)检查这标记,,,为1就去开风扇,为0 就去关风扇.2)调测温.3)其它,循环.测温程序:温度低于20度,,标记设为0温度高于25度,标记设为1这个方案是可以的,这个应该有做过的,网上能找到点资料把,设置ds18b20温度传感器上下线温度范围,如果温度超过上下温度开启风扇,低于下线温度关闭风扇,用红外遥控器开启和关闭风扇,风扇条速度都是没有问题的,如果自己做不出来,可以找别人帮你设计,不过找别人设计需要花钱的。
6,汽车级的单片机及电子元件要执行什么样的标准 比如温度
宽温度和抗电磁干扰是汽车级单片机的基本要求。其实,从指标看,现在不少牌子的单片机都有符合要求的型号,但这里有个实际使用的问题,像PIC,ST和飞思卡尔都是久经考验的,其它牌子的单片机像挤进来已经是很困难了。因为你只能证明参数符合要求,但实际使用时能否保证不出问题就很难说了。PIC的C系单片机一直是认为抗干扰好(我没试过),而F系的单片机抗干扰性能差我是领教过的。飞思卡尔的我用过,很中规中矩的单片机,而且性价比我觉的比PIC好。现在电力系统也在用这个。不过我想楼主应该是更关心这些单片机的内部构造吧?我想汽车级的单片机在内部上绝对和普通的有不同,从PIC的C和F的情况看,估计在指令总线、电源、管脚的电路构造上都应该是有很大的不同。汽车级的温度一般是-40℃~+125℃,主要考虑发动机仓的温度比较高。单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。汽车电子一般选用飞思卡尔处理器,元器件当然选择工业级别的了。汽车使用主要是抗震问题,有些单片机会存在受到震动就导致复位的情况,这个就需要你与商家咨询了。温度要看你使用的位子了,如果离发动机比较远的话,那么一般的单片机都能达到要求。
7,单片机控制温度
#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,定值若要改变再加个数据输入接口。
文章TAG:
单片机最低温度是多少单片机 最低 最低温度