Arduino Nano / Uno 不插 USB 怎么供电?VIN、5V 引脚与 DC 圆头插座,以及电池怎么选

Cartoon of a black two-slot 18650 battery holder with two pink cells, its red and black leads running toward a blue Arduino Uno cropped at the frame edge

不插 USB 时,Arduino Uno 或 Nano 有三种供电方式:7–12V 接到 DC 圆头插座(只有 Uno 有)或 VIN 引脚,或者只把稳压好的 5V 接到 5V 引脚。最好的电池方案是两颗 18650 串联成 7.4V 电池组接 VIN:红线接 VIN、黑线接 GND,接之前检查两遍,因为 VIN 没有防反接保护。9V 方块电池(PP3)是最差的常见选择:容量只有约 500mAh,而且将近一半的电能在稳压器上变成热量白白烧掉。

Arduino Uno 和 Nano 有哪些供电入口?

Arduino Uno 除了 USB 口,还有三个供电入口,而且不能互相替代。黑色的 DC 圆头插座后面先串一颗保护二极管,再接到板上的 5V 线性稳压器——电源接反了,二极管直接把它挡住。VIN 排针是在这颗二极管之后才接进同一条线路的,所以它到稳压器之间完全没有防反接保护。5V 引脚则什么都跳过:它就是 5V 电源轨本身,直通单片机。Arduino 官方给 DC 插座和 VIN 的规格是 7–12V。

Arduino Nano 没有 DC 圆头插座:只有 mini-USB 口、VIN 引脚和 5V 引脚这三个入口,而 VIN 直接进稳压器,同样没有保护。我们的 Nano 出货时是裸板,引脚孔空着,盒里不附排针,所以要上面包板,得先拿一条 40 针公排针,掰成两段 15 针焊上去——我们的排针焊接教程会一步步带你做。焊好之后,下文的内容同样适用于 Nano。

入口 可接受 防反接保护 后面接的是什么
DC 圆头插座(只有 Uno) 7–12V 直流,中心为正极 有——串联二极管 二极管,然后是 5V 稳压器
VIN 引脚 7–12V 直流 没有 直接就是 5V 稳压器
5V 引脚 只接稳压好的 5V——绝不能直接接电池 没有 5V 电源轨本身,直通芯片
USB 口 任何 USB 电源提供的 5V 不需要——插头只能单向插入 5V 电源轨,经过保险丝(Uno)或二极管(Nano)

Parts list

ItemPriceQty
Arduino NANO Compatible NANO V3 - ATMEGA328P with C340G - Mini USB - Microcontroller ProjectArduino NANO Compatible NANO V3 - ATMEGA328P with C340G - Mini USB - Microcontroller ProjectNANOCH3RM22.90
Dual 18650 Lithium Battery Holder Shield V3 Power Module 5V USB 3V Pin Output ChargingDual 18650 Lithium Battery Holder Shield V3 Power Module 5V USB 3V Pin Output ChargingESP182MRM19.95
AA Battery Holder with Cover On/Off Switch 2/3/4 Slots Battery AA Holder Red/Black Wire - AA BATTERY CASE (4S)AA Battery Holder with Cover On/Off Switch 2/3/4 Slots Battery AA Holder Red/Black Wire - AA BATTERY CASE (4S)AABATS4RM3.55
9V Battery Snap DC Plug 2.1mm Hard Case - 9V CLIP (WITH DC JACK)9V Battery Snap DC Plug 2.1mm Hard Case - 9V CLIP (WITH DC JACK)9VBCLJSRM1.25

Nano 本体、一体化升压扩展板方案、省钱方案用的 4×AA 电池盒,以及做桌面快速测试用的 9V 电池扣转圆头插头线。

为什么是 5V 稳压器决定了哪种电池能用?

这类板子上的 1117 系列稳压器是线性稳压器:相当于一个会自动调节的电阻,把 5V 以上的部分全部当成热量烧掉。流进去和流出来的电流一样,所以浪费掉的比例就是 (输入 − 5V) ÷ 输入。输入 9V 时,9V 里有 4V 被浪费——电池大约 44% 的电能变成热量。输入 12V 时,超过一半。这也是为什么续航可以直接用 mAh ÷ mA 来算:稳压器浪费的是电压,不是电量,只有开关稳压器(见下文)才能把这部分电压换回额外的电流。

