历史上的今天

今天是:2024年10月16日(星期三)

正在发生

2019年10月16日 | 基于单片机的的智能晾衣系统设计论文

发布者:alpha12 来源: eefocus关键字:单片机的  智能晾衣系统 手机看文章 扫描二维码
随时随地手机看文章

1  引言

随着社会经济水平的发展,现在人们的生活追求个性化、自动化,追求快节奏,追求充满乐趣的生活方式,家装要求的档次越来越高,生活家居人性化、智能化的要求使智能控制技术在智能家居电子产品中得到了广泛应用,它不仅优化人们的生活方式和居住环境,而且方便人们有效地安排时间和节约各种能源,实现了家电、照明、窗帘控制和防盗报警、定时控制及电话远程控制等。伴随着智能家居的快速发展,晾衣工具的智能化发展明显落后与其他家用器具智能化发展之后,现在己经引起社会的很大关注。本论文为了把握市场动态,顺应时代主题,设计并实现了智能晾衣架系统。


1.1  课题研究背景与意义

基于现在晾衣架发展现状,本设计开发了一种能帮助人们摆脱原始操作的智能晾衣架。本新型晾衣架主要特点在于:可以伸缩,操作简单,占地面积小,美观实尸构优点。同类产品虽有可收缩式的,但属组装而成,操作比较麻烦,而本晾才架只需按下打开按键,衣架杆即可自动伸展开来。同时晾衣架能识别晴雨天气一自动完成收衣服功能的目的。晴雨智能晾衣架能有效地避免在下雨时,衣服无人收起而被雨淋湿;或在天色变晚时,衣架能自动收回,避免衣服在外面过夜。


1,2  国内外研究现状

在中国各大中城市以及农村普遍是将衣物晾晒于阳台内部或外部,而传统的晾晒衣物方式是阳台内天花板下设置有钢筋挂钩,钩卜通常是挂有竹杆或其它杆体。人们通常习惯于用一支撑杆将衣物支撑到晾衣杆晾晒,这样晾晒衣物费时费力,而且布置钢筋及竹杆与当今现代化建筑结构的阳台也不搭配、有失雅观。另外,家庭通常大都是老人晾衣物,因此,传统的支撑晒衣、收衣不仅是费神费力,而目.容易扭伤筋胃·或支撑不顺扎伤人体。正因传统晾晒衣方式有众多的不便,后出现手摇晾衣架,手摇晾衣架改变了支撑晾衣架的传统习惯,同时也给众多家庭带来了更多的方便。但手摇晾衣架需设置多个机械装置和支撑点,同时需多根网线布置来带动其晾衣杆上下升降。由几支撑点及多根网线的布置,手摇式晾衣架给原本漂亮的阳台增添了不美的因素。其次,手摇晾衣架的升降每次都要人工转换接头,目.需要人力摇动慢慢将杆升降,若晾杆承载的衣物重量过大,摇上去既费力又容易伤手。因此,手摇晾衣架虽然改变传统支撑晾衣的不便,但没有彻底改变费神费力的根本状态。人们期望着一种更方便更美观的新型晾衣架的出现。


1.3  课题研究内容

基于单片机的的智能晾衣系统设计,需要采用单片机作为控制中心,实现自动晾衣的功能,并根据具体情况进行相应的调整,具体性能和指标如下:

  • 智能晾衣杆全自动工作,可实现无人操控
    (2)晾衣杆只有两个位置,伸出去,缩回来
    (3)位置检测:晾衣杆伸出去时,到达指定位置能够停下来
    (4)软件容错处理:晾衣杆伸缩过程中遇到各种障碍,能够通过软件容错处理来停止
    (5)光敏传感器:天黑时候将衣服收回来,天亮时候或者阳光猛烈的时候伸出去晾晒

  • .雨滴传感器:下雨的时候将衣服收回来
    (7)参数灵敏度调节(动态设置):按键+液晶显示
    (8)供电:5V电源供给单片机、电机


2  基于单片机的的智能晾衣系统的硬件设计

采用单片机进行采集光照、雨滴两个外部天气信号,并通过单片机控制旋转衣架,旋转衣架通过步进电机进行调节,当外部天晴,且无雨时,将衣架转出,晾晒衣物;当下雨或者没有阳光时,转回室内,防止被雨打湿,或者天已黑。


2.1  整体设计框图

    控制总体款图如下图2.1所示,通过光照传感器和雨滴传感器感知外部天气的光照和雨滴情况,按键设定光照和雨滴的阈值,衣架位置传感器采集衣架所在位置,最后单片机驱动步进电机,将衣架来回于室内室外。

