Czołg – zarządzanie zasilaniem

Akumulatory LiPo mają wiele zalet. Przy stosunkowo niewielkich rozmiarach i wadze dają wysokie napięcia i mnóstwo mocy. Nie zapominajcie jednak, że trzeba monitorować poziom napięcia ogniw. Ich nadmierne rozładowanie pod dużym prądem może grozić bardzo nieprzyjemnymi konsekwencjami (uszkodzeniem ogniwa i pożarem). Dodatkowo warto mierzyć prąd pobierany z akumulatora – nadmierny może być sygnałem, że czołg trafił na przeszkodę, której nie może pokonać.

 


Więcej o budowie czołgu?

Seria tekstów o budowie czołgu składa się z:

Zgodnie z tym postanowiłem wzbogacić zasilanie o:

  • Przekaźnik sterowany z Arduino, który może odciąć zasilanie w raszie problemów,
  • Miernik natężenia prądu pobieranego z akumulatora,
  • Miernik napięcia baterii.

Miernik natężenia prądu

Do pomiaru natężenia prądu użyję modułu ACS712 (max 5A). Najłatwiej obsłużyć go za pomocą biblioteki ACS712, którą pobierzecie bezpośrednio ze środowiska Arduino IDE. Pamiętajcie, aby:

  • Moduł włączyć w obwód szeregowo,
  • Vcc i GND podłączcie do Arduino,
  • Wybierzcie jeden z pinów analogowych Arduino, podłączcie go do wyjścia modułu.

Na wyjściu moduł podaje napięcie zależne od natężenia prądu przepływającego przez jego terminal. Dla wersji miernika do 5A, 1A=185mV. Moduł wykrywa przepływ prądu w obydwu kierunkach. Przy braku poboru wskaże coś koło 2.5 V (w każdym razie połowę napięcia referencyjnego). Zależnie od kierunku prądu na wyjściu czujnika napięcie będzie poniżej lub powyżej wartości środkowej. Tak to działa, ale nie musicie się przejmować szczegółami – biblioteka zrobi to za Was.

Przekaźnik (relay)

Przekaźnik ustawię za wyłącznikiem głównym. Jego zadaniem będzie włączanie/ wyłączanie zasilania z akumulatora na silniki. Zasilanie z akumulatora powinno być podłączone do normalnie otwartych styków. Tak więc, '+’ z akumulatora powinien iść na blok COM a wyjście z bloku do NO. Pozostaje wybrać pin (cyfrowy) w Arduino, podłączyć masę i zasilanie.

Pomiar napięcia baterii

Generalnie piny analogowe arduino mogą mierzyć napięcie do 5v. Ponieważ akumulator LiPo może mieć napięcie do 8.4V, konieczne jest podzielenie tego napięcia na 2, np za pomocą takiego dzielnika:

Wzór:

Uwy = Uwe * R2/ (R1+R2)

Jeżeli więc za R1=R2=100k, to: Uwy = 1/2 Uwe. Wybierzcie duże rezystory, np. 100k. Teraz wystarczy podłączyć wszystko pod Arduino.

Ciekawa jest druga funkcja, getVoltagePercent(), która obicza ile użytecznej energii zostało w akumulatorze w stosunku do minimalnego napięcia akumulatora LiPo (dla 2S to 6.55v).

Pełny kod Arduino

…znadziecie w pierwszym artykule z serii o czołgu, tutaj: Czołg (Arduino + lm298 + Bluetooth)