AA 电池供电:1.2V 镍氢 vs 1.5V 碱性,板子到底收到几伏?

Cartoon of two AA batteries side by side, one in a plain lavender-purple wrapper and one in dark grey with a copper band, in front of a black four-slot AA battery holder with red and black wire leads

四颗 AA 电池并不等于一个固定的电压。四颗全新碱性电池大约 6.4 V;四颗刚充饱的镍氢电池大约 5.6 V,然后稳定在 4.8 V。舵机转不转、5 V 电源轨守不守得住、Uno 那个圆孔电源座到底能不能用——上面每一个答案,都是从这个差距推出来的。

四颗 AA 组成的电池组,实际输出多少伏?

AA 电池上印的那个数字是它的标称电压——是放电曲线中间那一段平坦部分,不是它的整个范围。Energizer 的 E91 碱性电池规格书给的是 1.5 V 标称,而一颗全新碱性电池的开路电压更接近 1.6 V。Panasonic 的镍氢电池手册给的是 1.2 V 标称,说明放电曲线就平在 1.2 V,并把「放空」定在每颗 1.0 V——而刚从充电器上拿下来的一颗,电压接近 1.4 V。

AA 电池盒的各个槽位是串联的,所以整组电压等于单颗电压乘以槽位数,而能出的电流仍然只是单颗的水平。两槽、三槽还是四槽的 AA 电池盒,用的是同样的塑料和同样的触点;槽位数决定你的电压,你放进去的化学体系决定其余的一切。

电池组 满电(刚充完/全新) 标称 接近放空(每颗 1.0 V)
2 × 镍氢 2.8 V 2.4 V 2.0 V
3 × 镍氢 4.2 V 3.6 V 3.0 V
4 × 镍氢 5.6 V 4.8 V 4.0 V
2 × 碱性 3.2 V 3.0 V 2.0 V
3 × 碱性 4.8 V 4.5 V 3.0 V
4 × 碱性 6.4 V 6.0 V 4.0 V

两种化学体系最后停在同一个地方。不一样的是起点的高度,以及中间这段路的形状——而这个形状,决定了你的作品能不能成立。

在这之前先做一件事。电池盒的各个槽位是一正一反交替的,因为串联就是正接负一路连下去——所以每颗电池的凸头都要顶住那片平的金属片,平的底部压住弹簧,一个槽一个槽地对。装反一颗,你损失的是颗而不是一颗:反着的那颗不是加而是减,于是四颗镍氢只读到 2.4 V,四颗碱性只读到 3.0 V。量出来只有表上数值一半左右的电池组,就是有一颗装反了,而另外三颗正在反向往它里面灌电流。

可选:稳压的那条 5 V 路线

ItemPriceQty
USB C Boost Converter DC-DC Step Up Adjustable Output Module 3V-6V to 5V-28V HW-183BdUSB C Boost Converter DC-DC Step Up Adjustable Output Module 3V-6V to 5V-28V HW-183BdHW183B2RM4.50
AA Battery Holder with Cover On/Off Switch 2/3/4 Slots Battery AA Holder Red/Black Wire - AA BATTERY CASE (3S)AA Battery Holder with Cover On/Off Switch 2/3/4 Slots Battery AA Holder Red/Black Wire - AA BATTERY CASE (3S)AABATS3RM2.95

用三颗而不是四颗,再升压到真正的 5 V。三槽电池盒让整组电压始终低于模块的设定点,模块就永远在升压、永远在稳压——四颗做不到这件事。这块模块的输入和输出都是裸露的镀锡焊盘,所以记得带上烙铁。

我的哪些零件在乎 4.8 V 和 6.0 V 的分别?

四槽 AA 电池盒把电池直接接到你的负载上,中间什么都没有,所以每个零件都要拿电池组的整个范围去衡量,而不是那个标称数字。看镍氢那一列的时候记住:5.6 V 是表面电荷;Panasonic 的放电曲线显示,一颗电池在放电头百分之几之内就离开 1.4 V、落到 1.2 V 的平台上,所以一个 5 V 的零件实际看到的大约是 5.0–5.2 V。

「中间什么都没有」也意味着没有保险丝,而引线从电池盒里出来就是一截裸露的镀锡铜线。充饱的镍氢电池组内阻低到什么程度?引线一短路,几十安培的电流就一直往外倒,直到导线或某颗电池顶不住为止。请在接线全部完成之后,最后才把电池装进去,并且把暂时不用的线头套上绝缘。这件事上可充电电池要比碱性电池更小心,而不是更放松:碱性电池组自己的内阻会限制损害,镍氢电池组不会。

负载 它要什么 4 × 镍氢(5.6 → 4.0 V) 4 × 碱性(6.4 → 4.0 V)
SG90 这一类的舵机 4.8–6.0 V 整组电池大半辈子都正中靶心 全新时超出额定,用到中段才刚好
5 V 传感器或模块的电源轨 ≈4.5–5.5 V 可以直供,直到电池组跌破 4.5 V 要加稳压——6.4 V 已经超出范围
Uno / Nano 的 5V 引脚 4.5–5.5 V 可行,前提是拔掉 USB 绝对不行——6.4 V 超过芯片 6.0 V 的极限
Uno 的圆孔电源座或 VIN 引脚 VIN 引脚最低 6 V 从第一分钟起就不行 圆孔座怎样都不行;VIN 引脚只在约 6.1 V 以上可行

最后那一行对两种电池都是「不行」。Uno R3 用一颗 SPX1117 线性稳压器处理 VIN,它满载时的压差是 1.1 V,所以 VIN 引脚上要有约 6.1 V 才稳得住 5 V 输出——这也正是 Arduino 官方 Uno R3 规格书把 VIN 最低值定在 6 V 的原因。圆孔电源座还要更糟:从板子自己的原理图可以看到,它在进 VIN 之前先串了一颗 M7 整流二极管,又要吃掉大约 0.8 V,所以就算四颗全新碱性电池的 6.4 V,也永远过不了这个电源座。四颗镍氢两条路都过不了——刚下充电器的 5.6 V 已经低于 VIN 引脚自己的最低要求。四颗碱性可以喂 VIN 引脚一阵子,然后毫无预兆地跨过那条线:5 V 电源轨会跟着输入一路往下走,直到板子在项目做到一半时掉电重启。

Uno 的 5V 引脚就在同一颗稳压器的另一侧,这就是它能用而圆孔座不能用的原因——也是它带着两条规矩的原因。这里什么保护都没有:没有防反接二极管,后面也没有稳压器,所以那两条裸线上红黑接反,是直接接进单片机里去的。另外,绝对不要在 USB 插着的时候喂它:电池组会和板子自己的 5 V 供电顶上,并且经过板上的自恢复保险丝倒灌回电脑的 USB 口。电池组和 USB,一次只能有一个;如果你在电池组跑项目的同时还要看串口监视器,请另外用一个 USB 转串口模块接到 RX 和 TX 上。

为什么碱性电池一带负载就塌,镍氢却守得住?

碱性 AA 电池的内阻是原因,而 Energizer 在 E91 规格书上直接写明了:全新时 150 到 300 mΩ。镍氢 AA 大约是 25 mΩ。四颗串联,一边是 0.6–1.2 Ω,另一边大约 0.1 Ω,所以 500 mA 的电流会在电池内部就让碱性电池组损失 0.3–0.6 V,你的电路一伏都还没看到,而镍氢电池组只损失约 0.05 V。更糟的是,碱性电池的内阻会随着放电一路升高,所以电量本来就低的时候,塌得更厉害。

容量也是同一个机制。E91 的容量图(放到每颗 0.8 V、21 °C 条件下测得)显示:25 mA 小电流放电约 3,050 mAh,500 mA 放电只剩约 1,530 mAh——而少掉的那一半并不是变成热烧掉了。它是被困住了:电池自身的内阻把端电压拖到了截止点,而里面还有大量化学物质根本没反应。而且每颗 0.8 V 意味着整组只剩 3.2 V,那已经是你的 5 V 项目停机很久以后的事了,所以真正能用的比例还要再打折。镍氢电池那 2,000 mAh 是按放到 1.0 V 标定的,而且它是一边守着平台电压一边把这些容量交出来——这就是为什么在任何带马达的东西上,它能熬过一组标称容量更大的碱性电池。

如果你比起看表格更想直接看曲线,AKIO TV 这支影片对比了三种常见的 AA 尺寸化学体系:

卡通风格曲线图,两条曲线——青色那条守着一段很长的平坦平台然后陡然下落,橙色那条起点更高、一路稳稳往下滑——青色曲线下方画着一颗淡紫色 AA 电池,橙色曲线下方画着一颗深灰配铜色的 AA 电池
形状本身就是全部的论据:碱性电池起点更高,然后一路滑到底;镍氢电池坐在一段平坦的平台上,最后才一下子掉下悬崖。

我到底需要稳压器、升压模块,还是两个都不用?

升压模块没办法稳压到比自己输入还低的电压,而这一条规矩就决定了整个设计。HW-183B 模块内部是一个开关给电感充能、再经肖特基二极管把能量倒进输出电容;当设定点本来就低于输入时,反馈脚一直是高的,开关停止工作,输入就直接穿过电感和二极管流到输出,出来时比输入低了大约三分之一伏,而且完全不受控。所以四颗充饱的镍氢(5.6 V)接进一块设成 5 V 的模块,得到的是大约 5.25 V,并且跟着电池组一路往下掉——那不是一条 5 V 电源轨。

解法是少放一颗。三颗镍氢装进三槽电池盒,电压从 4.2 V 走到 3.0 V:全程都在模块标称的 3–6 V 输入窗口之内,而且始终低于 5 V,所以它一直在升压、一直在掌控之中。四颗是直供那条路线,不是升压那条——一般性的选型请看我们的升压还是降压模块怎么选

四颗碱性在这里没有一个干净的答案,这一点值得明说。那组电池从 6.4 V 起步、跌到接近 4.0 V,也就是说它前半辈子高于 5 V 电源轨、后半辈子低于它:升压模块拉不下新电池那一头,降压模块抬不起没电那一头,只有升降压(buck-boost)模块两头都能应付。真正可行的是三颗碱性——4.8 V 落到 3.0 V,始终在设定点之下,跟镍氢那个配方一模一样——或者干脆四颗镍氢直接接 5V 引脚,一个模块都不用。要一条稳定的 5 V 电源轨,这是可充电电池最有力的一个实际理由。

把模块接到正确的孔上,然后再调输出。HW-183B 的 USB-C 座是给 5 V 电源用的输入口,不是电池的入口:电池盒的红线接标着 VIN+ 的焊盘,黑线接 VIN−,而这些焊盘全都是裸露的镀孔,所以这是一件要动烙铁的活。它那颗蓝色多圈电位器出厂时停在哪儿就是哪儿,所以请先给输入上电,把万用表搭在 OUT+ 和 OUT− 上,拧那颗黄铜螺丝直到读数正确,然后才把你的电路接上去。而且「两个都不用」是个真实的答案:如果你所有模块在 4.8 V 上都活得好好的,那么四颗镍氢从四槽电池盒直供,就是效率最高的供电方式——每一块转换模块都要以发热的形式抽掉一份。

卡通图:一个黑色三槽 AA 电池盒装着淡紫色电池,红黑两条引线焊在一小块蓝色升压模块的输入焊盘上,模块上有蓝色电位器和黄铜调节螺丝,一支黄色万用表的红黑表笔正搭在模块的输出焊盘上
稳压的那条路线:三颗镍氢始终低于模块的设定点,而电位器要在接上任何电路之前,先用万用表在输出焊盘上调好。

怎么看清楚自己那组电池到底在干什么?

Arduino 自己的 ADC 就是你手上最便宜的电池组监测器,而亲眼看着电压往下掉,能了结上面所有的争论。这段程序通过 A0 上的两电阻分压电路读取电压,每秒打印一次每颗电池的电压,并且是以 ATmega328P 的内部 1.1 V 基准为参照,而不是 5 V 电源轨——那条电源轨正是被怀疑的对象,拿它当参照只会把掉压藏起来。请把电池组的负极接到 Arduino 的 GND,并用 USB 给 Arduino 供电:这里板子扮演的是仪表而不是项目本身,所以它留在数据线上,让电池组去驱动你要测的那个负载。这个内部基准每颗芯片之间会有一点差异,所以请拿一次读数跟万用表对一下,再改 V_REF 去配合它。编译出来是 3,718 字节。

// AA 电池组监测器 - 每秒打印一次整组电压和每颗电池的电压。
// 分压接法:电池组 + --> 100k --> A0 --> 18k --> 电池组 - ,并把
// 电池组 - 接到 Arduino 的 GND。测量时 Arduino 用 USB 供电。
// 18k / (100k + 18k) = 0.1525,所以在电池组超过 7.2 V 之前 A0 都
// 低于 1.1 V 基准 - 而 7.2 V 高过四颗 AA 能达到的任何电压。

const int   PIN_PACK = A0;
const int   CELLS    = 4;         // 电池盒里装了几颗
const float R_TOP    = 100000.0;  // 欧姆,电池组 + 到 A0
const float R_BOTTOM = 18000.0;   // 欧姆,A0 到地
const float V_REF    = 1.1;       // 伏,ATmega328P 的内部基准

void setup() {
  Serial.begin(9600);
  analogReference(INTERNAL);      // 在 Uno 和 Nano 上是 1.1 V
  analogRead(PIN_PACK);           // 切换基准后的第一次读数是旧的
  delay(10);
}

void loop() {
  long sum = 0;
  // 这个分压电路的源阻抗是 15 k,高于 ATmega 的 ADC 喜欢的 10 k,所以
  // 固定在同一个通道上反复读 - 它的采样电容会在两次读数之间补满。
  // 取平均是为了压噪声,不是为了这件事。
  for (int i = 0; i < 16; i++) {
    sum += analogRead(PIN_PACK);
    delay(2);
  }

  float counts = sum / 16.0;
  float vAtPin = counts * V_REF / 1023.0;
  float vPack  = vAtPin * (R_TOP + R_BOTTOM) / R_BOTTOM;

  Serial.print(vPack, 2);
  Serial.print(" V pack, ");
  Serial.print(vPack / CELLS, 3);
  Serial.println(" V per cell");
  delay(1000);
}

为什么项目从抽屉里拿出来时,电池永远是没电的?

镍氢电池在什么都不接的情况下也会掉电,因为它充过电的正极本身不稳定,会在密封的电池壳里慢慢自己还原掉。温度会加快这个反应,而 Panasonic 的手册测的正是这一点:存放四周之后,它的电池在 20 °C 下大约还剩 85 %,在 45 °C 下就只剩约 58 %。马来西亚的橱柜落在这两条曲线之间,而且比实验室台面上假设的那一条更靠近热的那边。

低自放电电池——也就是 Eneloop 那一类——用的是不同的隔膜配方来减慢这个反应,牺牲一点容量,换来放一年还留着大部分电。你在店里就分得出这两种,因为低自放电电池会把这件事印在包装上——预充电、买来就能用——而且为此卖得更贵。我们这款 2,000 mAh 的电池是标准镍氢型号,所以就当标准的来用:要展示的前一晚把电池充好,而不是上个月充。碱性电池的习性正好相反,放在抽屉里几年都还有电,这也是挂钟和遥控器至今还配一颗碱性电池的原因。它在别的地方付出代价:一直留在项目里直到彻底放空,碱性电池会漏出氢氧化钾,那层白色结晶会啃掉电池盒的弹簧和引线里的铜。项目要进抽屉之前,电池先出电池盒。

镍氢要用镍氢充电器充。四槽 USB 充电器吃 Ni-MH 和 Ni-Cd,而针对这两种化学体系的充电器,必须盯住镍电池充满那一刻出现的那一小段电压回落和温升,因为镍电池不像锂电池那样有一个固定的满电电压。所以锂电充电板或者实验电源都不能拿来顶替:它们是充到某个电压就停,而这里根本没有那个电压可停。镍电池充完就把它拿下来,别一直放在充电器上。碱性电池则根本不是设计来接受充电电流的:硬灌进去会在密封的壳子里产生气体和热量,可能排气或者漏液。碱性电池永远不进充电器。

卡通图:一个白色四槽 USB 电池充电器,带一条固定的白色线和 USB-A 插头,里面装着四颗淡紫色镍氢 AA 电池,旁边桌面上另外躺着两颗深灰配铜色的碱性 AA 电池
可充电的进充电器,碱性的留在桌上。镍氢充电器靠镍电池充满时的那一下电压回落来停止,而碱性电池从来不会给出这个信号。

什么时候该停止跟 AA 电池较劲,改用 18650?