图2.1 总体设计款图


2.2  光照传感器

为了对外部光照强度的测量,论文采用光敏电阻对光照进行测量,如图2.2.1所示光敏电阻,此光敏电阻是负参数的光敏电阻,也就是说光照增强后电阻阻减小,我们通过实验测量得到光敏电阻的电子变化范围在几百欧姆到几兆欧姆之间变化,当光强度很大时,光敏电阻的阻值可达几百欧姆,当在黑暗的环境中时,测量光敏电阻两端的阻值,可达几兆欧姆的电阻。

图 2.2.1 光敏电阻


为了实现与光敏电阻的阻值想匹配的电阻,我们采用10K的电阻进行上拉电阻。通常情况下,光敏电阻的阻值在千欧姆上,所以当光照强度很大时,光敏电阻的阻值很小,进行图2.2.2电路后输出的信号就是很小的电压信号;当光照强度很小时,即黑暗情况下,光敏电阻的阻值很大,进行图2.2.2电路后输出的信号就是接近供电电源的电压3.3V。在电压信号输出后,采用104电容进行滤波,已得到更平滑的信号波形,方便单片机对信号的处理,不会因为光照的不稳定,而导致误判。

图2.2.2 光照测量电流


2.3  雨滴传感器

雨滴传感器又叫雨滴检测传感器,用于检测是否下雨及雨量的大小,如图2.3.1所示。雨滴传感器的种类有:(1)根据雨滴冲击能量的变化进行检测;(2)利用静电电容量变化进行检测;(3)利用光亮变化进行检测。


本论文采用的图2.3.1雨滴传感器检测雨滴,当雨滴滴到检测极板上时,检测极板的电阻就会发生变化,通过上拉电阻就可以检测极板输出的电压变化。

图2.3.1 雨滴传感器

如图2.3.3所示的是雨滴传感器的电路图,通过上拉10K电阻将雨滴传感器的电阻变化得到电压变化,最后通过运放实现信号的调理,还有LED的指示可以清楚的了解电路工作情况。

 

图2.3.2 雨滴传感器电路


2.4  衣架位置传感器

为了识别衣架位置,我们采用红外传感器进行判断衣架的位置,当衣架运动到红外传感器可以检测的范围内时,红外传感器就输出一个变化的信号,通过单片机读取后就知道衣架现在运动到什么位置了。实物图如图2.4.1所示。

图2.4.1 红外检测传感器

如图2.4.2所示,三极管Q采用9013小功率三极管,单片机通过IO口驱动三极管的b极,通过1K电阻进行限流,防止电流过大烧毁三极管和单片机。


红外接收管的工作功率为75mW,开启电压0.39V,为了实现接收,采用如图2.4.3所示,NE5532运放作为电压跟随器跟随接收管上电压的变化,单片机通过IO口中断读取数据,通过10K电阻进行限流,防止电流过大烧毁三极管。

    

图2.4.2 红外发射电路   图2.4.3 红外接收电路

我们分别在室内和室外两个地方各安装一个传感器,当衣架运动是室内时,为了不让衣架运动过度,通过红外传感器检测到衣架后,将衣架停止。当衣架运动是室外时,为了不让衣架运动过度,通过红外传感器检测到衣架后,将衣架停止,晾晒衣物。


2.5  STM32控制器

STM32系列单片机是一款高性能、低成本、低功耗的嵌入式应用的单片机,它的内核是ARM Cortex-M3。ST公司对STM32进行了产品划分,按性能分成两个不同的系列:STM32F103属于增强型系列和STM32F101是基本型系列。增强型STM32F103系列的系统时钟频率可达到72MHz,是同类中低端产品中性能是属于最高的一款产品。STM32F101基本型的系统时钟频率是36MHz,它的16位产品比其他公司的16位产品在价格上有大幅提升了性能,是16位单片机用户的最好的选择。STM32F103与STM32F101系列都内置32K到128K的闪存,所不一样的是SRAM的最大容量是和外部设备接口的组合。当系统时钟的频率为72MHz时,单片机从内部闪存位置开始执行初始代码,STM32总的系统功耗36mA,是32位单片机市场中功耗最低的一款产品,电流频率比为0.5mA/MHz。图2.5.1是STM32F103C8T6的实物图。

图2.5.1 STM32F103C8T6


