智能电风扇控制系统的设计
本文设计了一款智能电风扇控制系统,使用STC89C51作为主控制芯片,通过DS18B20检测环境温度并将温度信号发送给单片机。电机是否启动,以及电机的转速由系统设定温度值与检测温度值的比较结果控制。同时用LED1602显示检测到的温度和系统设定温度。关键词:电风扇;STC89C51;液晶显示器1602。
摘要
本文设计了一款智能电风扇控制系统,使用STC89C51作为主控制芯片,通过DS18B20检测环境温度并将温度信号发送给单片机。电机是否启动,以及电机的转速由系统设定温度值与检测温度值的比较结果控制。同时用LED1602显示检测到的温度和系统设定温度。
关键词:电风扇;STC89C51;液晶显示器1602
1 方案设计
1.1 系统整体设计
本文所设计的系统的基本运行步骤如下:首先对周边的温度进行检查,把检测到的温度信息传递到单片机当中,单片机将数据进行一定的处理,发送到显示屏当中进行显示,同时单片机依照检测到的温度按照既定的控制规则对风扇转速进行控制,并一同将转速数据在屏幕当中进行显示。本系统当中能够设置两个温度,TH和TL,其中TH为风速档位切换温度界限,TL为风扇启动最小温度。设置按键有三个,K1、K2和K3。调节TH还是调节TL由其中一个按键K1控制,另外的两个按键可以对温度进行相应的升高或者降低的调节,温度信息精确到小数点后一位。当按下K1时可调节TH,再次按下K1可调节TL。按下K2加一度,按下K3减一度。在本文所涉及的系统当中额外增加了一个红外感应探头用于对周边人员情况进行一定的检测,当周边没有人且持续了一段时间之后,系统会自动控制将风扇进行关闭。除此之外本文所设计的系统当中使用了 PWM脉宽调制进行电机的控制,以实现控制风扇转速的目的。根据系统的结构,可以绘制出如图1所示的整体结构图。
图1 整体系统结构图
1.2 方案论证
本文所要进行的设计的核心目的就是令风扇能够根据周围温度的不同进行自动的调节转速,如果周围温度低于设定值的话风扇会自动停止,且温度的设定值可以用独立按键改变。在风扇感应到其工作区域一段时间内没有人的话即会自动关闭运行。除此之外还需要系统拥有较高的温度分辨率以及较高的可靠性。
2 硬件设计
2.1 器件的选择
2.1.1 温度传感器的选择
通过对本文所要设计内容进行了深入的分析,得到如下的两种温度检测方案:
方案一:在本方案当中将采用热敏电阻对周边的温度进行检测,周边温度的不同会使其阻值发生一定的变化,因此会使其输出电压发生细微的改变,通过将电压变化信号转换为数字信号之后传输到单片机当中从而实现整个控制过程。
方案二:在本方案当中将采用数字式集成温度传感器对周边的温度进行检测,此类传感器的成熟度比较高,除了能够对温度进行非常精确的检测之外,其输出的信号能够直接传递到单片机当中进行使用。
总而分析来说,上述两种方面各有优劣,第一种方案的优点在于传感器成本较低。然而其缺陷也非常明显,由于该方案中所用的温度检测元件所能够检测的温度并不是特别精细,因此在温度发生细微变化的是该元件难以进行实时的反应。除此之外还需要对其输出的信号进行一定的处理,在此处理的过程当中可能会出现一定的信号失真情况,而且其阻值与温度直接并没有严格的线性关系,因此在温度的计算上相对比较困难,因此在设计的实现需要使用更加复杂的电路。因此该方案并不适合应用到本系统当中。
对于第二种方案,由于传感器是一款比较成熟的温度传感器,具有较高的集成度,同时能够对温度进行非常精确的检测。与此同时其所输出的数据是直接的数字量,可以直接输出到单片机当中进行处理,这使得相应的电路以及程序设计被大大简化,除此之外该传感器使用了单总线技术,这使得其与单片机之间的接口比较简洁,使得数据传输的抗干扰能力得到提升。综合考虑这些因素本系统采用这个方案。
图2 温度传感器DS18B20
2.1.2 控制核心的选择
在本文所要进行的设计当中选用单片机对整个系统进行控制,其能够利用编程的进行信号的处理与输入输出,达到获取温度信息并控制风扇转速的目的。该单片机所需要的工作电压比较低而且所能够拥有的性能相对比较高,工作时能耗也比较小,除此之外其还能够与直接用于良好的兼容性,且采购成本相对较低,故此能够使得本系统的设计需求得到较好的满足。
2.1.3 显示器件的选择
方案一:共阴极数码显示管。
方案二:液晶显示屏。
就方案一来说,本方案拥有成本低、耗能小等优点,而且在周边光线不足道时候也能够很清晰地进行显示,而且显示控制也比较容易。不过该方案具有一个非常明显的缺点,由于该方案当中的现实元件是通过动态扫描的方式进行信息的显示的,所以在其进行工作时会产生一定的闪烁,当闪烁频率过高的时候会导致部分数据难以正常显示,因此经过综合分析本方案并不合适。
相比于第一种方案,方案二的显示情况就相对较好,而且该方案能够显示的字符也比较丰富,进行显示的过程当中也不会出现闪烁的情况。因此与本系统的设计要求相符合,所以选用方案二。
图3 LCD1602
3 软件设计
本系统在编程时主要用到C语言,也可以选择汇编语言,二者都有一定的优缺点和适用范围,具体比较情况如下。编程便捷、效率高且易于上手是语言固有的特点形式,不但在编译层面较为方便,而且对其进行修改也不困难。所谓汇编语言本质上是一种机器形式的语言,受限于相关硬件的配备,相对于来讲后期处理调试相对繁琐,入门需求较高,最大的优点在于固有的内涵清晰明了,在执行效率方面要远高于C语言,仅在某些特殊场合应用较为广泛。对于初学者而言,综合考虑,采取C语言来进行相关程序的编写,在一定程度上可以该任务的有效执行。
3.1 主程序流程图

图10 主程序流程图
4 硬件调试
相比前面的软件层面的开发与设计,这里的硬件电路相关的调试工作就较为容易了。具体主要针对于温度采集、按键、红外感应以及相关电机电路在一定程度上进行有效调试,确保整体系统能够妥善运行。
4.1 按键电路的调试
这是最简单的一步,基于电路进行相关相关温度的预置,其次按下按键以后进行观察前后是否发生相应的温度改变。经调试按键电路可正常使用。
当按下K1时,可调节TH,按下K2键TH加1,按下K3键TH减1。再次按下K1键可调节TL, 按下K2键TL加1,按下K3键TL减1。如图所示。
图14 TH的调节 图15 TL的调节
4.2 温度传感器电路的调试
通过主控芯片的实现与其实现一定程度的通讯,单片机样板上的这些引脚,均为插针连接形式的接口,仅需对其进行相应的插拔即可,操作相对便捷。通过对其进行外部加热的手段进行的相关调试工作,结果表明显示屏上前两位数字明显增加,即可说明与单片机完美兼容能够正常运行。在此过程当中还要注意当中各个引脚之间的相对位置,切勿出现接反的现象造成芯片损坏。
4.3 系统功能分析
温度采集电路是确保该系统稳定运行的重中之重,首先就要进行外围温度检测,间接控制主控芯片完成调速;其次重要的就属风扇驱动了,具体需要通过主控芯片将在一定程度上实现平均电压转化,来具体执行电机相关转速控制,再有就是显示功能需要实施有效显示当前内部与外部温度值。
5 结论
本文的设计的主要功能是基于单片机在一定程度上实现风扇智能调控,形成以主控芯片为核心,外温环境检测的一体化设计,最终依据外温实现一定程度的电机转速自动调控,并能通过独立按键调节预设温度。实现了基于单片机的智能风扇的设计。
对此进行相应的调试一步步攻克难题,最终在一定程度上基本实现所期望的功能,除此之外,本系统设计也可以应用到其他电机的控制当中实现相对自动的调控。
通过这次毕设,我觉得不仅是知识上,乃至精神上都得到了升华,运用已学知识初步与实际相结合,发现理论与实际真的存在相当大的差距,最重要的是锻炼了我独立思考的能力,逐步摸索,翻阅大量文献资料来寻求解决方法,完善自我设计行为规范,细化针对问题点的能力,培养了良好的科研作风。
更多推荐



所有评论(0)