Monitorowanie napięcia bez znanego odniesienia

12

Pracuję na małej platformie z czujnikami, która wyczerpuje baterie. Chciałbym móc uruchomić alarm, gdy napięcie spadnie zbyt nisko. Problem polega na tym, że wszystko, czego używam do pomiaru tego napięcia, będzie zasilane przez to samo źródło napięcia. Za to, co jest warte, używam klonów Arduino Pro-mini (3,3 V) z akumulatorów 4xAA (4,8 V na początek, ale system wydaje się działać aż do 2 V lub mniej, włączając nadajnik XBee).

Czy ktoś ma jakieś sprytne pomysły, jak to zrobić? Wygląda na to, że wszystko, co korzysta z wejść analogowych układu ATmega, po prostu porównuje napięcie wejściowe z samym sobą. Może sprawdzanie różnicy między tym, co pochodzi z regulatora, a tym, co pochodzi z samych akumulatorów?

Edebill
źródło

Odpowiedzi:

10

Większość (wszystkich?) AVR z ADC ma wewnętrzne napięcie odniesienia, które jest regulowane do stałej wartości, niezależnie od napięcia zasilania. Sprawdź swój arkusz danych ... w układzie, którego używam, jest 2,56 V. Istnieje rejestr, który wybiera między porównywaniem z Vcc, AREF lub wewnętrznym napięciem odniesienia. Wystarczy ustawić go do porównania z wewnętrznym napięciem odniesienia, a także przy użyciu dzielnika napięcia, aby maksymalne napięcie nigdy nie przekraczało 2,56 V.

davr
źródło
1
To zwykle odniesienie do pasma wzbronionego jest jednym z najbardziej niezawodnych odniesień. Są bardzo stabilne w szerokim zakresie temperatur.
Kortuk,
Akceptuję ten, ponieważ: a) pozwoli mi to zmierzyć napięcie w czasie ib) może być wykonalne z częściami, które już mam pod ręką.
edebill
7

Co powiesz na nadzorcę zaopatrzenia, takiego jak w Teksasie ?

Zazwyczaj monitorują zasilanie, a jeśli spadnie poniżej ustalonego progu, pin wyjściowy zmienia stan.

Następnie możesz podłączyć to do nie-maskowalnego styku przerwania (lub resetu) procesora.

Steve Melnikoff
źródło
to najlepsza odpowiedź - naprawdę potrzebujesz rozwiązania sprzętowego, które stanowi komparator + generator impulsów. Pomiar napięcia za pomocą ADC nie ochroni Cię przed szybkimi usterkami, gdy napięcie zasilania spadnie szybciej niż ADC może to zmierzyć.
Jason S
Czy takie sytuacje mogą się zdarzyć przy zasilaniu z baterii?
edebill
Być może masz obciążenie wysokoprądowe.
Jason S,
Lub jeśli zawodzi regulator 3,3 V!
Jason S,
1

Jeśli twoje Arduino nie obsługuje pomiaru wewnętrznego odniesienia pasma, po prostu użyj zewnętrznego odniesienia.

Napięcie na pinie wejściowym będzie utrzymywane na stałym poziomie przez diodę referencyjną, ale odczytana wartość będzie się różnić w zależności od zasilania, ponieważ ADC odnoszą się do zasilania. Jeśli na przykład wartość odniesienia wynosi 1,0 V, a ADC odczytuje 512 z 1024, oznacza to, że szyny napięciowe wynoszą 2 V.

endolit
źródło