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

Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT

aneuro 23 Cze 2012 14:36 11063 46
  • #31 23 Cze 2012 14:36
    tplewa
    Poziom 38  

    aneuro napisał:
    tplewa napisał:
    Jak ma to byc mieszaniec USB/LPT itd. musisz dac jeszcze tutaj przetwornice DC/DC

    Tyle że to nie będzie mieszaniec, a tylko po prostu zasilanie tego adaptera z portu USB opcjonalnie aby mieć separację od uP ze swoim zasilaczem-osobnym. Koszty bedą zerowe praktycznie (tylko poczwórny optoizolator i RJ45M do każdej płytki z uP) bo resztę znalazłem-w tym . min starą (uszkodzoną) kartę sieciową z której piękne (solidne w obudowie) złącze RJ45F jest z diodami sygnalizacyjnymi do wylutowania ;)


    Ale wtedy optoizolacja jest ci niepotrzebna, co z tego jak masz ja na sygnalach, a wszystko zamyka sie przez zasilanie ?

    Jak chcesz zrobic cos solidnego odpusc sobie takie rozwiazanie calkowiecie, jak chcesz zrobic prosto i tanio daj rezystory i tyle. Ewentualnie scalaka jak to w oryginalnym STK200...

    Z jednej strony mowisz ze ma byc tanio z drugiej dokladasz elementy ktore nic nie wniosa...

    Wiesz co ja tez lubie skladac z tego co mam pod reka ;) ale czasami warto przemyslec to co sie robi i nie robic po prostu glupot... Rozrysuj sobie dokladnie swoj schemat i zobaczysz na nim w czym jest problem i dlaczego twoja optoizolacja to rozwiazanie pozornej izolacji galwanicznej...

  • CControls
  • #32 23 Cze 2012 18:02
    aneuro
    Poziom 16  

    tplewa napisał:
    Rozrysuj sobie dokladnie swoj schemat i zobaczysz na nim w czym jest problem i dlaczego twoja optoizolacja to rozwiazanie pozornej izolacji galwanicznej...

    Póki co przecież na schemacie (z 1go postu jedynym zapodanym tutaj) nie ma żadnej izolacji galwanicznej. Będzie w następnym jak skończę. Tamten jest w wersji bez optoizolacji, ale piny chyba poprawnie połączone i komendy uisp też są więc komplet.
    Właśnie rozrysowuję, podglądając jak robili taką separację tutaj:
    Interfejs LPT -> sterownik z optoizolacją
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    Z postów z forum CNC wynika że jest poprawna ta optoizolacja, więc tylko zadoptować wystarczy do moich potrzeb, zgodnie z sugestiami LordBlicka z tego postu .
    W tym interfejsie LPT z opto używają cyfrowych inwerterów na wejściu po stronie sterownika, ale chyba bez nich to da się zrobić. Może coś takiego miałoby szansę działać?
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    Tak czy inaczej, nie zmienia to faktu że izolacja jest ok. 5kV pomiędzy LPT a płytką z uP-bo tyle ma ten optoizolator PC817-tylko czy jakiś sygnał da się przesłać;)
    Jak widać nie ma żadnego połączenia pomiędzy LPT a uP-zasilany z kilku paluszków 1.5V ten uP może być. Odizolować chyba wiem jak, pozostaje kwestia aby stany logiczne były zgodne na wejściu uP z tymi na wyjściu z LPT i jeden sygnał od uP MISO dało się odczytać w LPT, bo pozostałe 3y z tego co się orientuję to wstronę uP są tylko wysyłane...
    Spadek nąpiecia na diodzie w optoizolatorze jest typowo 1.2V a na wyjściu w stanie nasycenia max. 0.2V.
    Z tym zasilaniem z USB z portu PC w którym jest LPT, to się zapędziłem nieco, bo miałem zamiar ten inwerter nim zasilać i dać inwerter na LPTout, wtedy po stronie uP tylko podciągające 4.7k by chyba wystarczyły...
    Ale wychodzi na to że inwerter musi być więc może go dać w adapterze, wtedy to zasilanie z USB PC by było potrzebne.
    2a obrazki starczą tutaj jak ktoś ma jakiś pomysł jak to zrobić bez logicznego NOT, albo NAND'a po stronie uP, bo tam tylko ma być dioda z opornikiem i podstawka pod uP...
    PS: Sorry, czasami kiepsko się formatuje tekst podczas edycji w małym okienku i kiepsko widać treść postu podczas pisania-jakoś na cały ekran nie chce się dać to rozciągnać i z tąd te palcówki ;)

  • CControls
  • #33 23 Cze 2012 18:12
    tplewa
    Poziom 38  

    tjaa i jak chcesz zasilic z USB i miec seperacje to zostaje ci przetwornica DC/DC :)

    Dlatego mowie ze twoj projekt nie ma najmniejszego sensu... ale jak chcesz mozesz robic - ot twoja wola... Ja bym na twoim miejscu zmajstrowal sobie najprosciej na rezystorach... a nastepnie zrobil cos lepszego.

  • #34 23 Cze 2012 18:32
    aneuro
    Poziom 16  

    tplewa napisał:
    tjaa i jak chcesz zasilic z USB i miec seperacje to zostaje ci przetwornica DC/DC :)

    Wiesz, może czegoś nie wiem, ale jak piszę o separacji to dodaję pomiedzy czym, a tak to w ogóle może masz rację ale nie wiem o co Ci chodzi... Jak uP będzie jednym acu zasilany a laptop drugim acumulatorem (własnej baterii) to niby przez co te 5kV ma się przebić??? Przez powietrze może jedynie i przez optoizolator chyba... no chyba że izolatory przewodzą prąd :D
    Więc póki co z mojego punktu widzenia twoje posty niczego tutaj nie wnoszą... narysuj coś i pokaż że tam popłynie prąd... a tak to szkoda czasu...

    Po, namyśle najbardziej elegancko byłoby chyba tak to zrobić jednak
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    Może ten inwerter 74HC04 (bez schmita) by starczył, a co najwyżej sygnał wejściowy od uP za opoizolatorem (po stronie LPT) potraktować O=~(~O)? Ten układ ma 6 NOTów, a są 4y sygnały, 3 wychodzące i 1 przychodzący do LPT... właśnie od uP (z wyścia emitera optoizolatora oczywiście). Więc chyba ten układ 74HC04 by starczył jeden przy LPT tylko...

  • #35 23 Cze 2012 18:51
    McMonster
    Poziom 32  

    Na razie z tego co piszesz rozumiemy, że chcesz rozdzielić linie sygnałowe od laptopa optoizolatorami i jednocześnie zasilić oddzielony układ również z tego samego laptopa z USB. Czyli izolacji galwanicznej między liniami zasilania mieć nie będziesz.

    Jeśli jest inaczej, to spróbuj precyzyjniej określić, co masz na myśli.

  • #36 23 Cze 2012 19:14
    LordBlick
    VIP Zasłużony dla elektroda

    Jak chcesz robić optoizolację , to lepiej dać ULN2003 do sterowania wejściem transoptorów - większa wydajność prądowa. Sygnały możesz negować już w definicji programatora w avrdude.conf. Oczywiście jeden z transoptorów będzie w drugą stronę i nie zapomnij o dorzuceniu linii wyłączającej to całe ustrojstwo po programowaniu.

  • #37 23 Cze 2012 19:50
    aneuro
    Poziom 16  

    LordBlick napisał:
    Jak chcesz robić optoizolację , to lepiej dać ULN2003 do sterowania wejściem transoptorów - większa wydajność prądowa.

    Przy 5mA na diodzie te optoizolatory mają CTR min. 50%-myślisz że 5-10mA może, być za mało? Układy serii 74HC z tego co pamietam mają ok. 25mA, więc może to miałoby sens wstawić ten inwerter i dać wtedy opornik 220 omów a nie 470...?
    Tak czy inaczej akurat tam gdzieś ULN2003 jest więc może rzeczywiście go wrzucę i przy okazji diody sygnalizacyjne razem z zasilaniem optoizolatora będą. To jest niezły pomysł.

    Update: Te pary darlingtonów są w COM chyba wszystkie połaczone więc trzeba by oddzielny ULN2003 do wyjść z LPT i tego jednego wejścia, poza tym chyba da radę prościej.
    Wygląda na to że dodanie tranzystora npn małego i układ darlingtona z tego wyjdzie i będę miał wejście do układu logicznego po stronie uP i LPT w podobny sposób zrobione.
    The common-collector amplifier
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    Wtedy wystarczy to chyba tak połaczyć w podobny układ, który nie odwraca stanów logicznych i spadek napięcia na wyjściu jest niewielki przy logicznym 1:
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    Symulacje pokazują, że ma to szanse działać (od razu sygnalzacja stanu logicznego lini jest) i pozwoli mi nawet zdalnie resetować działajacy uP, a jak coś to mozna dodać przełącznik w adapterze aby RESET był w stanie wysokim wtedy kiedy tego oczekujemy i wyrzucić te oporniki 10k ze schematu z pierwszego postu.
    Transmisja logocznego 1:
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    Transmisja logocznego 0:
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    A tutaj zwarcie do masy podczas transmicji po stronie docelowej:
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT

    LordBlick napisał:

    Sygnały możesz negować już w definicji programatora w avrdude.conf.

    Dobrze wiedzieć że jest jeszcze taka furtka. Wolałbym żeby to działało też z uisp, chyba że to standardowa procedura że pod różne komercyjne programatory ten avrdude.conf się modyfikuje?

    LordBlick napisał:

    Oczywiście jeden z transoptorów będzie w drugą stronę i nie zapomnij o dorzuceniu linii wyłączającej to całe ustrojstwo po programowaniu

    Tak pamietam o tym-chodzi oczywiście o tą linię MISO, którą trzeba przesłać na wejście pinu 11 w LPT.
    A do adaptera mam zamiar wstawić przełącznik i sygnalizacja włączonego zasilania programatora bedzie na diodzie-oprócz tego dioda sygnalizująca sygnały SCK podczas programowania... i ew. linie danych też spokojnie można zrobić, żeby się nie nudziło podczas programowania uP ;)

  • #38 25 Cze 2012 13:07
    aneuro
    Poziom 16  

    Udało mi się w końcu trafić na szczegółowy opis przebiegu programowania poprzez ISP w tych notach aplikacyjnych Atmela:
    AVR910: In-System Programming
    AVR911: AVR Open-source Programmer
    Jest tam nawet przykład "traktowania" podczas programowania ISP uP serii Tiny, które póki co mnie interesują:
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    Rzeczywiście, RESET przez rezystor 10k jest do Vcc podłączany, a w takim razie układ z poprzedniego postu z darlingtonem, który potestowałem i symulowałem nie sprawdzi się, jeśli aktywny jest pull-up na RESECIE i nie da rady się resetować programowo przez taki adapter, a zaleca się w AVR ISP podobno aby reset uP programowo mozna było robić z adaptera.
    Jest tam też wytłumaczenie dlaczego oporniki ograniczające prąd pomiedzy LPT a uP są czasami niezbędne:
    "NOTE: To avoid driver contention, a series resistor should be placed on each of the three dedicated lines if there is a possibility that external circuitry could be driving these lines.
    The value of the resistors should be chosen depending on the circuitry connected to the SPI bus.
    Note that the AVR microcontroller will automatically set all its I/O pins to inputs, with pull ups disabled, when Reset is active."

    Wyglada na to że miał chyba szansę działać ten układ z poprzedniego postu bez tego rezystora 10k pull-up na pinie RESET.

    Tak czy inaczej, po przeanalizowaniu tych not aplikacyjnych i uwag, zrobiłem myślę lepszy sposób optycznej izolacji wyjścia portu LPT od programowanego układu, który mniej obciąża wyjścia ISP (portu LPT i uP), a poza tym łatwo pozwala kontrolować natężenie prądu diody optoizolatora, bez ryzyka uszkodzenia portu LPT czy uP:
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT

    Symulowałem to zakładając kiepskie hfe tranzystorów 10, tak aby Ic=10*Ib.
    Wygląda na to że udało mi się przetestować wszystkie możliwe przypadki, min. to że jest niezbędny rezystor ograniczający, jeśli po zaprogramowaniu na jednej z lini ISP w uP pin na output stan wysoki by wystawił, a programator miał akurat na tym pinie stan niski wystawiony. W resecie tylko dlatego nie jest potrzebny, bo "zreguły" uP nie ustawia go na output i taka sytuacja nie wystąpi zwykle, chyba że ktoś zdeaktywuje RESET poprzez ustawienia fuse-w jednym z uP spotkałem taką mozliwość, ale nie testowałem póki co bo niby jak bez programatora ;)




    Do symulacji wykorzystałem przeglądarkową wersję prostego symulatora układów FALSTAD.
    Uruchamia się z przeglądarki pod adresem-czasami chwilę trzeba odczekać i odswierzyć przeglądarke na tej stronie, aby się uruchomił.
    Falstad Circuit Simulator
    Z menu wybrać FILE/Import, wkleić tam poniższy text (identyczny się eksportuje z niego) i wcisnąć przycisk IMPORT w tym okienku do wklejania.
    Symulacja po załadowanu jest skonfigurowana na przesyłanie z LPT do uP jednego z sygnałów w stanie logicznym jeden. Trzeba niestety ręcznie optoizolator przełączyć, bo nie maja w bibliotece takowego, ale model założony jest chyba ok. i dioda ma napiecie 1.2V ustawione a spadek na wyjściu jest 0.2V, bo powinien być przy tym prądzie diody w miarę otwarty...

    Kod: text
    Zaloguj się, aby zobaczyć kod

    Zabawa jest przednia i wciągająca ;) Już kilka układów symulowanych modułami funkcjonalnymi podobnie w tym prostym symulatorze, udalo mi się zlutować i o dziwo działały za pierwszym razem i żaden opornik nie zrobił się bardziej "węglowy" ;)
    Każdą linię ISP można sobie ustawić na switchach i zobaczyć jakie prądy tam pływają. Wygląda na to że działa i poziomy logiczne są sensowne.
    Ciekawe czy się sprawdzi tym razem :D Co najwyżej uP pójdzie z dymem, ale nie sądzę, bo prądy na pinach portów LPT i uP nie powinny 10mA przekraczać;) 220V nie będę podłaczał do testów, no chyba że ktoś zdeponuje kilka $ to mozna zrobić demonstrację dla "niewiernych Tomaszów" że port LPT przeżyje spokojnie podłaczenie na płytce uP 220V :D
    Myslę, że czas poprawić schematy z pierwszego postu według efektów tej ostatniej symulacji, zrobić pcb i coś w końcu wytrawić do testowania ;)

    Update: Zanim zacząłem przerabiać schematy doczytałem jeszcze o rekomendacjach sprzętowych w AVRach
    AVR042: AVR Hardware Design Considerations
    w tym co do zasilania uP i min. sposobu podpinania RESET do Vcc i uwzględniając to, pozwoli mi to myślę wykorzystać Darlingtona zmodyfikowanego tak aby ograniczał prąd w przypadku zwarcia do masy przy nieodłączonym programatorze od uruchumionego uP.
    Więc póki schemat poprawiony zostanie w oparciu o te rekomedacje.
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    Na tym obrazku symuluję RESET podpięty za pomocą kondka 100nF (bo taki niektórzy dostawcy programatorów też zalecają zamiast 10nF z noty aplikacyjnej Atmela oraz dodatkowo dioda 1N4148).

    Natomiast z dokumentacji uP, które mnie interesują, wynika że Reset aktywuje się orientacyjnie w najgorszym wypadku przy spadku napięcia na nim do ok. 0.2 Vcc, więc wstawienie opornika >10k załatwia temat i przy mniejszym niż 1M też poniżej 1V napięcie będzie. Według tych not aplikacyjnych nie ma przeciwskazań do większego opornika niż 10k na RESET-wręcz nawet dla DebugWire chyba większą wartość zalecają.
    Ponadto optoizolacja umożliwi mi łatwą modyfikację programatora tak, aby wspierał "high voltage programing", czyli konieczność podania 12V na RESET- miejsce w RJ45 na dodatkowe 12V jest więc kwestia jumpera tylko do ustawiania napięcia na HV RESET.
    Tak czy inaczej wygląda na to że funkcjonalność HV RESET będę miał dzięki optoizolacji LPT od uP. ;)
    Update:
    Udało mi się nawiązac kontakt z osobą z AVRfreaks zorientowaną w temacie HV i wyglądan na to że tem uP ATTiny45 które mam zamiar na początek wykorzystać mozna w HVSP programować, tylko ten tryb wymaga nieco innego mapowania pinów uP i wtedy to już chyba nie jest DAPA, bo jeden pin więcej na output jest potrzebny ;)
    AVRFreaks.net: AVR ISP DAPA mode with optocouper (high voltage programming
    Takie pcb dla ATTiny45 powinno mi dać ewentualnie możliwość użycia również HVSP w ostateczności (high voltage serial programming):
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT

  • #39 17 Lip 2012 13:37
    aneuro
    Poziom 16  

    Dla "nie wiernych Tomaszów" dowód, że optoizolacja LPT na 2óch tranzystorach, PC817 i kilku opornikach, bez odwracania wartości logicznej sygnału może działać, wrzuciłem zlutowany i przetestowany układ:
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    Schemat jest tutaj:
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT
    Obraz płytki PCB z elementami tutaj:
    Programowanie AVR poprzez ISP (DAPA z uisp) z optoizolacją LPT

    W wersji ostatecznej wejście optoizolatora dałem przed kolektor tranzystora, aby uniezaleznić prąd optoizolatora od opornika zastosowanego na bramce, chociaż prąd ok. 22mA na wejściu optoizolatora przy 5V to i tak mniej niż połowa dopuszczalnego 50mA.

    PCB jest w załączonym PDFie, jakby ktoś chciał testować i podłaczać pomiedzy Conn14-Conn15 230VAC, ale nie polecam, chyba że ktos lubi palić oporniki, za to spokojnie 12V tam mozna dać, jeśli w trybie HVSP by był potrzebny taki układ do sterowania pinu RESET...

    Tranzystor Q12 zapewnia logiczne NOT i nie potrzeba żadnych układów scalonych.
    Tranzystor Q11 odciaża port LPT i zapewnia odpowiedni prąd dla pewnego działania optoizolatora (ok. 20mA).

    Jak widać połączenie tych dwóch obwodów jest tylko poprzez.... światło w PC817, chyba że ktoś nie będzie potrzebował izolacji i podepnie z jednego tego samego zasilania Conn11 i Conn14, natomiast musi wtedy też połaczyć razem masy Conn12 i Conn15.

    Więc na przyszłość, zanim ktoś mi bedzie wmawiał, że się czegoś nie da zrobić, niech najpierw się zastanowi, co jest robione i w jaki sposób i później wyciaga wnioski :D
    Układ zasymulowałem wcześniej w darmowym przeglądarkowym Falstad'ie i działa zgodnie z oczekiwaniami po pierwszym lutowaniu bez żadnych poprawek ;)

    Na Conn11 i Conn14 zasilanie z osobnych (galwanicznie odseparowanych źródeł wystarczy podać) i można po zmianie opornika R13, R12, ew. R16, R15 zasilać to napięciem 12V, czy innym, ponieważ prąd wejściowy na Conn13 jest ograniczany przez opornik R11, a wyjściowy Conn16 przez odpowiedni opornik do pinu uP AVR będzie podpiety, aby ograniczyć prąd w perzypadku nie odłączenia programatora i przypadkowym wysterowaniu wyjścia pinu AVR na logiczne 1....

    Schemat w darmowym open sourcowym GEDA został zaprojektowany pod Linux, a płytka też w darmowym programie PCB poprzez zaimportowanie schematu z GEDA, też pod Linux.
    PDF z pcb do termotransferu został zamieniony z postscriptu za pomocą ps2pdf.
    Więc całość została wykonana przy użyciu darmowego, legalnego ogólnie dostępnego oprogramowania pod Linux, bo po co marnować CPU na programy antywirusowe w tle pod WinZgrozą :D

  • #40 17 Lip 2012 13:54
    LordBlick
    VIP Zasłużony dla elektroda

    aneuro napisał:
    Dla "nie wiernych Tomaszów" dowód, że optoizolacja LPT na 2óch tranzystorach, PC817 i kilku opornikach, bez odwracania wartości logicznej sygnału może działać
    Z jaką maksymalną prędkością, że tak spytam ? ;)
    To na każdą linię jest oddzielna płytka ?
    Nie zrozumiałeś intencji odpowiadających. Nikt nie twierdził, że nie się nie da zbudować czegoś takiego, nie jesteś pionierem na tym forum:
    https://www.elektroda.pl/rtvforum/topic1763392.html
    https://www.elektroda.pl/rtvforum/topic1834763.html

  • #41 17 Lip 2012 20:02
    aneuro
    Poziom 16  

    LordBlick napisał:
    Z jaką maksymalną prędkością, że tak spytam ? ;)
    To na każdą linię jest oddzielna płytka ?
    Nie zrozumiałeś intencji odpowiadających.

    Typowy cut-off tego optoisolatora jest 80 kHz... tranzystora nie sprawdzałem...
    Testy pokażą ile bitów się przeciśnie na sekundę-bez błedów ;)
    W sumie to niewiele mają pamięci te ATTiny45 więc w przerwie na kawę powinno dać radę zaprogramować myślę.

    Płytki 2ie takie mam testowe na "kanapkę" zestackowane jak będę potrzebował jakieś bity wysyłać i odbierać... z czujników.
    Na każdą linię podobny układ w programatorze się to upakuje bardziej.
    Zdefiniowałem w GEDA nowy element i footprint, jak nie będzie mi się chciało tego rozmieszczać w jakimś układzie, to będzie "gotowiec".

    Niektórzy odpowiadający raczej nie zrozumieli moich, ale schemat wyjaśnia wszystko. Jak ktoś mówi o izolacji, to przecież wiadomo że nie robi tego na wspólnej masie i zasilaniu-chociaż w niektórych wątkach takie posty też bywały, ale raczej potrafię odróżnić czy coś jest połączone ściezką, czy izolowane powietrzem, albo poprzez pole magnetyczne w trafo, więc oczywiste że nie będę zasilał z tego samego źródła napięcia 230VAC bez oddzielnych trafo bezp., czy po prostu zwyczajnie 2a zestawy baterii ;)

    Update: No nie wiem, czy nie udało mi się tego zrobić sprytniej, bo ten tranzystor na wejściu odciąża i port LPT i też bedzie odciążał uP, bo pobór jest ok. 2.5mA a nie 20mA, a w jednym z tych linków rezystor 220 Ohma przy 5V da trochu "popalić" LPT, czy uP :D U mnie 5 linii nie obciąża tak LPT czy uP jak tam jedna ;)

    Z drugiego linku wniosek taki jak zwykle-"mądry Polak po szkodzie" :D Póki co nic nie spaliłem i mam nadzieję laptop przeżyje te eksperymenty a robocze kompy przez internet będą go wykorzystywać i zlecać programowanie AVRów ;)

  • #42 18 Lip 2012 13:42
    LordBlick
    VIP Zasłużony dla elektroda

    aneuro napisał:
    Zastanawiam się nad jedna rzeczą jeszcze-czy taki prosty adapter USB do RS232 + DB25 by mi pozwolił z avrdude na kompach z USB programować z użyciem tego prostego programatora w trybie DAPA?
    Nie.
    Jak już chcesz się bawić z USB, to lepiej sobie kup konwerter z FT245. Sama przejściówka nie zrobi z portu szeregowego - równoległego, to tylko inne rozmieszczenie pinów.
    Alternatywnie złóż sobie USBasp, linka już podawałem.

  • #43 19 Lip 2012 02:38
    aneuro
    Poziom 16  

    LordBlick napisał:

    Jak już chcesz się bawić z USB, to lepiej sobie kup konwerter z FT245. Sama przejściówka nie zrobi z portu szeregowego - równoległego, to tylko inne rozmieszczenie pinów.

    Dzięki za info. Gdzieś czytałem na forum CNC, że to nie tak różowo z tymi adapterami.
    Do programowania tych małych AVRów myślę, że LPT mi starczy.
    USB bym wykorzystał do analizy danych z czujników, bo na szybszym sprzęcie w czasie rzeczywistym by się wszystko przeliczało.
    Ale w sumie to spokojnie przez ethernet pod Linuxem można szybko się łaczyć z takim "serwerem LPT", który będzie się komunikował z uP i przekierowywał bity do analizy na szybsza maszynę...
    Właśnie zwalczyłem jakąś "chińską" przejściówkę USB, która całkiem fajna, bo ma dodatkowo możliwość zasilania za pomocą PS/2, ale okazało się, że.... były owszem 4y kabelki jak w typowym USB-A ale... inaczej pokolorowane (nie było białego), a czarny to był... +5V, a czerwony linia danych (-) :D Masę znalazłem na... zółtym... po prostu inaczej pokolorowane kabelki pod piny 1 i 4 były podpięte-dobrze że sprawdziłem zanim do programatora to podpiąłem-tak czy inaczej wpakowałem diodę na wejściu ;)
    Efekt był taki że dostawałem jakieś idiotyczne komunikaty z EHCI pod Linuxem:
    ""unable to enumerate usb device on port" i "zasilanie" sobie pulsowało, bo chyba USB próbował się komunikować z.... diodą i opornikiem do sygnalizacji zasilania :D

    W końcu zagladnąłem do specyfikacji portu USB i protokołu komunikacji USB, no i "wyszło szydło z wora" :)

    Ale zasilanie wejściowe (Vi)- jak planowałem mam z kompa na którym jest LPT- +5V mam z USB lub PS/2 do programatora-kwestia sprawdzenia ile PS/2 można obciążyć, ale tutaj jakieś 100mA na 4y linie będzie potrzebne więc chyba tyle da rady-przynajmniej myszka w tym lapie działała normalnie jak podpiąłem się pod PS/2 i zabrałem trochę prądu. Trzeba to sprawdzić, bo mam kilka kompów z LPT, które nie mają uSB, ale PS/2 jak najbardziej ;)

  • #44 20 Lip 2012 11:21
    tplewa
    Poziom 38  

    Co do zasilania nie lepiej wyciagnac sobie z Molex-a ?

    Natomiast co do tych przejsciowek USB/LPT to niestety one emuluja najczesciej drukarke, a nie pelne LPT... do tego nie jest takie LPT widziane w standardowej przestrzeni adresowej.

    Jedno co musze jeszcze przyznac to strasznie ci sie chyba nudzi
    :cunning: bo cos co mozna zrobic prosto okropnie sobie utrudniasz :)

    Jak masz na tych plytach zlacza ISA to lepiej cos polutowac sobie na uniwersalnej (sa takie z krawedziowym zlaczem ISA) i nie bawic sie w takie kombinacje.

  • #45 20 Lip 2012 23:23
    aneuro
    Poziom 16  

    tplewa napisał:
    Co do zasilania nie lepiej wyciagnać sobie z Molex-a ?

    Z laptopa nie ma sensu i wręcz niemożliwe, a nawet do zwykłego kompa z LPT to nie problem wsadzić w USB i pociagnąć zasilanie.
    Tak czy inaczej programator będzie miał możliwość zasilania z wtyczki takiej jak w dyskach twardych z klasycznego zasilacza ATX-dwie takie wtyczki na każdą stronę optoizolatora i po temacie.... jak nie bedzie mi zależeć na optoizolacji to z jednego zasilacza ATX zasile programator i układ-jeśli uP nie bedzie w układzie wlutowany, gdzie napięcia >5V moga się pojawić. Oprócz tego oczywiście zenerki z opornikiem na 5.1V coby przypadkiem nie "ubić" optoizolatorów przez chwilowe podłączenie zbyt wysokich pradów....

    Układy z uP będą mieć zworę (jumpery albo możliwość łatwego rozlutowania) do odłączenia zasilania VCC uP na czas programowania-jak już będą w lutowane w układzie, dzięki czemu będzie można metodą "na kanapkę" nałożyć programator z góry na uP w układzie i mmay gwarancję, że będzie zasilany tylko uP z programatora a nie pozostałe układy, dzięki czemu bez wyciągania uP z "żywego" układu, będzie je można łatwo przeprogramować, a jednoczesnie taki sam uP nie wlutowany też się da zaprogramować poprzez włożenie w podstawkę precyzyjną-do dolnych pinów podstawki precyzyjnej zostaną przylutowane "blaszki" pomocne w nakładaniu końcówki dla konkretnego typu uP.
    Nie mam zamiaru programować całej rodziny uP AVR, a tylko kilka wybranych modeli-na początek te w DIP8 -mają w identycznych miejscach linie ISP- więc to nie problem dla każdego takiego uP (rodziny uPów) wytrawić PCB odpowiednio połączone do lini ISP uP,
    a nie bawić się w jakieś przełączania kilku jumperów, żeby konkretny uP zaprogramować.

    Takie zabawy z przestawianiem jumperów w programatorach są podatne na błędy, i bardziej przypominają.... sterowanie Apollo 11, gdzie trzeba było z manuala sekwencję startową i lądowania z check listy wybrać aby z małym prawdopodobieństwem suksecu zrealizować, więc bardziej kosztowne póxniej do analizy niż poświęcenie tarz kilku wieczorów więcej aby je w przyszłości wyeliminować....
    Wiem coś na ten temat, bo od wielu lat programuję kilkuset kilogramowe wieloprocesorowe maszyny IBM iSeries (AS/400) i podstawa to unikać błędów podczas testowania i wdrażania aplikacji, bo czasami później można stracić wiele roboczogodzin, zanim się go wykryje-zwykle w specyficznych okolicznościach....
    Więc, w myśl zasady "ten się śmieje, kto się smieje ostatni" wolę być tym co się będzie śmiał, jak inni bedą w pewnym momencie i akcie desperacji losowo przestawiać jumpery w markowych programatorach, podczas gdy ja będe sobie, przy piwku przeoprogramowywał uP i aktualizował "firmware" w moich uP bezpośrednio w układzie, bez robienia specjalnych gniazd na wpinanie złacz do ISP :D

    tplewa napisał:

    Jedno co musze jeszcze przyznac to strasznie ci sie chyba nudzi
    :cunning: bo cos co mozna zrobic prosto okropnie sobie utrudniasz :)

    Nudził się będę potem, jak będę czekał aż się zaprogramuje uP, ale ten czas się zwróci później, jak uniknie się wileu błędów i ni estraci godzin na analizowanie dlaczego uP w układzie nie chce się zaprogramować-mając swój schemat coś będzie można wymyśleć, jak dokładnie wiadomo jak coś działa, a nie jak podłaczam "czarną skrzynkę", która tylko sygnalizuje czy jest zasilanie programatora i czy się udało czy nie zaprogramować ;)

    Chyba optoizolacja na 2 tranzystorach i kilku opornikach oraz jednym PC817 to nie skomplikowana sprawa.... a do innych projektów też potrzebuję optoizolację, więc to poligon doświadczalny...
    Tutaj przy okazji zmieniając tylko wartości kilku oporników mogę te optoizolatory zasilać praktycznie dowolnymi napięciami w sposób obciążający minimalnie LPT czy uP....
    Widziałem różne bardziej skomplikowane optoizolacje-wiekszość z nich obciażająca porty wielokrotnie bardziej, a mi zależy na tym aby minimalnie uP też obciażać, bo w innych projektach zamiast LPT, uP będzie miał więcej wyjść izolowanych...

    Nie ma co wyciągać pochopnych wniosków, bo to pozonie wygląda, że programować prościej się da, ale jak przychodzi co do czego, to te nawet "profesjonalne" programatory na wielu zworach trzeba przstawiać, żeby konkretny uP wlutowany w układ zaprogramować bez wyciągania-to żadna frajda przekładać uP, a programowanie w docelowym układzie póki co sensowne i proste mki się wydaje, jeśli będę miał mozliwość nałożenia na uP mojego programatora, pod warunkiem że mam możliwość odcięcia zasilania uP od reszty układu, bo czasami to samo Vcc może zasilać inne elementy i nawet fakt bycia pinów w stanie 3state nie gwarantuje, że jakieś układy poza uP będą zakłócenia wprowadzać podczas programowania, gdy zostaną zasilone z adaptera programatora.

    Na brak czasu nie narzekam-nie ma się co spieszyć. Jak do tej pory ktoś ni ewymyślił tego co chcę zrobić na uP, to kilka tygodni nie ma tutaj znaczenia.
    Jest sezon tenisowy teraz i lato wszędzie-w upalne południa można trochu polutować w cienu i poprojektować w GEDA i zwizualizować w Blender 3D pod Linuxem :D

    Do mojego projektu koszt uP to. 4.30 PLN brutto, ale może komuś pokażę że to można zrobić prosto i wtedy... nie będę musiał tego robić, tylko.... doglądać czy uP po zaprogramowaniu działają jak trzeba/

    Więc, tak to bywa z optymalizacją wielokryterialną, że jak nie zna się fukncji celu, to niektóre rozwiązania wydają się skomplikowane, ale czasami jedyne sensowne w szerszym kontekście :D

  • #46 20 Lip 2012 23:49
    LordBlick
    VIP Zasłużony dla elektroda

    Idąc Twoim tokiem myślenia, mam wrażenie, że zapomniałeś po drodze skonstruować laptopa i ogniwa zasilającego, bo wtedy byś najbardziej rozumiał jak one działają i na pewno nie popełnił błędów przy programowaniu. Przy czym więcej KB tekstu na forum, niż zauważonych postępów w... no właśnie w czym ? Programowałeś już coś przez ten optoizolowany DAPA ?

    aneuro napisał:
    Więc, w myśl zasady "ten się śmieje, kto się smieje ostatni" wolę być tym co się będzie śmiał, jak inni bedą w pewnym momencie i akcie desperacji losowo przestawiać jumpery w markowych programatorach:D
    Tak, to bardzo skomplikowana operacja na wszystkich trzech zworkach USBasp lub bez-zworkowym AVRDragon...

  • #47 21 Lip 2012 01:58
    tplewa
    Poziom 38  

    @aneuro

    Ja nie wiem co jest bardziej skomplikowane... porownaj swoj projekt i mozliwosci z moim programatorem (zero jakichkolwiek zworek):

    https://www.elektroda.pl/rtvforum/topic2302500.html

    Optoizolacje mozna dodac bez problemu, tylko nigdy tego nie potrzebowalem i nigdy nic nie uwalilem. Mimo tego ze AVR-y czasami sterowaly mi naprawde wysokimi pradami i napieciami... Wszystko oczywiscie programowane w ukladzie.

    Generalnie mozna porownac spokojnie stosunek pracy i kosztow do mozliwosci. Niestety dalej twierdze ze twoj projekt to raczej taka robota z nudow niz cos funkcjonalnego. W sumie moj tez byl skladany z tego co bylo w szufladzie i rozlutu innych ukladow... Do tego niedlugo bedzie jeszcze soft pod Linux-a i OS X-a :)