一、设计需求(我们要做个什么样的水龙头?)

  1. 支持电动开关水龙头
  2. 支持遥控、接入互联网(不能上网叫什么智能家居)
  3. 支持溢水检测

二、技术栈(我们需要哪些技术才能满足上述需求)

1.solidworks机械建模

solidworks软件功能强大,组件繁多。 Solidworks有功能强大、易学易用和技术创新三大特点,这使得SolidWorks 成为领先的、主流的三维CAD解决方案。SolidWorks 能够提供不同的设计方案、减少设计过程中的错误以及提高产品质量。SolidWorks 不仅提供如此强大的功能,而且对每个工程师和设计者来说,操作简单方便、易学易用。
对于熟悉win系统的用户,基本上就可以用SolidWorks 来搞设计了。SolidWorks独有的拖拽功能使用户在比较短的时间内完成大型装配设计。SolidWorks资源管理器是同Windows资源管理器一样的CAD文件管理器,用它可以方便地管理CAD文件。使用SolidWorks ,用户能在比较短的时间内完成更多的工作,能够更快地将高质量的产品投放市场。在目前市场上所见到的三维CAD解决方案中,SolidWorks是设计过程比较简便而方便的软件之一。在强大的设计功能和易学易用的操作(包括Windows风格的拖/放、点/击、剪切/粘贴)协同下,使用SolidWorks ,整个产品设计是可百分之百可编辑的,零件设计、装配设计和工程图之间的是全相关的。
2.ESP32 开发(arduino环境)
ESP32是乐鑫公司开发的一系列MCU(微型控制器)
ESP32的主要特点:
    • 性能稳定,工作温度范围达到 –40°C 到 +125°C。集成的自校准电路实现了动态电压调整,可以消除外部电路的缺陷并适应外部条件的变化。
    • 高度集成,ESP32 将天线开关、RF balun、功率放大器、接收低噪声放大器、滤波器、电源管理模块等功能集于一体。ESP32 只需极少的外围器件,即可实现强大的处理性能、可靠的安全性能,和 Wi-Fi & 蓝牙功能。
    • 超低功耗,ESP32 专为移动设备、可穿戴电子产品和物联网应用而设计,具有业内高水平的低功耗性能,包括精细分辨时钟门控、省电模式和动态电压调整等
    • Wi-Fi & 蓝牙解决方案,ESP32 可作为独立系统运行应用程序或是主机 MCU 的从设备,通过 SPI / SDIO 或 I2C / UART 接口提供 Wi-Fi 和蓝牙功能。

详细信息了解点这里->传送门

最最最重要的是,ESP32支持arduino开发,极大的解放了生产力,降低了开发门槛

3.MQTT通信协议

MQTT (消息队列遥测传输)是 ISO 标准 (ISO/IEC PRF 20922)下基于 发布 / 订阅 范式的消息协议。 它工作在 TCP/IP协议族上,是为 硬件性能 低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议 。  

MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:
1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
2、对负载内容屏蔽的消息传输;
3、使用 TCP/IP 提供网络连接;
4、有三种消息发布服务质量:
5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;
6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。
MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务

作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

是最符合我们设计需求的一种通信协议

在本设计中,我们将在Ubuntu中搭建一个MQTT服务器

并在ESP32S3中进行话题的订阅和发布,甚至可以连接ROS系统,使ESP32作为一个“物理节点”接入ROS

4.电路设计

得益于电商的发展,现在我们可以轻松的购买到绝大多数的“电子模块”,像拼积木一样就可以完成一个小发明。

所以我们并不是很需要去从零开始搭建一个完整的功能电路,只需要根据设计需要增加相应的模块即可。

三、系统结构设计(我们需要哪些系统、这些系统又该如何配合?)

1.水龙头的选择

首先我们得先买个水龙头,根据这个水龙头来确定需要什么型号的电机,驱动的机械结构又该如何设计,供电的电路又需要根据电机的型号来决定……

