一、概述
大家都听过《哈利波特》吧,在《哈利波特》的世界中,魔法物品很多,但是没有任何一样物品能像魔杖一样重要,因为它与巫师建立起了一种难以言表的紧密联系。大家看到魔法世界里的巫师们,轻轻挥动几下他们的魔法棒,就可以施放各种各样的魔法,是不是即惊叹又羡慕。
今天给大家带来一款家庭版的魔法棒,开发者们只要轻轻挥动它,就可以控制家里的智能设备,体验一次当哈利波特的感觉,是不是特别神奇。它还可以充当探照小灯,比如东西掉到狭小又深的地方时,可以将身材修长苗条是魔法棒伸进去,点亮顶部的小灯,来寻找物品。
想拥有这样的魔法棒吗,一起来看看吧。
二、硬件设计
电路主要分为主控板和灯板两部分。
主控板搭载锂电池和充电管理系统,使魔法棒具备可循环的持久续航能力,采用一颗高精度六轴传感器,可以识别用户手势姿态,判断用户指令,还搭载涂鸦智能出品的通信模组,赋予魔法棒联网的能力,可与手机APP通讯,实现设备端,手机端,云端三方数据通信,从而实现用户通过挥动魔法棒控制智能设备,起到魔术一样的神奇效果。
灯板可以根据开发者喜好自由发挥,添加各种颜色,各种规格的灯,使魔法棒在"施法"时显的更加绚丽多彩。
整体硬件框图如下:
2.1 主控板
考虑到便捷环保和重复使用,魔法棒选择3.7V锂电池供电,电池的尺寸和容量可以根据自身需求选择。原理图中的U3为TP4056,是一颗锂电池专用充放电芯片。
这是一款恒定电流/恒定电压线性充电芯片,采用了内部 PMOSFET 架构,内置防倒充电路。芯片具有热反馈功能,可对充电电流进行自动调节,以便在大功率操作或高环境温度条件下对芯片温度加以限制。充电电压固定于4.2V,而充电电流可通过一个电阻器进行外部设置。当充电电流在达到最终浮充电压之后降至设定值 1/10 时,TP4056 将自动终止充电循环。
V_IN为USB输入的5V电压,V_BAT连接锂电池的正极(锂电池的负极记得连GND),CE脚是芯片使能端,只有CE脚高电平的时候,TP4056才会正常工作。
- STDBY脚是电池充电完成指示端。当电池充电完成时,该脚被内部开关拉到低电平,表示充电完成。除此之外,该管脚都将处于高阻态。
- CHRG脚是漏极开路输出的充电状态指示端。当充电器向电池充电时, 该管脚被内部开关拉到低电平,表示充电正在进行;否则该管脚处于高阻态。
因此,开发者可以在STDBY和CHRG脚分别加了绿色和红色两个LED。这样,当锂电池正在充电时,红灯点亮,当充电完成,绿灯点亮。
- PROG脚是恒流充电电流设置和充电电流监测端。从 PROG 管脚连接一个外部电阻到地端可以对充电电流进行编程。在预充电阶段,此管脚的电压被调制在 0.1V;在恒流充电阶段,此管脚的电压被固定在 1V。在充电状态的所有模式,测量该管脚的电压都可以根据下面的公式来估算充电电流Ibat=1200*Vprog/Rprog。
为了防止大电流充电,芯片和电池温度上升,开发者把充电最大电流设置为0.8A。根据公式可知,Rprog=1200*Vprog/Ibat。
其中Ibat取0.8A,Vprog取1V,计算得Rprog=1.5K欧姆。如果开发者想加大电流,在此基础上适当减小Rprog电阻(原理图中的R8)即可。
- TEMP脚是电池温度检测输入端。将TEMP 管脚接到电池的 NTC 传感器的输出端。如果 TEMP 管脚的电压小于输入电压的45%或者大于输入电压的 80%,意味着电池温度过低或过高,则充电被暂停。如果 TEMP 直接接 GND,电池温度检测功能取消,其他充电功能正常
这里为了减少开发周期,开发者可以将R16或者R14焊0欧姆电阻,取消该功能。如果开发者希望启用,可以联系涂鸦智能,涂鸦智能会提供专业技术支持进行帮助。点击这里查看TP4056数据手册
U4是一颗低功耗型的LDO,型号是MD5333,它的作用将锂电池输出的3.6V电压降压到3.3V,由此给控制器,传感器等设备供电。
MD5333最大的优势在于它的低功耗,它的静态漏电流只有1~2uA,可以大大减少魔法棒在待机情况下的功耗,从而保证魔法棒的续航时间。开发者也可以选择其他型号的LDO芯片,但是静态漏电流建议要在2uA以下哦。
2.1.1 控制器
控制核心依旧是开发者们所熟悉的涂鸦智能云模组。
涂鸦有各种通信协议,各种尺寸规格,各种工作温度,各种焊接方式的一系列超高性价比自研模组,开发者可根据自身的需求进行灵活选择。本次的魔法棒,如果考虑产品化,涉及低功耗等要求,推荐开发者选择低功耗蓝牙模组或者低功耗Zigbee模组。
魔法棒会用到如下几个控制引脚用于控制外设,开发者在设计电路的时候需要注意一下:
引脚名称 | 引脚功能 |
---|---|
LED | LED灯控制引脚,用于控制LED灯亮灭或闪烁 |
KEY | 按键引脚,用于唤醒涂鸦云模组,退出低功耗模式 |
MPU_INT | MPU6050数据就绪引脚,当数据就绪时会产生高电平以提示主控来读取数据 |
SCL | MPU6050 IIC接口的时钟引脚 |
SDA | MPU6050 IIC接口的数据引脚 |
CT_POW | MPU6050 电源控制引脚 |
2.1.2 传感器
如何识别用户挥手的手势姿态信息呢?这里就需要一颗姿态采集传感器,本方案采用的是MPU6050。
它是InvenSense公司推出的全球首个整合性6轴运动处理器件,内带3轴陀螺仪和3轴加速度传感器,并且含有一个辅助IIC接口,可用于连接外部磁力传感器,利用数字运动处理器DMP硬件加速引擎,通过主IIC接口,可以向应用端输出完整的9轴姿态融合演算数据。
MPU6050 对陀螺仪和加速度计分别用了三个16 位的ADC(0~65535),将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的。
MPU6050三个独立的振动MEMS速率陀螺仪,可检测旋转角度X轴,Y轴和Z轴。 当陀螺仪围绕任何感应轴旋转时,科里奥利效应就会产生电容式传感器检测到的振动。 所得到的信号被放大,解调和滤波产生与角速度成比例的电压。 该电压使用单独的片内数字化16位模数转换器(ADC)对每个轴进行采样。 陀螺仪传感器可以全面范围的被数字编程为每秒±250,±500,±1000或±2000度(dps)。 ADC样本速率可以从每秒8,000个采样点编程到每秒3.9个采样点,并且可由用户选择低通滤波器可实现广泛的截止频率。
MPU6050的3轴加速度计为每个轴使用单独的检测质量。 加速沿着一条特定轴在相应的检测质量上引起位移,并且电容式传感器检测到该位移位移有差别。MPU6050的架构降低了加速度计的敏感度制造变化以及热漂移。 当设备放置在平坦的表面上时,将进行测量在X和Y轴上为 0g,在Z轴上为+ 1g。 加速度计的比例因子在工厂进行校准并且在名义上与电源电压无关。 每个传感器都有一个专用ADC来提供数字输出。 数字输出的满量程范围可以调整到±2g,±4g,±8g或±16g。
传感器的引脚功能说明如下:
引脚编号 | 引脚名称 | 说明 |
---|---|---|
1 | CLKIN | 可选的外部时钟输入,如果不用则接GND |
6 | AUX_DA | I2C主串行数据,用于外接传感器 |
7 | AUX_CL | I2C主串行时钟,用于外接传感器 |
8 | VLOGIC | 数字I/O供电电压 |
9 | AD0 | I2C Slave 地址 LSB |
10 | REGOUT | 校准滤波电容连线 |
11 | FSYNC | 帧同步数字输入 |
12 | INT | 中断数字输出(推挽或开漏) |
13 | VDD | 电源电压及数字I/O供电电压 |
18 | GND | 电源地 |
19、20、21 | RESV | 预留,不接 |
20 | CPOUT | 电荷泵电容连线 |
23 | SCL | I2C串行时钟SCL |
24 | SDA | I2C串行数据SDA |
2、3、4、5、14、15、16、17 | NC | 悬空 |
2.2 功能板
这部分的电路,开发者可以任意发挥,给魔法棒附加额外的创意功能,展现各种天马行空的奇思妙想,简单的,比如加个灯,让魔法棒具备探照的功能,也可以加蜂鸣器,当按键按下,可以制造美妙的音乐。这里以灯为例,开发者可以参考下面原理图。
设计时需要注意一下几点:
- 所选LED灯的压降不能超过供电电压。
- 需要考虑LED允许的最大持续电流,选择合作阻值的限流电阻。
- 注意限流电阻的功率,选择合适封装,0603为1/10W,0805为1/8W,1206为1/4W。
三、整机搭建
开发者发挥自己的创意,综合考虑使用情况,调整PCB外形和结构尺寸,制作出一根属于自己的魔法棒。
外形结构
整体效果