用于车内 Raspberry Pi 的关机控制器

电器工程 电源 中继 树莓派 电平转换
2022-01-21 11:03:40

继我之前的问题之后,我正在尝试为我的 Raspberry Pi 创建一个关机控制器。Raspberry Pi 需要由电池供电,但应在 Pi 检测到点火装置已关闭后断电。

Pi 将从 ACC 线获取 3.3V 电源(我有其他组件将通过 7805 从 ACC 线获取 5V,因此除非有人有更好的建议,否则我将使用分压器降压至 3.3V - 我'还将驱动一个需要 5V CMOS I/O 的 uPD6708,因此必须在另外 2 条线路上从 5V 降压到 3.3V)。

在 RPi 中运行的软件会将其中一个 GPIO 引脚设置为高电平,大概当 RPi 关闭时,GPIO 引脚将全部变为低电平。所以 Q1 应该打开继电器,只要点火器打开,或者 GPIO 引脚为高电平,就保持 RPi 的电源打开。

我有 3 个带有 1000uF 帽和某种变压器/电感器的保险丝套件,所以我不妨在 12V 电池和 12V 附件线上使用其中一个。

这个关闭控制器声称在待机状态下仅消耗 50uA - 如果我使用 CMOS 4071 OR 门,那将是一个开始,但从我所读到的,你需要更多来自 OR 门的电流来使晶体管饱和 - 是对吗?

请记住,除了该子电路的要求外,我还需要将 5 条线从 3.3V 电平转换到 5V 和 2 条从 5V 到 3.3V,任何人都可以推荐 OR1、Q1、RLY1 和/或的组件/替代品任何修改?

示意图

模拟此电路- 使用CircuitLab创建的原理图

这是我尝试遵循@Connor Wolf 的建议。

  • 需要选择 R1 和 C3 以允许 RPi 正确关闭
  • 我添加了 C1,因为我认为在点火开关关闭后继电器切换需要片刻时间 - 我不知道那是多长时间,但我想 RPi 将从电容器,除了 555 和继电器

示意图

模拟这个电路

@Nick 建议它可以更简单——也许像这样?我试图移除二极管,以便我可以使用现成的 12V-5V 1A USB 电源(或一对)。555 数据表说它输出 3.3V(最大源 100mA? 这个页面说 200mA)。RPi 将读取 3.3V 的 ACC 线路以确定何时关闭。

示意图

模拟这个电路

4个回答

虽然使用一次性定时器电路会起作用,但我认为可以使用更简单的解决方案。看看这个电路。

在此处输入图像描述

为澄清起见,“VBAT”是一个 12V 电源,只要连接了电池,它就会始终开启。但是,“ACC”是一个 12V 电源,只有在点火开关打开或钥匙设置为“附件”时才会打开。与其使用 5V 继电器来控制 RPi 的电源,不如使用如图所示的标准 12V 自动继电器。这样,就不会浪费电力(通电时的线圈电流除外),因为一切都将与电池断开连接。

线圈的一侧始终连接到 12V。另一侧通过 N 沟道 FET (Q1) 接地(机箱)。虽然图中使用了 MOSFET,但可以使用任何能够吸收线圈电流的 FET。当“ACC”通电时,Q1 将打开,将线圈接地并启动开关。这将反过来为您计划使用的任何 5V 稳压电路供电(带散热器的简单 7805 稳压器、开关 DC-DC 转换器、提到的 USB 电源等)。

二极管 D2 用于确保电容器只能向 Q1 放电,并且可以是常规的或肖特基的。可能应该使用其他方法来保护电池的过电压和电流。

“ACC”电压可以通过分压器为 RPi 创建 3.3V 信号。小心这个电压水平,考虑到 12V 汽车电池真的更像 14V 直流电。只要此信号为 HI,RPi 就知道电源已打开。显然,此 GPIO 引脚应设置为禁用任何内部上拉的输入。当“ACC”关闭时,RPi 应该看到引脚上的 LO 信号并开始关闭。

当“ACC”电压关闭时,电容C1将保持电荷很长时间,通过电阻R1放电。一旦电容器电压降至 Q1 的栅极阈值以下,它将关闭,将继电器线圈与地断开,并从外围电路中移除电源。如果 Q1 使用“逻辑电平 MOSFET”,它将保持导通状态,直到 C1 电压相当低。我使用 NTD4960(数据表)测试了这个电路,它保持开启约 15 秒 - 直到 C1 约为 2V。要增加时间,请增加电容值。

老实说,我觉得你想太多了。

就个人而言,我只会使用一两分钟的单次射击,由汽车熄火触发。

当您关闭汽车时,一次性触发,保持继电器关闭直到超时。您需要做的就是确保您的树莓派在汽车熄火后的一两分钟内关闭。通过监控来自汽车开关电源的输入,这应该很容易。

像这样的系统的最大优势是,当您的软件崩溃时(何时,而不是如果),它仍然会关闭,因此您不会因电池没电而结束。一击应该很简单。您可以使用 555 或小型微处理器(如 Olin 建议的那样)。
另一个好处是,如果设计得当,系统可以将自己与汽车电池断开,确保静态电流消耗绝对为 0。

任何固定延迟方法都存在不知道 RPi 真正需要关闭多少时间的问题。最好按下一个指示 Pi 关机的按钮,然后它可以按照需要执行干净有序关机所需的操作,然后将 GPIO 信号发回按钮电路以关闭力量。这为 RPi 提供了足够的时间来完成安全关闭 SD 卡等操作。电路不必太复杂。您可以在以下位置看到一个简单的电路

http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/on-off-power-controller

该网站描述了电路的操作。

使用 4 节 AA 可充电电池。用它们为 Pi 供电,并用汽车的电池为它们充电。

使用 1 个 GPIO 告诉 Pi 点火开关是打开还是关闭。

准备好后关机。