您好, 访客   登录/注册

基于单片机的智能风扇控制系统设计

来源:用户上传      作者:

  摘 要:介绍了一种基于单片机的智能风扇控制系统的设计,目的在于解决电扇在实际生活中不合理的使用的现状和在已有电扇上的一些小创新,在设计过程中通过硬件电路的实际焊接,基本实现了想要实现的功能,通过对该系统的设计,证明该系统的实际可行性,有助于在以后可以开发出此类产品,提高人们生活质量,节约能源。
  关键词:单片机;DS18B20;直流电机;风扇;人体红外;LCD1602
  基金项目:湖北师范学院教学研究项目资金。
  引言:在我国大学校园里,教室里面安装电扇很普及,电扇相比较空调而言,节约成本,便于安装,但是通过在大学里的观察和研究发现,电扇的使用存在很多不合理的现象,经常会出现人走了电扇还开着,或者电扇档位无法根据气温自动调节的现象,电扇在我国的使用范围十分广泛,除了大学校园,很多地方都用到了电扇。单片机便宜,功耗低,便于控制,基于此在现有电扇的基础上开发了智能风扇系统,并制作出了硬件,实现了预期的效果,证实了该系统的实际可行性,如果可以得到大量使用,对于目前电扇存在的不合理问题是一个很好的解决方法。
  一、系统整体设计
  基于单片机的智能风扇控制系统包含温度感应和显示、外部按键设置功能、人体红外感应模块、直流电机PWM调速、蜂鸣器报警、LCD风速等级显示模块,首先在显示功能上使用了数码管和LCD1602分别显示出当前温度和风速等级,显示功能的目的在于增加产品的直观性和合理操作性,便于人们在使用时有可以调节的依据。外部按键实现了设置温度上下限、复位、加减温度的功能,使电扇在没有人为操作的情况下可以按照温度上下限和外部实际温度做出合理的响应,蜂鸣器的作用是为了提醒使用者当前温度高于温度上限或者低于温度下限,直流电机PWM调速实现了风速级别的调节,通过温度传感器得到的温度,对电机的速度分级调节,以最合理的方式调节电扇的使用,从而达到智能、合理、高效的目的。这些功能使用到的存储、中断、显示、调速都可以用单片机实现,因此选用51单片机作为控制芯片。
  二、硬件电路设计
  1、最小系统
  在设计硬件的时候使用11.0592MHZ的晶振作复位电路,这样便于在做后面的定时器功能时可以精确定时,12MHZ的晶振在长时间工作下由于初始值不是精确值容易累积误差,产生错误的结果。单片机最小系统的搭建是做硬件的第一步,时钟电路、复位电路和电源,复位电路在设计时需要满足t=RC>2us,保证复位的时间在两个机器周期以上,复位的实质是在于给STC89C52的9脚输入一个高电平。
  2、温度采集、显示和设置
  系统使用DS18B20采集外部温度,然后将采集到的温度利用数码管显示出来,使用FM24C02存储设置的温度上下限值和外部按键改变后的值,保证温度的上下限值在掉电的情况下依然可以存储,在温度显示模块上使用四个独立按键,分别实现:设置、复位、加、减四个功能,使电扇不仅可以根据温度自动调节风速,也可以实现手动调节,增加电扇调节的灵活性,在温度采集和显示模块上利用蜂鸣器的声音在低于温度下限和高于温度上限时发出报警声音,同时在温度低于下限和高于上限时红灯会点亮,正常情况下绿灯常亮,以此提醒使用者根据实际情况改变当前的使用。
  3、人体红外模块
  采用人体红外传感器智能控制电扇的开闭,人体红外传感器会在有人的时候输出一个高电平,在写1操作后用单片机读取,并根据外围电路的实际情况,用单片机的I/O口输出高低电平控制电机,从而达到利用红外开闭电扇达到节能的目的,红外传感器灵敏度受外界环境和安装条件限制较大,在安装时应尽量避免盲区,人体红外感应范围:
  4、PWM调速和LCD显示
  系统使用直流电机提供动力,在硬件模型制作时选用L298N作为直流电机的驱动,PWM(Pulse Width Modulation)控制――脉冲宽度调制技术,PWM调制的原理:把恒定的直流电源电压调节成频率一定、宽度可调的脉冲序列电压,实现调节占空比改变输出电压的大小,进而调解电机转速。电机两端得到的平均电压:U d=(t/T) U s=ρUs 式中ρ= t/T为PWM波形的占空比(占空比:就是输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比)改变ρ(0≤ρ<1)即可调节电机的转速。在系统设计中通过定时器和温度传感器的温度值,取定不同的占空比即可得到不同的风速档位,实现在不同温度下风速可调的问题,利用LCD1602显示当前的风速等级。51单片机只有32个I/O口可以使用,在使用过程中会出现I/O口不够用的情况,在实际制作中使用锁存器扩展I/O,功能实现正常,但是需要注意延时和定时器的定时问题。
  三、软件设计
  在程序设计中涉及到外部中断的使用和定时器的使用,STC89C52单片机的中断系统有5个中断请求源,具有两个中断优先级,按键接P3^2口,作为外部中断0的输入,程序运行到死循环处等待中断的发生。设置定时器,循环检测按键的状态,检测到按键按下并释放后执行相关的中断行为,中断执行完后再返回中断开始的地方继续执行程序,软件的核心在于温度的采集和利用,该系统使用DS18B20作为温度采集装置,采集到的温度用四位共阴数码管显示,分别用单片机的P0口控制段选,P1口控制位选,在软件设计时默认温度上限时45度,下限是20度,写入FM24C02中,后面配合按键功能动态调整温度的最大值和最小值,存储到FM24C02中,这样掉电之后温度的上下限值可以保存,在显示温度值之后,判断温度的范围,在蜂鸣器的接入端加一个PNP型的三极管,放大电流,以驱动蜂鸣器做出反应,同时温度的区间也和风速的转速相关,更具设定好的PWM调速区间对应每个温度等级,在相应区间LCD显示等级,电机调整转速,人体红外模块的功能相当于一个开关,当检测到有人时,向单片机的一个I/O口输入一个高电平(P1口,P2口,P3口是3个8位准双向的I/O口,各口线在片内均有固定的上拉电阻,当这三个准双向I/O口作输入口使用时,要向该口先写1),在写1输入之后,用单片机的另一个I/O口输出高电平控制电机的开启,无人时,输出低电平,单片机对应I/O口输出低电平断开电机,从而达到电扇智能检测有无人状态自动开闭的功能。软件设计时需要注意的问题是在中断程序中需要执行的指令应尽可能少,把需要执行的指令放在主函数中,防止函数在中断程序中运行时间过长,以至于下次中断开始的时候,上一次的中断还没有结束,从而造成程序紊乱,出现不可预料的错误。
  四、结束语
  整个系统的设计是在原有电扇系统上的改进,系统的设计是为了解决实际问题而做,针对实际生活中出现的现象都给出了相应的解决方法,同时原材料的选取也尽可能便宜、容易操作,在成本最低的基础上保证功能最完善,具有很高的实用价值,符合大多数人的需求,在硬件制作上选用单片机控制,用32个I/O口尽可能多的实现更多的功能,在设计之中也尝试并实现了I/O扩展、电压转换、电流放大、外观设计等很多方面,有趣易学,便于二次开发,适合硬件学习者研究和制作,具有一定的实用价值的同时也有一定的研究价值。
  参考文献
  [1]郭天祥. 51单片机C语言教程[M]. 北京:电子工业出版社,2012.
  [2]谭春和. 一种红外遥控及人体感测控制电风扇的系统[P]. 深圳:深圳市科吉华烽知识产权事务所,2013.
  [3]蓝厚荣. 单片机的PWM控制技术[J]. 江苏:工业控制计算, 2010.
  [4]周一恒,严家明. 基于单片机控制的液晶显示原理与设计[J]. 广东:机电工程技术,2008.
转载注明来源:https://www.xzbu.com/8/view-11205613.htm