그라운드 임베디드 EN 유튜브 구독

실험실

ADC 샘플링과 분해능 시뮬레이션

매끄러운 아날로그 전압이 ADC를 지나 계단 모양 숫자로 바뀌는 과정을 봅니다. 비트 수를 줄이면 계단이 얼마나 거칠어지는지, 샘플링이 느리면 왜 엉뚱한 주파수로 보이는지 직접 확인합니다.

조작

샘플만 이은 모습 최근 40 ms

흐린 선이 실제 입력, 밝은 선이 마이크로컨트롤러가 보는 파형입니다.

측정

1 LSB
-
지금 읽은 값
-
나이퀴스트 주파수
-
보이는 주파수
-

이렇게 해 보세요

  1. 노란 선이 실제 입력 전압이고, 청록색 기둥이 ADC가 읽은 값입니다. 기둥 하나가 샘플 하나입니다. ADC는 다음 샘플까지 그 값을 그대로 들고 있어서 계단 모양이 됩니다.
  2. 분해능을 12비트에서 3비트로 낮춰 보세요. 뒤쪽 벽에 눈금 8개가 나타나고, 기둥이 그 눈금에만 맞춰집니다. 노란 선과 기둥 꼭대기 사이의 틈이 양자화 오차입니다.
  3. 분해능을 다시 올리고 샘플링 속도를 낮춰 보세요. 기둥이 넓어지면서 신호의 모양을 놓치기 시작합니다.
  4. 입력 주파수를 900 Hz, 샘플링 속도를 1000 Hz로 맞추세요. 아래 그래프에서 샘플만 이은 선이 100 Hz짜리 느린 파형으로 보입니다. 이것이 에일리어싱입니다. 한 번 이렇게 읽히면 소프트웨어로는 되돌릴 수 없습니다.
  5. 진폭을 끝까지 올리면 파형이 0 V와 3.3 V에서 잘립니다. ADC는 기준 전압 밖의 값을 읽지 못합니다.
  6. 노이즈를 올리고 분해능을 12비트로 두면 아래쪽 비트들이 계속 흔들립니다. 비트 수가 많다고 그만큼 정확한 것은 아닙니다.

읽는 법

ADC는 두 가지를 잘라 냅니다. 시간을 자르는 것이 샘플링이고, 전압을 자르는 것이 양자화입니다.

1 LSB는 기준 전압을 2의 비트 수 제곱으로 나눈 값입니다. 3.3 V 기준 12비트면 약 0.8 mV, 8비트면 약 12.9 mV입니다.

샘플링 속도의 절반을 나이퀴스트 주파수라고 합니다. 입력에 이보다 빠른 성분이 있으면 낮은 주파수로 접혀서 보입니다. 그래서 ADC 앞에는 RC 필터를 두어 빠른 성분을 미리 깎습니다.

이 실험실은 이상적인 ADC를 가정했습니다. 실제 ADC에는 샘플링 커패시터를 채우는 시간, 오프셋과 이득 오차가 더 있습니다.

자세한 설명은 ADC 노트에 있습니다.

PROJECT COURSE센서 값을 실제 보드에서 읽어 보고 싶다면밸런싱 로봇 하나를 요구사항, 회로와 PCB, 펌웨어, 앱까지 실무 순서대로 만드는 강의입니다. 10파트 165강.강의 살펴보기 →FREE PDF무료 전자책 3권 받기돌려 본 원리를 글로 정리해 두고 싶다면. BLDC 모터 제어, 직렬통신, 센서를 책 분량으로 묶었습니다. 이메일만 남기면 바로 받습니다.무료로 받기 →