Witam,
Jakiś czas temu popełniłem sobie kilka sztuk programatorków USBASP, o takich: Link. Działało to i działa do dzisiaj dobrze ale... jest małe ale:
1. jest spory problem, praktycznie niemożliwe żeby programować poprawnie układy z prockiem zasilanym np 3,3V
2. Niestety, gdy do programatora podłączona jest jakaś płytka, to po jej wypięciu i podpięciu ponownie tej samej albo innej, USBASP często się zawiesza.
3. zawieszanie występuje także gdy się tym pięknym klawiszem załącza zasilanie do zewnętrznego układu (znowu trzeba wyciągnąć wtyk USB i włożyć ponownie)
4. Bardzo często się zawiesza gdy programuje się układ z własnym zasilaniem z całkiem innego źródła. Wystarczy że miernikiem się dotknie coś sprawdzi w tym układzie a USBASP może się już przywiesić i znowu wtyk USB wyjąć/włożyć
5. Nieco pomagało sztuczne dołączenie rezystorków na linie ISP ale to niezbyt wiele. Chciałbym, żeby w ogóle się nie zawieszał
Zatem przygotowałem sobie tę wersję w kilku egzemplarzach. Oczywiście ma takie fiuczersy jak:
1. Pełna optoizolacja sygnałów ISP
2. W przypadku załączania zasilania - podłącza się dopiero wtedy GND i VCC do zewnętrznego układu
3. Zabezpieczenie wyjścia zasilania ze złącza KANDA bezpiecznikiem polimerowym PTC 200mA
4. BARDZO DLA MNIE ISTOTNE, układ posiada niezależnie wyprowadzone na zewnątrz zasilanko +3,3V. Czasem bywa potrzebne gdy robi się prototyp na płytce stykowej. Wtedy gdy procek zasilany jest +5V a jakieś peryferia potrzebują oddzielnie +3,3V to proszę bardzo także z oddzielnej złączki z programatora. Wydajność 0,8A (LM1117-3.3)
5. WPROWADZIŁEM SPECJALNE ZABEZPIECZENIE
6. Wyraźna kontrola załączonego poziomu napięcia +3,3V albo +5V. Wykorzystałem tu podświetlacze LED na które zrobiłem nadruk na folii przeźroczystej.
Zielona dioda po środku umieszczona w klawiszu to jedna z diod USBASP - sygnalizaująca prawidłowe działanie po włączeniu. Czerwona po lewej zapala się w trakcie programowania.
Dodam, że napięciem +5V z programatora zasilam nieraz układy pobierające aż 500-900mA, i wtedy typowy usbasp prawie zawsze się rozkracza przy przełączeniach układów. Ten NIE.
SCHEMAT:
Teraz bez problemu mogę programować układy zasilane 3,3V zarówno dostarczając im napięcie czy nie, ale także układy zasilane napięciem niższym czy wyższym - dowolnie od ok 2,5V do 5,5V spokojnie
Ponieważ nieraz programuję seryjnie wiele płytek różnych sterowników wykonywanych na zamówienie to proces wyciągania i wkładania wtyczki USB po zawieszeniu starego USBASP doprowadzał mnie do szału
Teraz jest błogi spokój, odprężenie i pomimo trudnych warunków pracy pod moją ręką - jeszcze ANI RAZU nowy USBASP nie doznał ZAWIESZENIA
Oczywiście poza tym wszystkim to całkiem standardowy USBASP wykonany w oparciu o dowolny procek ATmega8/48/88 itp ... u mnie akurat m8 i zaraz będzie m48
Poniżej kilka fotek:
porównanie wielkości ze starym USBASP
Wiem, wiem że to kolejny klon usbasp na elektrodzie - ale w sumie łatwy do wykonania a po dodaniu przynajmniej optoizolatorów oraz tej diody z kondkiem zabezpieczającej zasilanie procka - to naprawdę opłaca się samemu zrobić takie coś. Oczywiście wcale nie musi mieć tych bajerów czy diod LED , świecidełek itp, ale co ja zrobię że lubię tak mieć
Fajne? Ranking DIY
