niedziela, 20 marca 2011

RoDonM8: Zasilanie modułu głównego - bilans prądów


Autor: Dondu

Artykuł jest częścią cyklu: Robotyka - Teoria oraz kurs budowy robotów.

Zanim rozpoczniemy projektowanie schematu modułu głównego robota należy zrobić bilans zapotrzebowania na prąd całego robota z wyjątkiem samych silników.

Zgodnie z decyzjami wstępnymi musimy zasilać część sterującą robotem z napięcia 4,5 - 5,5V. Wasze roboty będą zasilane ze źródeł o różnych napięciach i prądach dlatego też, aby uniezależnić się od źródła zasilania, które wybierzecie wyposażymy naszą płytę główną we własny regulator napięcia.

Nasz układ będzie opracowany w następujący sposób (przykład z akumulatorem 7,4V):


RoDonM8 - Podział zasilania robota.
RoDonM8 - Podział zasilania robota.


W zależności od zastosowanego sterownika silników może zaistnieć potrzeba zasilania jego części logicznej napięciem niższym niż to, które będzie sterowało silnikami, co pokazałem na powyższym rysunku. Warto byłoby więc zasilać ten fragment sterownika z tego samego regulatora napięcia co moduł główny robota.

Istotnym parametrem jest w naszym przypadku prąd jakiego oczekujemy od regulatora LDO umieszczonego w module głównym RoDonM8-MB (Main Board). Dlatego:

Powinniśmy wstępnie policzyć sumaryczną wartość prądu wszystkich elementów zasilanych z regulatora LDO.

Zsumujemy oczywiście tylko najistotniejsze wartości prądów liczone co najmniej w miliamperach, a na pozostałe przyjmiemy dodatkowy zapas (margines bezpieczeństwa) w trakcie wyboru konkretnego regulatora dla naszego robota. Pod uwagę należy wziąć:


1. Mikrokontroler

W decyzjach wstępnych ustaliliśmy, że nasz mikrokontroler dla wybranej częstotliwości kwarcu 16MHz i napięciu zasilania 5V będzie pobierał około 11mA:


ATmega8a - Charakterystyka prądowa w funkcji częstotliwości zegara i wartości napięcia zasilania.
ATmega8a - Charakterystyka prądowa w funkcji
częstotliwości zegara i wartości napięcia zasilania.

Do bilansu przyjmujemy: 11mA


2. Pamięć SRAM

Także w decyzjach wstępnych wybraliśmy pamięć SRAM, którą będzie 23LCV1024. Zobaczmy więc jakie zapotrzebowanie dot. prądu jest przez nią wymagane. Zaglądamy do datasheet i znajdujemy parametr prądu pracy (ang. Operating current):


Pamięć SRAM 23LCV1024 - Parametr prądu pobieranego w czasie pracy.
Pamięć SRAM 23LCV1024
Parametr prądu pobieranego w czasie pracy.

Z tabelki wynika, że prąd ten przy zasilaniu pamięci z 5,5V i pracy z częstotliwością 20MHz z reguły wynosi 3mA, ale może sięgnąć nawet 10mA. Z naszego punktu widzenia do bilansu sumarycznego prądu powinniśmy przyjąć oczywiście maksymalny możliwy prąd, czyli 10mA.

Do bilansu przyjmujemy: 10mA


3. Odbiornik podczerwieni

Kolejnym elementem będzie odbiornik podczerwieni. Ponieważ producentów jest kilku, a odbiorniki te nie są specjalnie wymagające pod kątem poboru prądu (nie emitują światła tylko na nie reagują), to sprawdzimy to na przykładowym odbiorniku z rodziny TSOP11:


Odbiornik podczerwieni z rodziny TSOP11 - Parametry poboru prądu w czasie pracy.
Odbiornik podczerwieni z rodziny TSOP11
Parametry poboru prądu w czasie pracy.

W nowszych wersjach odbiorników podczerwieni prądy z reguły są niższe.

Do bilansu przyjmujemy: 1,5mA


4. Regulator LDO

Regulator LDO oprócz stabilizowania napięcia na wyjściu, także "pożera" nam nieco energii. Parametrem, który określa wielkość tego prądu jest Quiescent Current dla przypadku, w którym istnieje jakiś prąd wychodzący z regulatora napięcia.

