- 디지털 전자가있는 아날로그 세상
- ADC 란 무엇이며 어떻게 사용합니까?
- ADC의 분해능 (비트) 및 채널
- ADC의 기준 전압
- 예
- ADC 유형 및 작동
- ADC에 대해 일반적으로 발생하는 몇 가지 질문
디지털 전자가있는 아날로그 세상
몇 년 전 전화, 컴퓨터, 텔레비전 등과 같이 오늘날 우리가 사용하는 전체 전자 장치는 본질적으로 아날로그였습니다. 그런 다음 천천히 유선 전화가 현대적인 휴대폰으로 대체되었고, CRT 텔레비전과 모니터는 LED 디스플레이로 대체되었고, 진공관이있는 컴퓨터는 내부에 마이크로 프로세서와 마이크로 컨트롤러가 장착되어 더욱 강력 해졌습니다.
오늘날의 디지털 시대에 우리는 모두 첨단 디지털 전자 장치에 둘러싸여 있으며, 이것은 우리 주변의 모든 것이 사실이 아닌 본질적으로 디지털이라고 생각하도록 속일 수 있습니다. 예를 들어 속도, 온도, 풍속, 햇빛, 소리 등과 같이 우리 인간이 느끼고 경험하는 모든 것은 본질적으로 아날로그입니다. 그러나 마이크로 컨트롤러와 마이크로 프로세서에서 실행되는 전자 장치는 0과 1에서만 실행되기 때문에 이러한 아날로그 값을 직접 읽고 / 해석 할 수 없습니다. 따라서 우리는 마이크로 컨트롤러와 마이크로 프로세서가이를 이해할 수 있도록이 모든 아날로그 값을 0과 1로 변환 할 무언가가 필요합니다. 이것을 아날로그-디지털 변환기 또는 줄여서 ADC 라고합니다. 이 기사에서 우리는ADC에 대한 모든 것 및 사용 방법.
ADC 란 무엇이며 어떻게 사용합니까?
앞서 언급했듯이 ADC는 아날로그에서 디지털로의 변환을 나타내며 실제 세계의 아날로그 값을 1과 0과 같은 디지털 값으로 변환하는 데 사용됩니다. 그렇다면 이러한 아날로그 값은 무엇입니까? 이것들은 온도, 속도, 밝기 등 우리가 일상 생활에서 보는 것들입니다.하지만 기다려요 !! ADC가 온도와 속도를 0과 1과 같은 디지털 값으로 직접 변환 할 수 있습니까?
반항하지 않습니다. ADC는 아날로그 전압 값을 디지털 값으로 만 변환 할 수 있습니다. 따라서 측정하려는 매개 변수가 무엇이든 먼저 전압으로 변환해야합니다.이 변환은 센서 의 도움으로 수행 할 수 있습니다. 예를 들어 온도 값을 전압으로 변환하기 위해 서미스터를 사용하여 밝기를 전압으로 변환 할 수 있습니다. LDR을 사용할 수 있습니다. 전압으로 변환되면 ADC의 도움으로 읽을 수 있습니다.
ADC 사용 방법을 알기 위해서는 먼저 채널 해상도, 범위, 기준 전압 등과 같은 몇 가지 기본 용어에 익숙해 져야합니다.
ADC의 분해능 (비트) 및 채널
마이크로 컨트롤러 또는 ADC IC의 사양을 읽을 때 ADC의 세부 사항은 채널 및 분해능 (비트)이라는 용어를 사용하여 제공됩니다. 예를 들어 Arduino UNO의 ATmega328에는 8 채널 10 비트 ADC가 있습니다. 마이크로 컨트롤러의 모든 핀이 아날로그 전압을 읽을 수있는 것은 아닙니다. 8 채널이라는 용어는 아날로그 전압을 읽을 수있는이 ATmega328 마이크로 컨트롤러에 8 개의 핀이 있고 각 핀이 10 비트 분해능으로 전압을 읽을 수 있음을 의미합니다. 이는 마이크로 컨트롤러 유형에 따라 다릅니다.
ADC 범위가 0V ~ 5V이고 10 비트 ADC가 있다고 가정 해 보겠습니다. 즉, 입력 전압 0-5V가 1024 레벨의 개별 아날로그 값 (2 10 = 1024) 으로 분할된다는 것을 의미합니다. 의미 1024는 10 비트 ADC에 대한 분해능이며, 마찬가지로 8 비트 ADC 분해능은 512 (2 8)이고 16 비트 ADC 분해능은 65,536 (2 16)입니다.
이를 통해 실제 입력 전압이 0V이면 MCU의 ADC는 0으로 읽고 5V이면 MCU는 1024를 읽고 2.5V와 같은 범위에 있으면 MCU는 512를 읽습니다. 아래 공식을 사용할 수 있습니다. ADC의 분해능과 작동 전압을 기반으로 MCU가 읽을 디지털 값을 계산합니다.
(ADC 해상도 / 작동 전압) = (ADC 디지털 값 / 실제 전압 값)
ADC의 기준 전압
익숙해야 할 또 다른 중요한 용어는 기준 전압입니다. ADC 변환 중에 알려지지 않은 전압 의 값은 알려진 전압과 비교하여 찾을 수 있습니다.이를 알려진 전압을 기준 전압이라고 합니다. 일반적으로 모든 MCU에는 내부 기준 전압 을 설정하는 옵션 이 있습니다. 즉 , 소프트웨어 (프로그램)를 사용하여 내부적으로이 전압을 사용 가능한 일부 값으로 설정할 수 있습니다. Arduino UNO 보드에서 기준 전압은 기본적으로 내부적으로 5V로 설정됩니다. 필요한 경우 사용자는 소프트웨어에서 필요한 변경을 수행 한 후에도 Vref 핀을 통해 외부에서이 기준 전압을 설정할 수 있습니다.
측정 된 아날로그 전압 값은 항상 기준 전압 값보다 작아야하며 기준 전압 값은 항상 마이크로 컨트롤러의 작동 전압 값보다 작아야합니다.
예
여기서는 3 비트 분해능과 2V 기준 전압을 가진 ADC의 예를 들어 보겠습니다. 따라서 아래 그림과 같이 0-2v 아날로그 전압을 8 (2 3) 레벨로 매핑 할 수 있습니다.
따라서 아날로그 전압이 0.25이면 디지털 값은 10 진수 1, 2 진수 001이됩니다. 마찬가지로 아날로그 전압이 0.5이면 디지털 값은 10 진수 2, 2 진수 010이됩니다.
일부 마이크로 컨트롤러에는 Arduino, MSP430, PIC16F877A와 같은 ADC가 내장되어 있지만 일부 마이크로 컨트롤러에는 8051, Raspberry Pi 등과 같은 ADC가 없으며 ADC0804, ADC0808과 같은 외부 아날로그-디지털 변환기 IC를 사용해야합니다.
아래에서 다양한 마이크로 컨트롤러가있는 ADC의 다양한 예를 찾을 수 있습니다.
- Arduino Uno에서 ADC를 사용하는 방법?
- Raspberry Pi ADC 튜토리얼
- ADC0808과 8051 마이크로 컨트롤러의 인터페이스
- AVR 마이크로 컨트롤러를 사용하는 0-25V 디지털 전압계
- STM32F103C8에서 ADC를 사용하는 방법
- MSP430G2에서 ADC를 사용하는 방법
ADC 유형 및 작동
ADC에는 여러 유형이 있으며 가장 일반적으로 사용되는 것은 Flash ADC, Dual Slope ADC, Successive Approximation 및 Dual Slope ADC 입니다. 이러한 각 ADC의 작동 방식과 이들 간의 차이점을 설명하는 것은 상당히 복잡하므로이 기사에서는 다루지 않습니다. 그러나 대략적인 아이디어를 제공하기 위해 ADC에는 측정 할 아날로그 전압으로 충전되는 내부 커패시터가 있습니다. 그런 다음 일정 기간 동안 커패시터를 방전하여 전압 값을 측정합니다.
ADC에 대해 일반적으로 발생하는 몇 가지 질문
ADC를 사용하여 5V 이상을 측정하는 방법은 무엇입니까?
앞서 설명한 바와 같이 ADC 모듈은 마이크로 컨트롤러의 작동 전압보다 더 많은 전압 값을 측정 할 수 없습니다. 즉, 5V 마이크로 컨트롤러는 ADC 핀으로 최대 5V 만 측정 할 수 있습니다. 그 이상을 측정하려면 0-12V를 측정하려면 전위 분배기 또는 전압 분배기 회로를 사용하여 0-12V를 0-5V로 매핑 할 수 있습니다. 이 회로는 한 쌍의 저항을 사용하여 MCU의 값을 매핑합니다. 링크를 사용하여 전압 분배기 회로에 대해 더 많이 알 수 있습니다. 위의 예에서는 전압 소스에 직렬로 1K 저항과 720ohm 저항을 사용하고 위 링크에서 설명한 것처럼 저항 사이의 전압을 측정해야합니다.
ADC의 디지털 값을 실제 전압 값으로 변환하는 방법은 무엇입니까?
ADC 컨버터를 사용하여 아날로그 전압을 측정하는 경우 MCU에서 얻은 결과는 디지털로 표시됩니다. 예를 들어 10 비트 5V 마이크로 컨트롤러에서 측정 할 실제 전압이 4V 일 때 MCU는이를 820으로 읽습니다. 위에서 논의한 공식을 다시 사용하여 820을 4V로 변환하여 우리에서 사용할 수 있습니다. 계산. 동일하게 교차 확인합니다.
(ADC 분해능 / 작동 전압) = (ADC 디지털 값 / 실제 전압 값) 실제 전압 값 = ADC 디지털 값 * (작동 전압 / ADC 분해능) = 820 * (5/1023) = 4.007 = ~ 4V
ADC에 대한 공정한 아이디어와이를 애플리케이션에 사용하는 방법을 알고 있기를 바랍니다. 개념을 이해하는 데 문제가 있으면 아래에 의견을 게시하거나 포럼에 작성하십시오.