基于单片机的智能风扇控制系统设计,知网查重5.4%

发布时间 : 星期一 文章基于单片机的智能风扇控制系统设计,知网查重5.4%更新完毕开始阅读

4.5按键连接电路

按键包括三个独立按键S1 S2和S3,一端与单片机的P3.1、P3.2和P3.3口连接,另一端接地,当按下任一键时,P3口读取低电平有效。系统上电后,进入按键扫描子程序,以查询的方式确定各按键,完成温度初值的设定。其中按键S1为设置键,可设置温度上下限值,第一次按下设置键设置温度上限值,第二按下设置键设置温度下限值,再按加减键就可以修改温度值。每按一次S2加键,系统对最初设定值加五,按键S3为减按键,每按下一次,系统对初定值进行减一计算。其连线图如图3-4所示。

第五章 软件设计

5.1 程序设置

程序设计部分主要包括主程序、DS18B20初始化函数、DS18B20温度转换函数、温度读取函数、按键扫描函数、数码管显示函数、温度处理函数以及风扇电机控制函数。DS18B20初始化函数完成对DS18B20的初始化;DS18B20温度转换函数完成对环境温度的实时采集;温度读取函数完成主机对温度传感器数据的读取及数据换算,按键扫描函数则根据需要完成初值的加减设定;温度处理函数对采集到的温度进行分析处理,为电机转速的变化提供条件;风扇电机控制函数则根据温度的数值完成对电机转速及启停的控制。主程序流程图如图4-1所示。

第六章 系统调试

6.1 软件调试

6.1.1 按键显示部分的调试

起初根据设计编写的系统程序:程序的按键接口采用P3口,数码管现实采用P0控制LED的段码,P2口控制LED的位码,从而实现按键功能以及数码管的显示。经过编译没有出错,但在仿真调试时,数码管显示的只是乱码,没有正确的显示温度,按键功能也不灵的,当按键按下时,显示并不变化。

经过查找分析,发现按键扫描程序没有按键消抖部分,按键在按下与松手时,都会有一定程序的抖动,从而可能使单片机做出错误的判断,导致按键条件预设温度时失灵,甚至根本不工作。因此必须在按键扫描程序中加入消抖部分,即在按键按下与松手时加入延时判断,以检测按键是否真的按下或已完全松手。

数码管不能正确的显示,主要是因为所有数码管的段码都由P0口传送,而数码管显示又采用了动态扫描的方式,但在程序中却没有设置显示段码的暂存器,导致当P0口传送段码时发生混乱,不能正确识别段码。应在系统中加入锁存器,或是在程序中设定存储段码的空间。

在按键加入了消抖程序,数码管显示程序中加入了段码的存储空间后,数码管能够正常的显示,按键也能正常的工作,达到了较好的效果。 6.1.2 传感器DS18B20温度采集部分调试

由于数字式集成温度传感器DS18B20的高度集成化,为软件的设计和调试带来了极大的方便,体积小、低功耗、高精度为控制电机的精度和稳定提供了可能。软件设计采用了P1.2口为数字温度输入口,但是需要对输入的数字信号进行处理后才能显示,从而多了温度转换程序。通过软件设计,实现了对环境温度的连续检测,由于硬件LED个数的限制,只显示了预设温度和环境温度的整数部分。

6.1.3 电动机调速电路部分调试

本设计中,采用了两个三极管为核心的驱动电路驱动直流电机,本系统仅驱动一个。软件设置了P1.0口输出不同的PWM波形,通过三极管驱动直流电机转动,通过软件中程序设定,根据不同温度输出不同的PWM波,从而得到不同的占空比控制风扇直流电机。

6.2 硬件调试

6.2.1 传感器DS18B20温度采集部分调试

将DS18B20芯片接在系统板对应的P1.2口,通过插针在对应系统板的右下侧三口即为对应的VCC、P1.2和GND,可将芯片直接插在该插件上,因此极为方便。系统调试中为验证DS18B20是否能在系统板上工作,将手心靠拢或者捏住芯片,即可发现LED显示的前两位温度也迅速升高,验证了DS18B20能在系统板上工作。由于DS18B20为3个引脚,因此在调试过程中因注意各个引脚的对应位置,以免其接反而使芯片不能正常工作甚至烧毁芯片。 6.2.2电动机调速电路部分调试

系统本部分的设计中重在软件设计,因为外围的驱动电路只是将送来的PWM信号放大从而驱动电机转动。系统软件设置在P1.0口输出是电机转动的PWM占空比,当环境温度高于设置温度时,电机开始转动,若此时用高于环境温度的热源靠近芯片DS18B20时,发现当当前温度大于预设温度上限,风扇转速较高;小于预设温度上限,大于预设

温度下限风扇转速较低;小于预设温度下限风扇自动关闭。

6.3 系统功能

6.3.1 系统实现的功能

本系统能够实现单片机系统检测环境温度的变化,然后根据环境温度变化来控制风扇直流电机输入占空比的变化,从而产生不同的转动速度,也可根据按键调节不同设置温度,再由环境温度与设置温度的差值来控制电机。当环境温度低于设置温度时,电机停止转动;当环境温度高于设置温度时,单片机对应输出口输出不同占空比的PWM信号,当当前温度大于预设温度上限,风扇转速较高;小于预设温度上限,大于预设温度下限风扇转速较低;小于预设温度下限风扇自动关闭。并能通过按键调节当前的设置温度。 6.3.2 系统功能分析

系统总体上由五部分组成,即按键与复位电路、数码管显示电路、温度检测电路、电机驱动电路。首先考虑的是温度检测电路,该部分是整个系统的首要部

联系合同范文客服:xxxxx#qq.com(#替换为@)