2013-09-30 3 views
0

Iam은 포함 된 c를 사용하여 그림 16f73에서 adc 값을 읽음으로써 제스처를 인식하는 프로젝트를 수행합니다. 모든 단일 ADC 채널을 사용하는 동안 잘 작동합니다. 여러 채널을 사용할 때 값은 서로 영향을받습니다. 하드웨어 오류 또는 소프트웨어 문제입니까?두 개의 아날로그 채널이 서로 영향을 끼칩니다.

답변

1

아마도. 그것은 하나 또는 다른 것, 또는 둘 다일 가능성이 매우 높습니다. 문제를 절반으로 나눕니다.

한 번에 하나씩 제거하십시오. 두 아날로그 입력의 스코프/미터. 하나의 입력 변경 - 다른 변경합니까? 그렇다면 적어도 하드웨어 문제가 있습니다. 그렇지 않은 경우 소프트웨어입니다.

디버깅 101입니다.

1

이것은 하드웨어 효과이지만 오류는 아닙니다. datasheet에서

: 그 지정된 정확도를 충족시킬 수있는 A/D 컨버터

11.1 A/D 취득 요구 사항 는 충전 유지 커패시터 (CHOLD)는 완전히에 충전 할 수 있어야합니다 입력 채널 전압 레벨. 아날로그 입력 모델은 그림 11-2에 나와 있습니다. 소스 임피던스 (RS)와 내부 샘플링 스위치 (RSS) 임피던스는 직접적으로 커패시터 CHOLD를 으로 충전하는 데 필요한 시간에 영향을줍니다. 샘플링 스위치 (RSS) 임피던스는 장치 전압 (VDD)에 따라 달라 지므로 그림 11-2를 참조하십시오. 소스 임피던스는 핀 누설 전류로 인해 아날로그 입력에서 오프셋 전압 인 에 영향을 미칩니다. 아날로그 소스의 최대 권장 임피던스는 10kΩ입니다. 아날로그 입력 채널이 (변경됨)으로 선택되면 변환주기를 시작하기 전에 획득주기가 을 통과해야합니다. 최소 획득 시간 TACQ을 계산하려면 PICmicro ™ Mid-Range MCU 제품군 참조 매뉴얼 (DS33023)을 참조하십시오. 그러나 일반적으로 10kΩ의 최대 소스 임피던스와 100 ℃의 온도에서 TACQ는 16μsec를 넘지 않습니다.

1

모든 ADC 핀을 구동하는 높은 임피던스 소스가있을 가능성이 높습니다. 멀티플렉서가 한 입력에서 다음 입력으로 전환 할 때 이전 입력에서 ADC의 샘플링 커패시터에 저장된 모든 전하가 여전히 존재합니다.

각 입력을 적절한 연산 증폭기의 출력으로 구동하면 ADC의 멀티플렉서가 전환 될 때 연산 증폭기가 샘플링 커패시터에서 충전을 구동하거나 새로운 입력에 필요한 시간을 빨아 들일 수있다 읽기가 크게 줄일 수 있습니다. 또한이 방법을 사용하면 읽고 자하는 전압을로드하지 않습니다.

낮은 임피던스 소스로 운전할 수없는 경우 새 입력 값이 안정화 될 충분한 시간이 있는지 확인하십시오.

관련 문제