Learning Objectives
- 比較線性穩壓與切換式穩壓,算出線性穩壓的發熱
- 依零件的電流與電池容量,估算作品可以用多久,並用睡眠延長使用時間
- 用 Pico 的 GP29 量電池電壓,寫出低電量警示
- 說出鋰電池、短路與市電的安全守則
拔掉 USB 線之後
到目前為止,開發板都插著電腦的 USB 線:電壓穩定、電流夠用,出了問題拔掉就好。 作品要放到教室角落、裝進背包、放在戶外時,就得自己解決電從哪裡來。這時會遇到三個問題:
- 電壓對不對:電池的電壓會隨著用電慢慢下降,開發板與零件需要穩定的 3.3V 或 5V。
- 電夠不夠用:每個零件都在吃電,電池能撐幾小時?馬達一啟動,電源撐得住嗎?
- 安不安全:電池短路會發燙甚至起火,鋰電池充放電有一定的規則,220V 市電更不是自己動手的範圍。
這一課先算電,再談安全。自造者入門第 02 課的歐姆定律(V = I × R)和功率(P = V × I)在這裡都會用到。
穩壓:把變動的電壓變成穩定的 3.3V
開發板上的晶片要穩定的 3.3V,但電池的電壓不穩定:3 顆 AA 鹼性電池剛裝上約 4.5V 以上,快沒電時剩約 3V。 穩壓器負責把輸入的電壓轉成固定的輸出電壓。常見兩種:
| 線性穩壓 | 切換式穩壓(降壓、升壓、升降壓) | |
|---|---|---|
| 原理 | 像一個自動調整的電阻,多出來的電壓變成熱 | 用開關快速切換,搭配電感與電容轉換電壓 |
| 輸入要求 | 至少比輸出高一點(這段差距叫壓降) | 依種類:降壓要比輸出高,升降壓可高可低 |
| 效率 | 輸出電壓 ÷ 輸入電壓 | 常見八、九成 |
| 優點 | 簡單、便宜、雜訊小 | 省電、發熱少 |
線性穩壓的發熱很好算:發熱(W)=(輸入電壓 − 輸出電壓)× 電流。
9V 電池 → 線性穩壓 → 3.3V,電流 50 mA
發熱 = (9 − 3.3) V × 0.05 A ≈ 0.29 W
效率 = 3.3 ÷ 9 ≈ 37%,電池有六成多的能量變成熱
Raspberry Pi Pico 板上用的是升降壓切換式穩壓器。依官方資料表:VSYS 是主要的電源輸入,大約 1.8~5.5V 都能產生 3.3V, 所以一顆鋰離子電池(約 3.0~4.2V)或 3 顆串聯的 AA 電池都可以直接接 VSYS。USB 的 5V(VBUS)經過一顆蕭特基二極體接到 VSYS, 二極體可以防止兩個電源互相倒灌。3V3(OUT) 腳可以供電給外接模組,建議負載在 300 mA 以下。
電池的種類與使用時間
| 電池 | 每顆的標稱電壓 | 可以充電嗎 | 適合 |
|---|---|---|---|
| 鹼性電池(AA、AAA) | 1.5V(用到後段約 1.0V) | 不行 | 低耗電、偶爾用的作品 |
| 鎳氫充電電池 | 1.2V | 可以 | 想重複使用、取代鹼性電池 |
| 鋰離子/鋰聚合物 | 約 3.6~3.7V(充飽 4.2V) | 可以,但要專用的充電電路 | 小而輕、電流大的作品 |
| 9V 方形電池 | 9V | 多數不行 | 容量小,不適合馬達與長時間使用 |
電池上的 mAh(毫安小時) 是容量:2000 mAh 大約可以用 200 mA 撐 10 小時、用 20 mA 撐 100 小時。 實際上電池不會用到 100%(電壓降到電路撐不住時就停了),估算時打個折比較保險:
使用時間(小時)≈ 容量(mAh)× 可用比例 ÷ 平均電流(mA)
例:2000 mAh × 80% ÷ 40 mA = 40 小時
省電最有效的方法是讓作品大部分時間睡覺:每 10 分鐘醒來量一次溫度、傳完資料就進入深度睡眠, 平均電流可以降到原本的幾十分之一(ESP32 軌第 15 課會寫深度睡眠的程式)。
下面的電源預算小工具可以把這些算式串起來:選電池、選穩壓方式、勾選零件,看電流、發熱、使用時間與警告。
讓作品自己知道快沒電了
電池沒電時,作品常常不是乾脆地關機,而是開始出怪事:Wi-Fi 連不上、伺服馬達抖動、程式莫名其妙重新開機。 與其讓它出怪事,不如讓它自己量電壓,低於某個值就提醒你換電池,甚至先關掉耗電的功能。
Pico 板子內部已經準備好了:VSYS 經過兩顆電阻分壓成三分之一,接到 GP29(ADC3)。 VSYS 最高約 5.5V,除以 3 後不到 1.9V,在 ADC 的 3.3V 範圍以內(分壓的原理在第 04 課)。 所以程式只要讀 GP29,再乘回 3 倍,就是電池的電壓。
Pico W 的 GP29 和無線晶片共用,讀取前後要注意 Wi-Fi 的狀態;這一課以 Pico 為例。
逐步看:量電池電壓並亮起低電量警示
模擬的電池從 4.5V 慢慢降到 3.2V 左右。看第 10 行把讀值換回電壓,以及最後一次讀取時警示燈亮起。 上方電路畫面裡,「VSYS÷3」顯示的百分比是 GP29 的電壓占 3.3V 的比例。
用電安全守則
短路
短路是電源的正極和負極之間,幾乎沒有電阻就接在一起。依歐姆定律,電阻接近 0 時電流會非常大: 導線發燙、麵包板融化、電池發熱甚至起火。常見的原因:杜邦線鬆脫碰到另一排、金屬鑷子或螺絲起子同時碰到兩個接點、零件腳剪下來掉在電路板上。
- 接線、改線前先斷電,接好、檢查過再通電。
- 第一次通電時用手感覺零件有沒有發燙、聞有沒有焦味,有就立刻斷電(第 05 課教過用三用電錶找短路)。
- 電池盒或電池組可以串一顆保險絲:電流太大時保險絲先熔斷,保護後面的電路。
開發板的腳位不是電源
GPIO 只適合送「訊號」。RP2040 的 GPIO 驅動能力預設約 4 mA,最多可以設定到 12 mA; LED 可以直接接(加限流電阻),馬達、繼電器、大量 LED 不能直接接在腳位上,要用電晶體或驅動板(第 08、09 課)。 大電流的零件另外用電源供電時,記得把兩個電源的 GND 接在一起(共地),訊號的高低電位才有共同的參考點。
鋰電池
鋰離子與鋰聚合物電池能量密度高,用錯時危險也高:
- 只用專用的鋰電池充電電路:先定電流、再定電壓充電,充飽要停止,不能一直涓流充電。
- 電池要有(或另外加上)保護電路:防止過充、過放、過電流,以及在允許的溫度範圍外充放電。沒有保護的裸電池不要直接用。
- 不要在冰點以下充電;充電或使用時電池或充電器明顯發燙,就停止使用。
- 外觀鼓脹、破損、漏液的電池不要再用,也不要丟一般垃圾,交給電池回收。
- 不刺穿、不擠壓、不拆解;正負極不要碰到金屬物品,攜帶時把接點包起來。
220V 市電
插座的 110V/220V 交流電可以致命。控制家電(燈、電扇、電熱器)的電路要由合格的電機人員處理, 這門課只用開發板、電池與 USB 供電。需要讓作品「開關家電」時,選用已經通過安規認證的成品(例如智慧插座), 用程式控制它,不要自己拆插頭、剪電線、把繼電器接進市電。
小測驗:算電
9V 電池經過線性穩壓器輸出 3.3V,電路用 50 mA。用下面的程式算穩壓器發熱(瓦),會印出什麼?
print(round((9 - 3.3) * 0.05, 3))
2000 mAh 的電池,打 8 折估算,作品平均用 40 mA。下面的程式會印出什麼(小時)?
print(2000 * 0.8 / 40)
作品醒著時用 60 mA、睡覺時用 1 mA。只醒著 10% 的時間,平均電流是多少?下面的程式會印出什麼?
print(round(0.1 * 60 + 0.9 * 1, 1))
小測驗:安全
伺服馬達用另一組電池供電,訊號線接 Pico 的 GP16,結果馬達亂抖。最可能漏了什麼?
下列關於鋰離子電池的做法,哪一個是錯的?
想讓作品在溫度太高時打開家裡的電風扇(插 110V 插座),比較安全的做法是?
重點整理
- 線性穩壓:多出來的電壓變成熱,發熱=(輸入 − 輸出)× 電流,輸入要高於輸出加壓降;切換式穩壓效率高、發熱少。
- Pico 板上是升降壓切換式穩壓,VSYS 約 1.8~5.5V 都能用;3V3(OUT) 建議 300 mA 以下;GP29 讀到 VSYS 的三分之一。
- 使用時間 ≈ 容量 × 可用比例 ÷ 平均電流;讓作品大部分時間睡覺,是延長電池壽命最有效的方法。
- 腳位只送訊號,大電流零件另外供電並共地。
- 接線前斷電、小心短路;鋰電池用專用充電電路與保護電路,鼓脹就停用;市電交給合格人員。
下一課拿起烙鐵:把排針焊到開發板上,讓作品從麵包板變成可以帶走的電路。