基于STM32的智能插座设计摘要】智能插座主要应用于智能家居的大平台中,不知道大家有没有羡慕一些发达国家拍摄的科幻电影的那种超智能,超人性化的大别墅以前或许只是想象,但智能插座的设计让梦想照进了现实,智能插座的成功研发和投入使用,完美的解决了千家万户用电隐患的问题,把火灾几率降到了最低。
本文介绍了关于智能插座的软硬件设计开发,红外控制插座的闭合,红外控制插座定时功能,温度警报功能的实现原理。
【关键词】 stm32 红外线控制定时开关1 引言华夏五千年,从前的我们很难想象现如今的社会会被一张“无形的大网”网住。
这张网,网住了我们的吃的、喝的、用的、娱乐的等所有方面。
有一种很有趣的现象,无论你是学生党,上班族,还是家里蹲,好像都会接触到两样东西。
第一个就是用电插座;第二个就是容易让人上头的现代的一种用于高速计算的电子设备。
两者相结合,在人类发达的智慧改造下,智能插座孕育而生。
从起源来讲,它就是用那种电子设备做出来的插座。
智能插座主要应用于智能家居的大平台中,不知道大家有没有羡慕一些发达国家拍摄的科幻电影的那种超智能,超人性化的大别墅以前或许只是想象,但智能插座的设计让梦想照进了现实,智能插座的成功研发和投入使用,完美的解决了千家万户用电隐患的问题,把火灾几率降到了最低。
本文介绍了关于智能插座的软硬件设计开发,红外控制插座的闭合,红外控制插座定时功能,温度警报功能的实现原理。
文章所运用的是STM32F103C8T6的单片机系统,负载一个红外控制接收器和遥控器,用于遥控器远程控制整个智能插座系统。
一个1路5V版本兼容3.3V带光耦隔离的继电器模块,用于控制插座的开关。
一个DS18B20的测温模块,一个高电平触发的有源蜂鸣器模块,两个模块可以实现负载电器运行出现高温时,实现高温报警的功能。
2 智能插座的目前处境以及发展现状在互联网没有发展的时代,按照国际标准,传统的插座可以分为多种类型,其中既包括民用、工业用的插座,也包括防水、电源插座,还包括移动式、固定式等类型的插座。
后来,物联网引领新时代,插座中开始接入电脑控制芯片,接入无线通讯传输协议芯片,智能插座由此诞生。
智能插座作为智能家居中举足轻重的角色,最早在1984年由某发达国家建造的世界史上第一栋智能建筑提出概念,该国家电子工业协会在四年后拟定了首个能够很适用各家各户住宅的电气设计标准;我国进入上世纪90年代末期后,有关标准也进行了制定。
知名企业公司董事长宣布的“维也纳计划”,该方案在某些程度上很好的解决了中国数字生活家电的问题,为中国后来的智慧城市发展奠定了夯实的一步。
21世纪初期的中国并不对智能家居这个新概念抱有多大希望,国内甚至在十年内都没人愿意去品尝这块大蛋糕。
直到2014年,BroadLink公司的崛起,眼红了一大堆国内企业家。
渐渐的,“米家”等其他称呼的涌现,让社会都开始感受智能生活带来的便捷。
推动了中国往智能化现代,智慧城市的规划的大跨步!当前市场随着过多企业的加入,智能插座的开发与应用越来越广泛,就连叫法都五花八门:无线插座、智能接线板、WiFi插座等等不计其数。
然后市场上的智能插座主要有如下几种:定时智能插座。
这种插座的主要优点在于能够很好的帮助用户节省一些不必要的用电,完美的实现低碳生活,节能。
遥控控制智能插座。
该类型的插座系统组成中,肯定存在接收装置,无论是红外遥控,无线遥控还是声控,都能够帮助用户进行远程控制。
计量智能插座。
这种插座可以满足客户随时想知道家用电器的用电消耗量,家用电器的正常额定功率,电压电流等数值,便于观察家电的用损情况。
综上所述,现如今的智能插座,多着重于控制方面,产品功能过于单一,不能够完美的适用于整个智能家居系统中来,我国对于智能插座的研究和设计还有待提高。
3 智能插座的设计理念基于STM32的智能插座设计是基于单片机开发系统的一种硬件设计,主要实现的功能既要满足智能化设计,也应该能够简单的运用到智能家居的系统中,在选择的操作系统时,32的单片机可能很好的进行硬件的搭设,以及软件的烧写与仿真。
附录A即为单片机的原理图。
从命名的方式上来说,比如STM32F103C8T6。
STM32,值得是产品系列是基于ARM的32位微控制器;F指的是产品类型,表示通用;103是增强型,与101的基本型、102的USB基本型和105或107的互联型有着明显区别。
关于产品引脚数量的区分,共分为五种,分别是:T、C、R、V、Z,其中T对应了36个引脚数量,C对应了48个引脚数量,R对应了64个引脚数量,V对应了100个引脚数量,Z对应了144个引脚数量,每个系统自带的闪存存储器的容量由引脚数量后一位决定,在闪存存储器中,其有七种对应的容量,其中4对应16K字节的闪存存储器,6对应的是32K字节,8对应的是65K字节;B、C、D、E类指的是字节数为128、256、384、512的闪存存储器;最后两位对应一个是封装类型,另一个是温度范围。
T类封装也就是LQFP类型的封装,温度范围在-40℃~80℃。
所以整个系统的功能主要如下:3.1 控制功能红外控制系统通常由两个部分组成,一个部分负责发送,另一个是用来接收。
发送端是借助单片机,对准备发送的二进制信号编码进行调制,使其成为连续性的脉冲串信号,借助红外发射管,完成红外信号的发射。
接收端完成对红外信号的接收后,还需要对信号进行进一步的方法和检测,并进行信号解调,调出遥控编码脉冲。
通常情况下,其具有一定的干扰性。
为了降低干扰因素,所采用的红外接收头一般为LS1838B,其能接受红外信号的频率为38kHz,周期约26μs,且星界比高,可靠性较强。
能够在接收信号的同时对信号进行放大和整形,得到TTL电平的编码信号,之后再将这些信号传送到单片机,经过单片机的解码,进而实现其控制功能。
整个原理中最少不了的就是关于红外系统的编码和解码过程,原理如下:1) 二进制信号的调制在二进制信号的调制过程中,二进制信号经过编码后,借助单片机来调制成有一定频率的剪短脉冲串,频率为38kHz,这一脉冲串相当于用二进制信号的编码与频率为38kHz 的脉冲信号相乘得到的结果,在经过调制后,用于红外发射二极管的信号发送。
红外的接收需要先进行解调,这一过程需要借助红外接收管完成。
基本的工作过程表现如下:在接收到调制信号时输出高电平;没有接收到信号时输出的电平为低电平,为调制的逆向步骤。
(图解调)作为一体化集成的红外接收器件,LS0038可以直接性的输出经过调解之后的信号,包括高电平信号和低电平信号。
2)借助 PPM 编码方式进行红外遥控芯片的发射,按下发射器按键的同时能够发射出一组 108ms 的编码脉冲遥控编码脉冲的组成包括以下几个部分:第一个是前导码,第二个是16位的地址码,包括8位地址码及其反码,第三个是16为的操作码,包括8位操作码及其反码。
在检验用户码的过程中,遥控器对设备的控制是一对一的过程,从而降低了不同设备之间在动作上发生互相干扰的现象。
反码主要是用来检测编码的接收是否存在错误,提高系统的稳定性。
前导码作为遥控码的起始,主要由两部分组成,一个是 9ms 的高电平,另一个是4. 5ms 的低电平,为数据的接收做准备,形成准备脉冲。
二进制的“0”和“1”分别由脉宽为 0. 56ms 、周期为 1. 12ms 的组合、脉宽为 1. 68ms 、周期为 2. 24ms 的组合来表示。
3)单片机采用的是外部中断 INT0 管脚和红外接收头的信号线相连,以沿触发方式为中断方式。
通过对中断的间隔时间科学计算,进而对前导码和二进制的“1”、“0”码进行区分,并提取8位操作码,在数码管上加以呈现。
红外接收头输出的原始遥控数据信号与发射端相反,即如果发射端的原始信号为低电平,那么接收头的输出即为低电平。
代码实现。
函数名称:初始化红外控制系统函数作用:函数的作用旨在初始化整个红外系统,并且在初始化的同时,能够使能PORTB时钟、使能TIM4时钟、初始化GPIO8端口。
关于代码设计的步骤之中,最先开展的步骤是设置计数器的自动重装值,同时将最大溢出设定成10ms。
其后开展的步骤是设置预分频器,将其参数设置为1M,设置计数间隔时间,设置时钟分割。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_SetBits(GPIOB,GPIO_Pin_8);TIM_TimeBaseStructure.TIM_Period = 10000;TIM_TimeBaseStructure.TIM_Prescaler =(72-1);TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;3.2 定时功能32单片机的系统存在着多种定时器,具体可以分为以下几种:最为主要的是通用定时器(TIMx)。
该定时器以通用定时器的名称存在,就是由于其能够被广泛应用各种场合的优势,它能够符合16位自动装载计数器的构成,其中,驱动的主体是可编程预分频器。
在各种场合之中,最为突出的应用为测量输入信号的脉冲长度与描绘输出波形。
TIMx的主要功能也比较全面。
首先,是16自动装载计数器,能够形成上、下、上下方位的功能,顾名思义就是能够自己自动的装载我们想计数的功能;其次,指的是一种16为可编程预分频器,这也是定时器的基本定义内容,其主要意义就在于能够实时修改;最后,通用定时器具备输入捕获、单脉冲模式输出、PWM生成以及输出比较四个独立的通道;以上就是通用定时器能够在系统中实现的功能。
通用定时器在软件设计是需求的结构体代码:typedef struct{u8 Year; u8 Month;u8 Day; u8 Hour;u8 Minute; u8 Second;}Time_struct;3.3 报警功能(1)系统采用的测温模块为DS18B20数字温度计。
之所以选择这款DS18B20测温模块是因为考虑到在进行测温实验是需要多点能力,目的是为了能够是分布式温度在检测的过程中能够简单方便操作,便于系统实验的多次应用试行。