它还需要余量。AMS1117 的压差是 1.1–1.3V,所以要稳出干净的 5V,VIN 大约需要 6.3V——经过 DC 插座的二极管还要再多约 0.7V,Arduino 的 7V 下限就是这么来的。电压给得不够,电源轨就会跟着电池一起往下掉——板子欠压(brown-out)。最理想的区间是 7–9V:余量足够稳压,发热又不多。两颗锂电池标称 7.4V,正好落在这里,大约三分之一变成热量——这是换取极简接线的代价;下文的升压扩展板就不肯付这笔账。

发热也限制了电流:5V 电源轨上的所有负载,包括接在 5V 引脚上的,都要流经稳压器,而它那颗小封装大约只能散掉 1W,再多就会触发过热保护。因为发热 = (输入 − 5V) × 电流,用 7.4V 电池组时上限约 400mA,用 12V 时只有约 150mA。舵机和电机要另外供电。

各种常见方案对比:

方案 接到 电压 结论
2×18650 串联 VIN 标称 7.4V(充满 8.4V,用完约 6V) 综合最佳——正好在理想区间,可充电,裸 Uno 可跑约 40 小时
双 18650 升压扩展板 USB 口 稳压 5V 项目真正耗电时既高效又不怕接反;裸板要把开关拨到 HOLD
USB 充电宝 USB 口 5V 最简单,但很多充电宝接裸板会自动休眠
4×AA 碱性电池 VIN 6V(新电池 6.4V) 勉强——电池一掉压就欠压
4×AA 镍氢电池 VIN 4.8V 接 VIN 太低;给舵机供电正好
9V PP3 DC 圆头插座 9V 只适合桌面测试——约 500mAh,44% 变成热量
卡通图:一块蓝色 Arduino Uno,三支青绿色箭头分别指向它的黑色 DC 圆头插座,以及黑色排母上两个不同的位置
三个入口,三种保护等级:DC 圆头插座(二极管 + 稳压器)、VIN 引脚(只有稳压器——一根线接反就烧板)、5V 引脚(你和芯片之间什么都没有)。

怎样做 2×18650 电池组?

双节 18650 电池盒的两个槽是串联的:电压相加,容量不变。所以两颗 2200mAh 18650 电池组成标称 7.4V、2200mAh 的电池组——刚充满时 8.4V,用完约 6V。电池盒底部压印的 3.7V 是单颗电池的标称值,不是整组的输出电压。裸 Uno 耗电大约 50mA,所以每次充满大约能跑 40 小时,而且放电曲线几乎到最后都还在 7–9V 的理想区间里。其他槽数的电池盒怎么选,可以看我们的电池盒选购教程。

组装不用焊接。电池盒的红、黑引线末端是细细的镀锡裸线头:各自插进 400 孔面包板的一排,再用两条公对公杜邦线把这两排接到 Uno 的排母上(如果是 Nano,板子本身就插在面包板上,杜邦线改接到它的 VIN 和 GND 脚):

从 经过 到
电池盒红色引线 它自己那一排面包板孔 + 一条红色公对公杜邦线 Uno/Nano VIN
电池盒黑色引线 另一排面包板孔 + 一条深色公对公杜邦线 Uno/Nano GND

在 Uno 上,VIN 是 POWER 排母上 A0 之前的最后一个引脚;在 Nano 上,它是离 USB 口最远的那个角上的引脚。它和 5V 之间只隔两个引脚,所以要数两遍。然后确认红线接的是 VIN、黑线接的是 GND:VIN 在保护二极管之后,电池组一接反,电流就会反向穿过稳压器和后面的芯片——一接上板子就烧。红色杜邦线兼当电源开关;用 USB 上传程序时也可以不拔,因为两种板子都会自动选择电源。

