本文介绍如何用STM32来实现温度控制系统仿真,如果看完你还不会各种测试,那你真的没救了
准备
仿真软件:Proteus 8.9
自行去 https://www.zdfans.com/ 搜索,Proteus
下载,并安装,汉化,注意要安装在C盘根目录
Proteus配置
本文以软件自带的Oven来实现温度反馈控制。
添加STM32F103C6模块,LM016L液晶屏模块,一个黄色LED,一个绿色LED,两个100欧姆电阻,一个继电器开关,一对123k和5k的分压电阻,以及Oven模块。
如果嫌麻烦可以在这里下载我添加完成的:下载
添加完成后,连线如图所示,注意ad网标的设置。
到这里先告一段落
STM32流程
通过STM32的自带的ADC获取温度,与设定值进行比较后,通过IO口控制Oven的电源驱动,从而实现负反馈。与此同时,STM32还需要控制液晶屏的信息显示。
请先下载程序代码:下载
首先使用STM32CubeMX(下载) 打开ATest.ioc
。
前面都已配置完成,跳转到Project Manager,选择你喜欢的IDE进行STM32程序开发。
打开工程,先进行显示器控制的开发,代码在程序包中有,因此这里只做节选说明
void printFloat(float value)
{
int tmp,tmp1;
tmp = (int)value;
tmp1=(int)((value-tmp)*10)%10;
sprintf(&buff[0],"%d.%d\r\n",tmp,tmp1);
}
因为程序由于一些原因不能打印浮点数,这里做一个浮点数的打印
void Delay_us(uint16_t us