Prąd Quiescent Current może wynosić od mikroamperów do wielu miliamperów.
Na przykład LF50C :

Regulator LDO z rodziny LFxx - Parametry prądu quiescent current.
Regulator LDO z rodziny LFxx
Parametry prądu quiescent current.

Dokumentacja pokazuje, że w momencie gdy nie pobieramy z regulatora żadnego prądu, to on sam zużywa około 0,5-1mA. Ale jeżeli pobieramy 500mA, to dodatkowo regulator zużywa na własne potrzeby nawet 12mA (w skrajnym przypadku). Opisałem to dokładnie w linku powyżej.

Do bilansu przyjmujemy: 12mA

5. Czujniki linii

Zgodnie z decyzjami wstępnymi jako czujniki linii wykorzystamy transoptory odbiciowe, które zawierają w sobie źródło światła w postaci diod LED. Wyprodukowanie światła niestety kosztuje, a ceną jest spory prąd przewodzenia diody, o czym pisałem w artykule:  Transoptor odbiciowy: Zależności prądów diody i kolektora oraz powierzchni

Na przykładzie transoptora CNY70 możemy więc ustalić, że maksymalny możliwy prąd diody wynosi 50mA:


Transoptor odbiciowy CNY70 - Maksymalny możliwy prąd diody LED.
Transoptor odbiciowy CNY70
Maksymalny możliwy prąd diody LED.

Nie będziemy oczywiście przekraczać maksymalnego prądu diody, ale jakiś musimy przyjąć do naszego bilansu. Dlatego popatrzymy na wykres zależności prądu kolektora fototranzystora transoptora od napięcia emiter-kolektor i prądu diody (dla oświetlanej testowej powierzchni - opisałem to w linku powyżej):


Transoptor odbiciowy CNY70 - Charakterystyka transoptora.


Największą przyrost odpowiedzi tranzystora (prądu kolektora) uzyskamy w bezpiecznym przedziale prądu diody IF zawierającego się między krzywymi 10mA i 20mA. To duży przedział pozwalający nam na regulację świecenia diod w zależności od rodzaju i stanu podłoża oraz śledzonej linii.

Dlatego bezpiecznie byłoby gdybyśmy przyjęli, że jedna dioda transoptora będzie wymagała od nas prądu około 20mA.

Ile transoptorów będzie w czujniku linii?

Zgodnie z decyzjami wstępnymi w RoDonM8 do odczytu listwy czujników mamy używać przetwornik ADC. W Atmega8A mamy do dyspozycji zaledwie osiem  kanałów ADC. Dwa z nich wykorzystamy do pomiaru prądów silników, dla czujników linii pozostanie nam więc co najwyżej sześć.

Sześć transoptorów to mało, o czym pisałem w artykule:  Linefollower - Listwa czujników linii
a na pewno chcemy, by robot nie zajął ostatniego miejsca na zawodach :-)

Dlatego będziemy się starli w jakiś sposób zwiększyć ilość dostępnych kanałów, przyjmijmy więc na wszelki wypadek, że mamy co najmniej dwa razy tyle, czyli 12 sztuk. Stąd spodziewane zapotrzebowanie na prąd wynosi:



Do bilansu przyjmujemy: 240mA


6. Sterownik silników

Aby robot jechał musimy opracować sterowniki silników, po jednym dla prawej i lewej strony robota. Możemy także skorzystać z jednego wspólnego sterownika dla dwóch silników.

Sterownik będzie podawał silnikowi prąd bezpośrednio z akumulatorów, ale do poprawnej pracy w zależności od wersji może potrzebować także zasilania z naszego regulatora. Dotyczy to sytuacji, w której sterownik zawiera elementy logiki (kontrola pracy sterownika), a te nie mogą być zasilane z tego samego źródła co silnik, ze względu na:
  • różnicę napięcia (silniki często potrzebują znacznie wyższego napięcia),
  • generowane przez silniki zakłócenia.


Z tych powodów, z reguły scalone sterowniki silników posiadają dwa piny zasilające. Dla przykładu jedne z najbardziej popularnych, to scalone mostki-H L293D i L298:



L293D - Sterownik silników DC (prądu stałego) - schemat pinów i ich funkcji z zaznaczonymi pinami zasilającymi.


L298 - Sterownik silników DC (prądu stałego) - schemat pinów i ich funkcji z zaznaczonymi pinami zasilającymi.


Zaglądamy więc do tabelek w poszukiwaniu napięć i prądów pobieranych przez część logiczną w/w pokazanych sterowników:

L293D - Sterownik silników DC (prądu stałego) - Parametry prądów quiescent pinów zasilania.


L298 - Sterownik silników DC (prądu stałego) - Parametry prądów quiescent pinów zasilania.


Kolory pinów na rysunkach odpowiadają kolorom ich parametrów w tabelach.

Na powyższych fragmentach możesz znaleźć informacje dot. napięcia i prądu części logicznej oraz części dot. stricte silników. W tym momencie jednak interesuje nas ile prądu pobiera część logiczna sterownika, ponieważ będziemy ją zasilać z regulatora LDO znajdującego się w naszym module głównym.

Interesuje nas więc parametr Iss. W przypadku L298 musimy się przygotować na 36mA, ale w przypadku L293D, już nawet 60mA (!).

Jak widzisz to są całkiem pokaźne wartości, a związane jest to z tym, że wykonane są w starej technologi. Jeżeli zastosujesz mostek wykonany w technologi MOS, jak np. TB6612FNG:


TB6612FNG - Sterownik silników DC (prądu stałego) - schemat pinów i ich funkcji z zaznaczonymi pinami zasilającymi.


to możesz się spodziewać znacznie niższego prądu części logicznej (tutaj pin Vcc, czyli szukamy parametru prądu Icc):


TB6612FNG - Sterownik silników DC (prądu stałego) - Parametry prądów quiescent pinów zasilania.


i stwierdzamy, że jest już przyzwoicie, bo maksymalnie 2,2mA :-)

W niniejszym cyklu artykułów będę prezentował różne wersje sterowników, stąd przyjmę bezpieczną granicę 100mA. Ty jednak możesz przyjąć ją według tego jaki sterownik zastosujesz.

Do bilansu przyjmujemy: 100mA


7. Pozostałe pożeracze prądu

Jednym z nich mogą być dodatkowe diody LED po jednej dla każdego koła, by móc naocznie lub za pomocą kamery obserwować, czy koło przyspiesza, czy też hamuje.

Diody LED, to "wydatek" rzędu kilkunastu mA na jedną z nich. Przyjmujmy więc, że łącznie będzie to 15mA, stąd dla dwóch diod otrzymamy 30mA.

Jeżeli w swoim robocie planujesz wykorzystać jeszcze inne elementy, które będą zasilane z regulatora LDO na płytce głównej RoDonM8, to powinieneś je tutaj uwzględnić.

Do bilansu przyjmujemy: 30mA



Prąd sumaryczny (bilans)

Sumujemy i otrzymujemy:

FunkcjaWartość maksymalna
[mA]
1. Mikrokontroler11
2. Pamięć SRAM10
3. Odbiornik podczerwieni1,5
4. Regulator LDO12
5. Czujniki podczerwieni240
6. Sterownik silników100
7. Inne30
Razem:404,5


… po czym łapiemy się za głowę mówiąc: Aż tyle?!

Tak, aż tyle, ale pamiętaj, że przyjęliśmy wstępne maksymalne zapotrzebowanie, na które musimy być przygotowani. W zależności od konfiguracji robota, spokojnie zmniejszy się ono o co najmniej 100mA.


