[아두이노] CdS 조도 센서의 ‘비선형성’과 감도 설계, 그리고 선형화까지


조도 센서를 쓰다 보면 이런 느낌을 받습니다.

“어느 구간은 잘 반응하는데, 어느 구간은 거의 안 변한다…”

이건 센서 문제가 아니라,

👉 전압 분배 회로 자체가 ‘비선형’이기 때문입니다.


1. 기본 원리 (수식 깨짐 방지 버전)

CdS 센서는 빛에 따라 저항이 변합니다.

  • 밝을 때 → 저항 ↓
  • 어두울 때 → 저항 ↑

아두이노는 전압만 읽기 때문에 전압 분배 회로를 사용합니다.

전압 분배 공식

Vout = Vin × (Rsensor / (Rfixed + Rsensor))

2. 핵심: 이 식은 비선형이다

이 식은 직선이 아니라 “곡선”입니다.

즉,

  • 입력: 센서 저항
  • 출력: 전압

👉 둘 사이 관계는 비선형

그래서 나타나는 현상:

  • 초반 → 민감 (전압 많이 변함)
  • 후반 → 둔감 (전압 거의 안 변함)

3. 감도의 정체

감도는 단순 전압 차이가 아니라:

👉 저항 변화 대비 전압 변화량

즉,

감도 ≈ ΔV / ΔR

4. 가장 중요한 포인트

Rsensor ≈ Rfixed 일 때 감도 최대

이 구간이 가장 가파른 영역입니다.


5. 왜 저항 선택이 중요할까

고정 저항은 단순 부품이 아닙니다.

👉 “어디 구간을 민감하게 볼지 결정하는 장치”


Case 1: Rfixed = 1kΩ

  • 밝은 영역 → 감도 좋음
  • 어두운 영역 → 거의 변화 없음

이유:

Rsensor >> Rfixed → Vout ≈ Vin

👉 전압이 5V 근처에 붙어버림


Case 2: Rfixed = 10kΩ

  • 전체 영역에서 고르게 변화

👉 가장 일반적인 선택


6. 감도 분포 개념

감도는 일정하지 않습니다.

👉 특정 구간에서만 높고, 나머지는 낮습니다.

그래서:

고정 저항을 바꾸는 것 = 감도 위치를 이동시키는 것


7. 그럼 선형으로 만들 수 있을까?

가능합니다. 3가지 방법이 있습니다.


8. 방법 1: 소프트웨어 선형화 (추천)

센서 값 → 보정해서 사용

예시:

int raw = analogRead(A0);

// 간단한 로그 보정 예시
float corrected = log(raw + 1);

또는:

  • Lookup Table (LUT)
  • 보간(interpolation)

👉 가장 현실적이고 많이 사용됨


9. 방법 2: 아날로그 회로

  • Op-Amp 사용
  • 로그 증폭기

👉 하드웨어로 선형화


10. 방법 3: 센서 교체

CdS 대신 디지털 센서 사용

  • BH1750
  • TSL2561

👉 내부에서 이미 선형화 완료


11. 엔지니어 관점

이걸 이렇게 보면 된다:

전압 분배 회로 = 비선형 확대기
고정 저항 = 확대 위치 선택기


12. 한 줄 요약

센서는 원래 비선형이고,
고정 저항은 감도를 어디에 집중할지 정하는 장치다.


마무리

센서가 둔한 게 아니다.

👉 우리가 잘못 보고 있는 것

이걸 이해하면:

  • 센서를 “사용”하는 수준에서
    👉 “설계”하는 수준으로 올라간다.

댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

NPN, PNP 트랜지스터 차이점

[PLC] 센서 NPN, PNP 출력 타입별 결선방법 (OMRON E2E-X 시리즈 3선식 배선)

[주식] 한국거래소(KRX) 데이터 API 입문 가이드

[투자] ETF 투자 가이드 : 카테고리별 ETF 선택 전략

[PLC] PLC 아날로그 입출력 기본

[농사] 천연 식물성 살충제 종류 및 제조법

[PLC] 릴레이

[PLC] 서보 모터 브레이크 결선, 왜 릴레이 터미널을 써야 할까?

[PLC] 릴레이 자기유지 (Realy Latch or Sealing)