ACS712 전류센서는  Hall Effect(전류가 흐르는 도체에 자기장이 가해지면 전위차가 발생하는 현상)를 활용하여 전류의 세기를 측정하는 센서로서 교류/직류에 관계없이 측정가능하며 순방향 또는 역방향 양쪽으로 측정 가능하다. 그리고 모듈은 측정 범위에 따라  5A용, 20A,30A용 세가지 종류가 있다.

 

 

 

 

ACS712 전류센서 구조 및 사양  

 

 

ACS712 전류센서는 측정된 전류값을 전압값으로 출력하는데 전류가 흐르지 않는 제로상태에는 VCC기준전압의 중간값이 OUT단자에 출력되지만 전류량이 증가하면 다음과 같은 민감도에 따라 OUT단자의 전압이 변한다.

 

 

즉 30A용 모듈이고 VCC 기준 전압이 5V일 경우 전류가 흐르지 않는 제로상태에는 2.5V이지만 순방향 전류량이 증가하여 30A가 되면 OUT단자의 전압이 4.48V( 2.5V + ( 66 mV/A * 30A) ) 까지 올라가고 역방향 전류량이 증가하여 -30A이면 0.52V까지 감소한다. 즉 30A용 모듈일 경우 다음과 같은 모양의 그래프가 된다.     

 

 

그리고 출력 전압값은 온도에 따라 약간의 변화가 있다. 여기에서 주의 해야 할 점은 OUT출력 전압은 VCC 기준전압에 따라 변하는 것이므로 측정 전류값이 일정하다 해도 만약 VCC기준전압이 5V로 일정하지 않고 불안정하게 4.8V ~ 5.2V로 움직이게 되면  OUT출력값도 불안정하게 계속 변화된다는 것이다.    

 

아두이노와의 연결

 

위와 같이 전류 측정단자에 측정하고자 하는 지점의 케이블을 연결하고

VCC-GND에 5V를 공급하면서 OUT단자의 출력 전압을 아두이노 아날로그 입력핀(여기에서는 A0)으로 읽으면 된다.

 

 

샘플프로그램

 

 

위 샘플프로그램으로 측정된 전류 값을 아두이노 IDE 시리얼플로터로 표시해 보면 다음과 같다. 즉 측정된 값을 그대로 사용하기에는 너무 변동이 심한 값이 나온다.

 

 

 

 

수정된 샘플프로그램

 

 

100 mSec마다 한번 측정하는 대신 1mSec마다측정하여 이에 대한 이동평균값을 구하고 이를 100 mSec마다 표시하는 방법으로 측정값을 구하면 다음과 같이 좀더 안정적인 값을 구할 수 있다.

 

 

+ Recent posts