전류 측정 모듈(ACS712): 두 판 사이의 차이

아두위키 : Arduwiki
잔글편집 요약 없음
 
32번째 줄: 32번째 줄:
=== 회로 구성 ===
=== 회로 구성 ===


=== 1. 전류값 시리얼 모니터로 출력하기 ===
=== 1. 초기값 시리얼 모니터로 출력하기 ===
<syntaxhighlight lang="c++" line="1">
<syntaxhighlight lang="c++" line="1">
//추가 예정
//추가 예정
</syntaxhighlight>
</syntaxhighlight>


ACS712 모듈은 전류를 전압으로 변환하는 방식으로 작동합니다. 이 과정은 다음과 같은 단계로 이루어집니다.


1. 출력 전압의 기본 이해
==== 실행 결과 ====
ACS712 모듈의 출력 전압은 전류의 크기에 비례합니다. 모듈이 특정 전류를 측정할 때, 출력 전압은 다음과 같은 관계를 가집니다:
시리얼 모니터


출력 전압 (Vout) = 2.5V + (전류 (I) × 감도 (S))
여기서, 감도(S)는 모듈의 사양에 따라 다르며, 일반적인 ACS712 모듈의 경우 ±5A 범위에서 약 185mV/A입니다. 따라서, 전류가 흐를 때 출력 전압은 2.5V 기준으로 증가하거나 감소하게 됩니다.


2. 전류 계산식
==== 출력 전압 (Vout) = 2.5V + (전류 (I) × 감도 (S)) ====
전압을 전류로 변환하기 위해서는 다음의 공식을 사용합니다:
예제에서 전압에 해당하는 아날로그 값이 출력되는 것을 확인할 수 있습니다.


[ \text{전류 (I)} = \frac{\text{출력 전압 (Vout)} - 2.5V}{\text{감도 (S)}} ]
여기서, 감도(S)는 모듈의 사양에 따라 다르니 참고하시기 바랍니다. (5A 모델 : 185mV/A, 20A 모델 : 100mV/A, 30A 모델 : 66mV/A)


예를 들어, 출력 전압이 3.0V일 경우, 전류는 다음과 같이 계산됩니다:
사양에서 보면 출력 전압의 범위는 '''0V ~ VCC/2''' 인데, 5V에 연결하기 때문에 전류가 흐를 때 출력 전압은 '''2.5V 기준'''으로 증가하거나 감소하게 됩니다.


[ I = \frac{3.0V - 2.5V}{0.185V/A} \approx 2.70A ]
 
ACS712 전류 측정 모듈은 전압 값을 아날로그 값으로 출력하기 때문에 0V ~ 5V를 0 ~ 1023로 출력하며, 실제로는 출력 전압 범위가 0 ~ 2.5V이기 때문에 0 ~ 511 범위로 출력하는 것을 확인하실 수 있습니다. 전류가 흐르지 않을 때는 508 ~ 515 사이로 511을 기준으로 노이즈가 발생하는 것을 확인할 수 있는데 이를 전압 값으로 환산하면 약 2.48V ~ 2.52V가 됩니다. 환산 과정은 다음과 같습니다.
 
<syntaxhighlight lang="c++" line="1">
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 단위)
</syntaxhighlight>
 
 
전압을 기반으로 전류를 측정하기 때문에 공급 전압이 4.8V, 5.2V 같이 노이즈가 발생한다면 전류 값에 영향을 미치게 됩니다.
 
따라서 공급 전압이 안정적일수록 전류의 측정값 역시 더 좋은 값을 출력한다고 볼 수 있습니다.
 
 
=== 2. 전류 값으로 수정하여 출력 ===
<syntaxhighlight lang="c++" line="1">
// 추가 예정
</syntaxhighlight>
 
==== 실행 결과 ====
시리얼 모니터
 
 
== '''구매 링크''' ==
[https://gongzipsa.com/shop/1715254924 공집사몰]

2024년 8월 3일 (토) 16:26 기준 최신판

개요

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. 전류 값으로 수정하여 출력

// 추가 예정

실행 결과

시리얼 모니터


구매 링크

공집사몰