窗帘控制扩展板 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 窗帘控制扩展板

简介:随着科学对于家居必需品来讲,窗帘占有着重要的地位。由于手动窗帘需要手动开关,电动窗帘无法根据光照实现自动控制且需要特定遥控器,具有一定的局限性。因此需要一款智能窗帘控制器。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2023-07-26 14:17:47
更新时间: 2023-11-30 17:58:29
描述
# 立创·开发板电子设计训练营报名入口 https://oshwhub.com/activities/LSP-dian-zi-she-ji ![image.png](//image.lceda.cn/pullimage/p4TpGYD3DQuQtFTJLuS5tNAMAq8MxeQvlxz5pQuC.png) # 项目与要求 **基于梁山派的智能窗帘设备的设计与实现** ## 1.背景 随着科学技术的发展和人们生活水平的提高,智能化家居系统越来越多的出现在人们的生活中,带给人们快捷、舒适的体验。对于家居必需品来讲,窗帘占有着重要的地位。由于手动窗帘需要手动开关,电动窗帘无法根据光照实现自动控制且需要特定遥控器,具有一定的局限性。因此设计了一款基于梁山派微控制器的智能窗帘控制系统。 ## 2.设计要求与指标 ### 技术要求 (1)雨滴传感器模块:用于检测雨滴; (2)光线强度传感器模块:用于检测光线强度; (3)红外接收模块,用于遥控控制; (4)步进电机模块:用于窗户窗帘驱动。 ### 技术指标 (1)可以通过红外遥控与语音设置是否打开自动模式; (2)在自动模式下,当光照强度很高时,自动展开窗帘;当光照强度很低时,自动关闭窗帘; (3)在自动模式下,当检测到大量雨滴时,自动展开窗帘,此优先级比光照检测高; (4)在任何时候,可以通过红外遥控或语音命令展开与关闭窗帘,并关闭自动模式; (5)主控芯片接收到数据后,驱动电机运转,现实智能窗帘窗户系统。   # 一、雨滴与光照检测 ## **1.雨滴检测原理** 雨滴传感器常见的工作原理是通过检测水滴的导电性来判断是否下雨。它是利用两个电极之间的电导性变化来测量水滴的存在。这两个电极之间会有一个空气间隙,正常状态下是断路状态。当水滴接触到电极上时,水滴的导电性会导致电流通过水滴形成电流回路,从而改变电极之间的电阻值。通过测量电阻值的变化,就可以判断是否有水滴存在。 ![image.png](//image.lceda.cn/pullimage/88pR8so0zeeVyBgN8Tw99RZ7IctlCj0n1NEN16H4.png) ## 2.雨滴传感器接口设计 我们知道了雨滴传感器会根据雨滴进行电阻阻值变化。那我们如何通过梁山派去检测雨滴呢? 我们给雨滴传感器接入电源,当雨滴传感器的电阻发生变化时,其电压也会产生变化。此时我们可以把雨滴传感器看作一个开关。当没有雨滴时,雨滴传感器没有因为雨滴短路,所以处于断路状态。 ![1280X1280.PNG](//image.lceda.cn/pullimage/BgCRr5H5fKJ4A9at1BX8q2mVYH8gniZKRJ4gqJbk.png) 当有雨滴时,雨滴传感器因为雨滴导电,导致两个电极短路,相当于按键按下。 ![1280X1280 (1).PNG](//image.lceda.cn/pullimage/g0pAnuany1VU2S2Xztsg9APS4AvlcGpHVSw9t9va.png) 因此我们可以测量雨滴传感器的电压变化就可以知道是否有雨滴。 扩展板雨滴传感器接口如下: 我们需要给雨滴传感器的一极接正,一极接负,才可以产生回路测量电压变化。但是当传感器的雨滴过多时会导致两极彻底短路。为了防止雨滴传感器彻底短路,需要增加一个电阻R1作为负载,防止3.3V直接接入GND,形成电源短路。 ![8f321eaf-189a-4ae8-bf6b-8914e9d5328d.png](//image.lceda.cn/pullimage/7hyg9DqrjtPj4zrjOcsHFmOgLvVZ4bgokKzFwGBx.png) ## 3.光照检测原理 扩展板的光照检测功能是通过光敏电阻进行识别。光敏电阻是一种特殊的电阻器,它随着光照强度的升高,电阻值会迅速降低,其在无光照时,几乎呈高阻状态,因此暗时电阻很大。 市场上最常见的用于检测光照的模块就是以光敏电阻作为主要识别器件。它的原理图见右方,原理图中的U2.1是一个电压比较器。当电压比较器的2脚电压大于3脚电压时,1脚输出低电平;当电压比较器的2脚电压小于3脚电压时,1脚输出高电平;R3为光敏电阻,当光敏电阻周围环境很亮时,其阻值会变小,AO的电压也会变小;当光敏电阻周围环境很暗时,其阻值会变大,AO的电压也会变大;因此通过调整R4滑动电阻的阻值,就可以调整DO输出的灵敏度。 ![0804e225-e137-40c1-905f-17bcb0d46ed9.png](//image.lceda.cn/pullimage/khen4FGslgrG8BijtuSIPnwrukFf8J3J4ISEazV0.png)![70ed9e03-4037-41e2-bc2f-14bd12e7b52c.png](//image.lceda.cn/pullimage/8yCazjqgNJWfiLAYfikd0pOaUmSTQgDVXZcy8WBN.png)   ## 4.光照传感器接口设计 我们将模块原理图简化,直接使用一个分压电阻加上一个光敏电阻即可。我们扩展板直接检测的是光敏电阻的电压变化,见模块原理图中的AO。 ![7f0e115a-213a-4ceb-809d-e58c94e643f3.png](//image.lceda.cn/pullimage/VtdxJRiTPDHiWgT9Oi2CeVyebcq8dh1SyB3Pz5wz.png) # 二、步进电机驱动 ## 1.步进电机介绍 步进电机是将电脉冲信号,转变为角位移或线位移的开环控制电机,又称为脉冲电机。步进电机组成最主要的就是转子和定子部分。 * 定子,就是由电流控制磁场方向,通电时就会产生磁力; * 转子,被定子环绕在中间受定子磁场变化产生转动(下方示意图中转动的指针) 通过给定子通电,产生磁力,将转子吸附过来,那转子就会转一小格;通过给定子连续的通电,就可以实现让转子转动。 ![939c7771-1dec-4a5b-83ba-b3d50d57b925.gif](//image.lceda.cn/pullimage/59S3nIWH67SFvzING6dP8NsDOnLm1aJUDVK1GvKI.gif) 在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数。当步进驱动器接收到一个脉冲信号时,它就可以驱动步进电机按设定的方向转动一个固定的角度。因此: 可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的; 可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的; 可以通过控制绕组通电顺序,达到控制电机正反转的目的。   ## 2.步进电机的转动 我们采购的是二相四线式步进电机,二相指的是有两个线圈,四线指的是每一个线圈有两根线。其中A+与A-为一相,B+与B-为一相。  ![a9fdd658-713d-4dbf-95c5-4be50aefb367.png](//image.lceda.cn/pullimage/BxtityeOiFrmjqTwL5hjZjYiV4nrjjRmY8TrAvjk.png) 采购链接:[原装进口Y15-56 二相四线 微型 步进丝杆电机 带滑块 激光雕刻机](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.4be02e8dpoBqfX&id=642594293054&_u=72t4uge55e33) 要让它转动起来,需要给线圈连续通电。而转动方式有四拍方式、八拍方式。 四拍方式的转动顺序:【A+】->【B+】->【A-】->【B-】。 ![686ed6f1-a75f-4b5d-a8ce-e92f04ea0666.png](//image.lceda.cn/pullimage/n2VZn0pZjHWUVlNUbk5ByWA4eEAJpTCmACJQW8Rf.png) 八拍方式的转动顺序:【A+】->【A+B+】->【B+】->【B+A-】->【A-】->【A-B-】->【B-】->【B-A+】。 ![7a548d95-0aa7-4066-81d5-96d285c9f05c.png](//image.lceda.cn/pullimage/joOJrJCqY3LXexhHSdcOiGXDnWbWRxNpkAl5bfYs.png) 使用磁性电机,电流越大,磁力越强。虽然直接使用开发板的GPIO去控制步进电机也可以,但是会有损坏开发板引脚的风险。因此我们需要考虑一个合适的步进电机驱动。   ## 3.步进电机硬件驱动设计 案例使用L9110S作为步进电机的驱动,在其数据手册中有应用电路。我们根据数据手册的说明,进行设计即可。  ![b1be301d-3911-460b-89f9-ab3b78c9827b.png](//image.lceda.cn/pullimage/L8XPdql8IVPPaH5VQmuHqYjfouKjfq4DXnNcHLzP.png)   其中BAK控制X4引脚的电平输出;FOR控制X3引脚的电平输出。图中的电机A,接入步进电机的一相即可。按照思路则需要两个L9110S才可以驱动二相四线步进电机。  ![e2c4305b-227d-4d37-9cab-86c43c04a5da.png](//image.lceda.cn/pullimage/hJFT7TwXDUqZdK4AsbgFA5glob91rIDE8E4UE2Be.png)   # 三、红外接收驱动   ## 1.红外线协议介绍   在光谱中波长自760nm至400um的电磁波称为红外线,它是一种不可见光。红外线通信的例子我们每个人应该都很熟悉,目前常用的家电设备几乎都可以通过红外遥控的方式进行遥控,比如电视机、空调、投影仪等,都可以见到红外遥控的影子。这种技术应用广泛,相应的应用器件都十分廉价,因此红外遥控是我们日常设备控制的理想方式。   ## 2.红外线的通讯原理   红外光是以特定的频率脉冲形式发射,接收端收到到信号后,按照约定的协议进行解码,完成数据传输。在消费类电子产品里,脉冲频率普遍采用 30KHz 到 60KHz 这个频段,NEC协议的频率就是38KHZ。 这个以特定的频率发射其实就可以理解为点灯,不要被复杂的词汇难住了,就是控制灯的闪烁频率(亮灭),和刚学单片机完成闪烁灯一样的意思,只不过是灯换了一种类型,都是灯。 接收端的原理: 接收端的芯片对这个红外光比较敏感,可以根据有没有光输出高低电平,如果发送端的闪烁频率是有规律的,接收端收到后输出的高电平和低电平也是有规律对应的,这样发送端和接收端只要约定好,那就可以做数据传输了。 红外线传输协议可以说是所有无线传输协议里成本最低,最方便的传输协议了,但是也有缺点,距离不够长,速度不够快;当然,每个传输协议应用的环境不一样,定位不一样,好坏没法比较,具体要看自己的实际场景选择合适的通信方式。   ## 3.NEC协议介绍 NEC协议是众多红外线协议中的一种(这里说的协议就是他们数据帧格式定义不一样,数据传输原理都是一样的),我们购买的外能遥控器、淘宝买的mini遥控器、电视机、投影仪几乎都是NEC协议。 像格力空调、美的空调这些设备使用的就是其他协议格式,不是NEC协议,但是只要学会一种协议解析方式,明白了红外线传输原理,其他遥控器协议都可以解出来。 NEC协议一次完整的传输包含: 引导码、8位地址码、8位地址反码、8位命令码、8位命令反码。这里我们主要讲解如何接收红外发送端发送的NEC协议内容。  ![e5a72257-7638-47b2-9a24-174501a3fdac.png](//image.lceda.cn/pullimage/B3rH9IZHFW08aHCnFJZ0pA6MPYwKCqZJIAwlTidC.png)   引导码: 由9ms的低电平+4.5ms的高电平组成。 ![9m s.png](//image.lceda.cn/pullimage/vgoPe7r7bTTof0FEVZRyYgomVXNtScaMUOKYunm3.png)![4.5ms.png](//image.lceda.cn/pullimage/kdM5ROm4VMknPJUZAQmIIqynDgwsOZ81NauefpfI.png) 4个字节的数据: 地址码+地址反码+命令码+命令反码。 这里的反码可以用来校验数据是否传输正确,有没有丢包。 重点: NEC协议传输数据位的时候,0和1的区分是依靠收到的高、低电平的持续时间来进行区分的。这是解码关键。 数据发送0码:0.56m低电平+ 0.56ms的高电平。   数据发送1码:0.56ms低电平+1.68ms的高电平。 所以,收到一个数据位的完整时间表示方法是这样的: 收到数据位0: 0.56m低电平+ 0.56ms的高电平 收到数据位1: 0.56ms低电平+1.68ms的高电平   还有一个重复码,它是由一个 9ms 的低电平和一个 2.5ms 的高电平组成。当一个红外信号连续发送时,可以通过发送重复码的方式快速发送。   ## 4.红外接收硬件接口设计 红外线接收头模块输出电平的原理: 红外线接收头感应到有红外光就输出低电平,没有感应到红外光就输出高电平。因此,我们只要检测OUT端,是否输出低电平,就可以知道是否有接收到红外数据。 这里选择接入PF7,没有什么特殊要求,使用普通的GPIO即可。  ![f11f161d-364e-4f68-998b-e882d494d15e.png](//image.lceda.cn/pullimage/Ux2hlP2pEqOaB1XeNiMlc6D4cNPdZDq2bVT8YOqO.png) # 四、语音识别驱动 ## 1.语音模块介绍 HLK-V20是海凌科电子针对大量纯离线控制场景和产品推出的高性能纯离线语音识别模块,可广泛且快速的应用于智能家居、各类智能小家电、86盒、玩具、灯具、工业、 医疗、物联网、汽车、安防与照明等需要语音操控的产品。 HLK-V20支持150条本地指令离线识别,可自由定制唤醒词、命令词与应答播报词,具有丰富的外围接口。离线语音识别指的是只能识别固定命令词条,不需要连接网络。 购买链接:[AI智能语音模块V20 海凌科离线语音开关控制 语音识别控制开发板](https://detail.tmall.com/item.htm?_u=62t4uge5fe3d&id=624187674417&spm=a1z09.2.0.0.65622e8dcBIkxT) 模块的命令词、播报词等配置,可以通过在线配置平台进行配置,因篇幅过长,另起了一份文档,具体语音产品的配置案例见下方链接。 [海凌科语音识别模块的语音固件创建与下载](https://lceda001.feishu.cn/docx/LQkZd74b7o8aEHxAGzbcGvHynle?from=from_copylink) 该案例来自[模块移植手册](https://lceda001.feishu.cn/wiki/JNvYwEU5SiGldFkNcxncYXhZnZc?from=from_copylink)中4.13章节的 HLK-V20语音识模块。 参考案例的配置流程,本案例的语音模块引脚设置同样选择的是B2P3作为串口1。 ![114e5d35-436c-4fe0-909d-141df11538dc.png](//image.lceda.cn/pullimage/dWq1arQjBtRjtPdS4XZ3QTTvbFKTyT1Qk3b2zuz8.png) 唤醒词设置: ![6c55a042-a15b-42c1-9394-bdb8b142dd4f.png](//image.lceda.cn/pullimage/Ams4emdY1f6QVMvpRhLXMvlq3uueZ2llZtdLuLp5.png) 命令词与控制: ![b6856159-aad4-4775-a7d3-5407296b9f22.png](//image.lceda.cn/pullimage/OsB7RT46uPRsOwpY0fJvhopvurmCDihNlitwYGnM.png) 设置的控制参数如下。当串口接收到 0XAA 0X01 0X55 时,说明语音模块触发了开窗帘命令。其它同理。为了方便接收并解析多条命令,设置成为了帧头帧尾的格式。当串口接收到0X55说明语音识别模块触发了命令,分析上一个接收的数据,则可以知道是识别的哪一个命令。 ``` if( RX_BUFF[DATA_LEN] == 0X55 )//接收到帧尾 { if( RX_BUFF[DATA_LEN-2] == 0XAA)//接收到帧头,确定数据格式正确 { V20_data = cRX_BUFF[DATA_LEN-1];//接收数据 } } ``` 例如:语音识别模块发来了命令:0XAA 0X03 0X55,则说明触发了打开自动模式命令。 ![image.png](//image.lceda.cn/pullimage/47JOCVxhTQ18MMssDdX11Ff6cs12EEivxSvOf7X4.png) 其他设置: ![550ad153-94d1-4aeb-b8e4-90a7021856a2.png](//image.lceda.cn/pullimage/JixETS9X8Bdr4W0Otv9gcr8HdAvzTgLBFzXvCCYQ.png)     ## 2.语音识别模块硬件设计   该语音识别模块是可以由我们自由设计命令词的,可以通过在线配置平台进行配置。配置完成之后会生成一个语音识别固件,我们要将固件下载到模块里,通过模块的B6,B7引脚进行下载。所以下方通过排针的方式引出了B6,B7引脚方便我们下载。还需要注意的是,在下载固件时,要先将模块断电。待下载工具识别到模块之后,再给模块通电,才可以正常下载。这个通断电操作,由原理图中的SW1开关进行控制。 ![31e97b45-3cd6-4573-9216-7a6cc39c609f.png](//image.lceda.cn/pullimage/L9HPdPtv670ESV2XW0Hism5q2PJa1QzT8BSpwnA7.png) **整个案例的软件设计方面请参考文档:https://lceda001.feishu.cn/docx/X2z8dgeRSoguQwxBEsjc3p64n5b?from=from_copylink**                                      
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP