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

Prosty programator AVR na RS232

bf199 07 Lis 2012 18:49 19590 38
  • Prosty programator AVR na RS232

    Witam. :)

    Chciałbym przedstawić Wam prosty programator AVR wykorzystujący port RS232. :) Wielu zapewne stwierdzi, że to przeżytek ponieważ dużo prościej posługiwać się programatorem na USB, lecz port RS jest nadal dość często wykorzystywany. Zaletami tej konstrukcji jest miedzy innymi cena elementów, łatwość ich zgromadzenia (najczęściej każdy, kto zajmuje się elektroniką będzie miał wszystkie w domu albo ich znaczną większość), gotowe podstawki prosto na płytce urządzenia, do których bezpośrednio wkładamy nasz mikroprocesor i możliwość programowania najpopularniejszych, np. Attiny2313 i Atmega8. Programator posiada też wyjście ISP, które daje możliwość podłączenia mikroprocesora, który ma inny rozkład pinów potrzebnych do programowania niż w użytych podstawkach. :) Urządzenie działa stabilnie i jest proste w montażu, używam go już parę lat. Każdy początkujący elektronik powinien sobie poradzić w jego wykonaniu i przede wszystkim do takich je kieruję. :) W załączniku plik PDF ze schematem, wzorem płytki i rysunkiem montażowym. U mnie płytka jest wykonana metodą termotransferu, pominięte zostały diody prostownicze, a w ich miejscu wstawiłem zworki, ponieważ zasilam je od razu zasilaczem DC 12V. Do obsługi używam programu Pony Prog V207a.

    Prosty programator AVR na RS232 Prosty programator AVR na RS232 Prosty programator AVR na RS232 Prosty programator AVR na RS232 Prosty programator AVR na RS232
    Załączniki:

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    bf199
    Poziom 20  
    Offline 
    Specjalizuje się w: elektronika
    bf199 napisał 589 postów o ocenie 353, pomógł 6 razy. Mieszka w mieście Kolbuszowa. Jest z nami od 2005 roku.
  • Computer ControlsComputer Controls
  • #2
    pawlos105
    Poziom 17  
    A jaki jest koszt budowy ?
  • #3
    vergil50
    Poziom 12  
    Genialne w swojej prostocie bez wodotrysków niezawodne to sie liczy. Na przyszłość sugeruje montować podstawki precyzyjne sa o wiele wytrzymalsze i zapewniają lepszy kontakt a podczas programowania nie jest to bez znaczenia. Jak się wyjmie i włoży kilkanaście, kilkadziesiąt,kilkaset razy układ w podstawkę to kontakt jest słaby wiem to z doświadczenia w avr fuse doktorze
  • #4
    piotrva
    Moderator na urlopie...
    1. Podstawki i ISP - przypominają mi się czasy AT89C... - to jest bezsens
    2. Prostota i cena - temu nie da się zaprzeczyć, ale kto co woli - ja używam Dragona i klona AVRISP mkII i nie żałuję ani złotówki, za którą mam integrację z IDE w którym pracuję.
    3. Złącze ISP - czemu nie w standardzie ATMEL ISP lub KANDA?
    4. Wykonanie estetyczne
  • #6
    Jogesh
    Poziom 28  
    Zrobiłem kiedyś taki programator, ale poleżał kilka misięcy i przestał działać. Pewnie jakiś pin nie kontaktował. Jednak polecam prosty układ na USB, znacznie mniej zawodny.

    Ale konstrukcja estetyczna.
  • Computer ControlsComputer Controls
  • #7
    sq6ade
    Poziom 40  
    phanick napisał:
    Że tak zapytam - gdzie jest MAX232?


    "Fejs" do Ponego jest "bezmaxowy".
  • #8
    bf199
    Poziom 20  
    Koszt budowy u mnie to grosze, kupiłem tylko gniazdo db9 (2zł) i podstawka 40dip (40gr), resztę elementów posiadałem w domu:) Ale myślę ze każdy wymieścił by się w 10zł razem z laminatem. Jeśli chodzi o podstawki użyłem takich zwykłych bo takie posiadałem akurat w domu, a programator chciałem zrobić jak najtaniej bez kupowania czegoś co już mam u siebie:) Oczywiście zgadzam się że przy częstym używaniu one się niszczą, każdy ma swoje prawo wyboru i ci którzy będą chcieli zapewne kupią podstawki precyzyjne:) A co do układu MAX ponosiło by za sobą dodatkowe koszty, uważam że jest on tu zbędny:)
  • #9
    excray
    Poziom 39  
    A robocizna? Czas pracy? Elementy "niby za darmo" które jednak kosztują? Wolałbym dołożyć 15zł i kupić USBASPa na a******. Przynajmniej można zasilać układ bezpośrednio z usb i nie trzeba wkładać i wyciągać z podstawek co u mnie w 1 na 10 przypadków kończy się powyginanymi nóżkami a w efekcie pourywanymi nóżkami.
  • #10
    EBC41
    Poziom 28  
    A ja bym dołożył trochę więcej i kupił od razu programator z debuggerem. Bez tego drugiego, to zabawa w programowanie skończy się na momencie kiedy soft będzie robił co mu się podoba, a autor nie będzie wiedział dlaczego.
  • #11
    piotrva
    Moderator na urlopie...
    Dokładnie, jak mamy trochę więcej klasy (lub doświadczenie w montażu SMD) możemy trochę dołożyć do USBAsp i zbudować sobie/kupić (za ~80zł na pewnym serwisie aukcyjnym) klon AVRISPmkII - działa znacznie lepiej niż USBAsp i mimo wszystko jest mniej problematyczny niż USBAsp. Ponadto wspiera programowanie praktycznie wszystkich procesorów z rodziny AVR (począwszy od standardowych Attiny i Atmega, przez maleńkie Attiny4/5/9/10 po najnowsze procesory AVR: ATXMega {oraz ze starszych serii 90...: 90CAN..., 90USB..., 90PWM...}) i współpracuje zarówno z AVRDude, jak i BASCOM oraz AVRStudio (bezpośrednio - w Bascom i AVRStudio/AtmelStudio programujemy bezpośrednio z IDE i mamy dostęp do wszystkich wbudowanych w te środowiska narzędzi do programowania).
    A za 250zł można kupić AVRDragona - moim zdaniem najlepsze oryginalne narzędzie (pod względem cena/jakość/funkcjonalność) dla osób, które zaczynają się na poważnie zajmować programowaniem mikro-kontrolerów.
    ---
    Ale jak mówię, są ludzie którym dobrze się śpi pod namiotem, a są i tacy którzy nocują tylko w hotelach *****, zależy co kto w pracy lubi i jak intensywnie pracuje - o gustach się nie dyskutuje.
  • #12
    marek1846
    Poziom 14  
    Jaki jest sens budowy takich prostych urządzeń? Bardzo prosty, dla początkującego, im prostsze urządzenie, tym większa pewność, że nie popełni błędów. Skuteczna nauka polega co prawda na popełnianiu błędu, odnajdowaniu go i poprawianiu, ale czasami można zrobić wyjątek.
    Teraz co do samego projektu, najpoważniejszy problem, to ciągłe wkładanie i wykładanie do podstawek. Grozi to wyginaniem nóżek, ale i temu można łatwo zapobiec. Wystarczy programowany układ umieścić w podstawce i łącznie z tą dodatkową podstawką przenosić z programatora do docelowego układu aż do skutku. Zamiast kwarcu dałbym, generator żeby można było odblokowywać procesor w przypadku źle ustawionych fuse bitów a to najczęstszy błąd popełniany przez początkujących.
  • #13
    HSWG
    Poziom 21  
    Fajny, prosty i tani układ. Jedną z ważniejszych rzeczy, która go odróżnia od kupnych, to własnoręczna budowa od podstaw i o to właśnie chodzi w DIY. Szukam czegoś podobnego do AT89CX051, działającego pod Linux'em.
    @piotrva - dziwi mnie trochę Twoje podejście - widzę, że zajmujesz się z jednej strony BASCOM'em i Arduino - czyli środowiska dla weekendowych hobbystów, a z drugiej wychwalasz narzędzia przeznaczone dla ludzi, którzy zarabiają na chleb programowaniem
  • #14
    mirekk36
    Poziom 42  
    Sam programatorek fajny i przydatny nawet jako zapasowy. Dobrze, że posiada wyprowadzone ISP. Ładnie wykonany. Podkreślam - programatorek, ale ta tafla podstawek to czysty nonsens. Nie mówiąc już o łamaniu nóg scalakom, niszczeniu podstawek (co wspominali koledzy wyżej), nie mówiąc o uwstecznieniu się o 20 lat do czasu EEPROMów kasowanych ultrafioletem, to strata czasu na pisanie i testowanie softu przy takim przekładaniu scalaków to po prostu ZGROZA :( Nie po to wymyślono tak ogromne ułatwienie jak ISP (In System Programming - programowanie w układzie) - żeby cofać się w przeszłość.

    ale to:

    marek1846 napisał:
    Jaki jest sens budowy takich prostych urządzeń?


    Prostych urządzeń ?

    marek1846 napisał:
    Wystarczy programowany układ umieścić w podstawce i łącznie z tą dodatkową podstawką przenosić z programatora do docelowego układu aż do skutku.


    to już przypomina już pomysł z Monty Pythona (biuro nienormalnych kroków itp) .... A nie pomyślał może kolega nieco dalej i nie zechciałby przewidzieć jeszcze dodatkowej podstawki do podstawki do układu, żeby się nóżki nie niszczyły w podstawce pod układ? Można by pójść jeszcze dalej, idąc tym tropem - to może zrobić od razu: podstawkę pod podstawkę w której będzie podstawka a w niej mikrokontroler ? ... itd itd ....

    nie zdziwię się jak niedługo na serwisach aukcyjnych zawitają takie modele mega-multipodstawkowe ....

    Reasumując proponuję odrąbać tą taflę podstawek z prezentowanego programatora i wtedy można się zgodzić, że będzie to mały, poręczny i wygodny programatorek ISP podłączany do tradycyjnego portu COM a programowanie będzie się odbywało w docelowym układzie.
  • #15
    marek1846
    Poziom 14  
    mirekk36 napisał:

    ale to:

    marek1846 napisał:
    Jaki jest sens budowy takich prostych urządzeń?


    Prostych urządzeń ?

    marek1846 napisał:
    Wystarczy programowany układ umieścić w podstawce i łącznie z tą dodatkową podstawką przenosić z programatora do docelowego układu aż do skutku.


    to już przypomina już pomysł z Monty Pythona (biuro nienormalnych kroków itp) ....

    Nie bardzo rozumiem "Prostych urządzeń ?" Czy kolega uważa, że ten programator jest skomplikowany, czy że nie jest urządzeniem?
    Pomysł z przenoszeniem programowanego układy w pomocniczej podstawce nie jest mój, pochodzi z EP. Jeżeli kolega zna inny, skuteczniejszy sposób, proszę podzielić się nim.
  • #16
    mirekk36
    Poziom 42  
    marek1846 napisał:

    Nie bardzo rozumiem "Prostych urządzeń ?" Czy kolega uważa, że ten programator jest skomplikowany, czy że nie jest urządzeniem?


    A gdzie ja coś takiego pisałem ? coś kolega nie czyta albo źle czyta. Napisałem wyraźnie, wystarczy odciąć te wszystkie podstawki i będzie bardzo fajny programator


    marek1846 napisał:
    Pomysł z przenoszeniem programowanego układy w pomocniczej podstawce nie jest mój, pochodzi z EP. Jeżeli kolega zna inny, skuteczniejszy sposób, proszę podzielić się nim.


    A to znaczy, że jak pomysł z EP to najlepszy ? Pewnie, że znam inny i skuteczniejszy sposób i już się dzieliłem, ale widzę, że trzeba 2x to samo napisać koledze.

    Tym skuteczniejszym, szybszym, bezpieczniejszym i wygodniejszym sposobem jest podłączenie tego kabelka ISP z programatora do układu w którym znajduje się mikrokontroler i programowanie go bezpośrednio w tym układzie. ŻADNEGO przekładania z podstawek do podstawek w podstawkach i przez podstawki.
  • #17
    HSWG
    Poziom 21  
    mirekk36 napisał:
    Tym skuteczniejszym, szybszym, bezpieczniejszym i wygodniejszym sposobem jest podłączenie tego kabelka ISP z programatora do układu w którym znajduje się mikrokontroler i programowanie go bezpośrednio w tym układzie. ŻADNEGO przekładania z podstawek do podstawek w podstawkach i przez podstawki.

    Pewnie, że szybciej i wygodniej, ale układy, to nie tylko płytki uruchomieniowe, zdarza się, że w budowanym układzie nie przewiduje się złącza do programowania, lub nie pozwalają na to elementy dołączone do mikrokontrolera.
  • #18
    mirekk36
    Poziom 42  
    HSWG napisał:

    Pewnie, że szybciej i wygodniej, ale układy, to nie tylko płytki uruchomieniowe, zdarza się, że w budowanym układzie nie przewiduje się złącza do programowania,

    Pewnie, że się zdarza i to jest błąd bo złącze nie musi nawet miejsca zabierać, wystarczy kilka padów, nawet SMD. Na tysiąc sposobów można je tam umieścić lub wyprowadzić na krawędź płytki takie pady/złącze. Sam buduję niejednokrotnie np piloty zdalnego sterowania na miniaturowych płytkach i z procesorami SMD. I co? jak wtedy je zaprogramować skoro się nawet nie da go wyjąć z podstawki bo jest wlutowany na PCB ??? Pewnie że wtedy nie umieszczam złącza ale kilka padów i potem do nich wystarczy na czas programowania przytknąć płytkę i po zawododach.
    Więc jeśli się to zdarza jak kolega pisze, że w budowanym układzie nie przewiduje się złącza, to tylko źle świadczy o tym kto projektuje takie PCB. Już nie wspomnę o względach serwisowych itp

    HSWG napisał:
    lub nie pozwalają na to elementy dołączone do mikrokontrolera.

    Zawsze da się podłączyć i umieścić złącze - nie ma takiej opcji że jakieś elementy mogą przeszkadzać, także tu są setki rozwiązań, od najprostszych czyli zwykłych jumperów rozłączających linie programowania od innych części układu aż po stosowanie przeróżnych multiplekserów/expanderów itp

    a to wszystko nadal w ramach zdecydowanej wygody pracy
  • #19
    piotrva
    Moderator na urlopie...
    HSWG napisał:
    @piotrva - dziwi mnie trochę Twoje podejście - widzę, że zajmujesz się z jednej strony BASCOM'em i Arduino - czyli środowiska dla weekendowych hobbystów, a z drugiej wychwalasz narzędzia przeznaczone dla ludzi, którzy zarabiają na chleb programowaniem

    Cóż, jeśli kolega nie wie czym i jak zarabiam, to może proszę o nie ocenianie mojej osoby i doświadczenia w ten sposób. To że napisałem specjalnie na zlecenie firmy And-Tech kursy programowania w tych środowiskach i je w miarę dobrze znam, wcale nie klasyfikuje mnie w gronie "weekendowych hobbystów" (jak to bardzo miło Kolega określił). Nie uważam się za super eksperta każdej dziedziny elektroniki, zresztą nie mnie oceniać moje doświadczenie, jednak prosiłbym o powstrzymanie się od takich opinii, gdyż nie zna Kolega mojego doświadczenia w dziedzinie, ani tego co robię na co dzień i czym się zajmuję i w jakich językach programuję.
  • #20
    Wilu88
    Poziom 11  
    Czy niezbędne jest zasilanie 12V? bo z tego co widzę to i tak wszystko przechodzi przez stabilizator 5V. Akurat mam zasilacz 9V i chciałbym złożyć ten programator.
  • #22
    pgoral
    Poziom 26  
    Jestem ciekaw czy ktoś próbował używać przejściówki USB->RS232 z takim programatorem
  • #23
    piotrva
    Moderator na urlopie...
    Po co, skoro mając FT232 i używając AVR-Dude można bez problemu zaprogramować procesor?
    Ale w teorii (o ile przejściówka ma wyjście COM a nie TTL i zapewnia odpowiednie napięcia) powinno działać.
  • #25
    tmf
    Moderator Mikrokontrolery Projektowanie
    Ale pomysł przejściówka USB->RS232->homemade ISP jest tak samo dziwaczny jak pomysł z przekładaniem mikrokontrolera w podstawce, żeby mu się nogi nie pogniotły. Mirek dzisiaj jakiś łagodny jest, to ja zapytam wprost - ludzie, co wy palicie?
    Jak masz przejściówkę USB-RS, to zobacz co w niej siedzi, podłącz się wg. jednej z możliwości obsługiwanej przez AVRdude i programu, a nie kombinuj. Zresztą za parę złotych na a... możesz kupić moduł na FT232, to właściwie gotowy programator. W każdym razie nie gorszy (a IMHO nawet lepszy) niż USBasp. A najlepiej zrobić tak jak kolega piotrva pisał - kupić Dragona, albo klon ISPMkII (chociaż lepiej dodać te kilka zł i kupić oryginał). Problem z głowy raz na zawsze i zamiast na walce z programatorem można się skupić na programowaniu.
  • #26
    piotrva
    Moderator na urlopie...
    Cóż, powiedzmy że klon ISPmkII jest chyba na początek najlepszy jeśli weźmiemy pod uwagę stosunek (jakość+możliwości)/cena. Dragon to dla zaczynającego zabawę (i nie planującego nic więcej poza zabawą/małymi-średnimi zleceniami) mimo wszystko nadmiar. Choć IMHO są to moje najlepiej zainwestowane pieniądze w narzędzia do procesorów.
    ---
    Ale jak mówię, co kto lubi, jeśli komuś z takiego a nie innego narzędzia się wygodnie korzysta - to o gustach się nie dyskutuje (tylko nie obrażajmy się nawzajem przy tym).
    ---
    W jednej sprawie tylko pozostanę nieugięty - skoro są to programatory dla amatorów, którzy nie zamierzają programować większych serii układów, po co u licha te podstawki w milionie rozmiarów i to jeszcze zwykłe, a nie zif?
    Ja już bym lepiej dał jedną porządną podstawkę ZIF40-mix z wszystkimi wyprowadzeniami, generator 1Mhz TTL 50% i podpinać do tego się kabelkami - wygoda większa, uniwersalność też i można amatorsko programować jakieś niewielkie serie do urządzeń. (mniej więcej tak to jest rozwiązane w Dragonie - pomysł świetny)
  • #27
    pgoral
    Poziom 26  
    Dziwaczny czy nie dziwaczy - aż sam sprawdzę skoro nikt tego jeszcze nie zrobił. Nie chodzi o praktyczne zastosowanie a o zaspokojenie ciekawości.
  • #28
    marek1846
    Poziom 14  
    Na tym to polega. Ktoś kupuje Astrę, a mądrale mówią mu, po co ci Astra, kup Ferrari, albo nawet Lamborghini, nic tak nie nadaje się na wyprawę po bułki na śniadanie. Projekt jest konkretny, taki a nie inny,
    "Chciałbym przedstawić Wam prosty programator AVR wykorzystujący port RS232"
    tak to się zaczyna.
  • #29
    Argo van Bass
    Poziom 10  
    Dziwne bo jak dałem 12 to mi się malutki zaczął grzać? tak gdzieś miał koło 30 st i go wyłączyłem. Możliwe że się spalił?