전류 측정 모듈(ACS712)

아두위키 : Arduwiki

개요

ACS712는 전류 센서 모듈로, DC/AC 전류를 측정하여 아날로그 신호로 출력하는 장치입니다. 주로 전력 소비 모니터링, 배터리 관리, 전력 시스템 보호 등 다양한 응용 분야에서 사용됩니다.

작동 원리

ACS712는 홀 효과를 기반으로 작동합니다. 전류가 흐를 때 발생하는 자기장을 감지하여 전류의 크기를 측정합니다. 이 과정에서 출력 전압이 비례하여 변화하며, 아날로그 출력 핀에서 전압 값을 읽어 아두이노와 같은 마이크로컨트롤러로 전류 값을 계산할 수 있습니다.

사양

항목 설명
작동 전압 5V
전류 측정 범위 ±5A / ±20A / ±30A (모듈 종류에 따라 다름)
출력 전압 0V ~ Vcc/2 (Vcc의 절반에서 0A)
정확도 ±1.5% (주변 온도 25ºC에서)
작동 온도 -40°C ~ +85°C

활용 예제

회로 구성

1. 초기값 시리얼 모니터로 출력하기

//추가 예정


실행 결과

시리얼 모니터


출력 전압 (Vout) = 2.5V + (전류 (I) × 감도 (S))

예제에서 전압에 해당하는 아날로그 값이 출력되는 것을 확인할 수 있습니다.

여기서, 감도(S)는 모듈의 사양에 따라 다르니 참고하시기 바랍니다. (5A 모델 : 185mV/A, 20A 모델 : 100mV/A, 30A 모델 : 66mV/A)

사양에서 보면 출력 전압의 범위는 0V ~ VCC/2 인데, 5V에 연결하기 때문에 전류가 흐를 때 출력 전압은 2.5V 기준으로 증가하거나 감소하게 됩니다.


ACS712 전류 측정 모듈은 전압 값을 아날로그 값으로 출력하기 때문에 0V ~ 5V를 0 ~ 1023로 출력하며, 실제로는 출력 전압 범위가 0 ~ 2.5V이기 때문에 0 ~ 511 범위로 출력하는 것을 확인하실 수 있습니다. 전류가 흐르지 않을 때는 508 ~ 515 사이로 511을 기준으로 노이즈가 발생하는 것을 확인할 수 있는데 이를 전압 값으로 환산하면 약 2.48V ~ 2.52V가 됩니다. 환산 과정은 다음과 같습니다.

Vout = analogRead(A0); // 아날로그 값 
amp = Vout - 511; // 공급 전압의 0.5배를 빼줌
amp = (Vout - 511) * 5.0 / 1023.0; // 0 ~ 1023 값을 0 ~ 5 값으로 변환 (전압 / V)
amp = ((Vout - 511) * 5.0 / 1023.0) / 0.185; // 민감도를 적용 (전류 / A, 1000을 곱해주면 mA 단위)


전압을 기반으로 전류를 측정하기 때문에 공급 전압이 4.8V, 5.2V 같이 노이즈가 발생한다면 전류 값에 영향을 미치게 됩니다.

따라서 공급 전압이 안정적일수록 전류의 측정값 역시 더 좋은 값을 출력한다고 볼 수 있습니다.


2. 전류 값으로 수정하여 출력

// 추가 예정

실행 결과

시리얼 모니터


구매 링크

공집사몰