본문 바로가기
Embedded system/Microcontroller

ATmega2560의 ADC (1)

by 은빛초코 2021. 10. 26.

ADC란?

아날로그 디지털 변환기 (Analog-Digital Converter ADC)

ATmega2560을 비롯하여 대다수의 uC에는 ADC가 꼭 필요합니다. 

 


ATmega2560의 ADC 특징

  • uC는 디지털 컴퓨터의 일종으로 디지털 데이터만을 처리 가능
  • 온도, 조도 등 주변환경에서 측정할 수 있는 데이터들은 연속적인 아날로그 데이터
  • 아날로그 데이터를 처리하기 위해서는 디지털 데이터로 변환해야 함
  • 10비트 해상도 ADC : 아날로그 전압을 0~1023사이의 디지털 값으로 변환v16개의 채널은 포트 F(PF0~PF7)와 포트 K(PK0~PK7)에 연결
  • ADC 채널 16개이며, 하나의 AD 변환기에 멀티플렉서로 연결되어 있어 한 번에 하나의 아날로그 입력만을 디지털로 변환할 수 있음

 

Ex. 온도 센서의 아날로그 데이터를 디지털 데이터로 변환하기

 

 


 

아날로그 디지털 변환 블록 다이어그램

 

출처 한빛아카데미

 

 

 


ATmega2560의 ADC - 축차비교 방식

  • MSB -> LSB 순서로 1bit씩 변환
  • Vin > D = 1 
  • Vin < D = 0

출처 한빛아카데미
출처 한빛아카데미

맨 처음 4번비트만 본다면 4번비트는 비트자리로 따지면 16 입니다. 총 32비트를 가지고 있으므로, 표1에 있는 순서 1번 값처럼 계산하게 되면 기준 값인 0.67V보다 작은 값이 출력됩니다. 그럼 1이 됩니다. 

마찬가지로 3번 비트를 보면 3번비트는 8입니다. 하지만 앞에 4번비트를 포함시켜야 하므로 16+8을 해줘야하며, 이 값으로 계산했을 때, 0.75V이므로 기준V보다 높아 값이 0이 되는 것입니다. 

 

 

 


ADC에 의해 얻어진 값의 문제점

  • 낮은 해상도 
    • 해결 방법 : 높은 해상도의 ADC를 사용함으로써 해결할 수 있지만, ATmega2560의 ADC는 10비트의 해상도로 변경할 수 없으므로 별도의 ADC칩 사용
  • 잡음
    • 해결 방법 : 공통 모드 잡음으로 보완할 수 있음
  • 아날로그 신호의 좁은 전압 범위

 

 

 


ATmega2560의 ADC 기능 중 단일 입력과 차동 입력

 

단일 입력

  • GND를 기준
  • 변환 후 디지털 값 0에 해당하는 아날로그 값은 항상 0V
  • 2.5V 기준 전압을 사용하는 경우, 디지털로 변환할 수 있는 전압 범위는 0~2.5V

 

차동 입력

  • 변환할 수 있는 최소의 전압을 (-) 입력으로 정할 수 있음
  • (-) 입력에 2V 전압을 가해줌으로써 2V~4.5V 범위의 전압을 디지털로 변환 가능

출처 한빛아카데미

 

 

 

 


Gain (이득)

  • 아날로그 신호의 범위가 좁은 경우 증폭시킬 비율 = 증폭비율
  • 10배와 200배 증폭 중 선택 가능
  • 차동 입력을 사용하는 경우에만 가능

 

 


그러면 다음편에는 ATmega2560의 ADC를 이용하여 가변저항 값을 읽는 코드를 구현해보도록 하겠습니다. 

 

 

 

 

 

 

 

 


참고 : 따라 하면서 배우는 마이크로컨트롤러 - 한빛아카데미

 

댓글