5 komentarzy:

  1. 400mA - no no, to ze stabilizatora może się zrobić niezła grzałka :). A z akumulatora będzie pobierany jeszcze niemały prąd silników. Z mojego punktu widzenia, w takim robociku jednak priorytetem są osiągi, a w mniejszym stopniu oszczędność baterii - na zawodach czas jego pracy jest rzędu jednej minuty. Ale z drugiej strony mniejszy pobór prądu = mniejszy akumulator = lepsze osiągi.

    Druga sprawa: widzę że zabawka robi się coraz droższa: transoptory 12x2,30zł, ram 12zł, sterownik dc 10zł, do tego pewnie olbrzymi koszt silników wraz z podwoziem.

    Trzecia sprawa: jak już widzę że idziemy na całość, a także interesuje nas akwizycja danych do analizy, to może warto zastosować na pokładzie akcelerometr? Jeśli nie w tej wersji, bo widzę brak wolnego I2C, to może w kolejnej z ATXMEGA?

    OdpowiedzUsuń
    Odpowiedzi
    1. Dziękuję z merytoryczne uwagi i pytania :-)

      Ad. 1
      W poprzednich artykułach już zwracałem na to uwagę, że należy minimalizować pobór prądu i wagę użytych elementów wszędzie tam gdzie jest to możliwe właśnie po to, by nie trzeba było taszczyć na garbie niepotrzebnie dużego akumulatora zgodnie z wyznawaną przeze mnie dewizą: "Ziarnko do ziarnka ..." :-)

      W niniejszym artykule pokazuję jedynie jak należy podchodzić do tego etapu planowania, kiedy jeszcze nie wiemy jakie elementy zastosujemy. W tym cyklu artykułów, pokaże także jak zbudować własny mostek na MOSFET-ach, ale użyjemy także innej wersji sterownika, być może jednego albo wszystkich z wymienionych powyżej. Dlatego artykuł pisany jest w sposób "ogólny".

      Dlatego faktyczne prądy będziemy liczyć za każdym wariantem, a tutaj przyjmujemy tylko maksymalny możliwy przypadek, który najprawdopodobniej nam się nie przytrafi.


      Ad 2.
      Robotyka nie jest tania, jeżeli korzysta się z nowych elementów. Ale większość z młodych ludzi ma dostęp do samochodów sterowanych itp. lub ma dostęp do kogoś, kto takie rzeczy ma w koszu z zepsutymi zabawkami.

      Poza tym istnieje Allegro, na którym można kupić za grosze używane:
      - silniki DC,
      - gotowe podwozia starych modeli RC wraz z silnikami,
      - małe zabawki zdalnie sterowane (czterokołowce bez skrętnych kół z dwoma silnikami) - takie podwozie zaprezentuję w mojej wersji RoDonM8 (kupione za 17zł z wysyłką - trzeba szukać i czekać),
      - itd.

      Podwoziem może być kawałek PCB - to zależy tylko od czytelnika. Oczywiście jeżeli chce startować w zawodach i zdobywać medale, to koszty są znacznie większe.

      Z ankiety którą przeprowadziłem przed rozpoczęciem cyklu wynika, że zdecydowana większość czytelników, jest w stanie sporo gotówki na ten cel wyłożyć. Dlatego w tym cyklu będą tanie oraz droższe elementy, tak by każdy mógł dopasować się do swoich zasobów finansowych.


      Ad. 3
      Akcelerometr będzie w zaawansowanym robocie z XMega, ale nie tym który aktualnie Tmf tworzy (RoDonXM) równolegle do mojego RoDonM8 (zgodność z pinologią) tylko w następnym, którym zajmiemy się zimą. Tam skupimy się na śrubowaniu osiągów do granic możliwości, a akcelerometr, będzie jednym z najważniejszych jego elementów :-)

      Usuń
    2. Pinów w XMEGA E5 mi wystarczy, pamięci (użytkownik może włożyć wersję z 32 kB FLASH) też, jak będę robił płytkę to wrzucę footprint pod akcelerometr. Jacek, tylko jak będziesz ją sprawdzał, to przypomnij mi o tym proszę gdybym zapomniał :) Ew. jest jeszcze jedna możliwość - na Allegro są aukcję modułu 9DOF lub 11 DOF za jakieś grosze. Można na płytce umieścić złącze dla takiego modułu. Nie będzie problemów z przylutowaniem elementów.

      Usuń
    3. Tylko jeszcze nie wiemy, jaki będzie akcelerometr :-)
      Na razie go nie dodawaj, zrobimy go jako osobny moduł do płytki głównej.

      Usuń
    4. Wrzuć na allegro hasło moduł akcelerometru - wychodzą całkiem fajne, małe i wygodne do połączenia. Biorąc pod uwagę w jakich są obudowach wygodniej kupić moduł - przylutować je naprawdę nie jest łatwo.

      Usuń