Do czego to służy?
Wraz z intensywnym rozwojem elektroniki cyfrowej w latach 70. pojawił się standard TTL,
określający poziomy logiczne związane z zasilaniem układów scalonych napięciem 5V.
Jednak obecnie coraz więcej ukądów scalonych, modułów i akcesoriów zasilanych jest napięciem 3,3V, co związane jest z niższym poziomem napięć stanów logicznych (stanu wysokiego).
Użycie napięcia 5V na liniach sterujących może spowodować uszkodzenie takich niskonapięciowych elementów i układów.
W przypadku stosowania mikrokontrolera zasilanego tradycyjnie napięciem 5V konieczne jest stosowanie pośrednich układów dostosowujących poziom sygnałów logicznych do poziomu 3,3V.
W wielu przypadkach korzystniej jest cały układ (również mikrokontroler) zasilić jednolitym napięciem 3,3V.
Odpada wówczas zagadnienie konwersji napięć w układzie, ale niestety pojawia się problem z programowaniem mikrokontrolera.
Otóż większość programatorów AVR, włączając w to bardzo popularny i tani programator USBASP, na liniach sterujących używa napięcia 5V.
O ile nie zaszkodzi to procesorowi zasilanemu 3,3V (jego porty są zabezpieczone),
to powstaje zagrożenie uszkodzenia podłączonych akcesoriów przeznaczonych do zasilania napięciem 3,3V.
Istnieje prostsze rozwiązanie niż zastosowanie konwertera napięć na liniach ISP. Oto ono.
Jak to działa?
Rys1. Schemat ideowy adaptera zasilania |
Sercem programatora USBASP jest popularny mikrokontroler AVR ATmega8,
który z jednej strony podłączony jest do portu USB komputera, a z drugiej do programowanego układu.
Mikrokontroler programatora jest zasilany napięciem 5V z portu USB i takie też poziomy napięć logicznych występują na jego złączu ISP.
Moje rozwiązanie polega nazasileniu programatora napięciem 3,3V.
Według karty katalogowej stabilna praca mikrokontrolera przy tym napięciu zasilania jest gwarantowana dla taktowania nie wyższego niż 10MHz.
W programatorze występuje kwarc 12MHz,
ale w praktyce nie zauważyłem żadnych problemów ze stabilnością pracy przy obniżonym napięciu zasilania.
Adapter zasilania można wykonać bez ingerencji w programator,
w formie przejściówki z wtykiem i gniazdem USB wg schematu na rysunku 1.
Linie D+ i D– portu USB mają poziomy logiczne 3,3V.
Wystarczy zatem obniżyć napięcie tylko na linii VCC wyjściowego portu USB za pomocą dowolnego scalonego stabilizatora typu Low Dropout
(np. LM3940).
Montaż i uruchomienie
Rys2. Płytka adaptera zasilania |
Z uwagi na prostotę można pokusić się o wbudowanie adaptera bezpośrednio na płytkę programatora przy użyciu miniaturowej płytki-przejściówki.
Płytka adaptera zasilania jest przedstawiona na rysunku 2,
a zmodyfikowany przy jej użyciu programator na fotografiach.
Płytka adaptera jest przyklejona klejącą taśmą dwustronną,
a sam adapter jest włączony w obwód w miejsce bezpiecznika polimerowego (płytka adaptera ma własny bezpiecznik B).
Dzięki temu operacja wstawienia adaptera jest całkowicie odwracalna.
Na płytce adaptera umieszczony jest też przełącznik zasilania SW – 5V/3V3 w postaci jumpera zakładanego na złącze pinhead
(można również zastosować mały przełącznik hebelkowy).
Zatem zmodyfikowany programator może być używany zarówno z układami 3,3V, jak i 5V.
Płytka adaptera przed zamontowaniem |
Powyższy artykuł ukazał się w czasopiśmie "Elektronika dla Wszystkich" w numerze 9/2017
Wykaz elementów
US . . . . . . . . . . . . . . . LM3940 w obudowie SOT-223
C1,C2 . . . . . . . . . . . . . . . . . . . .100nF smd0806
B . . . . . . . . . . bezpiecznik polimerowy 200mA smd1210
SW . . . . . . . . . . . . . .złącze pinhead 3pin + jumper
. . . . . . . . . . . . . . .lub przełącznik hebelkowy smd