基于51单片机的温控风扇设计与实现院系:XX学院专业:电子科学与技术姓名:XXX指导老师:XX报告内容的结构与主要内容•1、设计任务的要求•2、系统的硬件电路设计•3、系统的软件程序设计•4。整体系统的实物展示系统设计的基本要求•1、温度传感器可以控制风扇电机转速,当温度低于下限温度时,风扇电机停止转动;温度高于下限温度低于上限温度时以较低速度运行,温度高于上限温度时以较快转速运行。•2、温度上下限可以根据使用者要求手动按键调整。•3、实时温度,上下限温度,电机转速可以在显示屏上显示出来。系统的硬件电路设计•温控风扇控制电路系统主要包括:输入、控制、输出三大部分7个功能模块,AT89S52单片机芯片模块,功能按键模块,DS18B20温度传感器模块,槽型红外光电传感器模块,蜂鸣器驱动模块,直流电机驱动模块,还有LCD1602显示模块,系统总体设计结构框图光电传感器硬件设计•R9是红外对管中的LED的限流电阻,防止电流过大损坏发射管,R10为红外对管中光敏三极管的集电极电阻,LED发出红外光,光敏三极管接收到就导通,否则截止。需测速的部位有遮光片,每转1周遮挡指定次数,使转速变成一定频率的脉冲信号。R12、R8、Q3起信号放大整形作用,使该信号便于单片机读取。P32将计数脉冲通过单片机外部中断输入单片机并配合单片机定时器,计算出电机的转速。直流电机驱动模块设计•直流电机的一端接5V单片机供电电源,另一端接PNP三极管的发射极,三极管的基极通过一个电阻连接单片机P30口。通过控制单片机的P30引脚输出PWM信号,由此控制风扇直流电机的速度与启停。单片机通过普通的I/O口加一限流电阻R7驱动PNP型三极管S8550来带动直流电机,其中D1是在直流电机关闭时因内部电感线圈产生的反向电动势是保护S8550的整流二极管,防止反向电动势击穿三极管。温度传感器硬件电路设计•DS18B20的2脚为数字信号输入/输出端,设计中该口与单片机P34口相连,此管脚必须接上拉电阻,使其在无数据传输时一直处于高电平状态,以此保持信号的稳定传输;1脚为电源地;3脚为外接供电电源输入端。单片机根据温度作相应处理,并输出处理结果,下图为原理图温度传感器部分。蜂鸣器驱动电路部分•蜂鸣器为主要发声元件,本质上它是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其它部分。三极管Q1起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声总体电路原理图系统的软件程序设计•系统程序流程图,系统初始化后启动温度采集函数,采集到温度后确定驱动电机的档位为低档还是高档,然后产生相应占空比的PWM波控制电机转速,这时候转速统计函数根据光电对管传回的脉冲频率计算出转速。显示函数则为在显示屏上显示出温度、上下限温度、转速等内容。温度采集子程序设计•DS18B20单线通信功能是分时完成的,DS18B20为了保证各位数据传输的正确性和完整性,它有着严格的通信协议,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始的,如果要单总线器件送回数据,在进行写命令后,主机需启动读时序完成数据的接收。另外,数据和命令的传输都是低位在先。速度控制程序设计•对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。速度检测程序设计•由于该设计为测量直流电机转速,电机转速较高,采用测频法完成电机转速测量,设计中在转子上纵向打开4个等间距缺口,所以在定时周期内,统计到的脉冲数除以4即可得到电机转速,红外光电对管设为每500ms读一次数,即每500ms记录由光电对管所检测到的脉冲数,然后再对于计时器变量清零,再显示出脉冲数,最后又返回主程序整体系统实物展示系统运行测试截图谢谢老师!MakePresentationmuchmorefun@WPS官方微博@ngsoftwps