文章目录
- 摘要
- 环境要求
- 整体设计电路原理图
- 四相步进电机
- 仿真结果
摘要
本文尝试在STM32F103C6微控制器上设计一种比较简单的散热器,通过DS18B20温度传感器实时检测环境温度,并通过LCD1602液晶显示器显示出具体的温度值。此外可以设置一个温度阈值,当检测到环境温度高于阈值时,通过驱动电机转动带动排气扇开始对环境进行散热,当温度降到阈值以下,电机自动停止转动,从而实现一种简单的散热扇设计。这是一个比较简单的STM32的小demo,包含温度传感、LCD液晶显示和电机驱动控制三个模块
环境要求
proteus8.8,keil4以上版本。
**(课设资源有常私我vx:xdsqczkyqs713**
包含proteus仿真文件,keil项目以及一份设计报告
完整打包40r,包运行成功,非诚勿扰哦
整体设计电路原理图
设计要求的散热风扇需要采用步进电机来驱动,而电机转动所需要的大电压、大电流的工作环境,单凭STM32芯片是无法满足的,因此需要ULN2003来协助单片机输出大电流、满足电机电压,来驱动电机。ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
四相步进电机
本次设计采用的电机为传统的四相步进电机
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相 绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
ULN2003与四相步进电机的连线图如下
附带的设计报告概况如下:
仿真结果
将keil生成的hex文件导入到Proteus仿真的STM32F103C6芯片中,程序中设置的风扇开始转动的温度阈值threshold为50C°,仿真时先将DS18B20的环境温度值设置为49C°,开启仿真,结果如图:
可见温度检测显示与设置值一致,由于温度低于阈值,电机没有转动。
然后设置环境温度为51C°,阈值保持50C°不变,仿真结果如下图所示:
温度显示正常,由于环境温度高于阈值,电机开始转动