0.水冷温控系统概述
首先先把设计效果视频放出来https://pan.baidu.com/s/1sE-8WXBvF1hE3J7gQzhG5Q
1.系统设计原理
温控系统,是以物体的温度为被控变量的开环或闭环控制系统。如下图,为典型的闭环温控系统原理框图。 图中,控温对象的温度T为系统的被控变量。温度传感器不断采集当前温度值,期望温度与实际温度相比较,差值输入温度控制器ATR;ATR根据该偏差,输出一个控制量,指令加/散热器动作,作用于控温对象,改变其温度,改变其温度。通过这样的闭环反馈机制,使实际温度趋向期望温度。
2.硬件选择
MCU:STM32F103VCT6
输出电机驱动指令(PWM):L298N
接收并处理温度检测信号:LM35
提供人机交互界面:TFT LCD显示、LED显示、按键输入;计算机串口终端显示
热源选型:PTC发热片
水冷装置:asetek型水冷器
(本设计较穷,各部分模块可以换取可代替同样功能的硬件)
3.软件实现
3.1电机PWM调速控制(直流电机的调压调速)
选取的是TIM5_CH1和TIM5_CH2做双路PWM输出(一路接水泵电机,另一路接风扇电机)
void TIM5_PWM_Init(uint16_t arr,uint16_t psc)//自动重装载值arr和预分频值psc
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInitStructure.TIM_Period=arr;
TIM_TimeBaseInitStructure.TIM_ClockDivision=0;
TIM_TimeBaseInitStructure.TIM_Prescaler=psc;
TIM_TimeBaseInit(TIM5,&TIM_TimeBaseInitStructure);
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse=0;
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
TIM_OC1Init(TIM5,&TIM_OCInitStructure);
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;
TIM_OCInitStructure.TIM_Pulse=0;
TIM_OC2Init(TIM5,&TIM_OCInitStructure);
TIM_OC1PreloadConfig(TIM5,TIM_OCPreload_Enable);
TIM_OC2PreloadConfig(TIM5,TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM5,ENABLE);
TIM_Cmd(TIM5,ENABLE);
}
PWM波频率:
PWM的占空比: