设计一个基于STM32的PID温度控制系统

设计一个基于STM32的PID温度控制系统,主要温度器件–半导体制冷器,PTC加热片

温度控制系统这个题目算是课程设计和毕业设计中常见的题目了,本期阿目动手设计了一个简单的基于PID的温度控制系统,并带有上位机显示实时的波形。下面就分享下这个题目的电路、下位机以及上位机的设计思路吧!

需要的源文件和程序的小伙伴可以关注公众号【阿目分享嵌入式】,然后后台私信我哦!!(看到消息会第一时间回复~)

首先,介绍下硬件设计思路,本次选取的单片机是STM32F103C8T6,这是一款常用的单片机了,设计上的资料也是非常的多;温度传感器是DS18B20;加热器是常见的恒温加热片;制冷器件选择的是半导体制冷元器件,见下图:

设计一个基于STM32的PID温度控制系统_第1张图片

半导体制冷器件需要安装散热器和风扇,因为其工作时散热面会散发大量的热,散热效果好的话,制冷效果会更好,因此设计中加入了风扇和散热片;然后就是电路的控制电路了,本设计使用NMOS管(NCE2060K)控制加热片和制冷器的工作;然后还添加了一个oled模块用于显示调试信息,这个比较重要,通常下位机有一个显示设备,可以让调试更加方便;与上位机通信的用的是USB转TTL模块;电源模块是AMS117-3.3的ldo稳压芯片;以上元器件都是可以在某宝购买的哦有问题,欢迎后台留言~

下面都看下主要的功能电路吧!

设计一个基于STM32的PID温度控制系统_第2张图片

单片机的最小系统,非常常见,不再详述。

设计一个基于STM32的PID温度控制系统_第3张图片

加热模块和制冷模块的设计,使用了光耦进行信号隔离,使用二极管作为续流作用,保护功率器件。

设计一个基于STM32的PID温度控制系统_第4张图片

电源电路,AMS117的典型设计电路~~

设计一个基于STM32的PID温度控制系统_第5张图片

展示一下全部电路~~

下面叙述下下位机的设计。下位机主要实现温度的采集,然后通过串口将数据发送到上位机,并从上位机接收目标温度信息。

设计一个基于STM32的PID温度控制系统_第6张图片

一上来,先初始化外设,主要串口,温度传感器、OLED、PWM和PID。

设计一个基于STM32的PID温度控制系统_第7张图片

PID的数值这里可以先凭经验设置,后续再调试。pid的实现的话是采用的增量式的pid控制的,实现代码详见源程序了~

设计一个基于STM32的PID温度控制系统_第8张图片

温度采集程序,就是DS18B20的实现,可详见程序。接收数据后按字节发送到上位机~~

设计一个基于STM32的PID温度控制系统_第9张图片

处理上位机的数据,其实就是发来的目标温度,会设置pid中的目标温度。这里的数据来自于串口中断函数,所以是需要在串口中断函数中处理接收到的数据的,这里我们把数据放在了一个rev_dat数组里面。

上位机的讲解在上一期的《用python写一个简单的带波形的串口上位机》中(关注公众号【阿目分享嵌入式】)。

下面看下实物的展示吧~

供电是焊接的一个type C接口,所以可以直接用手机充电线给板子供电~

设计一个基于STM32的PID温度控制系统_第10张图片

采集到的温度变化曲线~上位机实现了温度的显示和目标温度的设定以及历史数据的回放。

需要的源文件和程序的小伙伴可以关注公众号【阿目分享嵌入式】,然后后台私信我哦!!~~ending

你可能感兴趣的:(stm32,嵌入式硬件,单片机)