STM32F103C8T6总共有48个引脚,PA0—PA15端口A15个、PB0—PB15端口B15个,2个外部晶振引脚OSC_IN、OSC_OUT,1个复位引脚NRST,2个32.768K的实时时钟晶振引脚,BOOT0程序驱动脚。VDDA、VDD_1、VDD_2、VDD_3与VSS、VSS_1、VSS_2 、VSS_3总共8个电源引脚,包括模拟供电电源。内核采用ARM 32位的Cortex-M3,最高72MHz工作频率,单周期乘法和硬件除法;存储器采用从64K字节的闪存程序存储器,高达20K字节的SRAM;时钟、复位和电源管理采用3.6伏供电和I/O引脚,上电/断电复位(POR/PDR)、可编程电压监测器(PVD),8MHz晶体振荡器,内嵌经出厂调校的8MHz的RC振荡器,内嵌带校准的40kHz的RC振荡器,产生CPU时钟的PLL,带校准功能的32kHz RTC振荡器;低功耗模式有睡眠、停机和待机模式,VBAT为RTC和后备寄存器供电;2个12位模数转换器,1us转换时间(多达16个输入通道) ,转换范围:0至3.6V,双采样和保持功能,还有内部温度传感器;内部共有7通道DMA控制器,支持的外设有3个定时器、ADC、SPI、I2C和USART等;调试模式可选择串行单线调试(SWD)和JTAG接口。如图2.5.2所示。

图2.5.2 引脚图

图2.5.3与图2.5.4是STM32F103C8T6的外部时钟,本方案采用8M外部晶振,进过内部9倍频后得到72M系统时钟,图5与图6中的30pF电容与10pF电容为晶振的启动电容,不能偏大也不能偏小,链接8M的晶振上经典值电容应该选择30pF,32.768K晶振上的电容最大不能超过15pF,晶振连接图如图所示。

 

图2.5.3  8M时钟            图2.5.4  32.768K时钟

单片机最小系统包括单片机芯片、晶振、复位电路,图2.5.5所示为单片机的复位电路,SW1为复位按键,常态为开,当按下时为闭合,R4为10K电阻,上拉电阻的选取没有固定的要求,通常选取10K,C5为滤波电容,大小选择104电容,也就是100nF陶瓷电容,防止复位按键抖动,导致系统误复位,启动滤除系统脉冲的作用,保护最小系统的正常工作。通常机械按键都有一个抖动过程,就需要通过这个电容来滤除按键产生的抖动。

图2.5.5 复位电路

通常供电电源都有小幅波动,需要通过使用大电容来滤除电源抖动,图2.5.6的4个电容是靠近STM32F103C8T6的电源引脚上放的,防止电源引脚有抖动信号的干扰。104电容为通用的选取阻值。

图2.5.6 滤波电路

为了实现单片机的正常工作,就需要为单片机提供稳定的供电电源,这里使用LM1117线性稳压芯片为单片机提供稳定的+3.3V电源,图2.5.7中P6与P7为排针,方便杜邦线的插拔,C8、C6为+5V电源的输入滤波电容,稳定输入的+5V电压,使用100nF滤除高频干扰,100uF滤除低频干扰,C9、C7为输出滤波电容,稳定输出电压,使用100nF滤除输出的高频干扰,100uF滤除输出的低频干扰,为单片机提供可靠的供电电源。

图2.5.7 稳压供电电路


图2.5.8为单片机下载方式选择端,或者是程序驱动方式选择端。STM32有三种启动模式对应的存储介质均是芯片内置的,它们是:


1)用户闪存 = 芯片内置的Flash。

2)SRAM = 芯片内置的RAM区,就是内存啦。

3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。

在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表:

BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。

BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。

BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。


要注意的是,一般不使用内置SRAM启动(BOOT1=1 BOOT0=1),因为SRAM掉电后数据就丢失。多数情况下SRAM只是在调试时使用,也可以做其他一些用途。如做故障的局部诊断,写一段小程序加载到SRAM中诊断板上的其他电路,或用此方法读写板上的Flash或EEPROM等。还可以通过这种方法解除内部Flash的读写保护,当然解除读写保护的同时Flash的内容也被自动清除,以防止恶意的软件拷贝。


一般BOOT0和BOOT1跳线都跳到0(地)。串口下载的情况下,BOOT0=1,BOOT1=0 ,再复位,点击下载,下载完成后,把BOOT0的跳线接回0,也即BOOT0=0,BOOT1=0 。所以为了方便期间我们将BOOT1直接通过100K下拉电阻拉直地,只通过BOOT1就能进行选择下载方式。

图2.5.8 下载方式选择位

STM32的下载方式可以分为两种方式:第一种是20引线的JTAG下载;第二种是5引线的SW下载方式,这里使用SW下载方式,所以具体分析第二种下载方式(SW下载),五根引线的连接分配如下表格:

