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

Pierwsze starcie z mikrokontrolerami (dozwolone linki Allegro, eBay, itp)

Ślepiec 23 Lip 2011 17:25 514065 2015
  • #1321 23 Lip 2011 17:25
    twardypt91
    Poziom 20  

    Podłączyłem wszystko jeszcze raz, tym razem poprawnie, 5 mas podłączone do płytki, podobnie jak VCC. No i ten sam problem jak wyżej gdy próbuję wrzucić coś do pamięci Flash:

    Entering programming mode.. FAILED!

    Screen wyżej.

    Nic się nie jara, nic nie śmierdzi.

    Może instalacja ServicePacków pomoże coś? (AVR studio 4.18).

    Dodano po 1 [godziny] 5 [minuty]:

    Pogrzebałem na forum i znalazłem temat:
    https://www.elektroda.pl/rtvforum/topic1200452.html
    Pomierzyłem, niby ok, troszkę niskie napięcie na nóżkach. Wywalam kondensator i...

    DZIAŁA !!! :D

  • Semicon
  • #1322 27 Lip 2011 17:13
    e-cma
    Poziom 9  

    Mam zamiar nauczyć się programować mikrokontrolery, na której rodzinie lepiej się skupić AVR(Atmega8) czy na ARM7(lpc2106) ?

  • Semicon
  • #1324 27 Lip 2011 18:55
    e-cma
    Poziom 9  

    chyba pojadę, tak jak jest opisane w "AVR & ARM7 programowanie mikrokontrolerów..." P. Borkowskiego, czyli najpierw Atmega8 a potem arm7. Mam tylko jeszcze pytanie - czym różni się ATMEGA8-16PU od ATMEGA8-16AU (oczywiście poza nazwą ;) )

  • #1325 27 Lip 2011 19:00
    tadzik85
    Poziom 38  

    Chcesz się uczyć kup książkę kolegi mirka a nie ten wielki szczątkowy podręcznik.

    Rożnica jest w obudowie.

  • #1326 27 Lip 2011 19:03
    e-cma
    Poziom 9  

    a konkretniej w jaki sposób się przejawia - kształt, ilość lini i/o czy jeszcze czymś innym ?

  • #1328 27 Lip 2011 19:38
    Tomasz.W
    Poziom 35  

    tadzik85 napisał:
    zupełnie inna jest
    P dip28
    A tqfp44

    No nie do końca jest to zgodne z prawdą.
    Literka P oznacza obudowę PDIP28 (wąski DIP)
    Literka A oznacza obudowę TQFP32
    Natomiast liczba 16 oznacza iż procesor może być taktowany kwarcem 16MHz przy napięciu zasilania 4,5<>5,5V.

  • #1329 27 Lip 2011 20:31
    Matejkos
    Poziom 20  

    A ja koledze polecam jednak ARM-y obecnie w detalu idzie kupić je o wiele taniej a są już procesorami 32 bitowymi. Z całym szacunkiem ale to co napisał mirekk36 na blogu jest nieco przestarzałe jeśli chodzi o koszty i sposób programowania chyba wszystkie ARM-y z cortexem-M3 mają możliwość programowania poprzez interfejs szeregowy więc problem z programatorem odpada co do kompilacji to także jest bezpłatne oprogramowanie. Oczywiście materiałów jest mniej zwłaszcza po polsku ale są i myślę że da się na ich podstawie łatwo zacząć. Pozdrawiam Matejkos

  • #1330 27 Lip 2011 22:04
    e-cma
    Poziom 9  

    co do armów, to chciałem kupić zestaw" startowy", który jest drogą inwestycją, ale jak na moje obecne umiejętności z dziedziny lutowania obwodów chyba najlepszą. Dodatkowo patrzę na wybór pod kontem mocy obliczeniowej, bo to daje mi większe pole do manewru.

  • #1331 27 Lip 2011 22:12
    tadzik85
    Poziom 38  

    Rzucisz się chłopie na głęboką wodę.. i co później? Płacz i zgrzyt zębami.

    Weź zacznij od AVR. niedrogo wiele można zrobić nauczyć się miliony przykładów. 2 nowiutkie wspaniałe podręczniki. Lutować się nauczysz. A przejście na platformę wyżej to zawsze już niewielki problem. A teraz nawet nie masz podstaw by wybrać coś odpowiedniego dla siebie.

  • #1332 27 Lip 2011 22:16
    e-cma
    Poziom 9  

    chyba tak zrobię zwłaszcza, że "pełen zestaw" do avr uda mi się skompletować za niewielkie pieniądze w porównaniu z arm7

  • #1335 27 Lip 2011 23:27
    mirekk36
    Poziom 42  

    albertb napisał:
    mirekk36 napisał:
    Polecam rozważyć to co zostało napisane tutaj:

    http://mirekk36.blogspot.com/2011/05/od-czego-zaczac-zabawe-z.html


    Odwołanie do swojego bloga, który promuje swoje dzieło nie zaznaczając, że chwali się samego siebie jest trochę niesmaczne.


    Proponuję trzymać się tematu i udzielić rzeczowej odpowiedzi autorowi zamiast dyskutować ze mną w tym zakresie. Dla niego zapewne cenniejsza będzie dobra porada nawet jeśli będzie sprzeczna z moją. Każdy może wyrazić swoją opinię - a autor wybierze to co uzna sam za stosowne. I tego się trzymajmy.

  • #1336 27 Lip 2011 23:30
    e-cma
    Poziom 9  

    Ja bym tam zamieścił jakieś porównanie, jakieś dane dot. konkurencji

  • #1337 27 Lip 2011 23:38
    94075
    Użytkownik usunął konto  
  • #1338 28 Lip 2011 00:14
    e-cma
    Poziom 9  

    generalnie programowanie, ale jak już pisałem spróbuję z avr żeby mieć chociaż pojęcie, a z tego, co widzę to z nimi nie jest droga zabawa

  • #1340 28 Lip 2011 08:14
    LordBlick
    VIP Zasłużony dla elektroda

    Zabawa z ARM też nie jest droga (np. LPC1114 od NXP to w dobrym źródle 10 zł przy zdecydowanie większej wydajności - można tu już pokusić się o dekodowanie mp3), to tylko kwestia zastosowania 3,3V zamiast 5V... ;) Generalnie to AVR-y drożeją, a ARM-y tanieją (przy większej ilości można kupić w/w procesor za 7zł w wersji QFN - oczywiście ta wersja obudowy jest dla ludzi lubiących wyzwania - lutowanie pastą lutowniczą na podgrzewaczu ). Czyli generalizując ARM-y są dobre na produkcję (umiejętność ich programowania przekłada się na łatwiejsze znalezienie pracy), a AVR dla hobbystów.

  • #1341 28 Lip 2011 08:39
    lehastar
    Poziom 14  

    Dla ARM / Cortex programista nie jest potrzebne. Dla AVR (M8, M32, M128) mogą tworzyć własne JTAG dla ARM / Cortex trudne.

  • #1342 28 Lip 2011 09:14
    mirekk36
    Poziom 42  

    Light-I napisał:
    Zabawa z ARM też nie jest droga (np. LPC1114 od NXP to w dobrym źródle 10 zł przy zdecydowanie większej wydajności - można tu już pokusić się o dekodowanie mp3), to tylko kwestia zastosowania 3,3V zamiast 5V... ;) Generalnie to AVR-y drożeją, a ARM-y tanieją (przy większej ilości można kupić w/w procesor za 7zł w wersji QFN - oczywiście ta wersja obudowy jest dla ludzi lubiących wyzwania - lutowanie pastą lutowniczą na podgrzewaczu ). .


    O! takie porady dla początkujących najbardziej mi się podobają ;) fajny przykład podał szanowny kolega.

    Wynika z niego przecież jasno, że taki początkujący, który nie ma jeszcze podstaw żadnych nie tylko w programowaniu ale też lutowaniu jak sam pisze - może sobie zacząć od LPC1114 za 10zł bo przecież - od razu zrobi sobie własne dekodowanie mp3 - pięknie ;) nie ma to jak dobre podstawy na start. Już widzę jak wszyscy, którzy takie coś doradzają zaczynali swoją przygodę z elektroniką cyfrową od pisania programów wykorzystujących kodowanie/dekodowanie mp3 czy inne np zaawansowane transformacje wykorzystujące DSP - zamiast migania diodą LED....

    albo np , żeby taki początkujący kupił sobie od razu większą ilość to cena za procek spadnie mu aż do 7zł za obudowę QFN i wtedy będzie miał raj bo na start zacznie uczyć się sam w domu lutowania pastą lutowniczą w podgrzewaczu - nie mając jeszcze pojęcia jak włada się zwykłą lutownicą.

    I najlepsza argumentacja na końcu, która ma dobitnie przekonać i ostatecznie początkującego - który nawet nie wie jeszcze czy to będzie jego praca w przyszłości czy może tylko hobby , że :

    Light-I napisał:
    Czyli generalizując ARM-y są dobre na produkcję (umiejętność ich programowania przekłada się na łatwiejsze znalezienie pracy), a AVR dla hobbystów.


    A może by tak ktoś wyszedł poza ramy tego generalizowania i pomógł temu początkującemu podając jak nie na forum to chociaż na PRIV jakąś rzeczową poradę, dłuższy opis - jak zacząć z tymi ARM'ami - może napisałby mu jakiś poradnik na PRIV zamiast wciąż powtarzać swoją mantrę - jakie to proste i jak łatwo zacząć. To tak troszkę wygląda (przepraszam) na chwalenie się - popatrz ja to umiem - i to jest proste - zabierz się więc za to - a jak nie dasz sobie rady - to zostaw to w ogóle - bo to oznacza, że elektronika jest nie dla ciebie - tak też niektórzy piszą na elektrodzie o zgrozo - nie mówię że LightI tutaj tak napisał.

  • #1343 28 Lip 2011 10:01
    tmf
    Moderator Mikrokontrolery Projektowanie

    To i ja dodam coś od siebie :)
    IMHO cena procesora dla hobbysty jest bez znaczenia. Czy procesor kosztuje 10zł, czy 15 to na jedno wychodzi, w końcu nie kupuje 1000 sztuk, ani nie uruchamia produkcji. Moim zdaniem dla hobbysty najważniejsza jest prostota, dostępność tanich (darmowych) narzędzi i wsparcie społeczności (community). To czy to będzie ARM czy AVR jest kwestią drugoplanową, wynikającą z odpowiedzi na wcześniejsze pytania.
    Więc po kolei:
    1. Programator - jedna i druga rodzina procesorów dysponuje tanimi i dobrymi programatorami. To czy można podłączyć bezpośrednio pod RS/lpt jest bez znaczenia (oba procki można), bo straty wynikające z takiego podłączenia nie są rekompensowane ceną. A dla obu platform w granicach 40-150zł można nabyć niezły programator.
    2. Narzędzia. Obie rodziny dysponują darmowym kompilatorem gcc i darmowymi bibliotekami. Kwestia IDE i debuggerów. Niestety arm bazuje na gdb, który jest koszmarem. Nieco lepiej tu wypada AVR, który ma darmowe AVR Studio 4/5. Dla początkującego to może być cenne. Tym bardziej, że stosowny pakiet się ściąga, klika pare razy i wszystko jest zainstalowane. Dla ARM nie jest tak pięknie - vide opis instalacji np. na stronie Freddie Chopina.
    3. Informacje. AVR jest produkowany przez jedną firmę, co ma wady i zalety. Niewątpliwą zaletą jest to, że wszelkie info można znaleźć na jednej stronie. W przypadku ARM dane są rozproszone i trochę trzeba poszukać.
    4. Wsparcie społeczności - tu zdecydowanie, szczególnie w Polsce, ale nie tylko, AVR bije na głowę ARM. Wystarczy spojrzeć po ilości postów na elektrodzie. Dużo (o wiele więcej niż dla ARM) przykładów w necie, kursów itd.
    5. Możliwości rozwoju - AVR to rodzina od prostych 6-pinowych procesorów, aż do 32-bitowych kolosów o dużej mocy obliczeniowej. Do wszystkiego jest jedno środowisko, jeden programator i przejście na kolejne etapy wtajemniczenia odbywa się w miarę bezboleśnie. ARM to od razu rzut na głęboką wodę. No i szczególnie początkujący może śmiesznie skończyć, z procem w TQFP32 o potężnej mocy, sterującym migającą diodą :)
    6. Prostota startu - tu AVR jako prostszy procesor ma też pewną przewagę.
    Powyższe czynniki moim zdaniem mają znaczenie dla początkującego, jak ktoś jest obeznany w te klocki to są w większości bez znaczenia. Wybór jest wtedy kwestią osobistych preferencji. Zresztą warto się też rozejrzeć wśród znajomych - jeśli jest jakiś AVRowiec to wchodzić w AVR, jak ARMowiec to wchodzić w ARM. Tu doszukiwanie się jakiś głębszych różnić jest bez znaczenia. Na pewnym stopniu generalizacji wszystkie procesory są podobne, ma sens tylko pisać, który jest lepszy w jakimś bardzo konkretnym zastosowaniu.

  • #1344 28 Lip 2011 10:08
    markosik20
    Poziom 33  

    Z własnego doświadczenia wiem że nie należy polecać ARM'a dla początkującego do nauki.
    Tak samo nie polecam nawet wykonywania samemu pierwszych układów/płytek komuś kto dopiero zaczyna zabawę z "cyfrówką".
    Fakt, najlepiej uczyć się na błędach, lecz te nieprzespane noce mogą skutecznie zniechęcić każdego kto nie ma silnego "samozaparcia".
    ARM'y w porównaniu z AVR'ami są bardzo rozbudowane. Może nie trzeba znać aż tak dokładnie budowy rdzenia, w sumie są dostępne (nieszczęsne) biblioteki obsługi peryferii ale trzeba umieć skonfigurować sobie odpowiednio środowisko programistyczne. Takie pojęcia jak "makefile", skrypty linkera, tablice wektorów, plik startowy etc. trzeba znać, i wiedzieć z jakich elementów składa się projekt/program, jak przebiega kompilacja, linkowanie etc. Niby WinAVR działa tak samo ale np: Atmel swoim AVRStudio "robi to sam", zwalniając częściowo programistę "od myślenia". Podobnie plugin AVR do eclipse.
    Płytkę którą zaprojektował Mirek (Atnel) to jedna z najlepszych na rynku (proszę nie brać tego jako reklama), może i cena jest nieco większa ale i także możliwości. Do tego książka, przykłady, dodatkowe peryferia i co najważniejsze pomoc online czynią ten produkt bardzo atrakcyjnym. Sam kupiłbym sobie taką....ale jakby była dostępna ze 6-7 lat temu :D. Teraz już do wszystkiego co wymaga więcej jak 8kB pamięci programu biorę ARM'a, ewentualnie któregoś z nowoczesnych 8051'ek...i nie ukrywam że i tak nie wiem wszystkiego (zresztą mało ludzi ma to w "jednym palcu") i ARM'y czasami spędzają mi "sen z powiek".

  • #1345 28 Lip 2011 10:25
    mirekk36
    Poziom 42  

    tmf napisał:
    Zresztą warto się też rozejrzeć wśród znajomych - jeśli jest jakiś AVRowiec to wchodzić w AVR, jak ARMowiec to wchodzić w ARM. Tu doszukiwanie się jakiś głębszych różnić jest bez znaczenia. Na pewnym stopniu generalizacji wszystkie procesory są podobne, ma sens tylko pisać, który jest lepszy w jakimś bardzo konkretnym zastosowaniu.


    Poza całą fajną analizą problemu - to co kolega napisał na końcu to chyba najlepsze co można podpowiedzieć początkującemu.

  • #1346 28 Lip 2011 11:52
    marekos
    Poziom 15  

    Uważam, że na początek do nauki ani AVR ani ARM7 się nie nadaje, przede wszystkim dlatego że jedna i druga rodzina to już dinozaury na wymarciu. Jeżeli ma to być rzeczywiście do nauki to na dzień dzisiejszy trzeba wziąć coś co jest teraz na absolutnym topie, bo inaczej jak się nauczysz czegoś starego i za jakiś czas zaczniesz to stosować to może się okazać że tych rodzin mikrokontrolerów już nie ma na rynku.

    Rodzina mikrokontrolerów którą ja polecam to jest cortex-Mx. Żeby rozpocząć naukę to nic nie trzeba lutować kupujesz gotowy LPCXpresso od NXP za kwotę która może wywołać tylko uśmiech na twarzy, a w tym masz programator, mikrokontroler "przylutowany" i bardzo fajnie wyprowadzone jego piny, ale to nie wszystko masz do tego sprzętowy debugger. Żeby te narzędzia stworzyć dla AVR co daje LPCXpresso to dopiero trzeba się nalutować płyteczek i różnych druciarskich wynalazków.
    Dalej mamy do tego jeszcze bardzo dobrze działające środowisko do programowania i debugowania: lpcxpresso ide i olbrzymią ilość przykładów od NXP.
    Trudność w instalacji, konfiguracji i używania lpcxpresso ide uważam że jest żadna, a przynajmniej nie jest bardziej skomplikowane od AVR Studio.

  • #1347 28 Lip 2011 12:30
    paw789
    Poziom 18  

    Jeśli chcesz się uczyć mikrokontrolerów do celów tylko hobbystycznych i nie wiążesz z tym przyszłości zawodowej to warto zacząc od AVR.

    Jeśli jednak wiążesz z tym przyszłość zawodową, uczysz się lub studiujesz coś związanego z elektroniką/automatyką/informatyką, znasz język C to lepiej jednak zacząć od nowoczesnych procesorów które już od dawna wypierają przestarzałe 8-bitowce, również jak kolega marekos polecam mikrokntrolery z rdzeniem Cortex-M0 lub Cortex-M3. Płytkę LPCXpresso z mikrokontrolerem kupisz poniżej 100zł, która będzie zawierała od razu programator/JTAG/SWD który ułatwi pisanie i debugowanie programu. Od firmy NXP dostępne jest darmowe środowisko programistyczne, masa przykładów, nic nie trzeba konfigurować, przeczytasz jedynie kilka stron instrukcji i będziesz wiedział o co chodzi. Na początek możesz zacząć od mikrokontrolera LPC1114, który jest prostszy do nauki niż mikrokontrolery ARM7, później będziesz mógł łatwo przesiąść się na coś mocniejszego jeśli Twój projekt będzie wymagał większej mocy obliczeniowej.

  • #1349 28 Lip 2011 12:47
    markosik20
    Poziom 33  

    marekos napisał:
    ...nic nie trzeba lutować kupujesz gotowy LPCXpresso od NXP za kwotę która może wywołać tylko uśmiech na twarzy, a w tym masz programator, mikrokontroler "przylutowany" i bardzo fajnie wyprowadzone jego piny...


    Oczywiście początkującemu nie zdaży się nigdy "upalić" portu uC przy podłączaniu/lutowaniu złącza kart SD, wyświetlacza czy innego elementu, bo gdyby się zdażyło to wtedy zaleta z już przylutowanego uC staje się główną wadą. Dlaczego zestawy startowe dla początkujących (dobre zestawy) mają wszystkie elementy na podstawkach?
    NXP rzeczywiście ma ciekawą propozycję w postaci LPCXpresso oraz uC z rdzeniem M0 ale proszę pamiętać że nawet M0 to rdzeń dużo bardziej skomplikowany niż poczciwy AVR.

    lehastar napisał:
    Inną ciekawą opcją - STM8.


    Tylko że kompilator C do niego jest płatny a 16kB w wersjach free nie wystarcza.

  • #1350 28 Lip 2011 13:08
    janbernat
    Poziom 38  

    Tu się zgadzam:

    albertb napisał:
    Moim zdaniem jeśli bardziej interesuje Cię programowanie to ARM,
    jeśli bardziej elektronika to jakiś 8 bitowiec.

    A tu nie:
    albertb napisał:
    Odwołanie do swojego bloga, który promuje swoje dzieło nie zaznaczając, że chwali się samego siebie jest trochę niesmaczne.

    No bo jeśli ktoś napisał książkę i założył bloga na temat AVR- to chyba jest zdania że jest to wartościowe.
    No chyba że jest to wyjątkowy złośliwiec- będzie namawiał na avr- a sam używa ARM.
    Jak na mikrokontrolerze stawia się jakiś OS- no może za wyjątkiem RTOS- to cała zabawa przestaje mieć sens.
    Pod systemem operacyjnym to można robić programy na zwykłym blaszaku- po co bawić się w mikrokontrolery.