전기·에너지 · 난이도 쉬움
MH-Electronic 0~25V 전압 센서를 피코에 이으면 16.5V가 한계인 이유와 멀티미터 보정
0~25V 전압 센서로 파는 MH-Electronic 모듈은 30kΩ과 7.5kΩ 저항으로 전압을 1/5로 줄이는 분압 기판이에요. 피코로는 약 16.5V까지라는 계산, S와 − 두 선 배선, 멀티미터로 배율을 맞추는 코드, 건전지 내부 저항 탐구, 직류만 재는 이유를 정리했어요.
이 센서로 무엇을 잴 수 있나
"0~25V 전압 센서"라는 이름으로 파는 MH-Electronic 표시의 작은 기판은 센서라기보다 저항 두 개를 얹은 분압 회로예요. 앞쪽 나사 단자 두 개(VCC, GND)에 재고 싶은 직류 전압을 물리고, 뒤쪽 핀 세 개(S, +, −) 가운데 S와 −를 피코에 이어요.
이 모듈로는 건전지, 어댑터, 태양전지처럼 피코가 직접 읽을 수 없는 높은 직류 전압을 잴 수 있어요. 새 건전지와 쓰던 건전지, 직렬과 병렬로 이은 전지, 부하를 걸었을 때 내려가는 전압처럼 수업에서 다루는 전기 회로의 숫자를 기록하는 데 맞아요.
이름의 25V는 아두이노 우노처럼 5V까지 읽는 보드에서의 한계예요. 피코의 아날로그 입력은 3.3V까지라서 같은 모듈로 잴 수 있는 끝은 계산상 16.5V예요. 이 자료실의 실습은 그보다 낮은 직류 12V 이하로 정해요. 교류(콘센트, 교류 어댑터 출력)는 재지 않아요.
원리
모듈 안에서 VCC 단자 ─ 30kΩ ─ S ─ 7.5kΩ ─ GND로 이어져 있어요. S의 전압은 입력 × 7.5 ÷ (30 + 7.5), 곧 입력의 1/5이에요. 그래서 피코가 읽은 S 전압에 5를 곱하면 입력 전압이에요. 3.3V × 5 = 16.5V가 피코로 잴 수 있는 끝이에요. how2electronics의 모듈 설명도 3.3V 보드라면 입력이 16.5V를 넘지 않아야 한다고 적어요.
뒤쪽의 + 핀은 기판 안에서 아무 데도 이어져 있지 않아요(ArduinoGetStarted, how2electronics). 이 모듈은 따로 전원이 필요 없어요. −는 입력 GND와 같은 점이라, 이 모듈을 이으면 재는 회로의 −와 피코 GND가 하나로 이어져요. 이 점이 아래 '자주 하는 실수'의 핵심이에요.
입력 쪽에서 보면 모듈은 37.5kΩ 저항 하나예요. 9V를 재면 9 ÷ 37,500 ≈ 0.24mA가 모듈로 흘러요. 건전지나 어댑터에는 거의 영향이 없는 양이에요.
피코가 구별하는 한 칸은 3.3V ÷ 4096 ≈ 0.81mV이고, 5배 하면 입력 쪽에서 약 4mV예요. 실제로는 ADC 잡음과 저항 오차가 더 크게 작용해서, 여러 번 평균 내고 멀티미터로 배율을 맞춰야 0.01V 자리를 믿을 수 있어요.
준비물
- 라즈베리파이 피코와 USB 케이블
- 전압 센서 모듈(0~25V), 암-수 점퍼선 2개
- 멀티미터(직류 전압 모드)
- AA 건전지 2~4개와 홀더, 9V 건전지와 스냅 단자
- 탐구용: 22Ω·47Ω·100Ω 저항(1/4W), 작은 직류 모터, 스위치, 악어 클립 선
배선
브레드보드 따라 꽂기 순서 (6단계)
- 피코를 브레드보드 가운데 홈에 걸쳐 꽂아요. USB 단자가 왼쪽을 보게 하고, 1번 핀이 f2, 40번 핀이 e2에 들어가요. 다리가 홈 양쪽에 모두 들어갔는지 옆에서 봐요.
- 검은 선: 피코 38번 핀(GND) 옆 칸 a4 → 위쪽 − 줄(GND). 이제 이 줄 전체가 GND예요.
- 전압 센서 모듈 0~25V 분압 꽂기: 다리 S · −를 위쪽 a24 · a25에 차례로 꽂아요. 다리가 브레드보드에 바로 안 들어가면 암-수 점퍼선으로 같은 칸에 이어요.
- 초록 선(신호): 전압 센서 모듈 S 줄 b24 → 피코 32번 핀(GP27) 옆 칸 a10
- 검은 선(GND): 전압 센서 모듈 − 줄 b25 → 위쪽 − 줄(GND)
- 마지막 확인: ① 위쪽 + 줄(3.3V)과 아래쪽 + 줄(5V)이 서로 이어지지 않았나요? ② 모든 부품의 GND가 − 줄에 이어졌나요? ③ 5V 신호 다리는 저항을 거쳐 피코에 이어졌나요? ④ 긴 브레드보드는 + − 줄이 가운데에서 끊긴 것도 있어요(빨간·파란 선이 끊겨 있으면 짧은 선으로 이어요). ⑤ 그림과 한 칸씩 비교한 뒤 USB를 꽂아요.
| 모듈 핀 | 피코 핀 | 비고 |
|---|---|---|
| S | GP27 (32번) | 입력의 1/5 전압 |
| − | GND (38번) | 입력 GND와 기판 안에서 이어져 있어요 |
| + | 연결 안 함 | 아무 데도 이어지지 않은 핀 |
| 나사 단자 VCC | 재는 전압의 + | 직류 12V 이하 |
| 나사 단자 GND | 재는 전압의 − | 피코 GND와 같은 점이 돼요 |
분압 저항은 모듈 안에 있어서 따로 달지 않아요. 핀 머리(S, +, −)와 나사 단자(VCC, GND)를 헷갈리지 않는 것이 가장 중요해요. 재는 전압은 반드시 나사 단자에 물려요.
빼는 순서도 정해요. 피코 전원이 꺼진 동안에는 핀에 전압을 걸지 않는 것이 원칙이에요(피코 핀 지도). USB를 뽑기 전에 나사 단자의 전지부터 떼요.
코드
from machine import ADC, Pin
import time
s = ADC(Pin(27)) # S → GP27, − → GND, + 핀은 비워 둬요
RATIO = 5.0 # (30kΩ + 7.5kΩ) ÷ 7.5kΩ. 멀티미터로 고친 값으로 바꿔요
METER = 0.0 # 멀티미터로 잰 전압(V)을 넣으면 맞는 RATIO를 알려 줘요
def vin(n=32):
t = 0
for i in range(n):
t += s.read_u16()
pin_v = t / n * 3.3 / 65535
return pin_v, pin_v * RATIO
while True:
pin_v, v = vin()
print(f"DATA: vin={v:.3f}, pin_v={pin_v:.4f}")
if pin_v > 3.2:
print("핀 전압이 3.3V에 가까워요(입력 약 16V). 바로 떼요")
elif v > 12:
print("12V를 넘었어요. 이 글의 실습 범위 밖이에요")
if METER > 0 and pin_v > 0.05:
print(f"멀티미터와 맞추려면 RATIO = {METER / pin_v:.4f}")
time.sleep(1)
- 시나브로 PICO 센서 가이드 예제(읽은 전압 × 5)에 평균과 보정 도우미를 더했어요.
vin()은 32번 평균한 핀 전압과, 거기에RATIO를 곱한 입력 전압을 함께 돌려줘요.- 핀 전압이 3.2V를 넘으면 16V 근처라는 뜻이라 바로 떼라고 알려요. 12V를 넘으면 실습 범위 밖이라고 알려요.
METER에 같은 순간 멀티미터 값을 넣으면 그 값과 같아지는RATIO를 계산해 줘요.
값 해석과 보정
배율부터 맞춰요. 저항 두 개에 오차가 있으면 1/5이 정확히 1/5이 아니에요. 9V 건전지를 나사 단자에 물리고 같은 단자를 멀티미터로 재요. 그 값을 METER에 넣고 돌리면 나오는 RATIO를 적어 넣어요. 그다음 AA 하나(약 1.5V)로 확인해 두 점에서 모두 맞는지 봐요. 낮은 전압에서만 일정하게 어긋난다면 피코 ADC의 0점 쪽 오차일 수 있으니, 두 점으로 기울기와 절편을 함께 구하는 2점 보정을 써요.
부하가 있을 때와 없을 때를 나눠 적어요. 건전지는 안에 작은 저항(내부 저항)이 있어서, 전류를 흘리면 단자 전압이 내려가요. 아무것도 잇지 않은 전압(V0)과 저항 R을 걸었을 때의 전압(V)을 재면 내부 저항은 r = R × (V0 ÷ V − 1)로 구할 수 있어요. 이 모듈은 37.5kΩ이라 V0를 잴 때 흐르는 전류가 아주 작아요.
극성을 지켜요. 이 모듈은 음의 전압을 읽지 못해요. 거꾸로 물리면 S가 GND보다 낮아져 0으로 읽히고, 아날로그 핀에도 좋지 않아요.
자주 하는 실수
- 이름만 보고 18V 전동공구 배터리를 물리기. S가 3.6V가 되어 피코 아날로그 입력의 끝을 넘어요. 피코에서는 16.5V가 끝이고, 실습은 12V 이하예요.
- 재는 전압을 핀 머리 S와 −에 꽂기. 분압을 거치지 않은 전압이 GP27로 바로 들어가요. 반드시 나사 단자에 물려요.
- GND를 회로의 다른 점에 물리기. −가 피코 GND와 이어지니, 재는 회로가 피코 전원을 함께 쓴다면 모듈 GND는 그 회로의 GND에만 물려요. 다른 점에 물리면 피코 GND를 거쳐 합선이 생겨요.
- 교류 어댑터나 콘센트를 재기. 직류 전용 분압 기판이에요. 교류는 다루지 않아요.
- USB부터 뽑기. 전원이 꺼진 피코의 아날로그 핀에 전압이 남아요. 전지부터 떼요.
이 센서로 잴 수 있는 탐구
1. 직렬은 두 배, 병렬은 그대로일까
- 질문: AA 건전지 두 개를 직렬과 병렬로 이으면 전압은 하나일 때와 어떻게 다를까?
- 바꾸는 것: 연결 방법(1개, 2개 직렬, 2개 병렬). 병렬은 전압이 거의 같은 새 전지끼리만
- 재는 것: vin(V), 멀티미터 전압(V)
- 방법: 연결마다 10초 평균을 3번 재요. 직렬의 합과 각 전지 전압의 합을 비교해요.
2. 부하를 걸면 건전지 전압은 얼마나 내려갈까 - 질문: 새 건전지와 쓰던 건전지는 같은 저항을 걸었을 때 내부 저항이 얼마나 다를까? - 바꾸는 것: 건전지(새것, 쓰던 것), 부하 저항(100Ω, 47Ω, 22Ω) - 재는 것: V0와 V(V), 계산한 내부 저항 r(Ω) - 방법: AA 하나에 저항을 5초만 물리고 그 사이 평균을 V로 써요. 1.5V를 22Ω에 걸면 약 0.1W라 1/4W 저항으로 괜찮지만, 오래 물려 두지 않아요. 조건마다 3번 반복해요.
3. 모터를 돌리는 동안 전지는 어떻게 닳을까
- 질문: 같은 모터를 계속 돌리면 AA 건전지 2개의 전압은 시간에 따라 어떤 모양으로 내려갈까?
- 바꾸는 것: 지난 시간(최대 2시간), 건전지 제품(두 가지)
- 재는 것: 1분마다의 vin(V)
- 방법: 모터는 받침에 고정하고 손이 닿지 않게 둬요. 제품마다 새 전지로 시작하고, 그래프의 모양(처음에 빨리, 중간에 천천히, 끝에 빨리 떨어지는지)을 비교해요.
안전
- 직류 12V 이하만 재요. 피코로는 계산상 16.5V가 끝인데, 저항 오차와 순간적인 전압 튐까지 생각하면 여유를 둬야 해요. 220V 교류는 이 기판의 나사 단자와 땜 자리가 그대로 드러나 감전되고, 분압 기판으로 다룰 수 있는 전기가 아니에요(릴레이와 220V).
- 9V 건전지의 두 단자는 가까이 붙어 있어서 동전이나 열쇠에 닿으면 합선돼요. 쓰지 않을 때는 스냅 단자를 끼워 두거나 테이프로 덮어요. 리튬 전지는 합선되면 불이 날 수 있으니 이 글의 실습에 쓰지 않아요.
- 부하 저항과 모터는 쓰는 동안 뜨거워질 수 있어요. 만지기 전에 식혀요.