引脚名

描述

引脚分配

JTMS/SWDIO

串行线输入/输出

PA13

JTCK/SWCLK

串行线时钟

PA14

NRST

复位

NRST

VDD

3.3V

VDD

GND

GND


图2.5.9为实物图中的连接方式,+3.3V、GND为电源引脚,SWDIO下载数据的引脚、SWCLK是下载数据的时钟引脚,NRST为单片机复位引脚,也为下载器的复位引脚。

图2.5.9 下载端口


STM32系列单片机内部集成AD模块,所以我们只需要使用STM32控制器即可实现AD转化和音频数据编码后控制红外发射电路的工作方式。


2.6  步进电机驱动电路

步进电机采用ULN2003进行驱动,ULN2003是ST公司旗下的一款步进电机驱动的高性能芯片,高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成。芯片内部原理图如图2.6.1所示,逻辑是反向的。

图2.6.1  ULN2003内部原理图


单片机通过IO控制输出驱动ULN2003的输入信号,因为单片机的IO输出电流和功率不足以驱动步进电机,所以采用ULN2003专用驱动芯片驱动步进电机,ULN2003输出后的信号直接接到步进电机的引脚上,如图2.6.2所示。

图2.6.2 步进电机驱动电路


2.7  液晶显示屏

由于Nokia5110液晶的四大优点所以选择作为显示模块,如图3-6-1所示:

1)性价比高,LCD1602可以显示32个字符,而Nokia5110可以显示15个汉字,30个字符。Nokia5110裸屏仅8.8元,LCD1602一般15元左右,LCD12864一般50~70元。

2)接口简单,仅四根I/O线即可驱动,1602需11根I/O线,12864需12根。

3)速度快,是LCD12864的20倍,是LCD1602的40倍。

4) Nokia5110工作电压3.3V,正常显示时工作电流200uA以下,具有掉电模式,适合电池供电的便携式移动设备。

5110液晶的引脚定义为RST复位引脚、CE片选引脚、DC数据/命令切换引脚、Din数据输入引脚、CLK时钟引脚,BL背光开关引脚,5110供电电压可在+3V—+5V,我们方案采用+3.3V,如图2.7.1所示。

图2.7.1 5110液晶      图2.7.2 液晶接口


51110液晶的各引脚定义如下所示:

引脚号                 引脚名                功能                                            备注

1                                           GND              地

2                                          BL                            背光控制脚                            高电平打开背光灯,否则相反

3                                           VDD              电源输入脚                             3.3-5V(推荐使用3.3V),导电胶连接

4                                           CLK              同步时钟输入                最高可达4Mbps

5                                           DIN                            数据输入                              时钟上升沿采样

6                                           D/C                            数据/命令切换               0:命令;1:数据

7                                          CE                            片选信号                              低电平有效

8                                           RST               复位信号输入                低电平有效

液晶模块内部的原理图如图2.7.3所示:

  

图2.7.3 5110液晶内部原理图    图2.8 按键电路


2.8  按键电路

如图2.8所示,按键电路图,上拉10K电阻检测按键情况,当按键按下后,输出电平是低电平0,当按键抬起后,输出电压是高电平3.3V。


3  基于单片机的的智能晾衣系统的软件设计

软件部分采用C语言进行编写,开发环境选择keil4。采用单片机进行采集光照、雨滴两个外部天气信号,并通过单片机控制旋转衣架,旋转衣架通过步进电机进行调节,当外部天晴,且无雨时,将衣架转出,晾晒衣物;当下雨或者没有阳光时,转回室内,防止被雨打湿,或者天已黑。

[1] [2]
关键字:单片机的  智能晾衣系统 引用地址:基于单片机的的智能晾衣系统设计论文

上一篇:简单的单片机按键控制流水灯
下一篇:单片机PWM控制舵机由浅入深各模块源代码(单路与8路)

推荐阅读

当使用KEIL5第一次编译程序的时候出现一个错误: “can not open source input file "core cm4.h"” 解决办法: 手动添加路径 (1)打开魔术棒工具中的“C/C++” (2)从“Include Paths"中将“KEIL5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Include”路径添加进来 (3)编译一下看看问题是否已经解决...
概述:为了满足不同测量的要求传统的电压表分别做成独立的仪表,包括峰值电压表、平均值电压表和有效值电压表。在此,提出采用虚拟仪器同时实现三种示值电压表的方案;介绍了虚拟仪器软件平台LabVIEW的特点。对虚拟数字电压表的设计和实现进行了详细描述,包括基于LabVIEW 8.2的虚拟信号发生器的实现过程,它能产生正弦、方波、三角波及由输入数学公式确...
 使用万用表检测扬声器时,可通过检测扬声器的阻值来判断扬声器是否损坏。检测前,可先了解待测扬声器的标称交流阻抗值,为检测提供参照标准,如图所示。    借助万用表测量扬声器两个输出引脚之间的阻值,根据检测结果判断好坏,如图所示。    注意:值得注意的是,扬声器上标称的阻值89是指该扬声器在有正常的交流信号驱动时所呈现的阻值,即交...
