- 세상의 모든 계산기 자유(질문) 게시판 일반 ()
SMPS등 회로 수리시, 뻥 방지 전구(회로) (feat. Chatgpt and deepseek)
뻥방지 전구(과전류 보호 전구)의 원리
SMPS(스위칭 모드 전원 공급 장치) 등의 전기장비 수리 후 테스트할 때 뻥방지 전구를 사용하는 이유는, 수리된 회로에 단락(쇼트) 또는 과부하 문제가 있을 경우 전원 투입 시 즉시 퓨즈가 나가거나 부품이 파손되는 것을 방지하기 위해서입니다.

ㄴ 쇼트 등 비정상 상태라서 SMPS 저항값이 1옴일 때를 가정하면, SMPS에 과전류(220A)가 흐르게 됨.
ㄴ 파라미터 V_source = 220 # 공급 전압 220V, R_normal = 1000 # 정상 SMPS 저항(Ω) 1k옴, R_fault = 1 # 비정상 SMPS 저항(Ω)
ㄴ 그래프는 단순 참고용으로, 실제 현실과 다릅니다.
원리 및 동작 방식
-
직렬 연결 방식
- AC 입력 전원과 SMPS 회로 사이에 전구(백열전구)를 직렬로 연결합니다.
- 만약 SMPS가 정상이라면, 전구는 거의 빛나지 않고 미세한 발열만 합니다.
- 만약 쇼트(단락)나 과부하가 있다면, 전구의 필라멘트가 밝게 빛나며 SMPS로 흐르는 전류를 제한합니다.
-
전류 제한 역할
- 뻥방지 전구는 전류가 지나치게 많아지면 저항이 급격히 증가하는 성질을 가집니다.
- 백열전구의 필라멘트는 PTC(Positive Temperature Coefficient) 성질을 가지므로, 과전류가 흐르면 순간적으로 저항이 증가하여 전류를 제한합니다.
- 결과적으로 퓨즈가 끊어지거나 부품이 폭발하는 것을 방지할 수 있습니다.
-
이상 여부 판별
- 전구가 꺼져 있다면 → 정상 동작 (SMPS가 부하를 정상적으로 공급)
- 전구가 순간 깜빡이고 꺼짐 → 정상 (정류 콘덴서 충전 후 정상 동작)
- 전구가 계속 켜져 있음 → 쇼트 가능성 높음 (SMPS 1차측에서 이상 발생)
- 전구가 매우 밝게 빛남 → 심각한 쇼트 (전원 투입 시 과전류 상태)

