- 세상의 모든 계산기 자유(질문) 게시판 일반 ()
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()
세상의모든계산기 님의 최근 댓글
예시11) 선형 연립방정식에서 답이 false 로 나올 때 https://allcalc.org/55823 2025 10.22 approx(참 해) 값이 이상하게 튀는 것 같아서 AI를 이용해 (python 으로) 구해보았습니다. * python 의 유효자릿수가 nspire 의 유효자릿수(14자리~15자리)보다 더 길기 때문에 시도하였습니다. ** 원래는 wolfram alpha 로 구해보려고 했는데, 울프람에서는 수식 길이가 너무 길다고 거부하는 바람에 포기하였습니다. 그 결과, AI approx(참 해) 값은 정상 범주에 포함되었고, 이는 solve()로 구한 대부분의 결과값과 유사하였습니다. 그럼 nspire 의 approx(참 해)는 왜 튀었나? 참 해에 더하기,빼기,곱하기,나누기 가 너무 많이 포함되어 있다보니, 모두 계산하고 나면 오차가 누적&증폭되어 버리는 것 같습니다. 그래서 오히려 solve의 numeric 한 접근보다도 더 큰 오차가 발생한 듯 하고, 그래서 적절한 해의 x 구간을 벗어나버린 듯 합니다. 그것이 처음의 solve 에서 false 를 이끌어낸 주 원인이 아니었을까요? (추정) 2025 10.21 그래프로 확인 그래프 함수로 지정하고, 매우 좁은 구간으로 그래프를 확대해 보면 불연속적인 그래프 모습이 확인됩니다. 이것은 한계 digits(15자리) 이상을 처리하지 못하기 때문일 것이구요. 다만 특이한 점은, 그래프상으로 교점에 해당하는 구간이 73.049507058477≤x≤73.049507058484 사이로 나오는데 -> 이 구간은 'solve에서 여러 방법으로 직접 구해진 해들'은 포함되는 구간입니다. -> 하지만, '참값인 해를 계산기로 구한 appprox 값 x=73.049507058547'은 포함되지 않는 구간입니다. 2025 10.21 tns 파일 첨부 sol_num_vs_exact.tns 2025 10.21 검증하면 1번 식을 x에 대해 정리하고, → 그 x 값을 2번 식에 대입해 넣으면 → 그 결과로 x는 사라지고 y에 대한 식이 되니, y에 대해 정리하면 참값 y를 얻음. 얻은 y의 참값을 처음 x에 대해 정리한 1번식에 대입하면 참 값 x를 얻음. 구해진 참값의 근사값을 구하면 x=73.049507058547 and y=23.747548955927 참 값을 approx() 로 변환한 근사값은 원래 방정식 모두를 만족할 수 없지만, linsolve() 로 찾은 근사값과, AI로 참 값을 근사변환한 값은 원래 방정식 모두를 만족할 수 있습니다. 2025 10.21