所以我在我家卫生间找到了一个水龙头,这个水龙头就很棒!

  • 旋帽下部分光滑近似圆柱体、可以安装从动齿轮圈
  • 水管接口和主体之间的位置可以安装电机的支架
  • 开关水龙头阻力适中,一个小型电机就可以驱动

2.电机及供电系统选型

结合以上的特点:

  • 电机选定为MG310电机,减速比为1:20

  • 电机驱动选定为TB6612模块

  • 供电系统通过一个1000mah锂电池作为电源

  • TP4056充电模块作为锂电池的充放小板

  • 使用一个DC-DC的升压模块,将电池电压升压为5V

 3.主控系统及传感器选型

主控选型,没什么好考虑的,直接无脑S3即可(某宝S3和“基础款”差价只有四五块)

  • ESP32S3 DevKitC

传感器选择一个薄膜压力传感器,通过分析压力变化曲线判断储水容器是否溢出

另外通过一个电阻电压转化模块搭配薄膜压力传感器,把阻值的变化转换为电压变化以供单片机采集信号

  • FSR402薄膜压力传感器
  • 电压转换模块

三、机械结构设计

把大象放进冰箱需要三步,机械设计也只需要三步:打开SW,拿起卡尺,疯狂测量。

1.水龙头从动齿轮圈设计

齿轮圈应该怎么设计?齿数多少合适?什么齿形合适?如何啮合?应该多宽多厚?每一个细节都需要仔细考量。

齿圈如果太薄不利于固定,太厚了可能会与电机及驱动轮产生干涉,不过在对水龙头和电机的尺寸进行对比之后,8mm这个值是非常合适的(具体还需要实机测试)

齿形如果过大会导致无法啮合,驱动轮尺寸变大。因为齿圈和齿轮是由于3D打印制作,如果太小那么齿会被直接磨平……。那么先暂定为1mm,这个大小从经验上看可以满足要求(具体还需要实机测试)

由于结构复杂度问题,在水龙头两测安装限位开关是不明智的,不如让电机多旋转一定时间来保证水龙头“拧紧”。但是电机在堵转情况下容易过流烧毁,那应该如何解决呢?有个好办法!使用TPU材质对齿圈进行打印,TPU材料具有高强度、高韧性、耐磨的优点,这样在水龙头旋转的末端时驱动齿轮可以和齿轮圈产生一定的滑动

2.驱动齿轮设计

驱动齿轮安装在电机转轴上,需要和齿轮圈啮合,所以驱动齿轮的半径决定了电机安装位置,也决定电机与水龙头的传动比,通过对测量数据的比对和计算,直径设置为10mm

但是我们不可能在使用水龙头的时候还打开手机用另外一个设备遥控这个水龙头,所以我们需要考虑的手动使用水龙头的情况。用手拧动水龙头会发什么什么呢?

从动齿圈会带动驱动齿轮和电机旋转,需要注意的是,这是两个费力杠杆!会使水龙头拧动的阻力增大,也会增加磨损,电动机反向发电也会有烧坏电路的可能。

那应该如何解决这个问题?

很简单,我们只需要在驱动轮上空缺几个齿即可。这样当齿轮圈反向带动驱动轮运动时,运动到这个缺齿部位时齿轮圈就无法再带动驱动轮旋转

3.电机架设计

电机架设计需要考虑驱动与从动之间的啮合,也需要考虑与水龙头主体之间的干涉电机架如何固定等问题。

还是老方法,对各个结构尺寸进行测量与计算,综合考虑3D打印等问题后:

支架的上方是电机放置槽位,同时电机可以通过两枚螺丝进行固定,支架的下方设置一个框架可以通过胶水固定到水龙头上。

通过对零件进行3D打印组装调试之后,下一步就可以设计电路和软件啦。需要模型文件的同学评论区留一下邮箱哦。

你的阅读就是对我的支持,下一篇,电路和软件马上更新!