51单片机项目(16)——基于51单片机的水箱冷却系统

1.项目背景

        汽车水箱又称散热器,是汽车冷却系统中主要机件;其功用是散发热量,冷却水在水套中吸收热量,流到散热器后将热量散去,再回到水套内而循环不断。从而达到散热调温的效果。它还是汽车发动机的重要组成部分。

        汽车水箱温度过高问题一直困扰着广大驾驶员,如不及时进行认为干预,则会对汽车寿命造成影响,威胁到驾驶员的行车安全。温度升高,部件的膨胀会变大,部件之间的间隙变得更小,导致产生更大的摩擦,其中最明显的莫过于活塞和活塞环,一旦过度膨胀与气缸的磨损就会更多,造成“拉缸”,严重的话活塞还会卡死在气缸内,造成彻底的损坏。

        为了实现对恒温水箱水温的精确控制,文章提出了基于51单片机的恒温水箱控制系统设计。系统以51系列STC89C52单片机为核心,利用数字传感器DS18B20采集水温,并通过LCD1602液晶显示器进行实时显示,用按键设定温度阈值,当温度超过阈值时,打开风扇进行降温,实现对被控对象进行实时控制,从而实现对水温的精确调节。实际应用表明:该恒温水箱系统具有成本低廉,可靠性好,控制精度高、实用性强的特点,具有很高的实用价值和应用前景。

要完整工程的,直接移步至最后即可

2.课题意义

        发动机在运转过程中对于水箱温度控制是比较严格的,正常情况下发动机运转以后,应该迅速达到设计工作温度,在这个温度下,发动机各个零部件匹配间隙达到最佳,此时润滑效果最好,阻力最小,而在发动机的整个运转过程中水箱冷却系统会控制发动机温度处于最近工作温度范围,避免水箱温度过高或者过低,水箱温度过高或者过低都会带来危害。发动机在运转中水箱温度过低的危害:磨损增大:首先,机油在低温环境下,其润滑性能会大大降低,特别是一些矿物质机油,低温流动性很差,导致发动机的冷启动磨损增大。特别是长期低温短途行驶,对发动机的损害更大。

        本课题旨在解决水箱温度过高的情况,保证汽车的使用寿命,保障驾驶员的行车安全。

 

3.设计要求

        测温量程:0-60℃

        测量精度:±1℃

        要求可以调整温度阈值,实现超温启动风扇,进行降温。用显示器显示当前温度,实现智能控制,具有实用价值。

4.设计思路

5.代码(一部分) 

#include<reg51.h>   //头文件
#include <string.h>
#include "temp.h"	
#include "LCD1602.h"
#define uint unsigned int 
#define uchar unsigned char
   
char wendu[]="00C";    //当前所测温度
char yuzhi[]="25C";     //温度阈值  按K3 +1  按K4  -1

sbit K3=P3^2;
sbit K4=P3^3;

sbit dianji=P1^7;

void delay(uint z) // 延迟函数
{
uint y;
for(z;z>0;z--)
   for(y=0;y<110;y++);
}

void delay_ns(int i)    //延迟ns
{
  int y;
  for(y=0;y<i;y++)
   delay(1000);
}



void datapros(int temp) 	 
{
   	float tp;  
//	if(temp< 0)				//当温度值为负数
//  	{
//		
//		//因为读取的温度是实际温度的补码,所以减1,再取反求出原码
//		temp=temp-1;
//		temp=~temp;
//		tp=temp;
//		temp=tp*0.0625+0.5;	
//      xinxi[20]='-';
//      xinxi[21]=temp/10+0x30;
//      xinxi[22]=temp%10+0x30;
//		//+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点
//		//后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就
//		//算加上0.5,还是在小数点后面。
//    
//      
//  	}
// 	else
//  	{			
		
		tp=temp;//因为数据处理有小数点所以将温度赋给一个浮点型变量
		//如果温度是正的那么,那么正数的原码就是补码它本身
		temp=tp*0.0625+0.5;	
       wendu[0]=temp/10+0x30;
       wendu[1]=temp%10+0x30;
		//+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点
		//后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就
		//算加上0.5,还是在小数点后面。
	//}
	
}

