STM32 51单片机设计半导体制冷片温控设计

目录

前言

一、本设计主要实现哪些很“开门”功能?

二、电路设计原理图

1.电路图采用Altium Designer进行设计:

三、实物设计图

四、程序源代码设计 

五、获取资料内容


前言

基于STM32与51单片机的半导体制冷片温控设计 前言

随着现代工业、医疗和科研领域对温度控制精度的要求日益提高,半导体制冷片(TEC)因其高效、灵活的特点而得到广泛应用。然而,要充分发挥TEC的性能,设计一个精确、稳定的温控系统至关重要。本文将探讨基于STM32和51单片机的半导体制冷片温控设计,旨在为相关领域提供一种高效、可靠的解决方案。

半导体制冷片(TEC)以其独特的帕尔贴效应原理,能够实现制冷和加热的双重功能。然而,TEC的温控系统在设计上存在一定的挑战,如温度调节过程中的惯性大、环境温度影响显著等。为了克服这些挑战,本文将采用PID控制算法,并结合模糊自适应控制方法,实现对TEC的精确温度控制。

基于STM32和51单片机的半导体制冷片温控系统的实现过程。硬件设计部分将包括温度传感器选型、STM32和51单片机的电路设计、TEC驱动电路设计等;软件设计部分则将重点介绍PID控制算法和模糊自适应控制方法的实现,以及温度采集、控制输出和通信等模块的软件编程。

一、本设计主要实现哪些很“开门”功能?

        1)大功率供电,实现零度以下制冷
        2)实时温控检测,PID温控算法程序
        3)蓝牙APP调节温度控制发送指令执行
        4)多模式控制,手动模式与自动模式
        5)PID温控算法实现实时温控
        6)半导体制冷器设计,与散热设计

二、电路设计原理图

1.电路图采用Altium Designer进行设计:


1、通过STM32F103C8T6单片机作为系统主控,最小系统电路是整个电路的核心。

2、设计了大功率稳定制冷机系统

3、 使用无线蓝牙模块,模块与单片机进行通讯解析串口连接。

4、通过DS18B20防水模块采集温度数据,模块与单片机采样单总线通讯连接

5、使用PID算法,程序内部运行

6、通过继电器做电源保护设置,模块与单片机使用数据总线控制连接

7、使用风扇进行散热,模块与单片机通过MOS官控制连接

三、实物设计图


四、程序源代码设计 

#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"    
#include "LED.h"
#include "ds18b20.h" 

int main(void)
{
    u16 t = 0;//时间
    u8 i = 0;
  u8 F_mode = 1;//默认自动模式
    u8 maxtemp = 0,mintemp = 0;
    u8 tempdate[] = {30,20};//默认温度达到30度开启制冷,20度关闭制冷
    u16 len = 0;
    float temperature; 
    float Temp = 0;
    c
    delay_init();             //延时函数初始化    
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级 
    uart_init(9600);                                   //串口初始化为9600,语音播报
    Relay_Init();
    LED_Init();
    DS18B20_Init();  //温度采集初始化
    delay_ms(800);
    temperature = DS18B20_Get_Temp();//读取温度值
    delay_ms(800);
//  RelayContro = 1;
    while(1)
    {        
        if(USART_RX_STA&0x8000)
        {                       
            len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
            if(len>3)
            {
                maxtemp = (USART_RX_BUF[0]-'0')*10 + (USART_RX_BUF[1]-'0');
                mintemp = (USART_RX_BUF[2]-'0')*10 + (USART_RX_BUF[3]-'0');
                tempdate[0] = maxtemp;
                tempdate[1] = mintemp;
                USART_RX_STA=0;
            }
        }            
        
        temperature = DS18B20_Get_Temp();//读取温度值
        Temp = temperature/10;//计算温度值,准备蓝牙传输数据    
        
        //自动模式
        if(Temp>=tempdate[0]&&F_mode)
        {
            RelayContro = 1;//当温度高达30度开启制冷
        }
        else if(Temp<=tempdate[1]&&F_mode)
        {
            RelayContro = 0;//关闭制冷
        }
        
        if(F_receive == 1)
        {
            F_receive = 0;
            //默认自动模式
            if(Res == 0xff)
            {
                i++;
                //手动模式
                if(i == 1){F_mode = 0;LED = 1;}
                //自动模式
                else if(i == 2){i= 0;F_mode = 1;LED = 0;}
            }
            else if(Res == 0xfe)//手动开启制冷
            {
                if(F_mode == 0){ RelayContro = 1;}
            }
            else if(Res == 0xfc)//手动关闭制冷
            {
                if(F_mode == 0){ RelayContro =0;}
            }
        }
        if(t==200)
        {
            t = 0;
            printf("Temp:%.1f---maxtemp:%d mintemp:%d\r\n",Temp,tempdate[0],tempdate[1]);
        }
        delay_ms(5);
        t++;

    } 
    
}


 