锂电池要小心对待。这些是没有保护板的 ICR 锂电池:电池内部和电池盒都没有任何东西能防止短路或过放。只能用双槽 USB 充电器充电,它会限流,并在每颗电池正好 4.2V 时停止;电池盒只是弹簧和导线,随便拿一个电源从它的引线“补电”,可能让电池泄压喷气,甚至起火。第一次用之前先把两颗都充满,而且永远一起充——串联时,电量较少的那颗会被过度放电,整组电压看起来却还正常——也绝不要把散装电池和钥匙、硬币放在一起。别等板子告诉你没电:它的欠压复位要等 5V 电源轨跌到约 2.7V 才动作,那时每颗电池早已远低于 3.0V 的安全下限。用万用表量电池组电压,降到 6V 左右就充电,项目闲置时就拔掉一条杜邦线。我们的锂电池教程对使用注意事项讲得更详细。

升压扩展板或充电宝,会比接 VIN 更好吗?

双 18650 电池扩展板一块板就取代了电池盒、充电器和杜邦线:两颗电池直接放进它的两个电池槽,通过板上的 micro-USB 口原地充电,再从 USB-A 口输出稳压 5V——Uno 自己那条 B 型 USB 线(Nano 则用 mini-USB 线,Nano 不附线)直接插上,从受保护的 USB 入口供电。把它的 HOLD/NORMAL 拨动开关拨到 HOLD:在 NORMAL 档,扩展板的行为就像充电宝,负载轻到只有一块裸 Uno 或 Nano 时就会切断输出。

它和串联电池组有三点不同。第一,两个电池槽是并联的:扩展板把单节 3.7–4.2V 的电压升到 5V,并通过一个单节充电电路充电,只有两颗电池并联才行得通——所以两颗电池放进去时电量要相当;一颗满电、一颗没电并联在一起,会互相灌大电流。第二,升压转换器是开关稳压器:每秒几十万到一百多万次,先让电流在电感里蓄积,再把储存的能量以更高的电压释放出来——用电流换电压,而不是把多余的烧掉,效率通常有 85–90%,而线性稳压器要扔掉三分之一。

第三,扩展板以为自己是充电宝:在 NORMAL 档,裸 Uno 或 Nano 可能几秒内就断电。HOLD 档会自己加一个负载,让芯片保持唤醒——这部分电流也是从你的电池出的,对一块只吃 50mA 的板子来说,会吃掉不少效率优势。所以裸板还是默认用串联电池组;等项目真正耗电时,扩展板才物有所值。

进阶做法:一颗 18650 装在单节电池盒里,接一块裸的 MT3608 升压模块,输出到 5V 引脚。这个模块出货时是裸焊盘,而且在接任何东西之前,必须先用万用表把输出调到 5.0V——5V 引脚后面没有稳压器替你兜底。插着 USB 时绝不要从 5V 引脚供电:在 Uno 上,这个引脚直接连着由电脑 USB 口供电的那条电源轨,往 USB 口倒灌电流可能把它损坏。

最便宜的便携 Uno:用一个你已经有的充电宝,加一条 USB 转 9V 圆头线插进 DC 插座。这条线把 5V 升到 9V,板上稳压器再把多出来的 4V 烧掉,所以充电宝要输出大约两倍的电流——往往刚好够让它不休眠。这是故意浪费,还顺带享有 DC 插座的二极管保护。

卡通图:一块装着两颗粉色电池的黑色双 18650 升压扩展板,用黑色 USB 线连到一块被画面边缘裁掉一部分的蓝色 Arduino Uno
高效的免焊方案:扩展板装好并充好两颗电池,升压成干净的 5V,剩下的交给 Uno 自己的 USB 线。

为什么 9V 方块电池(PP3)不是好选择?

PP3 9V 电池其实是六颗 1.5V 小电池串联装在一个外壳里——它是为烟雾报警器设计的,每次只耗几微安、一用好几年,不是给耗电几十毫安的开发板用的。一颗碱性 PP3 大约只有 500mAh,六颗小电池的内阻叠加在一起,所以舵机或模块一瞬间吃电,电压就大幅下跌;剩下的电再被稳压器把 44% 变成热量。算下来,真正送到你项目上的只有约 2.5Wh,而两颗 18650 扣掉自己那三分之一的损耗后还有约 11Wh——续航是四倍多,而且可以充电。

