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

目录

前言

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

二、电路设计原理图

[1.电路图采用Altium Designer进行设计:](#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_BUF0-'0')*10 + (USART_RX_BUF1-'0');

mintemp = (USART_RX_BUF2-'0')*10 + (USART_RX_BUF3-'0');

tempdate0 = maxtemp;

tempdate1 = mintemp;

USART_RX_STA=0;

}

}

temperature = DS18B20_Get_Temp();//读取温度值

Temp = temperature/10;//计算温度值,准备蓝牙传输数据

//自动模式

if(Temp>=tempdate0&&F_mode)

{

RelayContro = 1;//当温度高达30度开启制冷

}

else if(Temp<=tempdate1&&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,tempdate0,tempdate1);

}

delay_ms(5);

t++;

}

}

五、获取资料内容

资料获取

链接:https://pan.baidu.com/s/1hv8MSqt4AmWzFdYzM_D7Eg

提取码:u2n9

相关推荐
国科安芯3 小时前
航天器多路并联大功率电源系统设计与ASP4644均流特性分析
单片机·嵌入式硬件·fpga开发·安全性测试
茯苓gao5 小时前
嵌入式开发笔记:CANopen相关移位运算与通信协议术语详解
网络·嵌入式硬件·学习·信息与通信
梁朝辉8 小时前
STM32H750VBT6中ADCINP与INN什么区别
stm32·单片机·嵌入式硬件
省四收割者9 小时前
一文详解信号完整性(1)
python·嵌入式硬件·数学建模·信息与通信·信号处理·智能硬件
崇山峻岭之间10 小时前
单片机无感FOC驱动之ADC
单片机·嵌入式硬件
Ligocious10 小时前
1.点亮一颗小小的LED
单片机·嵌入式硬件
KaifuZeng14 小时前
通信与接口协议面试八、CAN通信
单片机·嵌入式硬件·面试·通信与接口协议
智源单片机设计15 小时前
基于单片机的直流电机双闭环调速系统设计
单片机·嵌入式硬件
kebidaixu16 小时前
两轮车换电 BMS 的模拟前端中颖 SH367306 AFE 芯片详解
stm32
kebidaixu16 小时前
两轮车换电 BMS 的模拟前端中颖 SH367306 AFE 芯片调试实录:四个关键问题与解决方案
stm32