51单片机的PID水温控制器设计
硬件方案
PID水温控制器主要以51单片机系统进行温度采集与控制;温度信号由数字温度传感器DS18B20采集,主控器主动获取传感器温度值,通过PID算法,与设置温度进行计算,输出继电器的控制状态,并在LCD显示屏进行显示。
整体硬件主要有51单片机及最小系统(晶振电路、复位电路)、LCD1602液晶显示模块、DS18B20温度传感器采集电路、加热继电器电路、蜂鸣器报警模块、LED指示灯电路、独立按键电路;整体原理图如下:
本设计的设计功能为:
- 采用PID控制算法,对水温进行实时控制;
- 设定容器内水的温度在:水温--90°;自动平衡,容器内水温误差0.5°;
- PID算法容器内水温上升或下降10°时间不超过10min;
- 设有三个按键,1为复位按键,2为目标水温的加,3为目标水温的减;
软件代码
void main()//主函数
{init();//初始化函数pid_init (&temp_PID);InitTimer0(); temp_PID.Proportion =120; // Set PID Coefficients temp_PID.Integral =5; temp_PID.Derivative =2; while(1){temp_control();//控制按键函数if(time_value<PWM) { heatting=1;beep=1;LED1=0;LED2=1;}else { heatting=0;beep=0;LED1=1;LED2=0;}if(time_value==30) {display_real_tenp(temp_m1);}//显示函数 if(time_value==60) temp_m=unnormal_proccessing(temp_m1);//温度转换函数*100if(time_value==100){if(set_temp-temp_m>250){PWM=PWM_MAX;}else{PWM_I=pid_calc(&temp_PID,temp_m);PWM =PWM_I ;if( PWM>=100)PWM=100;else if(PWM<=PWM_MIN) PWM=PWM_MIN;}}if(time_value==120){ PWM_P=PWM/2;LcdWriteCom(0x80+0X40+0x0C);LcdWriteData('0'+PWM_P/100);LcdWriteCom(0x80+0X40+0x0D);LcdWriteData('0'+PWM_P%100/10);LcdWriteCom(0x80+0X40+0x0E);LcdWriteData('0'+PWM_P%10);}}
}
链接:https://pan.baidu.com/s/1seC-vTipz0MS47sNhVw_GA?pwd=0rgw
提取码:0rgw
51单片机的PID水温控制器设计相关推荐
- pid控制器c51语言编程,51单片机电机pid控制系统程序
51单片机电机pid控制系统程序 本程序来源网上,小编进行了简单修改,还未验证. /************************* 应用背景:直流电机的额定功率12V,额定转速3000rpm,光码 ...
- 有温度传感器的风机控制系统C语言,毕业论文--基于单片机的工业风机控制器设计与实现.doc...
大连东软信息学院 本科毕业设计(论文) 论文题目 论文题目:基于单片机的工业风机控制器设计与实现 系 所: 电子工程系 专 业: 电子信息工程(嵌入式系统工程方向) 学生姓名: 学生学号: 指导教师: ...
- 51单片机直流电机PID速度控制正反转控制(红外光电测速)LCD1602 L298N
实践制作DIY- GC0060-直流电机PID速度控制 一.功能说明: 基于51单片机设计-直流电机PID速度控制 二.功能介绍: STC89C52单片机+LCD1602+直流电机+光栅转盘+光电传感 ...
- 基于高速51单片机的模拟USB接口设计
基于高速51单片机的模拟USB接口设计 作者:廖颂文 摘要:参照AVRUSB技术给出了51单片机通过模拟USB通信的实现方法.用VC编写了上位机软件,通过libusb驱动实现了PC与ST12LE560 ...
- 51单片机8255扩展c语言,参阅:基于51单片机的实时时钟的设计与开发8255扩展io口1V0.1...
<基于51单片机的实时时钟的设计与开发(8255扩展io口) (1).doc>由会员分享,可免费在线阅读全文,更多与<基于51单片机的实时时钟的设计与开发(8255扩展io口) (1 ...
- 基于51单片机的电子琴Protues仿真设计
一.设计背景 基于51单片机的电子琴是一款由51单片机控制器.音频模块和硬件阵列组成的数字化乐器.它可以模拟各种乐器的音效,同时也具有许多常规电子琴所没有的高级功能. 首先,这种电子琴是以数字信号处理 ...
- 单片机检测电机频率c语言,基于51单片机的电动机测速表的设计.doc
基于51单片机的电动机测速表的设计 基于51单片机的电动机测速表设计 摘 要 本文介绍了采用光电传感器实施电机转速测量的方法.基本原理,完成了一种基于AT89C51单片机平台的电动机测速表的软硬件设计 ...
- 单片机遥控车c语言程序,基于51单片机的无线遥控小车设计[附发射接收程序]
/***************************************************************/ /*[基于51单片机的无线遥控小车设计] 作者王*茹 */ /*** ...
- 基于51单片机的电子万年历的设计-源代码
电子万年历的设计目录 电子万年历的设计 电子万年历的系统整体设计框图 所需要的元件 DS18B20模块 DS18B20的特点 DS18B20内部结构 DS18B20管脚排列 DS1302模块 SPI时 ...
最新文章
- python代码打印二叉树某一特定层的节点
- open一个页面并关闭父页(小技巧)
- DDOS学习笔记(《破坏之王-DDOS攻击与防范深度剖析》)
- spark KafkaRDD的理解
- Python编程基础16:类和对象
- 安装vim提示Depends: libpython3.5 (>= 3.5.0~b1) but it is not going to be installed的解决方法
- [leetcode]5. 最长回文子串
- assert()和panic()
- 贝叶斯网络是神经网络吗,贝叶斯网络和神经网络
- 电商数据应用体系建设总结(二)—— 数据应用层架构介绍和规范总结
- CANTest软件安装成功经验
- 最小二乘法曲线拟合(代码注释)
- 微博开放平台-发微博测试
- git:info: detecting host provider for ‘https://gitee.com/‘...
- illegal instruction
- 关于加强网络舆情监测的几点建议,TOOM强化舆情监控有方法
- 这3个今日头条常见的赚钱方法,掌握后,月入过万都不难
- CSAPP第五章家庭作业参考答案
- 小白学习朴素贝叶斯——看即懂
- Ajax 什么是Ajax? Ajax的基本语法
热门文章
- TensorFlow GPU与CPU运行速度比较
- 玖益科技:拼多多店铺的优化步骤
- 网易云易盾验证码海外版发布,支持12种主流语言
- 学术-物理-维空间:五维空间
- 注册的业务、登录业务、个人中心、nginx配置【VUE项目】
- 微信支付与支付宝钱包的竞争分析
- HTML5七夕情人节表白网页(流星雨3D旋转相册) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码
- python求一元二次方程的解法_python进行二次方程式计算的实例讲解
- Android P 各种ANR的时间
- 关闭 Administrator 账户