今年以来已经有多家厂商推出了新一代折叠屏手机,例如华为、小米、三星等,还有消息称荣耀、OPPO、vivo、谷歌等厂商也将推出自家折叠屏手机。  数码博主 @数码闲聊站 透露,各厂商接下来还将推出多款折叠屏新机,例如小米将推出一款 MIX FOLD 改良款,并将引入屏下前摄,依然保持大屏内折设计。  此外,华为则将推出一款搭载海思麒麟 9...

史海拾趣

问答坊 | AI 解惑

转贴】铅酸蓄电池修复工艺

这是转贴深圳维迪澳的流程图,是按照他们的设备编制的。供网友参考。 500) {this.resized=true; this.width=500; this.alt=\'这是一张缩略图,点击可放大。\\n按住CTRL,滚动鼠标滚轮可自由缩放\';this.style.cursor=\'hand\'}\" resized=\"true\">…

查看全部问答∨

程序的流程图怎么画,用什么画

这个问谁我想谁也没有想过吧。但是所天我在上班时有个QQ好友问我了着,没能很快的回答他,在这里我就说一下我个人的看法吧。 这个用什么画都是一样的,Wrod,画画工具,什么都行,只要是能加上图和汉字的就都行。我用的是Wrod,这样以后方更修改。 ...…

查看全部问答∨

ht1622的子程序

/*************************************************             *原型:void write_lcdbit(unsigned char bit)             *功能:LCD送数   &nb ...…

查看全部问答∨

关于ucos系统下STM32看门狗的使用问题!

目前我的使用方法为: 配置过程: void Wdg_Init(void) { // Enable WDG clocks  RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG , ENABLE); // PCKL1: 36MHZ  // WWDG clock counter = (PCLK1/4096)/8 = 488 Hz (~2 ms)   &# ...…

查看全部问答∨

mini2440 activesync USB下载问题

使用的是友善之臂的mini2440, 在用activesync下载程序的时候不能下载,提示:A Corrupted file might be left on the device.是怎么回事呢? 原先都正常下载的。   这种问题持续好久,什么都没有修改,又可以下载了,很是奇怪。不知是 ...…

查看全部问答∨

关于CE6.0内核启动问题

我最近在研究内核的启动过程,正在看代码,请问一下,镜像是在什么时候被拷贝到内存中的啊?怎么没有发现类似的代码? 我看到MAINSTONEIII 的bootloader代码里OALStartup.s中有copy bootloader image to RAM的代码,我觉得内核也应该会有类似的代 ...…

查看全部问答∨

压力传感器!!!!

有没有高手用过压力传感器啊,用凌阳单片机采集信息。 主要内容:从一个容器向另一个容器注水,用压力传感器测出容器中水量变化,传给单片机处理。 有人推荐我使用MPX5010,但是以前没有用过,还请高手们指点啊!!!!!!!!!…

查看全部问答∨

急求!!请各位大虾帮我看看MSP430FE425的串口通讯程序有什么问题?

用MSP430FE425做485串口通讯,程序不知道那有问题,串口接收中断都进不了,各位大虾帮我看看我的程序有什么问题,急啊!!!!! void main (void) { init_usart(); while (1) { _BIS_SR (LPM0_bits); //低功耗模式0 i ...…

查看全部问答∨

ModelsimSE添加Altera库及简单的功能仿真

一. 添加Altera库 1. 在Modelsim的安装目录下新建一个文件夹..\\Modelsim\\altera(大多数教程都这么安排,我也就这么做了,其实在任意目录都可以)。 2. 启动ModelsimSE,更改工作目录。File--->Change Directory。 3. 新建一个库。File--- ...…

查看全部问答∨

请问一个CAN的问题

CAN2.0B中应答错误将使得发送方不停的发送,直到接收到应答信号或者进入bus 0ff 那么其他错误呢。比如CRC错误,接收端判断出现一个CRC错误然后在应答位发送错误帧,发送端是否因此判断应答不正确而重新发送。 位错误的处理是否也是先发送错误帧再 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved