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

Programator mikrokontrolerów AVR (bazujący na AVR-Doper)

mario06 25 Maj 2011 23:22 10831 15
  • Programator mikrokontrolerów AVR (bazujący na AVR-Doper)

    Witam.

    Jak wiadomo - przy wykorzystywaniu mikrokontrolerów bez programatora się nie obędzie. Chciałbym przedstawić wykonany przez siebie projekt płytki do programatora AVR-Doper. Dotychczas korzystałem z programatora bazującego także na wyżej wspomnianym, programator wykonany był w technologii THT. Z powodów głównie estetycznych, wielkości płytki oraz paru innych postanowiłem zaprojektować oraz wykonać własną wersję płytki programatora. Powstały programator wykonany jest w całości w technologii SMT (pomijając zworki konfiguracyjne), wykorzystany został mikrokontroler ATmega8L. Powyższy programator pozbawiony jest wirtualnego portu COM (piny nie zostały wyprowadzone).

    Programator mikrokontrolerów AVR (bazujący na AVR-Doper) Programator mikrokontrolerów AVR (bazujący na AVR-Doper)

    Dokładnego kosztu nie znam, większość elementów już była zakupiona jakiś czas temu z myślą o tym właśnie projekcie. Jednak koszt nie powinien przekroczyć 15-20 zł.

    Programowanie układu odbyło się zaraz po przylutowaniu mikrokontrolera przy wykorzystaniu dodatkowo przymocowanych „wąsów” do odpowiednich pól (niezamocowanych rezystorów, dodatkowo wyprowadzonego pola pinu reset). Program dla mikrokontrolera można pobrać ze strony projektu AVR-Doper. Płytka została wykonana termotransferem przy pomocy koperty wykonanej z mozaik obu warstw, nagrzewanie odbyło się przez laminator. Tutaj taka wskazówka, aby laminat, na którym będą nanoszone wzory płytek był raczej cienki (ale też bez przesady), w takim przypadku niweluje się przesunięcia między warstwami.

    W związku z faktem, iż wymogiem była bezproblemowa praca pod WIN7 x64 programator pracuje w trybie HID (skonfigurowany przy pomocy zworki), do obsługi jego wykorzystywany jest SinaProg (nakładka na AVRDUDE).

    W załączniku znajdują się pliki pdf z mozaiką obu warstw oraz z rozmieszczeniem elementów.
    Załączniki:

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    mario06
    Poziom 15  
    Offline 
    mario06 napisał 97 postów o ocenie 50, pomógł 15 razy. Mieszka w mieście Koszalin. Jest z nami od 2006 roku.
  • #2
    elektronik000
    Poziom 19  
    Ma ten programator jakąś przewagę nad USBasp?
  • #4
    mirekk36
    Poziom 42  
    cefaloid napisał:
    elektronik000 napisał:
    Ma ten programator jakąś przewagę nad USBasp?


    mario06 napisał:
    wymogiem była bezproblemowa praca pod WIN7 x64


    Programatorek oczywiście fajnie wykonany i wiadomo, że też będzie działał....

    no ale co to za wymóg - bezproblemowa praca pod Win7 x64 ???

    Ja i nie tylko ja, zawsze działam na zwykłym USBASP i jeszcze nie miałem NAJMNIEJSZEGO podkreślam najmniejszego problemu z dowolną wersją czy to Win7 x32 czy to Win7 x64 czy podobnie z wersjami Win VISTA.

    Panowie - wystarczy do USBASP tylko w super mega prosty sposób zainstalować sterowniki tzn odpowiednie sterowniki.

    Przygotowałem nawet w tym celu mały instruktażowy filmik i niech mi ktoś powie po jego obejrzeniu, że jest to skomplikowane? trudne? wieloetapowe czy coś podobnego ? ;)

    http://mirekk36.blogspot.com/2011/05/wszystko-o-usbasp.html

    zatem gorąco to polecam - zamiast wciąż bać się tego? i przekazywać z pokolenia na pokolenie, że pod nowszymi windowsami to są jakieś tam wyimaginowane problemy z USBASP ;)
  • #5
    cefaloid
    Poziom 32  
    mirekk36 napisał:

    Ja i nie tylko ja, zawsze działam na zwykłym USBASP i jeszcze nie miałem NAJMNIEJSZEGO podkreślam najmniejszego problemu z dowolną wersją czy to Win7 x32 czy to Win7 x64 czy podobnie z wersjami Win VISTA.


    Bardzo to ciekawe, ale przeczysz sam sobie.
    Na wspomnianej stronie napisałeś sam:
    mirekk36 napisał:
    Ponieważ od niedawna istnieje nowa biblioteka LibUSB o której autor projektu zapomniał wspomnieć na swojej stronie a ta, która znajduje się w jego plikach instalacyjnych działa poprawnie tylko na Windows XP

    Więc nie pisz proszę ze jeszcze nie miałem NAJMNIEJSZEGO podkreślam najmniejszego problemu z dowolną wersją czy to Win7 x32 czy to Win7 x64 bo jest to po prostu kłamstwo. Problemy miałeś i to, jak sam napisałeś do niedawna.
    Dodatkowo, jeżeli sam autor zapomniał wspomnieć o rozwiązaniu dla Win x64 i trzeba się domyślać co zrobić, to wybacz, ale bezproblemowe to nie jest.

    USBasp jest owszem prosty i przyjemny ale nie ma też mozliwości programowania po HVSP.
  • #6
    mirekk36
    Poziom 42  
    cefaloid ---> o matko boska z córką!!! dżijzes - przepraszam za KŁAMSTWO - no masakra - jaki to grzech okropny popełniłem.

    "Masz rację" - tylko napisz mi proszę po jakim czasie nie będzie to już kłamstwem ok??? tzn kiedy będzie przedawnienie. Bo skoro napisałem niedawno - to znaczy wg ciebie, że jaki czas temu? I dlatego pytam po jakim czasie z kolei nie będzie to kłamstwem ????

    coś mi się wydaje, że idąc tokiem twojego rozumowania to nawet KŁAMSTWEM jest że w ogóle programator USBASP działa ;) .... przecież on też w sumie działa od niedawna - spójrz sobie na historię (daty) rozwoju projektu - to zaledwie kilka lat.

    Wybacz ale jak dla mnie to masz chyba dzisiaj jakiś zły dzień że wypisujesz tu takie fantasmagorie.

    a tym bardziej, że co ma piernik do wiatraka:
    cefaloid napisał:

    USBasp jest owszem prosty i przyjemny ale nie ma też mozliwości programowania po HVSP.


    gdzie ja tu porównuję oba programatory ??? coś kolega zaślepił się z tej złości czy jak??? Oczywiście, że ten oryginał AVR-Doper ma programowanie HV ale co z tego ? przecież prezentowany w tym temacie nie ma tych fiuczersów nawet port COM nie został wyprowadzony. Polecam czytać nie tylko z uwagą ale i ze zrozumieniem.

    Programator wykonany przez autora tego wątku został fajnie zminiaturyzowany i pozbawiony niepotrzebnych autorowi gadżetów. I tego się nie przyczepiam w najmniejszym stopniu wręcz odwrotnie. Wyraziłem pozytywną swoją opinię nie tylko na temat wykonania. Stwierdziłem też że tak na prawdę wg mnie to żadna różnica czy usbasp czy avr-doper w takim przypadku i tak każdy będzie działał równie przyjemnie.

    Jedyne na co zwróciłem uwagę to błędne założenie - że są jakieś problemy z instalacją czy pracą USBASP pod nowszymi windowsami.

    Więc jeśli ty panie cefaloid masz takie problemy ze stosowaniem nowości bo ci "niedawno" przeszkadza - to już tylko twój problem - nic ci nie poradzę. Więc nie pietruszkuj tu o jakichś kłamstwach bo się pan ośmieszasz na maxa jak dziecko.
  • #7
    riddyk
    Poziom 20  
    Witam,

    może nie wypowiem się na temat konstrukcji, a na temat USBASP. Niedawno zmieniłem komputer na laptopa z WIN 7 x64 i wczoraj musiałem podpiąć USBAsp do komputera, sterownika nie wykrylo, instalacja ręczna stwierdziła brak podpisanego certyfikatu sterownika. Restart komputera F8 z uruchomieniem Windowsa bez wymuszania podpisu sterownika i działa. Zatem jest możliwa bezproblemowa praca USBAsp pod WIN 7 x64. Korzystam z WinAvr, SinaProg (+avrdude).
  • #8
    cefaloid
    Poziom 32  
    @riddyk - bezproblemowa praca nie wymaga uruchamiania Windows w specjalnym trybie.
    @mirek36 - własnie tak to w praktyce wygląda. Szukanie na forach i kombinowanie. O tym piszę i to bez emocji. To nie jest bezproblemowość.

    mirekk36 napisał:
    cefaloid ---> o matko boska z córką!!! dżijzes - przepraszam za KŁAMSTWO - no masakra - jaki to grzech okropny popełniłem.

    O ile wiem biblioteki libusb 64 bit które współpracują z USBasp są dostępne od +/- drugiej połowy 2010r więc nie wiem jak mogło to działać wcześniej bez problemu. Fora internetowe pełne są błagających o pomoc z USBasp. Nawet dziś (patrz post powyżej).

    mirekk36 napisał:
    "Masz rację" - tylko napisz mi proszę po jakim czasie nie będzie to już kłamstwem ok???

    Kłamstwo nigdy się nie przedawnia i nie zmienia w prawdę. Chyba że w polityce.

    mirekk36 napisał:
    gdzie ja tu porównuję oba programatory ??? coś kolega zaślepił się z tej złości czy jak???

    Porównywałem bo takie było pytanie powyżej. Jaką ma przewagę.

    Na korzyść programatora przedstawionego przez mario06 (wg mnie badzo fajnie wykonanego) przemawia jeszcze jeden agrument. Jest on zgodny z STK 500.

    Przepraszam że wzbudziłem emocje i za moje ostre slowa. Doceniam to że na swoim blogu opisałeś jak uruchomić ten programator. Nie ma wielu ludzie którym się chce coś takiego zrobić.
  • #9
    McMonster
    Poziom 32  
    Ja mam problem z USBasp na Win7 Pro x64, mianowicie... ułamał mi się pin i utkwił we wtyczce, a z drugiej strony jest ona przylutowana na stałe do programatora. ;) Nie chcę się czepiać, ale czasami niektórzy zbyt żywiołowo podchodzą do dyskusji na tematy z określonego zestawu, tak jak ten z USBasp i sterownikami. Więcej dystansu i spokoju nie zaszkodzi.

    Chociaż z drugiej strony faktem na tę chwilę jest, że zainstalowanie tych sterowników nie należy do trudnych zadań, wymagana procedura, czyli poświęcenie trzech minut w wyszukiwarce i kolejnych trzech na samą instalację, nie powinno być poniżej poziomu godności ani poza zakresem możliwości przeciętnego elektronika.

    Jeszcze pytania co do programatora, czy obsługuje on HVSP, bo taką informację znalazłem gdzieś w Googlach? Ciekawi mnie też ten wirtualny port COM, czy programator, pod warunkiem wyprowadzenia sobie tych sygnałów na płytce, potrafi funkcjonować jako port szeregowy do ogólnych zastosowań?
  • #10
    mario06
    Poziom 15  
    Z usbasp ciężko mi porównać, nie miałem styczności z tym programatorem. Wydają się być podobne w plikach projektu AVR-Doper jest także wsad usbasp.

    @mirekk36 jeśli piszesz, że to działa i z filmiku wynika, że tak naprawdę jest to fajnie (wygenerowanie pliku .inf i gotowe), będę musiał się zagłębić w to. Tutaj takie pytanie jak to działa z innymi urządzeniami z którymi występują problemy przy instalacji pod win x64?

    Rzeczywiście założenie odnośnie bezproblemowego działania pod Win7 x64 może dziwnie brzmieć i wprowadzać w błąd. Z poprzednim programatorem męczyłem się już jakiś czas temu (z jakieś 2 lata temu) na to rozwiązanie nie trafiłem jedynie na sposób z przechodzeniem w tryb awaryjny systemu a to już nie jest "bezproblemowe", tym bardziej iż w takim przypadku traciłem część funkcjonalności komputera.

    Z HVPS nie korzystałem i mam nadzieje, że nie będę musiał korzystać w przyszłości, w związku z czym wykonany przeze mnie programator nie posiada tego bloku. Z portu szeregowego też zrezygnowałem, to w pełni szczęścia należałoby go wykonać jako zgodny z RS232 co zwiększyłoby rozmiary. Inna sprawa, iż jestem w posiadaniu przyzwoitego konwertera, który ma wyprowadzone wszystkie linie, a nie tylko Rx i Tx. Aby wirtualny port szeregowy działał urządzenie nie może być skonfigurowane jako HID i tutaj pojawia się zabawa ze sterownikami. Ale jako że przedstawiony został sposób instalacji/podmiany sterowników to zaraz sprawdzę jak to się ma .
  • #11
    NSCNT
    Poziom 10  
    Cytat:

    Jak wiadomo - przy wykorzystywaniu mikrokontrolerów bez programatora się nie obędzie.


    Oczywiście jest to nieprawda. Można się obejść wykorzystując bootloader. Znaczna ilość procesorów (także z rodziny AVR) to obecnie oferuje. Programator, który nie daje możliwości debuggowania, nie ma chyba żadnej istotniej przewagi nad bootloaderem.
  • #12
    stachu_15
    Poziom 11  
    Że się wypowiem na temat niezawodności USBasp pod Win7.
    Otóż kupiłem na allegro sobie komercyjny programatorek, nie miałem czasu na zrobienie swojego. Wszystko fajnie i pięknie do czasu podłączenia do kompa. Sterowniki wgrywałem chyba z 5 razy, wg przeróżnych instruktarzy (generalnie podobnych do siebie) i urządzenie w 99% podłączeń nie było wykrywane. Próbowałem na dwóch laptopach, PC z systemami W7 i XP - ciągle ten sam efekt.
    Z racji, że jestem studentem udałem się do jednego z moich prowadzących - doktor posiada nieocenioną wiedzę na temat mikrokontrolerów i ogólnie programowania... czego to on nie potrafiłby zrobić. Obejrzał urządzenie... najpierw hardware - pierwsza myśl... niedokładny kwarc, wlutował dodatkowy rezystor równolegle z kwarcem - NIE POMOGŁO. Kolejna sprawa... software (nie wnikał we wsad). Po ocenie błędów jakie zgłaszał windows z urządzeniem ocenił, że programator niepoprawnie zgłasza się w systemie. Zatem dlaczego - doszedł do wniosku, że za szybko wysyła swój VendorID i DeviceID... ale dlaczego? Trudno byłoby dotrzeć we wsadzie w część opóźniającą(ja nie miałem wystarczającej wiedzy jeszcze a AVRy nie są jego domeną - on się bawi Motorolami, Freescale) polecił mi sprawdzenie czy urządzenie poprawnie się zgłosi podpinając je, nie bezpośrednio do USB ale do huba USB. I jaki efekt?! Działa... Wniosek - może się zdarzać, że dzisiejsze nowe komputery mają za szybką obsługę portów USB, przez co niektóre urządzenia są niepoprawnie widziane w systemie (przeważnie w ogóle nie są widziane).
    Od tego czasu kiedy bawię się AVRami mam na biurku dodatkowe 0,5m kabla z hubem USB i żadnych problemów z USBasp.
    W zasadzie to nie wiem czy w tym temacie komuś pomogłem, ale z pewnością znajdą się osoby, które mają podobne problemy.
  • #13
    mirekk36
    Poziom 42  
    NSCNT napisał:
    Cytat:

    Jak wiadomo - przy wykorzystywaniu mikrokontrolerów bez programatora się nie obędzie.


    Oczywiście jest to nieprawda. Można się obejść wykorzystując bootloader. Znaczna ilość procesorów (także z rodziny AVR) to obecnie oferuje. Programator, który nie daje możliwości debuggowania, nie ma chyba żadnej istotniej przewagi nad bootloaderem.


    Chciałbym tylko delikatnie zwrócić uwagę, że wprawdzie AVRki oferują bootloader, jak napisałeś, ale może coś ci się pomyliło - nie mają go w sobie po wyjściu z fabryki. Więc żeby mieć bootloader to jednak trzeba mieć programator - przynajmniej ten JEDEN raz żeby wgrać bootloader. A w praktyce - to zajmowanie się mikrokontrolerami bez programatora sprzętowego tak chociaż ciut na poważnie - to nieporozumienie. Więc to prawda

    a o co ci chodziło z tym porównaniem możliwości debugowania w stosunku do bootloadera to już w ogóle nie wiem.

    Dodano po 9 [minuty]:

    stachu_15 napisał:
    Że się wypowiem na temat niezawodności USBasp pod Win7.
    Otóż kupiłem na allegro sobie komercyjny programatorek, nie miałem czasu na zrobienie swojego. Wszystko fajnie i pięknie do czasu podłączenia do kompa. Sterowniki wgrywałem chyba z 5 razy, wg przeróżnych instruktarzy (generalnie podobnych do siebie) i urządzenie w 99% podłączeń nie było wykrywane. Próbowałem na dwóch laptopach, PC z systemami W7 i XP - ciągle ten sam efekt.
    Z racji, że jestem studentem udałem się do jednego z moich prowadzących - doktor posiada nieocenioną wiedzę na temat mikrokontrolerów i ogólnie programowania... czego to on nie potrafiłby zrobić. Obejrzał urządzenie... najpierw hardware - pierwsza myśl... niedokładny kwarc, wlutował dodatkowy rezystor równolegle z kwarcem - NIE POMOGŁO. Kolejna sprawa... software (nie wnikał we wsad). Po ocenie błędów jakie zgłaszał windows z urządzeniem ocenił, że programator niepoprawnie zgłasza się w systemie. Zatem dlaczego - doszedł do wniosku, że za szybko wysyła swój VendorID i DeviceID... ale dlaczego? Trudno byłoby dotrzeć we wsadzie w część opóźniającą(ja nie miałem wystarczającej wiedzy jeszcze a AVRy nie są jego domeną - on się bawi Motorolami, Freescale) polecił mi sprawdzenie czy urządzenie poprawnie się zgłosi podpinając je, nie bezpośrednio do USB ale do huba USB. I jaki efekt?! Działa... Wniosek - może się zdarzać, że dzisiejsze nowe komputery mają za szybką obsługę portów USB, przez co niektóre urządzenia są niepoprawnie widziane w systemie (przeważnie w ogóle nie są widziane).
    Od tego czasu kiedy bawię się AVRami mam na biurku dodatkowe 0,5m kabla z hubem USB i żadnych problemów z USBasp.
    W zasadzie to nie wiem czy w tym temacie komuś pomogłem, ale z pewnością znajdą się osoby, które mają podobne problemy.


    Jakby kolega poczytał chociażby na elektrodzie troszkę tematów gdzie ludzie opisują różne problemy z USBASP jakie miewają albo na moim blogu, jeszcze raz przypomnę:

    http://mirekk36.blogspot.com/2011/05/wszystko-o-usbasp.html#more

    to zobaczyłbyś, że zostało to już wiele razy opisane i ten pomysł z dodatkowym HUB'em .... no można to potraktować jako zastępcze rozwiązanie choć nieco kuriozalne. A wytłumaczenie tego problemu - tzn, że rzekomo obecne komputery są za szybkie bo coś tam coś tam - to już hmmm prawie niedorzeczność niestety :(

    Problem o którym piszesz związany jest z diodami zenera, które zapewne masz na 3,6V zresztą tak jak w oryginalnym schemacie ze strony autora projektu www.fischl.de/usbasp

    niestety - przy takiej wartości diod zenera nie wszystkie komputery a szczególnie notebooki potrafią wykryć podłączony programator USBASP. Zmiana diod zenera na napięcie 3,3V nagle cudownie rozwiązuje ten problem. Ale to nie ma nic wspólnego z za szybkim wysyłaniem czegoś tam a już szczególnie VID czy PID ;)

    Dlaczego u ciebie zadziałało to przypadkow z HUBem - to już chyba się domyślasz - bo zadziałało dopasowanie linii z tymi diodami zenera, które masz w swoim programatorze USBASP.

    A nie wspomnę już o tym, że na allegro jest ostatnio wysyp ale to duży wysyp gniotów a nie programatorów USBASP różnej maści. Bardzo często nawet ze zwykłymi zwarciami - czyli takie, które nigdy przez sprzedającego nie zostały nawet RAZ sprawdzone! Od niedawna - wszyscy na churrra dorwali się do produkcji USBASP i sprzedaży ich na allegro.

    Ja już miałbym polecić firmę od której warto kupić programator wprawdzie STK500v2 , który na pewno będzie działał i nie będzie to gniot - to poleciłbym firmę And-Tech.
  • #14
    ^Rachel
    Poziom 21  
    "mirekk36" ma rację, ponieważ sam posiadam USBasp na siódemce 64-bitowej i śmiga bez problemu, tylko musiałem trochę z tym powalczyć, większość początkujących napewno zbuduje USBasp ze względu na prostą budowę i prostą płytkę.

    Ale mimo wszystko programator godny uwagi.
    Pozdrawiam
  • #15
    blue_17
    Poziom 32  
    mirekk36 napisał:

    Oczywiście jest to nieprawda. Można się obejść wykorzystując bootloader. Znaczna ilość procesorów (także z rodziny AVR) to obecnie oferuje. Programator, który nie daje możliwości debuggowania, nie ma chyba żadnej istotniej przewagi nad bootloaderem.


    Czytałem tu na forum że ponoć AVR-ki z końcówką U mają fabryczny bootloader

    Co do usbasp to sam ostatnio walczyłem z jego instalacja ale na Linuxsie (Ubuntu)

    Ale dzięki forum udało się :D

    https://www.elektroda.pl/rtvforum/viewtopic.php?p=9543639#9543639

    Pozdrawiam
  • #16
    NSCNT
    Poziom 10  
    [quote="mirekk36"][quote="NSCNT"]
    Cytat:

    Chciałbym tylko delikatnie zwrócić uwagę, że wprawdzie AVRki oferują bootloader, jak napisałeś, ale może coś ci się pomyliło - nie mają go w sobie po wyjściu z fabryki. Więc żeby mieć bootloader to jednak trzeba mieć programator - przynajmniej ten JEDEN raz żeby wgrać bootloader. A w praktyce - to zajmowanie się mikrokontrolerami bez programatora sprzętowego tak chociaż ciut na poważnie - to nieporozumienie. Więc to prawda

    a o co ci chodziło z tym porównaniem możliwości debugowania w stosunku do bootloadera to już w ogóle nie wiem.

    Szanowny kolego, nic mi się nie pomyliło. Jak ktoś już słusznie napisał AVR'ki z literką U w nazwie mają wgrany fabrycznie bootloader USB (np. amtega 32u2 którą osobiście programuję właśnie w ten sposób). Pod windowsem bezproblemowo ładuje się pliki .hex za pomocą atmelowego programu FLIP.

    Co do debugowania - to ani przy użyciu prostego sprzętowego programatora jak USBasp ani przy użyciu bootloadera nie można debugować (tzn. mieć kontroli nad programem, ustawiać pułapek, obserwować zmiennych itd.) więc dopóki nie zainwestuje się w jakiegoś JTAGa większej różnicy tu nie ma.

    Twórca tematu napisał, że "przy wykorzystywaniu mikrokontrolerów bez programatora się nie obędzie". Ja znalazłem kontrprzykład. Obędzie się, przy ograniczeniu się do wybranych procesorów. Więc twierdzenie to nie jest prawdziwe. Nie chodzi o to, żeby komuś pisać na złość, tylko o to, że warto wiedzieć, że istnieją takie procki które w wygodny sposób można programować bez żadnych dodatkowych urządzeń. Pozdrawiam