logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Mierzenie napięcia ogniwa, ATmegą328P która jest zasilana tym ogniwem. [IDE]

kacpo1 27 Gru 2017 22:07 621 7
  • #1 16917738
    kacpo1
    Poziom 33  
    Witam.

    Potrzebuję w projekcie użyć zarówno ogniw jak i ATmegi. Jako, że liczy się dla mnie ilość zajmowanego miejsca, nie chciałem dokupować modułu zabezpieczającego, tylko samemu go zrobić za pomocą ATmegi. Problem tylko tkwi w tym, że jest na tyle mało miejsca, że dodatkowe źródło napięcia, które byłoby odniesieniem, po prostu się nie zmieści.

    (Bo jeśli dobrze rozumiem, to dając napięcie z ogniwa na pin Aref, zawsze z odczytu pinu analogowego dostanę 1023. Dzielniki napięcia również nic nie dadzą, ponieważ napięcie będzie się zmieniało i na dzielniku i na Aref przez co odczyt będzie ten sam.)

    Więc ktoś ma pomysł jak rozwiązać ten problem?
  • #2 16917754
    excray
    Poziom 41  
    To słaby pomysł. Moduły zabezpieczające są naprawdę mikroskopijne. I na dodatek specjalizowane pod zabezpieczanie ogniwa. A co do napięcia odniesienia to atmega ma takowe wbudowane.
  • #3 16917791
    kacpo1
    Poziom 33  
    excray napisał:
    To słaby pomysł. Moduły zabezpieczające są naprawdę mikroskopijne. I na dodatek specjalizowane pod zabezpieczanie ogniwa. A co do napięcia odniesienia to atmega ma takowe wbudowane.


    Dobra. Od początku - Mówiłem, że zależy mi na miejscu, ale tak czy inaczej ATmega tam musi być, a to że zabierze ten jeden pin analogowy i jeden i/o to żadna strata.
    Cytat:
    I na dodatek specjalizowane pod zabezpieczanie ogniwa.

    A czy będzie jakaś różnica między takim układem, a ATmegą która po odczytaniu napięcia 3V po prostu "odetnie" ogniwo ? (W projekcie nie ma żadnych elementów wrażliwych na takie odcięcia)

    A co do tego napięcia odniesienia. To ile ono wynosi? Można je jakoś ustawić? Czyli po prostu pin Aref zostawić w spokoju a ATmega użyje wewnętrznego odniesienia, tak?
  • #4 16917797
    Konto nie istnieje
    Konto nie istnieje  
  • #5 16917831
    kacpo1
    Poziom 33  
    Piotrus_999 napisał:
    mierzysz wbudowane napięcie odniesienia wzgledęm zasilania. Ponieważ napięcie wewn znasz odpowiednio przekształcając wzory możesz obliczyć napięcie zasilania


    Cytat:
    mierzysz wbudowane napięcie odniesienia wzgledęm zasilania.


    Za pomocą arduino IDE jest to możliwe?
  • #6 16917855
    excray
    Poziom 41  
    kacpo1 napisał:
    Dobra. Od początku - Mówiłem, że zależy mi na miejscu

    Zobacz sobie ile takie moduły zajmują miejsca.
    kacpo1 napisał:
    A czy będzie jakaś różnica między takim układem, a ATmegą która po odczytaniu napięcia 3V po prostu "odetnie" ogniwo ? (W projekcie nie ma żadnych elementów wrażliwych na takie odcięcia)

    Zdecydowanie. Szczególnie pod względem niezawodności i bezpieczeństwa.
  • #7 16917856
    Konto nie istnieje
    Konto nie istnieje  
  • #8 16917867
    kacpo1
    Poziom 33  
    Dobra. Problem rozwiązany.

    Rozwiązanie :

    w funkcji setup (jeśli chcemy zmieniać między różnymi, to w loop) ustawiamy wewnętrzne napięcie na 1.1V za pomocą analogReference(INTERNAL);

    DEFAULT: standardowe odniesienie 5V (płytki Arduino 5V) lub 3.3V (Płytki 3.3V)
    INTERNAL: wbudowane 1.1V w ATmega168 i ATmega328 a 2.56V w ATmega8 (nie działa z Arduino Mega)
    INTERNAL1V1: wbudowane odniesienie 1.1V (Tylko Arduino Mega)
    INTERNAL2V56: wbudowanie 2.56V (-||-)
    EXTERNAL: Napięcie podane na pin Aref (tylko od 0 do 5V).
REKLAMA