알려진 기준이없는 모니터링 전압


12

배터리가 부족한 작은 센서 플랫폼에서 일하고 있습니다. 전압이 너무 낮아지면 경고를 트리거 할 수 있기를 바랍니다. 문제는 전압을 측정하는 데 사용하는 모든 것이 동일한 전압 소스에 의해 전원이 공급된다는 것입니다. 가치있는 것은 4xAA 충전지에서 Arduino Pro-mini 클론 (3.3V) (4.8V부터 시작하지만 XBee 송신기를 포함하여 2V 정도까지 작동하는 것 같습니다)을 실행하고 있습니다.

이 작업을 수행하는 방법에 대한 영리한 아이디어가 있습니까? ATmega 칩의 아날로그 입력을 사용하는 것은 입력 전압과 자체를 비교하는 것 같습니다. 아마도 레귤레이터에서 오는 것과 배터리 자체에서 오는 것의 차이점을 확인합니까?

답변:


10

ADC가 장착 된 대부분의 (모든?) AVR에는 전압 공급과 무관하게 일정한 값으로 조정되는 내부 기준 전압이 있습니다. 데이터 시트를 확인하십시오 ... 사용중인 칩의 2.56V입니다. Vcc, AREF 또는 내부 전압 레퍼런스와 비교하는 것을 선택하는 레지스터가 있습니다. 최대 전압이 2.56V를 넘지 않도록 전압 분배기를 사용하는 것과 함께 내부 전압 레퍼런스와 비교하도록 설정했습니다.


1
일반적으로 밴드 갭 참조는 가장 신뢰할 수있는 참조 중 하나입니다. 넓은 온도 범위에서 매우 안정적입니다.
Kortuk

a) 시간이 지남에 따라 전압을 측정 할 수 있고 b) 이미 가지고있는 부품으로 가능할 수 있기 때문에 이것을 받아들입니다.
edebill 2009


7

텍사스 사람들 과 같은 공급 감독자는 어떻습니까?

일반적으로 전원을 모니터링하고 고정 임계 값 아래로 떨어지면 출력 핀의 상태가 변경됩니다.

그런 다음이를 프로세서의 마스크 불가능 인터럽트 (또는 재설정) 핀에 연결할 수 있습니다.


이것이 가장 좋은 대답입니다-당신은 실제로 비교기 + 펄스 발생기 인 하드웨어 솔루션이 필요합니다. ADC로 전압을 측정해도 ADC가 측정 할 수있는 것보다 공급 전압이 빠르게 떨어지는 빠른 글리치로부터 보호 할 수는 없습니다.
Jason S

배터리로 실행할 때 이런 일이 일어날 가능성이 있습니까?
edebill 2009

고전류 부하가 있다면 아마도 그렇습니다.
Jason S

또는 3.3V 레귤레이터가 고장난 경우!
Jason S

1

Arduino가 내부 밴드 갭 참조 측정을 지원하지 않는 경우 외부 참조를 사용하십시오.

입력 핀의 전압은 레퍼런스 다이오드에 의해 일정하게 유지되지만 ADC가 전원을 기준으로하기 때문에 읽은 값은 전원에 따라 다릅니다. 예를 들어 기준이 1.0V이고 ADC가 1024에서 512를 읽는 경우 전압 레일이 2V임을 알 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.