stm32单片机温度控制pid代码

stm32单片机温度控制pid代码,第1张

STM32的 PID和PWM墨水温度控制系统 控制方案: K_SENSOR热电偶作为温度传感器,50w电烙铁作为加温设备作为控制对象,预先设定一个温度值,微处理器为ARM公司 查看全部>>

void key()

{

static uchar keycnt;

static bit keyesc;

funcnt=0x00;

funval=0x00;

if(keydone) //上次按键任务已完成

{

if(K1==0&&K2&&K3&&K4) {funcnt++;funval=0x01;}

else if(K2==0&&K1&&K3&&K4) {funcnt++;funval=0x02;}

else if(K3==0&&K2&&K1&&K4) {funcnt++;funval=0x03;}

else if(K4==0&&K2&&K1&&K3) {funcnt++;funval=0x04;}

}

if(!funcnt)

{

shans=1;

keypre=0x00;

keyesc=0x00;task=0x00;keycnt=0x00;

}

else if(!keyesc)

{

if(funcnt>1) keyesc=1;

else if(funval!=keypre)

{

keypre=funval;

keycnt=0x00;

}

else

{

keycnt++;

switch(task)

{

case 0:

if(keycnt==N)

{

shans=1;

keyprocess=1;

if(K1==0||K4==0) keyesc=1;

else

{

task++;

keycnt=0;

}

}

break;

case 1:

if(keycnt==MaxRate)

{

shans=0;

keyprocess=1;

keycnt=0;

task++;

}

break;

case 2:

if(keycnt==MinRate)

{

shans=0;

keyprocess=1;

keycnt=0;

}

break;

}

}

}

}

//功能键处理

void key1()

{

if(!keymark)

{

pb=&buffer[0];

blink=0x01;

keymark=1;

shans=1;

}

else

{

pb++;

blink<<=1;

if(pb>=&buffer[4])

{

pb=&buffer[0];

blink=0x01;

}

}

}

////

void key2()

{

if(keymark)

{

pb+=1;

if(pb>=0)

pb=0x00;

}

}

////

void key3()

{

if(keymark)

{

if(pb<=0) pb=9;

else pb-=1;

}

}

void key4()

{

if(keymark)

{

blink=0x00;

keymark=0;

write_add(9,buffer[1]);

write_add(10,buffer[2]);

write_add(11,buffer[3]);

}

}

void keyXZ()

{

if(keyprocess)

{

keydone=0;

keyprocess=0;

switch(keypre)

{

case 0x01:key1();break;

case 0x02:key2();break;

case 0x03:key3();break;

case 0x04:key4();break;

}

keydone=1;

}

}

////

/

功能:定时器0中断服务程序

/

void timer0() interrupt 1

{

TH0=V_TH0;

TL0=V_TL0;

flash();

key();

}

那要看你计算出来的是什么了,如果直接是一个电流,那么直接用它来驱动加热炉就行,如果是一个误差值(理想值与真实值之差),那么就要先计算出要是电炉达到理想温度的电流值是多少,再用计算出的电流来驱动。希望能对你有帮助。

以上就是关于stm32单片机温度控制pid代码全部的内容,包括:stm32单片机温度控制pid代码、AT89S52单片机控制继电器用电炉子对水加热。通过DS18B20传感器采集温度,采用PID算法的键盘程序、单片机是怎么用PID控制算法实现对电加热等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9270882.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存