它还剩一个名副其实的用途:桌面快速测试。一个带圆头插头的 9V 电池扣一扣上电池、插进 Uno 的 DC 插座——也就是受保护的那个入口——几秒就能证明程序离开电脑也能独立运行。如果项目从不离开桌面,干脆别用电池:DC 插座接一个 9V 2A 电源适配器,规格怎么挑,看我们的直流电源选购教程。

四颗 AA 电池能给 Uno 或 Nano 供电吗?

带开关的 4×AA 电池盒装碱性电池是 6V——刚好低于 VIN 需要的 6.3V。新电池组空载时约 6.4V,一带负载就往下掉,用着用着还会越来越低,所以板子今天正常,下个星期就莫名其妙地重启。这是欠压,不是你程序的 bug。

四颗镍氢充电电池是 4.8V——比下限还低了一伏半;电源轨只剩约 3.7V,低于 ATmega328P 在 16MHz 下稳定运行所需的约 3.8V,所以板子要么半死不活,要么死机,5V 传感器也会读错。AA 电池盒本身是好东西(自带的开关是这类搭建里最整洁的开关方式),但它们该用在舵机上、ESP32 这类 3.3V 板子上,或者接在升压转换器后面,而不是接 5V 板子的 VIN。完整的放电曲线,见我们的AA 电池类型教程。

我们常见的错误

把电池组接到 5V 引脚。5V 电源轨上出现 7.4V,远远超过 ATmega328P 6V 的绝对最大值,板子当场烧掉。5V 引脚只接真正稳压过的 5V——升压模块量过的输出,绝不是任何电压的裸电池。

用 9V PP3 或板子的 5V 引脚给舵机供电。舵机每动一下,PP3 的高内阻就让电压往下掉,稳压器失去余量,板子就重启——看起来像程序 bug。18650 电池组能解决掉压,却解决不了发热:光是一个堵转的舵机,就会超出稳压器 1W 的散热预算。舵机要单独供电(经典做法是 4×AA 镍氢),和 Arduino 只共用 GND。

电池组一直接着不拔。电池盒没有开关,忘了断电的板子会持续吃 50mA,一路越过没电的状态,把没有保护板的电池过度放电。停用时就拔掉红色杜邦线。

常见问题

可以用 9V 电池给 Arduino Nano 供电吗?

能用——9V 在 VIN 的 7–12V 范围内——但只有约 500mAh,稳压器还要烧掉 44%,带舵机时电压掉得厉害,只适合短时间的桌面测试。凡是要跑一个晚上以上的,都该用 2×18650 电池组或升压扩展板。

Arduino Nano 的 VIN 引脚接受多大电压?

Arduino 建议 7–12V 直流。从电路上看,VIN 需要约 6.3V——5V 加上稳压器 1.1–1.3V 的压差——才能稳住干净的 5V,所以 7V 是给会掉压的电池留了余量。超过 12V,一半以上的电能会变成热量。VIN 没有防反接保护:务必再确认一次红线接 VIN、黑线接 GND。

Uno 或 Nano 可以用 USB 充电宝供电吗?

可以——板子平常用的 USB 线插到充电宝上,就是最简单的电池供电方式。问题在于:很多充电宝看到负载太小就会自动关机,而裸板的耗电正好在那条线附近。把 USB 转 9V 线插进 DC 插座,耗电大约翻倍,能让很多充电宝保持不休眠;双 18650 扩展板则只要开关拨到 HOLD,就会一直供电。

可以把一颗 3.7V 18650 直接接到板子上吗?

不行。3.7V 远低于 VIN 的需求;接到 5V 引脚上,电池未经稳压的 4.2V 会随着放电跌到 3.0V——低于 ATmega328P 在 16MHz 下需要的约 3.8V。单颗电池必须加一级升压:现成的双 18650 扩展板,或者第一次连接前就调到 5.0V 的 MT3608 模块。

两颗 18650 能让 Arduino Uno 跑多久?

串联只加电压、不加容量,所以电池组是 7.4V、2200mAh——约 16Wh。裸 Uno 耗电约 50mA,大约能跑 40 小时;接了传感器或电机,就用 2200mAh 除以你实测的电流。要在户外长期运行的项目,看我们的太阳能供电教程。

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

Leave a Reply

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