ㄴ 직렬 연결이기 때문에
ㄴ 전압 : 전체 회로에 걸리는 전압은 220V = 전구에 걸리는 전압 + SMPS에 걸리는 전압
ㄴ 전류 : 전구와 SMPS 회로에는 동일한 전류가 흐름.
ㄴ 그래프는 단순 참고용으로, 실제 현실과 다릅니다.
사용하는 전구의 종류
- 일반적으로 100W~200W 백열전구를 사용합니다.
- LED 전구는 이런 특성이 없기 때문에 사용할 수 없습니다.
- 전구의 전력(W)이 높을수록 저항값이 낮아져 초기 테스트 시 주의해야 합니다.
SMPS 수리 후 뻥방지 전구 테스트 절차
- SMPS의 1차측 입력선(AC 전원선)과 직렬로 백열전구를 연결
- 전원을 켜고 전구의 밝기를 확인
- 전구가 순간 깜빡이고 꺼지면 → 정상 작동
- 전구가 계속 밝게 켜지면 → 쇼트나 이상 부품 확인 필요
- 정상 작동을 확인한 후, 전구를 제거하고 직접 AC 입력 테스트 진행
장점
- 과전류로 인한 1차 회로 손상을 방지
- 퓨즈가 연속적으로 끊어지는 것을 막음
- 쇼트 여부를 빠르게 판단 가능
- 간단한 부품(백열전구)만으로 테스트 가능
한계점
- 전구의 저항 특성상 일부 회로에서는 오작동할 가능성 있음
- 고출력 SMPS 테스트 시 너무 낮은 전구 전력 사용 시 동작 불안정. (장비 정상이어도 전구에 불이 켜짐)
- 전구를 지나친 의존하면 근본적인 수리 문제를 놓칠 수도 있음
- 전구와 장비가 전압을 나눠 가지기 때문에 220V에서 정상 운영이 되는지 확인하려면 전구를 반드시 제거하고 테스트를 해야 정확함.
💡 결론:
뻥방지 전구는 SMPS 수리 후 초기 테스트에 유용한 도구이며, 쇼트 및 과부하를 빠르게 진단하는 역할을 합니다. 하지만, 전구를 통한 테스트만으로 모든 문제가 해결되지는 않으므로, 이후 오실로스코프 및 멀티미터를 활용한 추가 점검이 필요합니다.
import matplotlib.pyplot as plt
import numpy as np
# 한글 폰트 설정 (Windows 환경)
plt.rc('font', family='Malgun Gothic') # 맑은 고딕 사용
plt.rc('axes', unicode_minus=False) # 마이너스 기호 깨짐 방지
# 공통 파라미터
V_source = 220 # 공급 전압 220V
R_normal = 1000 # 정상 SMPS 저항(Ω)
R_fault = 1 # 비정상 SMPS 저항(Ω)
R_bulb_normal = 50 # 정상 작동시 전구 저항(Ω)
R_bulb_fault = 200 # 과전류시 전구 저항(Ω)
# 시나리오 1: 뻥방지 전구 없을 때
def scenario1():
I_normal = V_source / R_normal
I_fault = V_source / R_fault
plt.figure(figsize=(10,6))
bars = plt.bar(['정상 상태', '비정상 상태'],
[I_normal, I_fault],
color=['green', 'red'])
plt.ylabel('전류 (A)', fontsize=12)
plt.title('뻥방지 전구 없을 때 전류 비교', fontsize=14)
plt.ylim(0, 25)
# 주석 추가
for bar, label, resistance in zip(bars, ['정상', '비정상'], [R_normal, R_fault]):
height = bar.get_height()
plt.text(bar.get_x() + bar.get_width()/2., height,
f'{height:.2f}A\nR={resistance}Ω',
ha='center', va='bottom')
plt.grid(axis='y', linestyle='--')
plt.show()
# 시나리오 2: 뻥방지 전구 있을 때
def scenario2():
# 정상 상태 계산
I_normal = V_source / (R_normal + R_bulb_normal)
V_smps_normal = I_normal * R_normal
V_bulb_normal = I_normal * R_bulb_normal
# 비정상 상태 계산
I_fault = V_source / (R_fault + R_bulb_fault)
V_smps_fault = I_fault * R_fault
V_bulb_fault = I_fault * R_bulb_fault
# 그래프 생성
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14,6))
# 전압 분배 비교 (스택형 막대 그래프)
labels = ['정상', '비정상']
smps_voltages = [V_smps_normal, V_smps_fault]
bulb_voltages = [V_bulb_normal, V_bulb_fault]
ax1.bar(labels, smps_voltages, color='blue', label='SMPS 전압')
ax1.bar(labels, bulb_voltages, color='orange', bottom=smps_voltages, label='전구 전압')
ax1.set_title('전압 분배 비교')
ax1.set_ylabel('전압 (V)')
ax1.legend()
# 각 전압 수치 표시
for i in range(len(labels)):
ax1.text(i, smps_voltages[i] / 2, f'{smps_voltages[i]:.2f}V', ha='center', color='white', fontsize=10)
ax1.text(i, smps_voltages[i] + bulb_voltages[i] / 2, f'{bulb_voltages[i]:.2f}V', ha='center', color='white', fontsize=10)
# 전류 비교
ax2.plot(labels, [I_normal, I_fault],
marker='o', linestyle='--', color='green')
ax2.set_title('전류 흐름 비교')
ax2.set_ylabel('전류 (A)')
ax2.grid(True)
# 전류 값 및 저항 값 표시
for i, (val, resistance) in enumerate(zip([I_normal, I_fault], [(R_normal + R_bulb_normal), (R_fault + R_bulb_fault)])):
ax2.text(i, val+0.05, f'{val:.2f}A\nR={resistance}Ω', ha='center')
plt.suptitle('뻥방지 전구 있을 때 동작 특성', fontsize=14)
plt.tight_layout()
plt.show()
# 그래프 생성
scenario1()
scenario2()
세상의모든계산기 님의 최근 댓글
엑셀 파일로 만드니 전체 160~200MB 정도 나옵니다. 읽고 / 저장하는데 한참 걸리네요. 컴 사양을 좀 탈 것 같습니다. 100만 개 단위로 끊어서 20MB 정도로 분할해 저장하는 편이 오히려 속 편할 것 같습니다. 2026 02.10 엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수 엑셀의 행 개수 제한은 파일 형식에 따라 다르며, 최신 .xlsx 파일 형식은 시트당 최대 1,048,576행까지 지원하지만, 구형 .xls 파일은 65,536행으로 제한됩니다. 따라서 대용량 데이터를 다룰 때는 반드시 최신 파일 형식(.)으로 저장해야 하며, 행과 열의 총 수는 1,048,576행 x 16,384열이 최대입니다. 주요 행 개수 제한 사항: 최신 파일 형식 (.xlsx, .xlsm, .xlsb 등): 시트당 1,048,576행 (2^20). 구형 파일 형식 (.xls): 시트당 65,536행 (2^16). 그 외 알아두면 좋은 점: 최대 행 수: 1,048,576행 (100만여개) 최대 열 수: 16,384열 (XFD) 대용량 데이터 처리: 65,536행을 초과하는 데이터를 다루려면 반드시 .xlsx 형식으로 저장하고 사용해야 합니다. 문제 해결: 데이터가 많아 엑셀이 멈추거나 오류가 발생하면, 불필요한 빈 행을 정리하거나 Inquire 추가 기능을 활용하여 파일을 최적화할 수 있습니다. 2026 02.10 [일반계산기] 매출액 / 원가 / 마진율(=이익율)의 계산. https://allcalc.org/20806 2026 02.08 V2 갱신 (nonK / K-Type 통합형) 예전에는 직접 코드작성 + AI 보조 하여 프로그램 만들었었는데, 갈수록 복잡해져서 손 놓고 있었습니다. 이번에 antigravity 설치하고, 테스트 겸 새로 V2를 올렸습니다. 직접 코드작성하는 일은 전혀 없었고, 바이브 코딩으로 전체 작성했습니다. "잘 했다 / 틀렸다 / 계산기와 다르다." "어떤 방향에서 코드 수정해 봐라." AI가 실물 계산기 각정 버튼의 작동 방식에 대한 정확한 이해는 없는 상태라서, V1을 바탕으로 여러차례 수정해야 했습니다만, 예전과 비교하면 일취월장 했고, 훨씬 쉬워졌습니다. 2026 02.04 A) 1*3*5*7*9 = 계산 945 B) √ 12번 누름 ㄴ 12회 해도 되고, 14회 해도 되는데, 횟수 기억해야 함. ㄴ 횟수가 너무 적으면 오차가 커짐 ㄴ 결과가 1에 매우 가까운 숫자라면 된 겁니다. 1.0016740522338 C) - 1 ÷ 5 + 1 = 1.0003348104468 D) × = 을 (n세트) 반복해 입력 ㄴ 여기서 n세트는, B에서 '루트버튼 누른 횟수' 3.9398949655688 빨간 부분 숫자에 오차 있음. (소숫점 둘째 자리 정도까지만 반올림 해서 답안 작성) 참 값 = 3.9362834270354... 2026 02.04