基于单片机智能风扇的设计

来源 :软件 | 被引量 : 0次 | 上传用户:zr0156268
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要: 在炎热的夏天,电风扇给人们的生活带来了很多的方便,一般的电风扇只有机械档的人工调速和手动开关,夏夜温度下降后人们容易因熟睡忘关风扇而受凉,当温度升高时,它又不能根据温度的变化改变转速。而智能温控调速风扇可自动根据室内环境温度控制风扇转速。为了使风扇更贴近人们的生活,开发一种新型温感语音唤醒的智能电风扇控制系统迫在眉睫。
  关键词: 单智能温控;树莓派;单片机;控制系统
  中图分类号: TP368.1    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.01.014
  本文著录格式:彭欢欢,张琛松,陈雪,等. 基于单片机智能风扇的设计[J]. 软件,2020,41(01):6669
  【Abstract】: In hot summer, the electric fan brought a lot of convenience for people's life, the general electric fan only mechanical file manual speed regulation and manual switch. In the evening night, after temperature dropping, people easy to forget to turn off the fan and catch cold, when the temperature rises, it can not change the speed according to the change of temperature. The intelligent temperature control speed fan can automatically control the fan speed according to the indoor environment temperature. In order to make the fan closer to people's life, it is urgent to develop a new intelligent electric fan control system which can wake up by voice temperature sensing.
  【Key words】: Single intelligent temperature control; Raspberry PI; MCU; Control system
  0  引言
  自古以来,随着人类现代社会和科技的飞速进步、电子信息技术、控制技术等技术的不断增加,社会信息逐渐加速,它使人们的生活、工作、学习和交流变得越来越相互关联与密切。信息以及大数据的社会正在改变人们的种种生活习惯和各种工作方法[1]。与此同时我们发现,它也挑战了我们传统的许多家用电器,经过调查,我们知道了如今人们对家用电器的需求不再只是一个简单的物质需求与简单的功能,更多关注和需求的是一种高度安全,令人感到舒适、美观、并且易于操作的智能家电。因此,智能家电已成为一种令人向往的发展趋势[2]。我们也知道:在炎热的夏天,常见普通的风扇为人们的生活带来了很多便利,并且一般的电风扇只有手动去调速和机械档的手动开关来调速。在夏季和夜晚温度下降后,人们有时候会因熟睡而忘记关闭电风扇,当温度缓慢降低时,普通风扇却不能依据温度的变化而改变其转速,然而智能温控电风扇可以做到这一点,根据室内环境温度自动控制风扇转速。为了让风扇更贴近人们的生活,开发一种以柔和的声音和新型智能电风扇控制系统是非常迫切的。
  通过数字温度传感器对外界环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动调节档位,实现“温度高、风力大、温度低、风力弱”的性能。另外,通过红外发射和接收装置及按键实现各种功能的启动与关闭,并且可对各种功能实现遥控,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动[3]。
  1  系统总体设计
  1.1  功能介绍
  (1)风速设为从低到高共2个档位,可由用户通过键盘设定。
  (2)每当温度低于下限值时,则电风扇风速关闭。
  (3)每当温度在下限和上限之间时,则电风扇转速缓慢。
  (4)每当温度高于上限值时,则电风扇风速全速运转。
  1.2  整体设计思路
  利用温度传感器DSI8B20检测环境温度并直接输出数字温度信号给树莓派或单片机进行处理,在LED数码管上显示当前环境温度值以及预设温度值。其中预设温度值只能为整数形式,检測到的当前环境温度可精确到小数点后一位。同时采用PWM脉宽调制方式来改变直流风扇电机的转速。并通过两个按键改变预设温度值,一个提高预设温度,另一个降低预设温度值[4-5]。
  可行性分析
  传统电风扇以及其转机最致命的缺陷是不能依据外界环境温度的变化来实施自动调节风机的转速。所以说智能风扇的发展将有效解决传统风机的不足,真正实现风机的运行受外部环境的控制,实现低耗能、高性能的智能风机,节约了很多的电力等资源,减少了许多人工消耗。这款智能风扇适合所有家庭,特别适合老人和儿童,当室内温度低于系统设定的一个阈值时,它会强制并且自动关闭此功能,从而实现保护老人和儿童的健康。智能风扇控制系统开发的成本低,开发时间短,好上手。简单地说,它不仅可以弥补传统风扇的缺点和不足,还可以在某些方面上增添新思路,新方向。如果可以大量投产,将大大提高人们的生活质量。因此,智能风扇将具有非常良好的发展空间和前景,如果实现了这个技术,将是一个很大的进步。这个系统总的来说,主要从技术可行性和经济可行性的角度分析设计,这确实可行。因此,该程序被开发用于根据室温的温度控制风扇的旋转,并且还根据固定的温度值与没有温度传感器的风扇旋转调节方案  兼容。   傳统电风扇的直流风让人感到十分僵硬,人们很容易因长时间地吹而感冒,而自然风又软又宽,变化无常,让人感到十分舒适,是既凉爽又舒适,人们很容易接受。与人工DC风不同,自然风速舒适,不规则变化,它不会让人体表面的湿热状态一直处于加速流失状态,在经过长时间对自然风数字数据的采集,可以用一些脚本语言模拟自然风的这种无规律变化,吹出让人心旷神怡的徐徐清风。
  2  系统硬件设计
  2.1  实施计划
  使用自动识别温度传感器DS18B20的位置可以获取温度。
  根据温差控制风扇转动等的功能。
  日志文件(temperature_log)保存在python文件相同的目录下。
  raspberry pie的操作系统以及我们熟悉的2012年12月之后产生的Raspbian系统已经能够非常完美的支持DS18B20单总线(1-wire)温度传感器。该传感器由一个半导体封装头装置和三个ping(引脚)组成,现在是一个非常精确并且成熟的数字设备。
  众所周知,由于Raspberry Pi没有ADC(模数转换器),所以说我们无法直接读取TMP36等模拟信号温度传感器。因此,DS18B20是非常适合这个场景的。
  2.2  硬件材料
  数字温度传感器加上一根延长线,它们也可以是湿度或高温型号的其中一种。4.7K或10K欧姆电阻,一小块面包板,一把跳线,扩展板。
  DS18B20单线传感器可通过非并联连接进行访问,这与其他市售传感器几乎完全相同!所有传感器共用相同的ping,所以说一个4.7K的电阻十分适合这里。
  这里的电阻我们来做的功能:拉出数据输出线(数据线)和保持数据传输过程中的稳定。
  如果我们必须要使用DS18B20的防水版,则需要连接3个ping,它们分别是:红色,黑色,黄色,并且未连接下一个ping(也就是引脚)。
  如果可以的话,利用高温版本的防水版,需要橙色针脚(ping)连接到3.3V上面,白色接地线,蓝色针脚连接到针脚4(4 ping)。
  在3.3V和数据引脚之间也需要4.7K-10K的  电阻。
  虽然DS18B20看起来像一般市面上的普通传感器,但它却有许多复杂的内部组件。
  它的芯片包括这块板专用的单总线串行接口、逻辑控制部分单元和核心部分温度传感器。
  它的输出针脚输出数字信息,以便Raspbian/ ococentalis可以在某一个针上。在运行项目之前,使用SSH工具来进行一次测试是最稳妥的。
  sudo modprobe w1-gpio
  sudo modprobe w1-therm
  cd /sys/bus/w1/devices
  cd 28-xxxx (change this to match what serial number pops up)
  cat w1_slave
  系统会告诉我们有一个可供读取的温度数据。它也许像一个文个个文件,所以我们需要将这个数据读取出来。
  在返回消息的第一行的结尾,将出现True或者是False,如果是,则第二行后面我们需要跟着温度数据来结尾。
  如果主板连接了多个传感器单元,我们将可以了解并看到多个28-xxx file(文件),插入传感器,校检新生成的文件名,然后标记,将他们一一对应给传感器。这样,我们就可以区分每一个传感器对应于的确定文件。
  3  系统软件设计
  下面的Python脚本处理一些异常或者错误信息并且反馈给用户界面,同时还会返回每秒的华氏和摄氏温度数据。
  import os
  import glob
  import time
  os.system('modprobe w1-gpio')
  os.system('modprobe w1-therm')
  base_dir = '/sys/bus/w1/devices/'
  device_folder = glob.glob(base_dir + '28*')[0]
  device_file = device_folder + '/w1_slave'
  Def read_temp_raw():
  f = open(device_file, 'r')
  lines = f.readlines()
  f.close()
  return lines
  def read_temp():
  lines = read_temp_raw()
  while lines[0].strip()[-3:] != 'YES':
  time.sleep(0.2)
  lines = read_temp_raw()
  equals_pos = lines[1].find('t=')
  if equals_pos != -1:
  temp_string = lines[1][equals_pos+2:]
  temp_c = float(temp_string) / 1000.0
  temp_f = temp_c * 9.0 / 5.0 + 32.0
  return temp_c, temp_f
  while True:
  print(read_temp())   time.sleep(1)
  在开始运行脚本时,需要先运行modprobe命令以使得api运行。
  接下来的脚本用于查找可以从哪些文件中读取消息。
  现在有一个问题是有时候温度会在在树莓派下读取。可以用以下代码替换read-temp-ray方法。然后在程序开始时添加一行“导入子进程”。
  def read_temp_raw():
  catdata = subprocess.Popen(['cat',device_file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  out,err = catdata.communicate()
  out_decode = out.decode('utf-8')
  lines = out_decode.split('\n')
  return lines
  读取温度有两种不同的方式。read_temp_ray通过接口交检message的前两行。read_temp封装它并添加error消息检测和重试,直到出现“True”为止。在第一行的末尾此方法返回两个值,第一个是Celsius,第二个是Fahrenheit。
  可以像下面这样把两个值分开
  deg_c, deg_f = read_temp()
  主要的function只是一个循环体,用来读取温度数据,(print)打印出来,然后sleep一秒钟。然后继续一次循环。
  要把这个程序传到树莓派上,你可以通过SSH在命令行里打开一个文本编辑器
  运行 thermometer.py
  测试与配置
  运行这个程序需要超级用户权限,所以在命令行里运行下面的命令
  sudo python thermometer.py
  设置项:
  T_HIGH = 48
  温度^ 48度开始转动,在温度传感器失效/没有传感器时使用
  T_LOW = 42
  温度^42度停止转动,在温度传感器失效/没有传感器时使用
  T_DIFF_HIGH = 24
  温差^ 24度开始转动
  T_DIFF_LOW = 18
  温差^18度停止转动
  T_SENOR_DIFF = 0
  温度传感器和真实环境温度矫正值,真实环境温度传感器实测温度+校正值
  fan_pin = 12
  控制风扇IO针脚BOARD编号
  NPN =真
  控制风扇用的是NPN三极管,PNP三极管时改为假
  IS_LOG_FILE = True
  是否输出温度信息到文件
  IS_LOG_CONSOLE = True
  是否输出温度信息到控制台
  time_interval = 5
  检测温度间隔时间单位秒
  log_file_duration = 12
  日志记录保留时间长度,单位小时
  4  結束语
  本系统最大的优点是解决了传统风扇不能实时根据外界温度变化自动调节风扇转速的缺点,智能
  风扇将有效改变传统风扇高功耗,低性能的缺点。该智能风扇适用于所有家庭,尤其针对老人小孩设计的当室内温度低于系统设置的阈值时自动关闭这一功能,保护了老人和小孩的身体健康,更贴近于人们生活。
  参考文献
  [1] 李丽, 大数据时代的意识形态话语权: 挑战及应对, 2018-07-15.
  [2] 周技锋. 嵌入式Linux平台实现家电物联网方案的研究与应用[J]. 数字通信世界, 2017(09): 205.
  [3] 廖晓娟. 智能温控风扇设计[J]. 2016(22): 54-55.
  [4] 张宁子. 基于ITU总线的智能干湿球温湿度测试系统研究[D]. 宁夏大学, 2013.
  [5] 文海琼, 卓朝松. 蓝牙数据传输智能温控风扇系统的设计[J]. 电子世界, 2018, No.544(10): 145-146.
  [6] 曹巧媛. 单片机原理及应用. 北京: 电子工业出版社, 2002. 2.
  [7] 王伦. 电风扇原理与维修技术[M]. 北京: 新时代出版社, 1999.
  [8] 张毅刚. 新编MCS-51单片机应用设计. 哈尔滨工业大学出版社, 2006, 10.
  [9] 梁廷贵, 王裕琛. 可控硅触发电路语音电路分册[M]. 北京: 科学技术文献出版社, 2003.
  [10] 王伦. 电风扇原理与维修技术[M]. 北京: 新时代出版社, 1999.
其他文献
摘 要: 在人工智能时代的背后,驱动这个美好社会的底层是编程,其搭建的底层架构为人工智能的实现打下良好的基础,因此,编程已成为未来发展中不可或缺的一项基本技能。中小学生作为信息时代的“数字土著”,更需要具备基本的编程能力以应对未来信息时代中的各种挑战。但目前国内的编程教育还存在教学内容单一,教学方法不到位,编程教育相对其他课程孤立等问题。因此,论文通过Scratch 和“编程一小时”图形化和具有趣
期刊
摘 要: 随着信息技术的飞速发展,各类统计软件在研究生教学中的比重逐渐增加,但教学效果却不尽人意。本文以统计软件课程现状和教学过程中存在的问题分析为出发点,针对目前统计软件课程教学内容、教学方法和考核制度提出来相应的改革方法,旨在激发学生的学习积极性,培养学生独立解决工作和学习中的与统计有关问题的素质。  关键词: 统计软件;课程改革;探讨  中图分类号: G643.2 文献标识码: A DO
期刊
摘 要: 为满足数字图像处理实验课程的需求,设计开发了基于MATLAB的图像处理系统。系统利用MATLAB作为编程语言,通过MATLAB GUI开发集成交互界面。系统实现了图像增强处理、图像边缘检测处理、图片特殊处理、图像类型转换处理、频率变换处理以及频率滤波器处理等六个功能模块。测试结果表明,系统调用callback函数实现对应图像的变换处理,可以直观的显示处理后的图像。  关键词: MATLA
期刊
摘 要: 为验证AMEsim软件在热液压系统仿真方面的真实性和优势,基于AMEsim软件对液压系统内热量易集中的油箱元件进行了建模和仿真,通过对油箱散热的理论模型进行分析,建立了能够准确反应油箱的产热和散热的整套模型系统,然后对模型进行仿真计算,仿真结果真实有效,AMEsim软件对热液压系统仿真具有独特优势。  关键词: AMEsim;油箱散热;建模;仿真  中图分类号: TP319 文献标识码
期刊
摘 要: 基于CT影像DICOM格式数据,应用MIMICS精确建模,应用3-matic进行四面体网格划分,利用MIMICS根据CT灰度值进行材料属性赋予,通过计算机仿真软件ANSYS实现力学分析,本文旨在探讨生物力学中有限元模型的构建途径,以对临床提供帮助。  关键词: CT;股骨三维重建;有限元分析  中图分类号: TP311.52 文献标识码: A DOI:10.3969/j.issn.1
期刊
摘 要: 近些年,智能优化算法在软件工程领域得到了广泛的应用,基于搜索的软件工程技术往往通过设计具体问题的适应值函数,并基于该函数在问题的可行解空间中使用优化算法寻求最优解。本文首先介绍了常用的智能优化算法,包括遗传算法、爬山算法、粒子群算法以及蚁群算法,之后分析并研究这些算法在测试数据生成、测试用例选择以及测试用例优先级排序技术中的应用,为有效解决基于搜索的软件工程问题奠定基础,促进回归测试效率
期刊
摘 要: 本文针对目前光伏发电系统发电效能低、环境要求高及控制系统非智能化等问题,设计一款基于PLC控制器与物联网云平台联合监控的智能化卷轴翼展追日式光伏发电系统。本文对光伏发电系统进行机械结构的创新设计、监控系统主要硬件和软件的优化设计,解决和完善目前光伏监控系统存在的不足。达到提升发电效能、增强环境适应能力与实现智能化监控功能的目的。  关键词: 光伏发电;自动跟踪;PLC;物联网监控  中图
期刊
摘 要: 为了解决医学知识图谱中知识重复、知识质量良莠不齐、知识间关联不够明确等问题,本文提出了一种大数据驱动下的医学知识图谱构建方法,同时针对医学知识图谱集成、演进、增强方面进行图谱知识融合和补全操作。然后,简单介绍医学知识图谱在医学领域的几个重要应用以及相关的人工智能技术的支持。最后,结合当前我国医学知识图谱构建技术面临的重大挑战和关键问题,对其发展前景进行了展望。  关键词: 医学知识图谱;
期刊
摘 要: 分析椎动脉的动脉瘤血流动力学指标在动脉瘤发生、发展及治疗后的作用,判断引起动脉瘤发生与治疗后复发的特定血流动力学因素,并为动脉瘤的预防、治疗提供理论依据。选取一例颅内动脉瘤患者的CTA影像数据三维建模和仿真计算获取血流动力学指标:time average wall shear stress、time average wall shear stress grade、oscillatory
期刊
摘 要: 不同坐标系成果之间的转换是测量工作中必不可少的环节。基于转换参数保密的需求,如何确保转换参数不被泄密是坐标转换过程中需要解决的问题。本文基于新一代加密狗的特点,提出利用加密狗对转换参数加密和存储,并将坐标转换或混淆的代码移植到加密狗内,实现了省级海量参数的加密、管理和调用,有效杜绝了转换参数和坐标转换过程的泄密,大大提高了保密强度。  关键词: 坐标转换;参数;加密狗;算法  中图分类号
期刊