728x90
반응형

제품을 설계하다 보면 전압의 변동이나 혹은 Battery의 사용시간을 검토해야 합니다. 이런 일들을 진행하기 위해서는 꾸준히 전압을 측정해야 하기에 오늘은 아두이노(ARDUINO)의 ADC Pin을 이용하여 5Channel의 전압을 측정하는 법을 진행 하겠습니다.

 

Arduino UNO ADC Pin Map

 

▲Arduino uno ADC PIN

아두이노 우노(Arduino UNO)같은 경우는 총 6개의 ADC Pin을 가지고 있습니다. 즉, 6개의 아날로그 신호를 읽을 수 있다는 애기죠 이를 이용하기 위해서 Firmware작업을 진행합니다.

 

Arduino 전압측정 Firmaware작업
▲ADC 전압측정 Setup

 

각 채널을 정수로 선언 -> ADC값을 선언 -> ADC를 전압으로 표현하기 위해 Float를 이용해 실수로 선언 -> ADC0 ~ 4번까지 사용설정 ->Searial통신 시작시 TEST Start를 뿌려주고 진행

 

▲ 전압측정 값 Serial로 날려줌

각 ADC채널로 읽어 드린 값을 Value1 ~5번이라고 표현 -> Value 1~5번은 ADC가 10BIT이기에 2^10=1024 값 으로 나눠 준다.(0.034는 그냥 제가 넣은 보정 값 입니다.) -> 계산된 출력 Vout 1~5번을 시리얼 통신을 통해서 출력한다.

 

Firmware작업은 비교작 아주 간단 합니다. 어떠한 조건문도 필요 없죠 단순히 측정만 하면 되기 때문입니다. 제대로 동작되는 것을 확인하기 위해서 아래와 같이 작업을 진행합니다.

 

전압측정 H/W작업
▲ 전압측정 H/W작업

5개의 2.3V Battery를 측정해서 전압을 확인 해보겠습니다.

 

▲ 측정 간격을 1초로 진횅

 

측정 간격을 1초로 진행하니 5개의 각 data가 잘나오는 것을 확인했습니다. 단점이 있다면 Arduino에서 지원하는 시리얼 모니터를 통해서 진행할 경우 data가 3만~3만5천줄이 넘어가면 초기 DATA가 지워지는 현상이 보이네요 이 부분은 향후 다른 개선법을 찾아봐야 겠습니다.

반응형

+ Recent posts