main()
{  
   float tp=0;
   int   temp=0;
   int i;
   int num=0;
   int temp_yuzhi=25;
	LcdInit();	//LCD1602初始化
	while(1)
	{ 
     if(K3==0)
     {
         delay(20);
         if(K3==0)
            temp_yuzhi=temp_yuzhi+1;
     }
     
      if(K4==0)
     {
         delay(20);
         if(K4==0)
            temp_yuzhi=temp_yuzhi-1;
     }
     yuzhi[0]=temp_yuzhi/10+0x30;
     yuzhi[1]=temp_yuzhi%10+0x30;
     
     tp=Ds18b20ReadTemp();          //DS18B20数据处理函数 
     temp=tp*0.0625+0.5;	
     wendu[0]=temp/10+0x30;
     wendu[1]=temp%10+0x30;
         
     LcdWriteCom(0x01);
     for(i=0;i<3;i++)
   {   
	  LcdWriteData(wendu[i]);  
   }   
    LcdWriteCom(0x80+0x40);    //切换到第二行显示   显示温度阈值
   
   for(i=0;i<3;i++)
   {   
	  LcdWriteData(yuzhi[i]);  
   }   
   
   if(temp>temp_yuzhi)        //温度高于阈值  开风扇
      dianji=1;
   else
      dianji=0;
   
     delay(200);
   
	}
}

6.国内外研究现状 

        水箱冷却系统是一种常见的工业和汽车领域使用的散热设备,用于降低设备或引擎的温度。以下是水箱冷却系统的国内外研究现状的简要介绍:

        国内:

        在中国,水箱冷却系统的研究和开发比较活跃。许多大学、研究机构和企业都致力于水箱冷却系统的改进和创新。研究重点包括材料的优化、流体力学模拟、热传导分析、系统控制等方面。通过改进冷却器的设计和材料选择,提高换热效率,并且提升冷却系统的自动化和智能化,以实现更高效、可靠的散热效果。

        国外:

        在国外,水箱冷却系统的研究水平相对较高,尤其在汽车领域更为突出。许多汽车制造商和研究机构在燃油经济性和减排方面的要求下,对水箱冷却系统进行了广泛的研究和发展。研究方向包括减小冷却系统的重量和尺寸、提高散热效率、优化流体动力学、改进材料和热管技术等。

        总体来说,水箱冷却系统的研究和开发在国内外都比较活跃。通过不断的技术创新和优化,水箱冷却系统能够更好地满足不同领域的散热需求,并提高系统的效率和可靠性。

7.完整工程文件

基于51单片机的汽车水箱冷却系统资源-CSDN文库icon-default.png?t=N7T8https://download.csdn.net/download/guangali/88562808

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/196545.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决ssh使用public key远程登录服务器拒绝问题

目录 使用场景windows安装ssh客户端使用powershell ssh登录服务器生成密钥文件ubuntu ssh服务器配置使用vscode远程登录使用Xshell远程登录使用MobaXtem远程登录Server refused our key问题解决方案 使用场景 使用vscode远程ssh登录使用public key不需要输入密码,比较方便. w…

Java 之 lambda 表达式(一)

目录 一. 前言 二. lambda 表达式语法 2.1. 语法1&#xff1a;无参&#xff0c;无返回值 2.2. 语法2&#xff1a;一个参数&#xff0c;无返回值 2.3. 语法3&#xff1a;两个参数&#xff0c;lambda 体中有多条语句 2.4. 语法4&#xff1a;两个以上参数&#xff0c;有返回…

Java 常用容器

目录 列表栈&#xff08;类&#xff09;队列(接口)setMap 列表 package com.czl;import java.util.ArrayList; import java.util.List; //AltEnter导入包 public class Main {public static void main(String[] args) throws Exception{List<Integer> list new ArrayLis…

群晖NAS配置之自有服务器ngrok实现内网穿透

群晖NAS配置之自有服务器ngrok实现内网穿透 前言-内网穿透 内网穿透是指通过一种技术让外部网络可以访问到内网的NAS设备&#xff0c;这样即使在不同网络环境下&#xff0c;也能够远程访问和管理NAS设备。以下是一些常见的内网穿透方案&#xff1a; Synology官方提供的Quick…

【Java Spring】SpringBoot常用插件

文章目录 1、Lombok1.1 IDEA社区版安装Lombok1.2 IDEA专业版安装Lombok1.3 Lombok的基本使用 2、EditStarters2.1 IDEA安装EditStarters2.2 EditStarters基本使用方法 1、Lombok 是简化Java开发的一个必要工具&#xff0c;lombok的原理是编译过程中将lombok的注解给去掉并翻译…

二百零八、Hive——HiveSQL异常:Select查询数据正常,但SQL语句加上group by查询数据为空

一、目的 在HiveSQL的DWD层中&#xff0c;需要对原始数据进行去重在内的清洗&#xff0c;结果一开始其他数据类型的清洗工作都正常&#xff0c;直到碰到转向比数据。 一般的SQL查询有数据&#xff0c;但是加上group by以后就没数据&#xff1b; 一般的SQL查询有数据&#xf…

很清楚展示GPT插件的调用过程,人工智能(AI)的潜在危险与好处 超级智能 未来