四颗 AA 镍氢储存 4.8 V × 2 Ah ≈ 9.6 Wh,电池本身约 100 g。一颗 2,200 mAh 的 18650 储存 3.7 V × 2.2 Ah ≈ 8.1 Wh,而这一颗只有 45 g——能量差不多,重量只有一半,而且它的标称电压本来就是大多数升压模块和所有 USB 充电板的原生输入。当你希望用 USB 就地充电、而不是每次把四颗电池拆下来塞进充电座时,就该升级了。

再往后就全是锂电池的世界了,而这篇文章到这里就刻意停住:请看TP4056 怎么安全给 18650 充电Li-ion、LiPo 与 LiFePO4 的比较,以及 ESP32 供电方案

我们从真实客户那里看到的常见错误

一个电池盒里混装。新电池挨着旧电池,或者镍氢挨着碱性:最弱的那颗先放空,剩下三颗接着反向往它里面灌电流,而被反充的电池会产气、发热、漏液到触点上。化学体系和使用年份都要一致,换就整组一起换。

买了可充电电池却没买配套的充电器。镍氢电池到手时只有部分电量,而它没办法从 USB 口或者锂电板上充进去。第一次买电池的时候,就把充电器一起算进预算里。

用一支空载的万用表去判断电池组好坏。一组在桌上读到 5.8 V 的碱性电池,可能在舵机一启动的瞬间就塌到远低于 5 V,因为开路测量根本没有让电流流过电池的内阻。要在电路运转的状态下测。

板子和马达共用一组 AA 电池。舵机启动时会通过内阻把电池组拉低,而挂在同两根线上的单片机会在自己的供电上看到这个凹坑然后复位——变成一个「一有东西动就重启」的项目,看起来像程序有 bug,其实不是。给马达单独一组电池,两边只把地接在一起。

把电池盒的裸线接到圆孔电源插头上。那两条引线末端就是裸露的镀锡铜线,装一个 DC 插头去插 Uno 的电源座是最顺手的动作——也是错的,理由就是上面那个压差。对 Uno 来说,电池组要经过一块模块进 5V 引脚;对舵机来说,可以直接接。

常见问题

我可以用 1.2V 可充电 AA 电池代替 1.5V 碱性电池吗?

通常可以,但要看整组的总电压,不是单颗:四颗镍氢是 4.8 V 标称,四颗碱性是 6.0 V。舵机和 5 V 逻辑在 4.8 V 上都很舒服;任何要求 6 V 以上的东西——包括 Arduino 的圆孔电源座——就不行。

给 Arduino 供电需要几颗 AA 电池?

四颗镍氢接 5V 引脚、并拔掉 USB,是最简单的一条路:4.8 V 标称正落在板子 4.5–5.5 V 的窗口里。不要用圆孔电源座——Arduino 那个 6 V 最低值是针对 VIN 引脚的,而电源座还要再高出一个整流二极管的压降,所以一组四颗的镍氢两边都够不着。

为什么我的项目用碱性电池能跑,换成可充电 AA 就不行?

几乎都是每颗差那一点、乘起来才显形:同一个电池盒里,4.8 V 取代了 6.0 V。任何按 6 V 电池组设计的东西——圆孔电源输入、6 V 马达、继电器线圈——现在都吃不饱了。可以把三槽和两槽电池盒串起来,凑成五颗的 6 V 镍氢电池组(刚下充电器是 7 V,所以要看一下负载的上限),或者把三颗升压到稳定的 5 V——但这两条路都到不了 Arduino 的圆孔电源座,用 AA 电池它怎样都在范围之外。

2000 mAh 的镍氢电池真的有 2000 mAh 吗?

有的,在它标定的小电流下、放到每颗 1.0 V 为止,而且它是一边守着平坦的 1.2 V 一边把这些容量交出来。真正要在带载时打折扣的是碱性电池的标称:Energizer 的 E91 图表从 25 mA 下的约 3,050 mAh 掉到 500 mA 下的约 1,530 mAh。

为什么我的可充电 AA 电池在抽屉里放一放就没电了?

标准镍氢放在架子上就会自放电,而温度会加速这件事——Panasonic 测得 20 °C 存放四周后大约还剩 85 %,45 °C 下只剩约 58 %。在马来西亚的室温里,请前一晚才充电;如果东西平时都是收起来的,就买低自放电电池。

最后更新:2026 年 8 月。有问题?WhatsApp 联系我们

Leave a Reply

Your email address will not be published. Required fields are marked *