Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Optoizolowany programator AVR

manekinen 22 Sie 2009 14:24 12568 19
  • Optoizolowany programator AVR

    Programator może się pomyślnie komunikować z układami AVR zasilanymi już od 1.8V, i aż do 6V, i o różnicy potencjałów do 2.5kV. Czegoż więcej chcieć? Rolę izolatora pełnią transoptory 6N137 znajdujące się na liniach MOSI, MISO, i SCK. Są to szybkie transoptory, o przepustowości do 10mbit/s. Na linii reset znajduje się zwykły transoptor typu PC817. Do strony “wtórnej” z układu docelowego należy doprowadzić jego napięcie zasilania. Za pomocą zworki JP1 można połączyć masę obydwu stron jeśli nie jest wymagana izolacja, zworką JP2 można połączyć linie zasilające aby zasilić układ docelowy z programatora, a zworką JP3 włączamy programowanie układów z zegarem poniżej 1.5MHz. Z początku miała być to izolacja galwaniczna ale ze względu na trudnodostępność odpowiednich układów zdecydowałem się na izolację optyczną – a z pomocą przyszedł mi ten wątek. Usunięte zostały niepotrzebne linie Rx i Tx z racji tego że autor przez 4 lata nie wprowadził ich obsługi, i raczej się na to nie zapowiada. Usunięta też została zworka self-programming zajmująca miejsce, aktualizując firmware raz do roku można się pofatygować i zewrzeć linie ręcznie. Tutaj znajdue się szerszy opis programatora, a tutaj strona autora wraz z najnowszym firmware i innymi wersjami programatora. Płytka została przystosowana do pudełeczka po tzw. samplach.


    Optoizolowany programator AVR Optoizolowany programator AVR Optoizolowany programator AVR Optoizolowany programator AVR

    Optoizolowany programator AVR Optoizolowany programator AVR Optoizolowany programator AVR Optoizolowany programator AVR

    Optoizolowany programator AVR Optoizolowany programator AVR




    Nowością natomiast ( w firmware 2009.02.28 ) jest programowe wybieranie prędkości programowania, nie używając żadnej zworki, z poziomu avrdude można wybrać jedną z 12 prędkości SCK. Od 500Hz do 1.5MHz! Wyboru dokonujemy za pomocą dodatkowego przełącznika “-B wartość“. Więc od teraz można zaprogramować nawet układ z ustawionymi fusebitami 32KHz /8 (zegar 4096Hz), a wybierając prędkość 1.5MHz (wymagany zegar 8MHz) układ zaprogramujemy 4 razy szybciej niż w poprzedniej wersji firmware (375KHz). Poniżej znajduje się spis dostępnych prędkości (przykładowe użycie “-B 40.00″ da nam prędkość 32KHz). Aby skorzystać z tego udogodnienia, należy przekompilować avrdude wraz z patchem avrdude.diff lub pobrać już przekompilowany w załączniku (dzięki Tomasz). Podane niżej liczby mają niewielki rozrzut w skrajnych wartościach, avrdude zawsze wyświetli informację z jaką prędkością rozpoczyna programowanie.

    mniej niż 0.5 lub w ogóle – ustawienie domyślne zworką
    0.5 – 1.0 -> 1.5 MHz
    1.0 – 2.0 -> 750 kHz
    2.0 – 4.0 -> 375 kHz
    4.0 – 8.0 -> 187.5 kHz
    8.0 – 20.96 -> 93.75 kHz
    20.96 – 46.88 -> 32 kHz
    46.88 – 93.75 -> 16 kHz
    93.75 – 187.5 -> 8 kHz
    187.5 – 375.0 -> 4 kHz
    375.0 – 750.0 -> 2 kHz
    750.0 – 1500.0 -> 1 Khz
    więcej niż 1500.0 -> 500 Hz

    UWAGA! Jeśli chcemy naprawdę używać programatora przy układach o różnicy potencjałów do 2.5kV, należy starannie odizolować obie połówki po stronie druku, zwracając szczególna uwagę na pady zworek do łączenia zasilania i masy. Są one bowiem bardzo blisko siebie, należy umieścić między nimi kawałek izolatora, a przy samym programowaniu także włożyć kawałek izolatora pomiędzy piny od strony elementów. Piny te są oddalone od siebie zaledwie o 1.5mm, więc przy wyższej wilgotności powietrza zachodzi wysokie ryzyko przebicia. Układ nie był testowany z takimi napięciami, i nie ponoszę żadnej odpowiedzialności za ewentualne szkody – robisz to na własne ryzyko!


    W załączniku projekt płytki eagle, projekt płytki PDF, nowy firmware, nowe sterowniki (opcjonalnie) Co do nowszych sterowników czytać tutaj -> https://www.elektroda.pl/rtvforum/topic1276935.html

    Urządzenie powstało już w kwietniu, i od tamtej pory nie było ani jednego problemu z programowaniem, ostatnio dużo programowałem przy napięciach 2V (mega88v).

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    manekinen
    Poziom 29  
    Offline 
    manekinen napisał 1629 postów o ocenie 2253, pomógł 75 razy. Mieszka w mieście Kętrzyn. Jest z nami od 2006 roku.
  • TermopastyTermopasty
  • #2
    d-evil
    Poziom 12  
    Niezły projekt, estetycznie wykonane.

    Mam pytanko odnośnie transoptorów. Czy to czasem 6N137, a nie 6N317 jak jest napisane w opisie. Zainteresowałem się tym, bo poszukuję szybkich transoptorów do przesyłania informacji dużym transferem.
  • TermopastyTermopasty
  • #3
    REVISOR
    Poziom 25  
    Obudowa zapewne po samplach Maxima, układ bardzo przydatny, zwlaszcza jak się nie chce uwalić usb w drogim komputerze. Przyłączam się do pytania: jak został wykonany opis na płytce?
    Poza tym jak sam autor pisze przydało by się zadbać o odstęp pomiędzy ścierzkami i elementmi izolowanych stron.
  • #4
    d-evil
    Poziom 12  
    Domyślam się, że opisy na płytce wykonane są tą samą metodą co ścieżki (termotransfer). Robi się to tak, jak płytki dwustronne. Na zdjęciach widać resztki papieru kredowego. Dla poprawy wyglądu mógłbyś je usunąć, z tym że jest to trudne (łatwo uszkodzić napisy) ale wykonalne.

    A propos avrdude: czy sam kompilowałeś? Czy współpracuje on z programatorem avrdoper?
  • #5
    manekinen
    Poziom 29  
    d-evil przepraszam za błąd, transoptory to 6N137. Poprawiłem też linki w opisie, bo cały opis skopiowałem ze swojej strony i wkleiłem zapominając o odnośnikach :)

    Napisy wykonane termotransferem, kredę z toneru można łatwo usunąć poprzez zanurzenie płytki w roztworze kwasku cytrynowego, ale akurat chciałem wypróbować białe napisy i nie usuwałem kredy - całość polakierowałewm zwykłym lakierem w spray'u, niestety część kredy nasiąkła i stała się czarna.

    Co do avrdude: czytaj opis, dodałem link. Skompilował je kolega z naszego forum.

    Revisor Tak, obudowa od maxima. Transoptory nie tylko pełnią rolę zabezpieczenia komputera, ale również umożliwiają programowanie AVR'a zasilanego niższym napięciem (kto kiedykolwiek próbował zaprogramować układ zasilany z np. 2V, sygnałami 5V, ten wie jak szybko układ potrafi umrzeć). odstępu większego między ścieżkami nie zrobisz, ale zawsze można wkleić kawałek izolatora i psiknąć lakierem izolacyjnym.
  • #6
    grendel123
    Poziom 15  
    --> d-evil

    Resztki po papierze kredowym usuwa się idealnie mocząc płytkę w occie i pocierając delikatnym pędzelkiem. Powierzchnia tonera jest wtedy błyszcząca i nie posiada przebarwień.
  • #7
    rpal
    Poziom 27  
    Takie pytanie, co z wyjątkiem izolacji galwanicznej jest odkrywczego w tej kolejnej mutacji USBasp ?
    Dla amatorów termotransferu, dość łątwo resztki papieru kredowego można usunąć w 10% kwasie solnym, wystarczy potem musnąc powierzchnię watą lub czymś miękkim i znika. Zmienia się czasem kolor na granatowy (myśle o tonerze) ale to zależy już od rodzaju tonera.
  • #8
    kulpina
    Poziom 14  
    Można też delikatnie natłuścić napisy chociażby kremem do rąk. Papier staje się wtedy przezroczysty. Sposób nietypowy, aczkolwiek skuteczny ^^

    :arrow: grendel123
    Ten ocet to serio działa? Nie byłoby później jakiś uszkodzeń tonera/ problemów w trawieniu gdybym chciał tak potraktować płytkę przed trawieniem? Mam problemy z resztaki papieru na płytkach wlaśnie...

    I pytanie ogólnie. Czy ta modyfikacja i każda inna USBasp działa pod vistą x64?
    Zakładam, że nie każdy ma x64 i nie moze sprawdzić, więc inne pytanie. Czy trzeba wgrywać jakieś dodatkowe sterowniki, czy całość działa już na tym o jest w kompie?
  • #9
    grendel123
    Poziom 15  
    --> kulpina
    Ja tak robię i nie mam żadnych problemów, a ocet jest w każdej kuchni (nie to co kwas solny :D). Trzeba zalać płytkę na minutę i potrzeć albo opuszkami palców, albo delikatnym pędzelkiem. Oczywiście toner musi być dobrze przyklejony do płytki (ja używam laminatora).
  • #10
    kulpina
    Poziom 14  
    No toner jak sie przyklei to już się trzyma, bo próbowałem szczotką trzeć płytkę i toner się nie uszkodził, ale na papier to średnio dobry sposób.
    Ja korzystam z żelazka, a ten laminator to co to? :D
  • #11
    grendel123
    Poziom 15  
    Laminator to takie urządzenie do wtapiania specjalnej folii w różne dokumenty w celu ich ochrony - na aukcjach są już od 30zł. Ustawiam na swoim 130° i przepuszczam kilka razy płytkę z przyklejonym papierem. Toner przyczepia się idealnie na całej powierzchni. Poszukaj w innych tematach. Bardzo wygodne rozwiązanie.
  • #12
    master_pablo
    Poziom 16  
    Ciekawe, ze te optoizolatory dzialaja przy takim niskim napieciu zasilania, w nocie katalogowej producent pisze o zasilaniu 4,5-5,5V, wiec miejmy nadzieje, ze to nie kwestia szczescia :). Troche to wyjscie prymitywne, ja bym tam jeszcze bufor z wyjsciami trojstanowymi dorzucil, ale jak dziala i autor jest zadowolony, to nie ma sie co na ten temat rozwodzic.

    Co do czyszczenia tonera z papieru, to nie wiem, jaki to ma sens przed trawieniem - w koncu to dodatkowe zabezpieczenie przed substancja trawiaca. Ale jesli chodzi o opisy, to bede musial wyprobowac ocet :).
  • #14
    kulpina
    Poziom 14  
    master_pablo napisał:
    Co do czyszczenia tonera z papieru, to nie wiem, jaki to ma sens przed trawieniem - w koncu to dodatkowe zabezpieczenie przed substancja trawiaca. Ale jesli chodzi o opisy, to bede musial wyprobowac ocet .


    A wie kolega jakie to świetne zabezpieczenie, jak sie ma odstęp ścieżka-pad 10mils i tam wlezie papier? :D
    Dlatego tak ciesze się na ten ocet ;D
  • #15
    grendel123
    Poziom 15  
    Panowie - troszkę zboczyliśmy z tematu :D
    Stosuje zwykły laminator bez przerabiania ustawiony na wysoką temperaturę. Dla pewności płytkę przepuszczam przez niego 10 razy (za każdym razem obracam ją o 180°). Przerobiony na wyższą temperaturę byłby lepszy, ale obawiam się o plastiki w środku - wyższej temperatury to ten mój by nie wytrzymał. Niektórzy stosują tzw. fuser'y z drukarek laserowych lub kserokopiarek.
  • #16
    manekinen
    Poziom 29  
    rpal - nie ma nic odkrywczego, po prostu uwaliłem nie jeden układ programując bez izolacji i tak oto powstała taka mutacja.

    master_pablo - zasilanie diody nadawczej tych transoptorów, dla załączenia wysokiego stanu to 2V (high level enable voltage min.2V) i tak też działają. Tylko jeden transoptor jest zasilany niskim napięciem, ten który obsługuje linię powrotną. Rezystor ograniczający prąd dobrałem tak aby transoptor działał już od 1.8V, ale też żeby dioda nie uległa uszkodzeniu przy 6V. Przed złożeniem, na płytce stykowej testowałem każdy transoptor przy niskim napięciu, i każdy jeden pracował poprawnie przy 1,5V (poniżej tego napięcia atmega88v nie działała). Te 1,8V troche nagięte ale przetestowane i nie było ani jednego problemu. W razie kłopotów można zmniejszyć prędkość.

    Co do napisów - pisałem i napisze jeszcze raz, CELOWO nie usuwałem kredy z toneru bo chciałem sprawdzić czy uda się zrobić białe napisy. Ktoś na PW pytał jakiego lakieru użyłem, najzwyklejszy przeźroczysty lakier do kupienia w sklepie motoryzacyjnym. Nie kombinujcie z octem czy jakimiś kwasami - idealnie radzi sobie kwasek cytrynowy, wystarczą 2 minuty i mamy ładny czarny toner.

    Dam jeszcze fotkę wykonanych przeze mnie opisów na płytkach innego urządzenia, tak jak napisałem kwasek cytrynowy i lakier, oto efekt:


    Optoizolowany programator AVR
  • #17
    master_pablo
    Poziom 16  
    Swietnie te plytki wygladaja. A na jakim etapie wiercisz otwory?
  • #18
    matelektronik
    Poziom 17  
    Napisz coś więcej nt tych płytek. Są naprawdę świetne. Z jakiej drukarki korzystasz ???
  • #19
    manekinen
    Poziom 29  
    Tylko nie zróbmy wielkiego offtopu o tonerze :)

    Drukarka, najtansza z nazwyklejszych, 600dpi. W dodatku zajeżdżona że ho ho.
    Papier kredowy zwykły z pobliskiego sklepu - nie jakieś wynalazki z allegro :)
    Płytka po trawieniu ścieżek powiercona a otwory wyrównane. Odtłuszczam tym co pod ręką, czy denaturatem czy rozcieńczalnikiem bez różnicy.
    I tak samo jak w przypadku ścieżek... płytka stroną miedzi ląduje na żelazku, na to papier z nadrukowanym opisem, i dociskam zwiniętą szmatką obracając ją lekko (nie przesuwam po papierze), trwa to może ze 2 minuty, nie żałuje.
    Następnie do detergentu (gorąca woda z proszkiem do prania świetnie sobie radzi), po 5 minutach papier łatwo odchodzi (do samego laminatu tak nie przywiera jak do miedzi). Jeśli gdzieś został, to palcami delikatnie usuwam, ale nie tre żeby nie uszkodzić nadruku. Reszta białego syfu 9zwanego potocznie kredą :) ) odchodzi w roztworze ciepłej wody i kwasku cytrynowego (widać reakcję kredy z kwaskiem), niech leży sobie tam aż przestaną się tworzyć bąbelki/kreda zejdzie. Po wyschnięciu nie powinno być białych śladów.
    Lakieruje zwykłym lakierem przeźroczystym w spray'u, z ok 15cm, nakładam jedną grubszą powłokę tak aby była równomierna i szklista. 10 minut i gotowe, po polutowaniu elementów całą płytkę czyszcze pędzelkiem najpierw denaturatem, a gdy pozbęde się wszelakich topników, płynem do szyb i pod bieżącą wodę :)
  • #20
    manekinen
    Poziom 29  
    Aktualizacja

    Nasz kolega z forum (BoskiDialer) napisał dwie poprawki do softu USBASP, umożliwiające programowanie układów TPI (nowa seria attiny) oraz układów z pamięcią większą niż 128kB - jest to w oficjalnym firmware 2011-05-28 LINK

    Niestety programatory z optoizolacją (tak jak ten) nie potrafiły programować układów TPI - układy TPI używają dwukierunkowej linii DATA, a transoptor mamy jednokierunkowy. Rozwiązaniem było wyprowadzenie linii MOSI sprzed izolacji - działać działało ale traciliśmy izolację.

    Powstała więc kolejna poprawka softu. Aby zaprogramować układ TPI nie tracąc izolacji, wystarczy połączyć obydwie linie MOSI i MISO do linii DATA - proste :)

    Wsad (nieoficjalny) znajduje się tutaj - https://www.elektroda.pl/rtvforum/viewtopic.php?p=9666520#9666520