构建一个自动汽车控制台按钮推送器
扫描二维码
随时随地手机看文章
我车上的 HVAC(车内空气循环)模式在启动时默认状态下是不会开启的。在我所驾驶的这个地区的路况下,由于外界空气质量不佳,我大部分时间都需要开启这种循环模式,而我之前的其他车在这种情况下是默认会开启这一功能的(无需手动操作)。即便我具备了价值 1000 多美元的品牌专用车辆通信接口(VCI)工具的知识和使用权限,也无法为我的车配置这一功能。因此,如果无法通过软件进行配置,我就只能通过硬件来进行操作了。
想法
这个想法是在我之前的一个项目(智能手表汽车遥控器)基础上的延续。在那个项目中,一个简单的继电器就可以用来模拟“按下按钮”(也就是完成电路连接)的动作。我所需要的就是一个电源、一个微控制器以及一个能连接到现有汽车控制台按钮电路上的继电器。
逻辑
•当我启动汽车时,电力就会供给到微控制器上。
•当微控制器接通电源后,稍等片刻,然后按下继电器开关(按下按钮)一次(正常人手指按下约 100 至 200 毫秒)并松开。
•此后,在微控制器持续通电的整个期间(直至车辆/电源被关闭),无需再进行任何操作。
•当汽车再次通电时,也要遵循同样的操作流程。
使用 ESP-01/ESP-01S 的原型机
我的研究最终选择了市场上最简单的选项之一——ESP-01/ESP-01S 中继模块,这是一个整体结构相对紧凑的装置,集微控制器和继电器于一体(几乎无需焊接)。只要为其提供 5 伏直流电源(例如来自我车载手机充电器的 USB-A 接口),我就能通过简单的代码草图来控制电路(注意:ESP-01/ESP-01S 需要单独取出并使用编程器进行编程)。将一个 JST 2 针连接器(输出端)用作与控制台按钮的连接接口。
汽车控制台的准备工作
拆开按钮控制面板后,我需要找到循环再利用按钮及其引脚以便“固定”住它们。我根据在网上找到的按钮电路图,用一个 JST 2 引脚连接器将引脚固定好(此时极性无关紧要),然后将电线穿过现有的 PCB 孔(幸运的是无需钻孔!)
接下来,我还得从汽车上获取 12 伏直流电源,而这种电源只有在汽车启动时才会出现。我通过一个标准的 5.5 毫米直流插头接入了汽车点烟器插座的线路(这里没有提供详细的图片)。
降压 12 伏直流电至 5 伏直流电
汽车提供的直流电源电压范围在 12 至 14 伏之间,需要将其降至固定的 5 伏。我使用了一台 Mini560 来提供固定的 5 伏输出。然而,这增加了这个项目的整体物理尺寸,现在它只能装入一个 61x36x25 毫米的电子封装盒中。
目前,该项目基本已经准备就绪可以进行安装了(只是缺少连接到 Mini560 电源输入端的直流筒形插头接口,以及需要在机箱内部钻孔),但有几个方面我不太满意:
•该装置的整体尺寸(61x36x25 毫米)相当大,可能不太容易安装在汽车控制台后面。其中继器和 Mini560 是最大的部件。
•中继切换过程声音较大/噪音很大(尽管有些人可能会认为这种可听见的反馈证明了其正在正常运行)
•ESP-01/ESP-01S 对于这个项目来说太过复杂了(我并不需要这个板子的 WiFi/蓝牙功能)
•这种继电器对于此用途来说有些过于复杂了(通常在处理较大电流的电路时才会用到这种继电器)。
最终产品采用 ATTiny85(USB-C 接口)设计。
我知道我得缩小继电器和 Mini360 的尺寸。进一步的研究让我决定采用光耦合器来进行开关操作,并将微控制器更换为 Digispark ATTiny85(USB-C)的仿制品。
优点:
•整体尺寸极小——42x22x12 毫米。
•Digispark ATTiny85 内置了一个 78L05 电压调节器,能够处理 12 伏直流电源输入——无需额外的降压转换器。除此之外,它也可以通过 5 伏电源(来自手机充电器的 USB-A 接口)供电。
•Digispark ATTiny85 配备了一个用于编程的 USB-C 接口(无需额外的编程器)。
•在这种应用场景中,光电耦合器是处理开关操作的理想选择,相较于任何类型的继电器(包括复位继电器和固态继电器)而言都是如此。
•切换时没有“咔哒”声(对某些人来说可能是个缺点)。
缺点:
•光电耦合器具有极性敏感性,请注意将“钩状”部分连接到控制按钮上。
•Digispark ATTiny85 模块自带一个启动加载程序,默认情况下会将启动时间延迟 6 到 8 秒。(对于我的使用场景而言,我不介意这种延迟,但代码需要稍作修改)
•所需的焊接工序比 ESP-01/ESP-01S 要多。
•迪吉斯帕克 ATTiny85 在进行编程设置时比较复杂(已废弃的库/核心文件)
预演;试运行
最终连接:
DC 接口插头通过焊接方式连接到了 ATTiny85 的 VCC 和 GND 引脚上。
将 ATTiny85 的 P1 和 GND 端子通过白色 26AWG 线材焊接到光电耦合器的输入端正负极(J1)上。
将 JST 连接器焊接到光耦合器的“输出”和“地”端子上(编号为 J2)
代码
本文编译自hackster.io