五、获取资料内容

资料获取
链接:https://pan.baidu.com/s/1hv8MSqt4AmWzFdYzM_D7Eg 
提取码:u2n9 

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

开源大模型技术路线及趋势

1. 三个维度 大模型研发力量 学术机构 大模型创业公司 科技大厂 旗舰开源模型的形态/模态 基础大模型 -> instruct大模型 -> 多模态&#xff08;VL大模型 -> 类gpt-4o大模型&#xff09; 时间线 23年上半年 23年下半年 24年 25年 2. 核心观察 学术机构及…

Vue学习笔记

Vue学习笔记 以下内容为黑马SpringbootVue3中的Vue3教程部分 Vue概述 什么是Vue&#xff1f; Vue 是一款用于构建用户界面的渐进式的JavaScript框架。&#xff08;官方:https://cn.vuejs.org/&#xff09; 快速入门 准备 准备html页面&#xff0c;并引入Vue模块&#xff08;官…

Java 使用MyBatis-Plus数据操作关键字冲突报错You have an error in your SQL syntax问题

问题 这个报错是出现在Java Spring boot项目中&#xff0c;使用MyBatis-Plus通过创建的实体类对数据库的操作过程中&#xff0c;通过实体创建数据库表是没有问题的&#xff0c;而在接口调用服务类操作数据库的时候&#xff0c;会出现报错。报错详情如下&#xff1a; 服务请求异…

Chrome DevTools Protocol 进阶: Page域

前言 本章开始我们将进一步学习 Chrome DevTools Protocol&#xff08;CDP&#xff09;&#xff0c;首先切入的内容是 CDP 中的域。 在 Chrome DevTools Protocol&#xff08;CDP&#xff09; 中&#xff0c;Page 域 是一个至关重要的部分&#xff0c;它负责控制浏览器页面的…

电动采光排烟大窗施工常见问题

电动采光排烟天窗施工常见问题可能涉及多个方面&#xff0c;包括施工前的准备、施工过程中的操作以及施工后的维护等。以下是对这些常见问题的归纳和分析。 一、施工前的准备问题 1、现场勘查不足&#xff0c;可能导致天窗尺寸、形状和材质不符合建筑设计要求&#xff1b; 2…

关于VUE NPM安装失败的问题

最近使用 npm install --registryhttps://registry.npmmirror.com 安装一个新项目的依赖&#xff0c;各种失败。 最后发现是package-lock里面有老的淘宝的域名&#xff0c;整体替换掉就行了

51单片机应用开发---LCD1602显示应用

实现目标 1、了解LCD1602液晶屏&#xff1b; 2、掌握驱动程序的编写&#xff1b; 3. 具体目标&#xff1a;在屏幕上显示字符。 一、LCD1206概述 1.1 定义 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置…

解决Clion相对路径失效的问题

Clion相对路径失效的可能原因 工作目录不对相对路径错误 解决方法 设置工作目录 点击 工作文件 将工作路径置空 (或设置正确的工作路径) 之后便可完美解决 设置全局路径 这样即可解决 希望能帮助到你

香港电讯连续蝉联香港01「大湾区企业同创大奖」

香港电讯非常荣幸地连续第四年荣获「香港01大湾区企业同创大奖」殊荣&#xff0c;以表扬我们在大湾区业务所取得的卓越成绩&#xff0c;以及我们积极促进区内跨境业务方面的贡献。 面对企业拓展业务的迫切需求&#xff0c;香港电讯提供全面的跨境数码方案&#xff0c;包括SD-WA…

Vue3.js - 一文看懂Vuex

1. 前言 Vuex 是 Vue.js 的官方状态管理库&#xff0c;用于在 Vue 应用中管理组件之间共享的状态。Vuex 适用于中大型应用&#xff0c;它将组件的共享状态集中管理&#xff0c;可以避免组件间传递 props 或事件的复杂性。 2. 核心概念 我们可以将Vuex想象为一个大型的Vue&…