好处&#xff0c;未来 很清楚展示GPT插件的调用过程&#xff1a; 把请求和要求发chatGPT chatGPT返回markdown格式发给插件 插件返回结果给用户。 你不用别人用。 人工智能&#xff08;AI&#xff09;的最危险之处通常与以下几个方面有关&#xff1a; 自主决策能力过强&…

轻量级项目群管理

敏捷开发流程管理&#xff1a; Leangoo领歌是一款永久免费的专业的敏捷开发管理工具&#xff0c;提供端到端敏捷研发管理解决方案&#xff0c;涵盖敏捷需求管理、任务协同、进展跟踪、统计度量等。 Leangoo支持敏捷研发管理全流程&#xff0c;包括小型团队敏捷开发&#xff0c;…

创建SpringBoot Helloword 程序详细步骤

本文档实现SpringBoot hello word 程序&#xff0c;翻译于Spring | Quickstart 目录 一、项目创建步骤1.1 创建项目1.2 添加代码1.3 运行 参考教程 一、项目创建步骤 1.1 创建项目 在官网Spring Initializr上创建项目 1.2 添加代码 在IDE中打开项目并在src/main/java/com/zo…

springboot集成springsecurity

转载自&#xff1a;www.javaman.cn 1、整合springsecurity 添加pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId> </dependency>2、springsecurity认证授权流程…

第1章 理解知识图谱(一)

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

vue3默认插槽、具名插槽以及作用域插槽实现父子组件通信

默认插槽与具名插槽 父组件 <template><div><h1>我是父组件</h1><child><div style"color: red">我是从父元素插入的值(默认插槽)</div><template #juming><div style"color: green">我是从父元素…

【沁恒蓝牙mesh】CH58x 将RTC时钟切换为LSE外部低速时钟

本文主要记录了【沁恒蓝牙mesh】CH58x 如何将RTC时钟切换为外部时钟 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是喜欢记录零碎知识点的小菜鸟。&#x1f60e;&#x1f4dd; 个人主页&#xff1a;欢迎访问我的 Ethernet_Comm 博客主页&#x1f525;&#x1f389;…

SpringCloud之服务网关Gateway组件使用——详解

目录 一、网关介绍 1.什么是服务网关 2. 为什么需要网关 3.网关组件在微服务中架构 二、服务网关组件 1. zuul 1.x 2.x(netflix 组件) 1.1 zuul版本说明 2. gateway (spring) 2.1 特性 2.2 开发网关动态路由 2.2.1.创建项目引入网关依赖 2.2.2 快捷方式配置路由 2.2…

基于HTML+CSS+JavaScript的登录注册界面设计

一、界面效果: 二、HTML代码: 登录注册html: 登录成功html: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <h1>登录成功!</h1> </body> <…

群晖NAS基础设置

群晖NAS基础设置 最近一直在玩群晖NAS系统&#xff0c;有一些基础的配置跟大家分享一下 开启ssh登录 1.开启方法 控制面板—>终端和SNMP—>终端机 2.使用ssh软件登录 这里我用SecureCRT登录 进入ssh 3.进入root用户 starstar-nas:~$ sudo su -l root Password: ro…

【学习草稿】pid控制基础实现--往水桶注水

pid 1&#xff09;非常通俗易懂的PID控制&#xff08;1&#xff09;https://zhuanlan.zhihu.com/p/37515841 球场上运动至指定地点&#xff08;比例控制&#xff09;&#xff1a;有图【很直观的帮助理解】&有文字分析 2&#xff09;初识PID-搞懂PID概念 https://zhuanlan.…

CMake构建一个转换为3d tile的开源代码成功

之前CMake构建一个转换为3d tile的开源代码&#xff0c;生成解决方案之后&#xff0c;从VS2019打开&#xff1b; 总是报一个错误&#xff0c;跟 mocs_compilation_Debug.cpp 这个QT相关文件有关&#xff0c;它生成的obj&#xff0c;总是报模块计算机x64和目标计算机x86冲突&am…

HTTP/3 为什么正迅速崛起

超文本传输协议&#xff08;HTTP&#xff09;作为互联网的基石&#xff0c;一直在网页加载、视频流传输、应用获取数据等方方面面发挥重要作用。 去年&#xff0c;负责定义互联网技术的互联网工程任务组&#xff08;IETF&#xff09;将该协议的最新版本 HTTP/3 定为标准。在此…

leetcode:495. 提莫攻击

一、题目 链接&#xff1a;495. 提莫攻击 - 力扣&#xff08;LeetCode&#xff09; 函数原型&#xff1a;int findPoisonedDuration(int* timeSeries, int timeSeriesSize, int duration) 二、思路 遍历数组timeSeries&#xff0c;如果 元素值duration < 下一元素值 &#x…