1. 项目概述:为树莓派“唤醒”退役的ATX电源
手头有个老旧的台式机ATX电源,而你的树莓派(Raspberry Pi)项目——比如我那个塞在复古街机框体里的——正需要一个稳定、接口丰富的供电方案。直接买一个现成的5V电源适配器当然简单,但ATX电源的潜力远不止于此:它本身就提供了+5V、+12V、+3.3V等多组电压,电流输出能力也远超普通适配器,非常适合为树莓派及其周边设备(如USB硬盘、散热风扇、灯带等)提供集中供电。问题在于,ATX电源需要主板发送一个“PS_ON#”信号(低电平有效)才能启动其主输出,关机后也需要这个信号变为高电平来切断。我们的目标,就是设计一个小巧的控制板,让树莓派能像电脑主板一样,智能地控制这个“庞然大物”的开关。
这个控制板的核心是一颗ATTINY85单片机,它扮演了“智能管家”的角色。其核心功能有三个:第一,响应一个物理按键,实现ATX电源的手动开关;第二,监听树莓派某个GPIO的状态,当树莓派执行软关机(halt)时,自动关闭ATX电源,实现联动关机;第三,监测树莓派SoC的温度,并在温度过高时,启动一个由ATX电源+12V供电的散热风扇。这样一来,你的树莓派系统就拥有了完整的电源管理功能:一键开机、安全联动关机、以及智能温控散热。
2. 核心需求与方案设计解析
2.1 为什么选择ATX电源?
你可能会有疑问,一个5V/3A的USB充电头不就够了吗?对于单纯的树莓派本体,确实足够。但当我们构建一个集成度更高的项目时,ATX电源的优势就凸显出来了。
多电压与高功率输出 :一个标准的ATX电源至少提供+3.3V、+5V、+12V,部分还有-12V和+5VSB。+5V可以直接为树莓派供电(需注意转换效率),+12V可以驱动大功率风扇、灯条或电机,+3.3V可用于某些特定传感器。其+5V和+12V的输出电流往往能达到20A甚至更高,足以带动多个USB硬盘、高性能散热系统以及其他外围设备,这是普通适配器无法比拟的。
“废物”利用与成本效益 :升级电脑后淘汰的ATX电源几乎是零成本物料。与其闲置,不如将其改造为创客项目的“动力核心”,既环保又经济。
集中供电与布线简化 :使用一个ATX电源,可以为系统中的所有设备供电,避免了多个“火牛”适配器插满插线板的混乱,也让项目内部的电源布线更加整洁统一。
2.2 ATX电源接口信号剖析
要控制它,必须先理解它。我们重点关注ATX 24针主板接口上的几个关键引脚:
- +5VSB (Standby Voltage) :紫色线。只要电源接通市电,即使主机未开机,此引脚就会持续提供+5V电压,电流通常在2A左右。它为需要待机功能的电路(如主板开机电路、网络唤醒)供电。在我们的设计中,+5VSB将是ATTINY85控制板的唯一供电来源,确保控制板随时处于待命状态。
- PS_ON# (Power Supply On) :绿色线。这是一个由主板控制的信号线,低电平有效。当此引脚被拉低至地(GND)时,ATX电源的主输出(+3.3V, +5V, +12V等)全部启动;当此引脚悬空或为高电平时(ATX电源内部通过一个上拉电阻接到+5VSB),主输出关闭。
- GND (Ground) :黑色线。多个接地引脚,提供公共参考地。
- +5V, +12V等 :红色、黄色等线。这些是主输出,只有在PS_ON#被拉低后才会有电压。
注意 :不同品牌、型号的ATX电源,其PS_ON#信号的驱动能力和内部上拉电阻值可能不同。通常,它需要一个能吸收几个毫安电流到地的信号即可触发。我们的控制电路必须能安全地“吸”这个电流。
2.3 控制板核心功能定义
基于项目需求,我们为ATTINY85“管家”明确以下任务:
- 手动开关机 :连接一个轻触开关到ATTINY85的某个引脚。短按此开关,若电源处于关闭状态,则控制板拉低PS_ON#,开启ATX主电源;若电源已开启,则执行关机序列(先通知树莓派关机,再切断PS_ON#,或直接切断)。
- GPIO联动关机 :将树莓派的某个GPIO(例如GPIO17)连接到ATTINY85。在树莓派操作系统中,将该GPIO配置为关机时输出低电平(或高电平,取决于编程逻辑)。当ATTINY85检测到这个关机信号时,它先等待一段时间(确保树莓派完成关机流程),然后释放PS_ON#信号,关闭ATX主电源。
- 温度监控与风扇控制 :通过某种方式(如读取树莓派系统文件
/sys/class/thermal/thermal_zone0/temp的数值,或使用I2C/One-Wire温度传感器)获取树莓派SoC温度。当温度超过设定阈值(如60°C)时,ATTINY85控制一个MOSFET或继电器,接通ATX电源的+12V输出到散热风扇的电路。温度低于下限阈值(如50°C)时,关闭风扇。实现静音和节能。
3. 硬件电路设计与元器件选型
3.1 主控与电源电路
主控芯片:ATTINY85-20PU 选择ATTINY85的原因是其尺寸小巧(8引脚DIP或SOIC)、价格低廉、功能足够。它拥有5个I/O口、8KB Flash、512B SRAM,运行在16MHz下足以处理本项目的逻辑。我们使用其内部8MHz RC振荡器以简化电路,无需外部晶振。
供电方案 : ATTINY85的工作电压为2.7-5.5V。我们直接使用ATX电源的+5VSB为其供电。在+5VSB输入到ATTINY85的VCC引脚前, 必须 加入一个100nF的陶瓷去耦电容,并建议串联一个1N4007二极管(阴极接+5VSB,阳极接VCC)作为简单的防反接和电压尖峰抑制。虽然+5VSB理论上很稳定,但在ATX电源启动/停止瞬间可能有扰动,这个二极管和电容的组合能提供基础保护。
3.2 PS_ON#信号驱动电路
这是最关键的部分。我们不能直接用ATTINY85的I/O口去拉低PS_ON#线。原因有二:一是PS_ON#线内部上拉到+5VSB,直接连接可能超过ATTINY85引脚的最大灌电流(通常40mA);二是一旦控制板逻辑出错,I/O口状态异常可能导致电源误动作。
安全驱动方案:使用NPN三极管或N沟道MOSFET作为开关。
方案A:NPN三极管驱动(经济实惠)
+5VSB (来自ATX)
|
[

692

被折叠的 条评论
为什么被折叠?