PdServer:调用MidjourneyAPI完成静夜思图文生成

欢迎沟通讨论&#xff0c;WX: cdszsz。公号&#xff1a;AIGC中文站。 今天我们将使用PdServer&#xff0c;通过Qwen大模型完成古诗的解析与prompt的生成&#xff0c;然后调用MidjourneyAPI完成图片的生成。有了文案和图片&#xff0c;我们就可以将其生成为一个古诗讲读视频。从…

融合创新:CNN+LSTM在深度学习中的高效应用,助力科研发表高影响因子文章!

2024深度学习发论文&模型涨点之——CNNLSTM 结合CNN&#xff08;卷积神经网络&#xff09;和LSTM&#xff08;长短期记忆网络&#xff09;是一种常见的深度学习模型组合&#xff0c;广泛应用于各种任务&#xff0c;特别是时间序列预测和序列数据处理。 CNNLSTM是一种深度学…

20241114在飞凌的OK3588-C的核心板上跑Linux R4时通过iperf3测试以太网卡的实际网速

20241114在飞凌的OK3588-C的核心板上跑Linux R4时通过iperf3测试以太网卡的实际网速 2024/11/14 21:09 《OK3588-C_Linux5.10.66Qt5.15.2_用户使用手册_V1.2_20240321.pdf》 飞凌文档上的配置有点不一样&#xff0c;需要修正&#xff1a; 3.2.15 以太网配置 OK3588-C板载两个千…

鸿蒙开发,Arkts 如何调用接口

面向万物互联时代&#xff0c;华为提出了“一次开发多端部署、可分可合自由流转、统一生态原生智能”三大应用与服务开发理念。针对多设备、多入口、服务可分可合等特性&#xff0c;华为提供了多种能力协助开发者降低开发门槛。在此背景下&#xff0c;HarmonyOS基于JS/TS语言体…

JavaScript方法修改 input type=file 样式

html中的<input type "file">的样式很难修改&#xff0c;又跟页面风格很不匹配。我就尝试了几种方法&#xff0c;但是不管是用label还是用opacity:0都很麻烦&#xff0c;还老是出问题&#xff0c;所以最后还是用JavaScript来解决。 下面附上代码&#xff1a;…

安装仓库,ssh以及NFS

安装仓库 1、源码安装 >自定义组件 2、软件包安装&#xff1a;rpm / dpkg ↓ (.rpm) / (.deb) 3、apt / yum >仓库 apt仓库&#xff1a; 安装源 >在线 / 离线 >包含可用的deb包 ↓ 元信息>包与包之间的依赖关系 在线源&#xff1a;必须要联网&#xff0c;包…

[Docker#9] 存储卷 | Volume、Bind、Tmpfs | -v/mount | MySQL 灾难恢复 | 问题

目录 1. 什么是存储卷? 2. 生活案例 3. 为什么需要存储卷? 4. 存储卷分类 一. 管理卷 Volume 创建卷 通过 -v 或 --mount 指定 1. -v 语法 命令格式 参数说明 2. --mount 语法 命令格式 参数说明 验证 二. 绑定卷 (Bind Mount) 1. 绑定卷概述 2. 创建绑定卷…

CVPR2024-6-可学习点云采样“LTA-PCS: Learnable Task-Agnostic Point Cloud Sampling”

文章摘要&#xff1a; 最近&#xff0c;许多方法直接对不同任务的点云进行操作。当点云尺寸较大时&#xff0c;这些方法的计算量和存储要求更高。为了减少所需的计算和存储&#xff0c;一种可能的解决方案是对点云进行采样。在本文中&#xff0c;我们提出了第一个可学习的与任务…

react + ts定义接口类型写法

接口&#xff08;未进行ts定义&#xff09; export async function UserList(params: {// keyword?: string;current?: number;pageSize?: number;},// options?: { [key: string]: any }, ) {return request<API1.UserList>(http://geek.itheima.net/v1_0/mp/artic…

数据库基础

数据库基础 什么是数据库主流数据库数据库的基本使用连接服务器服务器管理服务器、数据库、表之间的关系数据库基本指令 MySQL架构SQL分类存储引擎什么是存储引擎查看存储引擎存储引擎对比 什么是数据库 存储数据用文件就可以了&#xff0c;为什么还要弄个数据库&#xff1f; …