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

Jak zacząć zabawę z programatorami i mikrokontrolerami ??

lyczewskiand 18 Mar 2013 12:42 13266 70
  • #1 18 Mar 2013 12:42
    lyczewskiand
    Poziom 15  

    Witam.
    Jak każdy zapewne początkujący elektronik, chcę zacząć przygodę z programowaniem mikrokontrolerów.
    I tutaj właśnie zaczynają się schody.
    AVR czy PIC.
    Jaki wybrać programator?

    Ponieważ dopiero chcę zacząć pisać proste programy pod tanie i nieskomplikowane mikrokontrolety chciałbym aby Programator nie był drogi.
    Z tego miejsca chciałbym zapytać się czy programator USBasp na allegro kosztujący około 20zł byłby dobry?

    Czytając forum wiele osób poleca programatory z ISP, ale te niestety kosztują około 70zł.
    Dodatkowo jeżeli będę programował bez ISP o ile będzie to opłacalne, to jakich podstawek pod uC użyć?

    0 29
  • Arrow Multisolution Day
  • Pomocny post
    #2 18 Mar 2013 12:55
    Steryd3
    Poziom 31  

    Temat rzeka-czy AVR czy PIC. Zaraz rozgorzeje debata zwolenników jednej i drugiej opcji. Ja zaczynałem od AVRów. Wtedy ich przewaga polegała na tym, że programator do portu LPT kosztował grosze(dla ryzykantów to wystarczyła wtyczka DSUB25 i kabel). Dodatkowo miałem je w programie studiów więc coś było łatwiej. Nie są one złe-mają pewne wady które trochę poprawiono w XMegach. Co do PICów -ona mają droższe programatory (choć tanie klony już się pojawiły). W PICach są dobre 12-bitowe przetworniki które są dużo lepsze od słabych nieliniowych 10-bitowych w AVR. Dla obydwóch omawianych mikrokontrolerów środowiska są darmowe. Porównanie PIC i AVR to temat rzeka (mówimy o 8-bitowcach).
    Co do typu programatora-w tym momencie tylko ISP -programowanie poprzez wyciąganie scalaka i przekładania go do podstawki programatora ma racje jedynie w masowej produkcji a nie przy uruchamianiu projektu.
    Co do początku nauki... najlepiej poczytać najpierw trochę teorii mikroprocesorów i mikrokontrolerów. Bez tego później wychodzą dziwne rzeczy. Dobrze jest też coś raz napisać w Asemblerze -coś małego. Daje to obraz jak to w środku działa.
    Do AVRów polecam książkę R. Baranowskiego -chyba jest najlepiej napisana z wszystkich zajmujących się tą tematyką.

    0
  • Arrow Multisolution Day
  • Pomocny post
    #3 18 Mar 2013 12:56
    tmf
    Moderator Mikrokontrolery Projektowanie

    Zacznij od:
    http://mikrokontrolery.blogspot.com/
    Co do programatora to jest to jedno z najważniejszych urządzeń i na tym się nie oszczędza. Na początek możesz kupić np. moduł z MCU z bootloaderem i programować bez programatora (na powyższej stronie zosbacz kurs xmega).

    0
  • #4 18 Mar 2013 14:48
    lyczewskiand
    Poziom 15  

    Steryd3 napisał:
    Dobrze jest też coś raz napisać w Asemblerze -coś małego. Daje to obraz jak to w środku działa.

    W technikum miałem zajęcia na zestawie DSM-51 i co nieco łyknąłem z tej wiedzy :)

    A jak wam się widzi pomysł abym sam zrobił sobie programator pod USB, wytrawił płytkę, kupił elementy. Pewnie drożej by to wyszło niż kupienie na allegro :(.

    0
  • Pomocny post
    #5 18 Mar 2013 16:57
    Steryd3
    Poziom 31  

    Jak będziesz zamawiał płytkę w firmie to pewnie drożej ale jak zrobisz żelazkiem...powinno być ok. W marcowej Elektronice Praktycznej jest projekt programatora do AVRów- poza płytką którą bym zaprojektował od początku programator ten prezentuje się bardzo przyzwoicie.

    0
  • Pomocny post
    #6 18 Mar 2013 16:58
    Dople
    Poziom 19  

    AVR, czy PIC? Rozejrzyj sie, czego jest więcej w sieci i co Ci "podchodzi" (czy może raczej "podeszłoby). ;-) Rzuć okiem na ceny, itd.
    Jak masz zamiar kupić książkę to jedna i druga opcja powinna być dobra.

    Do programowania przez KANDA ("taka taśma z takim złączem") przydałaby się chociaż jedna płytka stykowa.

    Warto byłoby zaopatrzyć się w programator, który zasila programowany układ - jest dużo wygodniej, a przynajmniej mi na pocżatku było.


    http://mikrokontrolery.blogspot.com/p/spis-tresci.html#dzial_jak_zaczac

    0
  • Pomocny post
    #7 18 Mar 2013 16:59
    BlueDraco
    Specjalista - Mikrokontrolery

    Płytkę STM32F0DISCOVERY z mikrokontroelrem oraz programatorem/debuggerem kupisz za < 50 zł.

    0
  • Pomocny post
    #8 18 Mar 2013 17:07
    excray
    Poziom 39  

    lyczewskiand napisał:
    W technikum miałem zajęcia na zestawie DSM-51 i co nieco łyknąłem z tej wiedzy

    To jeśli masz zamiar pisać coś również w asm to zdecydowanie AVR. PICe mają dziki asembler i jeszcze dzikszy dostęp z poziomu asemblera do rejestrów.
    BlueDraco napisał:
    Płytkę STM32F0DISCOVERY z mikrokontrolelrem oraz programatorem/debuggerem kupisz za < 50 zł.

    Ja bym raczej nie zaczynał kontaktu z mikroprocesorami od jakiegokolwiek ARMa. Chyba że chcemy takiego początkującego zniechęcić.

    0
  • Pomocny post
    #9 18 Mar 2013 17:14
    BlueDraco
    Specjalista - Mikrokontrolery

    Nie, chcemy początkującego zachęcić. "Jakikolwiek ARM" umożliwia oglądanie wykonania programu na ekranie PC instrukcja po instrukcji, zastawianie pułapek i podglądanie danych, w tym portów, z komputera. Tego na tradycyjnym AVR ani tradycyjnym PIC raczej nie zrobisz, a płytki startowe plus programatory dla tych muzealnych eksponatów na ogół też kosztują nieco drożej.

    0
  • Pomocny post
    #10 18 Mar 2013 17:24
    excray
    Poziom 39  

    BlueDraco napisał:
    "Jakikolwiek ARM" umożliwia oglądanie wykonania programu na ekranie PC instrukcja po instrukcji, zastawianie pułapek i podglądanie danych, w tym portów, z komputera.

    I rozumiem że bez tego się nie da programować? Dziwne bo ja jakoś daję radę i jeszcze nie odczułem braku sprzętowego debuggera. Zresztą wiele AVRów też ma JTAG.
    BlueDraco napisał:
    a płytki startowe plus programatory dla tych muzealnych eksponatów na ogół też kosztują nieco drożej.

    Do uruchomienia AVRa wystarczy płytka stykowa bo AVRy mają na szczęście wersje DIP czego nie można powiedzieć o ARMach a programator USBAsp kosztuje 20zł.
    Poza tym zapominasz o architekturze. Uruchomienie AVRa to dla początkującego 20 minut czytania datasheet. Bardzo przyjaznego datasheet. Czego niestety nie da się powiedzieć o ARM.

    0
  • Pomocny post
    #11 18 Mar 2013 17:34
    BlueDraco
    Specjalista - Mikrokontrolery

    Bez tego daje się programować. A czym daje się debugować te AVRy w DIP? ;)
    Ja np. na ogół nie robię na płytkach pod ARM złącz do programowania, bo prawie wszystkie układy mają bootloader, umożliwiający ładowanie programu przez UART lub USB.
    Debuggera też nie używam, ale podobno doradzamy początkującym, którym taki debugger bardzo by pomógł, nie uważasz?

    0
  • Pomocny post
    #12 18 Mar 2013 17:58
    zumek
    Poziom 39  

    BlueDraco napisał:
    ... ale podobno doradzamy początkującym, którym taki debugger bardzo by pomógł, nie uważasz?

    Tylko, że "początkujący" napisał: "...pod tanie i nieskomplikowane mikrokontrolery..."
    Można powiedzieć o ARM-ach, że są tanie, ale że nieskomplikowane, to raczej nie bardzo.
    Z drugiej strony, jak już zaczynać, to może od ..."głębokiej wody" :?: :-P

    0
  • #13 18 Mar 2013 19:35
    lyczewskiand
    Poziom 15  

    Znalazłem na YT taki oto filmik FILMIK

    A jeżeli chodzi o USBasp. To z jakim kompilatorem, programem jest on kompatybilny?

    0
  • Pomocny post
    #14 18 Mar 2013 19:55
    tmf
    Moderator Mikrokontrolery Projektowanie

    Programator zazwyczaj nie zależy od kompilatora. Kompilator (a częściej linker) generuje pliki elf lub IntelHEX, które wgrywasz do MCU. Proces wgrywania kontroluje oprogramowanie programatora. Jak rozumiem pytasz o kompatybilność z IDE, czyli zintegrowanym środowiskiem programistycznym? USBasp jest kompatybilny z każdym IDE (Atmel Studio, AVR Studio, Eclipse), jest po prostu tak prymitywny, że żadnej głębszej integracji nie ma. Niemniej zdecydowanie ci odradzam programatory za 20zł, to zazwyczaj zmarnowane pieniądze, chyba, że będziesz się okazyjnie zajmwał mikrokontrolerami, pisząc programy o złożoności migacza LED :) Weź też pod uwagę, że świat idzie w kierunku układów zasilanych 3,3V i niżej, i tu USBasp nie da rady.

    0
  • Pomocny post
    #15 18 Mar 2013 20:03
    lemos
    Poziom 17  

    tmf napisał:
    Weź też pod uwagę, że świat idzie w kierunku układów zasilanych 3,3V i niżej, i tu USBasp nie da rady.

    Czy jesteś tego pewien ??

    Pozdrawiam
    R.L.

    0
  • #16 18 Mar 2013 20:19
    lyczewskiand
    Poziom 15  

    Fajna PLAYLISTA z YT :)
    Po angielsku dla mnie to nie problem. Super wszystko wyjaśnione :)
    LINK

    0
  • Pomocny post
    #17 18 Mar 2013 22:01
    tmf
    Moderator Mikrokontrolery Projektowanie

    lemos napisał:
    tmf napisał:
    Weź też pod uwagę, że świat idzie w kierunku układów zasilanych 3,3V i niżej, i tu USBasp nie da rady.

    Czy jesteś tego pewien ??

    Pozdrawiam
    R.L.


    Wymagałby konwertera poziomó logicznych. Większość USBasp to ATMega udająca współpracę po USB, z wyjściami wyprowadzonymi bezpośrednio. Oczywiście jeśli doda się konwerter poziomów to jest ok. Tylko wtedy to nie kosztuje 20 zł.

    0
  • Pomocny post
    #18 18 Mar 2013 23:55
    lemos
    Poziom 17  

    Dokładnie, wymaga konwertera poziomów. Osobiście uważam, że ta złotówka czy dwie na najprostszy 74LVC nie zwiększa zbytnio kosztów, a zyskujemy dodatkową ochronę procesora.

    Pozdrawiam
    R.L.

    0
  • #19 19 Mar 2013 11:51
    lyczewskiand
    Poziom 15  

    Na e-bayu znalazlem taką aukcję
    Link

    Darmowa wysyłka. Czyli programator za ~13zł :)

    0
  • #20 19 Mar 2013 14:34
    tmf
    Moderator Mikrokontrolery Projektowanie

    Jeśli jedynie cena ma decydować to ok. Ale weź pod uwagę inne rzeczy. Wspomniana praca z niższymi napięciami, a także współpraca np. z Atmel Studio. Daje to wygodę i bezpieczeństwo - np. fusebity zmieniasz przy pomocy wygodnego kreatora a nie wpisywania ich wartości hex. Tylko, że do tego potrzebny jest programator w pełni współpracujący z AS. Kolejna kwestia to np. możliwość debugowania, która szczególnie na początku, ale dale jteż jest niezbędna. Stąd też jeśli musisz się zmieścić poniżej 20-30zł to istotnie nie ma wyboru i USBasp jest ok, ale jeśli to ma być coś poważniejszego to lepiej dodać te parenaście złotych.

    0
  • Pomocny post
    #21 19 Mar 2013 14:52
    excray
    Poziom 39  

    Ok, jeśli ktoś ma iść dalej w programowanie to sobie później zakupi droższy programator. Niemniej jak ktoś ma kupić programator za 150zł a później napisać 4 programy na krzyż i stwierdzić że to nie dla niego to taki zakup jest bez sensu. Jeszcze gorzej jak ktoś kupi programator za 150zł i go na początku spali bo jeszcze będzie nie wprawiony. Wszelkie znaki na ziemi i niebie mówią żeby do nauki elektroniki kupować tanie multimetry a do nauki programowania tanie programatory. A co do obsługi to mkAvrkalkulator w wersji bezpłatnej obsługuje najbardziej popularne AVRy i ma bardzo przyjazny interfejs. Ustawienie fusów to jedno kliknięcie myszką.

    0
  • #22 19 Mar 2013 15:49
    tmf
    Moderator Mikrokontrolery Projektowanie

    Jeśli ktoś tak do tego podchodzi to prościej kupić procek z bootloaderem i w ogóle nie wydawać pieniędzy na programator. Za 20zł masz komplet potrzebny do startu. A sens używania zewnętrznych programów do ustawiania fusebitów jest żaden, skoro można to zrobić bezpośrednio w IDE.

    0
  • #23 19 Mar 2013 16:09
    lyczewskiand
    Poziom 15  

    A można kupić sobie elementy i samemu zbudować programator?

    Znalazłem taki oto artykuł Link , a stamtąd udałem się tu Link I mam tutaj projekt płytki w EAGLE oraz schemat blokowy.
    Czy ten programator będzie dobry?
    Dodatkowo zamieszczam załącznik.

    0
  • Pomocny post
    #24 21 Mar 2013 16:39
    Dople
    Poziom 19  

    Będzie dobry, jeżeli nie masz zamiaru programować mikrokontrolera, ktory ma więcej niż 64kb pamięci.
    Zwróć uwagę, czy opłaca Ci się wkładać wysiłek w własnoręczne wykonanie programatora.

    Można nim zasilać programowane układy - to jest dobra rzecz.


    A! Jeżeli nie kupisz z tego miejsca, do którego link podałeś to będziesz musiał własnoręcznie zaprogramować mikrokontroler, którego ten programator używa.

    0
  • #25 21 Mar 2013 17:25
    lyczewskiand
    Poziom 15  

    Z programowaniem mikrokontrolera którego używa ten programator to nie będzie problemu, a ze zbudowania własnego będę miał dodatkową satysfakcję.

    A jeżeli chodzi o USBasp, to jakie on ma możliwości?
    Ile [kb] pamięci może mieć mikrokontroler?

    0
  • #27 21 Mar 2013 18:04
    lyczewskiand
    Poziom 15  

    A jeżeli mowa o takim programatorze?
    Jak zacząć zabawę z programatorami i mikrokontrolerami ??

    0
  • #28 21 Mar 2013 18:22
    Dople
    Poziom 19  

    USBasp - podałem Ci wyżej link jego opisu.

    0
  • #29 21 Mar 2013 18:30
    lyczewskiand
    Poziom 15  

    Ok rozumiem:). Myślałem że skoro ten jest innego modelu i mniejszy to parametry też ma inne :)

    0
  • #30 21 Mar 2013 18:39
    Dople
    Poziom 19  

    Kwestia wykonania płytki (kształt, kolor, itd. ;-) ), a także tego, czy to są, np. elementy SMD. Jednakże w tym przypadku to tylko kwestia wyglądu. Za pomocą google, czy innej wyszukiwarki możesz znaleźć "różne" USBasp - wykonane samodzielnie przez różne prywatne osoby, a także jakieś produkowane na większą skalę.

    Najważniejsze, żeby czytać opis danej rzeczy.

    0