这是一个使用 ESP8266 微控制器的 WiFi 连接迷你百叶窗开启器。
这个项目的目标是为我的迷你百叶窗构建一个电动开启器,我可以使用 Android 应用程序控制它。第二个动力则是能够让我更多地了解电子硬件和软件开发。我也一直想在一个项目中使用 ESP8266 WiFi 集成微控制器。
我在这个项目中使用的百叶窗是典型的水平迷你百叶窗,一侧的魔杖可以倾斜百叶窗,另一侧的弦杆可以拉起百叶窗。这个项目只处理百叶窗的倾斜。
项目要求
使用 Android 应用打开和关闭百叶窗。
必须能够在没有应用程序的情况下打开百叶窗。
低能耗,仅在主动使用时才必须启用电机。
直观的控制。
必须可靠且安全。
由直流电源供电,没有电池。
百叶窗没有不可逆转的修改。
修改百叶窗
在百叶窗的上部外壳中是一根钢六角形杆,它沿着百叶窗的长度延伸。转动此杆会改变刀片的角度。我有一个步进电机,它安装在这个上部外壳内,几乎与六角形杆对齐。我能够使用联轴器将步进电机连接到杆上。
有一个齿轮箱,只允许通过扭转木棒来旋转该杆。我不得不卸下这个齿轮箱,以便步进电机可以转动杆。我还必须设计一种在电机未通电时保持杆位置的方法。如果没有东西来保持杆的位置,百叶窗的叶片会向下倾斜。
解决方案是以足够的摩擦力固定杆,这样杆就不会移动,除非电机以足够的扭矩旋转以克服这种固定摩擦力。这是通过取一块木头来完成的,该木头有一个孔用于六角杆,一个垂直于杆的螺纹孔用于固定螺钉。在固定螺钉的末端是一块橡胶,当固定螺钉被拧紧时,橡胶塞被压在杆上。通过反复试验,机器螺钉被调整到杆被牢固地固定但没有那么牢固以至于电机难以转动它。
电机用橡胶垫片固定到位。对百叶窗的修改成本不高,并且不需要对外壳进行不可逆转的修改。变速箱很容易拆卸,可以毫无问题地放回原处。
控件
步进电机改变百叶窗的倾斜角度。我用陀螺仪/加速度计传感器来测量叶片的角度;向步进电机提供反馈。我想我可以只跟踪步进电机所采取的步骤来确定位置,但我认为直接感应角度会更可靠。传感器简单地用双面胶带连接到上刀片之一。
我决定在伺服电机上使用步进电机,因为标准伺服在没有变速箱的情况下没有足够的角度行程。我还发现步进电机更容易使用,因为它们不需要精确的计时。我本可以使用带有编码器的直流电机,但这对于这项任务来说似乎过于复杂。
我使用了Pololu A4988 步进电机驱动器和Adafruit BNO055 绝对方向传感器。
电子外壳
在窗户旁边的墙上是一个包含两个界面按钮和电子设备的外壳。步进电机和方向传感器插入此外壳。该项目由插入外壳底部的 12V、3A 开关直流电源供电。
外壳由 3“ x 3” 钢箱梁截面切割而成。我担心钢铁会阻挡 WiFi 信号,不过并没有发现任何问题。
电机和方向传感器的电线隐藏在墙上。我使用屏蔽电缆将 EMI 的影响降至最低。在原型设计期间,步进电机导线的 EMI 导致方向传感器发生故障。
印刷电路板
所有PCB组件都是通孔组件,便于焊接。
主要组成
Adafruit HUZZAH ESP8266 突破
Pololu A4988 步进电机驱动器载体
5V降压稳压器
3.3V降压稳压器
Neopixel LED(背面)
我还创建了一个插入主板的小型调试模块,允许我将 ESP8266 置于引导加载程序模式并访问串行线路而无需取下外壳。
两个板的 gerber 文件和原理图可在此处获得https://gitlab.com/pfjare/wifi-blinds-pcb。
BOM 可在此处获取https://docs.google.com/spreadsheets/d/1uPH0UYzaFl-pABCBGOthaaIexG82jPdf_6R0eSZoJQ4/edit?usp=sharing
ESP8266 代码
在 ESP8266 上运行的代码相当简单。在允许步进电机移动之前,我会采取措施确保方向传感器完全运行。我在代码中使用以下库:
Adafruit_BNO055
Adafruit_Sensor
arduinoWebSockets
Adafruit_NeoPixel
安卓应用
该应用程序与 ESP8266 建立 websocket 连接,并在应用程序未显示时断开连接。当按下按钮时,一条包含所需百叶窗角度的消息将发送到 ESP8266。有四个按钮 Closed Up、Full Open、Part Open 和 Closed Down。
我使用了nv-websocket-client WebSocket 库。
该应用程序的源代码可以在本文下方找到
这里还没有内容,您有什么问题吗?
电子电路资源推荐
- 稳压电源([美]戈特利布 著)
来源:下载中心
- PFC+LLC设计的600W开关电源调试全过程以及电源经验讨论
来源:下载中心
- 单片机运行原理的一点点总结
来源:电路图
- 模拟电子技术基础
来源:大学堂
- 基于Verilog HDL的FPGA设计和FPGA应用(英特尔官方教程)
来源:大学堂
- 电阻和电阻定律以及0欧电阻和上、下拉电阻的作用
来源:电路图
推荐帖子 最新更新时间:2024-11-21 19:09
- Altium Designer 输出哪个文件给商家做板子?
- 本帖最后由 五加一等于六 于 2014-7-10 23:13 编辑 楼主第一次画板子,板子已然画好了,不知道输出那个文件给商家做板子?刚刚在淘宝上通过旺旺问了下老板,估计也是打酱油的,他也不太清楚,还望各位大侠给小弟指点指点,楼主用的额Altium Designer 6.
- 五加一等于六PCB设计
- 堆叠技术
- 由于微型化以及性能发展趋势,设计者们一直努力在最小可能的空间内实现最高可能的电子产品的功能与性能。而典型的两大限制因素分别是:集成水平和I/O焊点的限制。硅片在空间和连接上的限制可在两个层次上得以解决。一是在芯片上通过编程压缩实现更高的集成性。二是通过多芯片堆叠、堆叠封装或者板
- oych1017嵌入式系统
- 菜鸟求51单片串口编程中断方式发送字符串代码!!
- 单片机为51单片机,编程语言为Keil C51 问题如下: 我从串口接收6字节的字符串,然后将其原封不动的发还给源端,因为主程序机时的限制,无法用查询方式发送,必须在串口中断中发送。 问题急待解决,我的代码现在无法解决这个问题,请哪位大侠伸手拉我一把,先在这里谢了。下面是我的串口
- milanmaldini嵌入式系统
- 【米尔-芯驰D9国产车规级开发板】1、开箱和板子外设芯片介绍、串口保护电路疑问
- 开发板简介 本次体验的D9开发板是深圳市米尔科技有限公司推出的myd-jd9340开发板,搭配myc-jd9340核心板。 芯驰D9处理器是一款工业级应用芯片,芯驰D9处理器集成了4个ARM Cortex-A55高性能CPU和2个ARM Cortex-R5 DCL
- walker2048汽车电子
- 私藏资料大公开——数字设计原理与实践
- 私藏资料大公开——数字设计原理与实践,跟大家一起分享 私藏资料大公开——数字设计原理与实践 去 这篇介绍的比较详细有用,对学习数字设计有很大的帮助,这里总结的很好,有参考价值。
- swx9588DIY/开源硬件专区
- 12864多级菜单设计
- 看到网上有个视频,用的是12864做的菜单,很花哨,自己也心痒痒想做一个,收集了 很多关于这方面的东西,但是都是五花八门,没有一个完整的可以共大家参考的程序,所以决定写偏文章供大家参考,希望读者下去自己优化,改进。有什么不足之处还请多多包涵。好了,废话不多说,直接进入正题吧。
- tcvsdonnnie51单片机
- 座谈总结:DSP电路板的硬件设计和系统调试
- 三合一板,STLINK的问题?
- 颁奖:有奖直播福禄克新型8.5位数字多用表技术发展及应用
- STM32 485能正常接收数据,发送只能发第一个字符
- 求一个串口控制led闪烁的程序,三块板子,一块协调,一块路由,一块终端
- 请帮忙分析一下这个电容和电阻为什么坏了
- EEWORLD大学堂----CC1310软件速成
- AT24C64程序读写
- 求红外线软件功能类似“学习型遥控器”
- 【STM32F7英雄联盟大赛】多功能测试仪器---五位半万用表硬件设计(二)输入电路部分
- 双11开发板推荐:MSP430 LaunchPad
- RL78G14进度贴
- 请问:windows ce与嵌入式开发有什么关系呀?
- 从未进入接收中断,接收中断数组寄存器里居然有数值
- ZigBee协议栈的PANID
- 【设计工具】夏宇闻-《Verilog教程》
- 51单片机隔50ms个
- linux下mpu6050驱动
- 帮忙解释下这段程序
- 需要一个北京地区的兼职linux编程人员
- ART-PI-DOCK
- LBF 输出的典型应用由集电极开路 NPN 晶体管驱动,该晶体管在稳压器电源出现故障时拉低
- LT1074,抽头电感降压转换器
- FEBFSL336LRN_CS04U07A,基于 FSL336LRN 多输出降压转换器的评估板
- 使用 Microchip Technology 的 MIC94325YMT 的参考设计
- LT3970EDDB-3.3 3.3V 降压转换器的典型应用
- (已验证)模块-RDA5807+PAM8403收音机
- DC2198A、16 通道电源系统,具有 LTC2980 电源系统管理器
- 使用 Analog Devices 的 LTC2656BCUFD-H16#PBF 的参考设计
- #第八届立创电赛#桌面风扇(桌面排烟器)