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

Mikrokontrolery - początek (Rozwiązany -> STM32F4 DISCOVERY)

Loksonick 31 Sie 2013 11:05 8052 48
  • #1 31 Sie 2013 11:05
    Loksonick
    Poziom 6  

    Witam!
    Chciałbym zacząć przygodę z mikrokontrolerami. Chciałem już kupić taki zestaw (EvB 5.1 v5 ATMega32), ale nie wiedziałem czy to dobry wybór na początek. Brat poradził, abym zapytał na "jakimś forum" to mi ludzie doradzą. Z góry przepraszam jeśli temat jest (a pewnie jest) w złym dziale i proszę o przeniesienie w razie konieczności. Koszt tego zestawu to ponad 200zł. Jestem w stanie tyle zapłacić, ale nie chciałbym, aby przez jakiś mój błąd płytka się spaliła czy też uszkodziła w jakikolwiek sposób (jednak 240zł to nie w kij dmuchał). Znalazłem w sieci alternatywę, a mianowicie www.mikrokontrolery.blogspot.com/2011/04/jak-najtaniej-zaczac.html Problem jest taki, że niestety nie siedzę zbytnio w elektronice, niby mój brat studiuje elektrotechnikę, ale nie chce go zamęczać. Nie mam również dostępu do specjalistycznego sprzętu lutowniczego. Mam jedynie zwykłą lutownicę (chyba z 60 lat ma :D ). Jeśli koszt zrobienia własnego zestawu będzie nieporównywalnie niższy do gotowego, nie ma problemu mogę kupić nową lutownicę. Wydaje mi się też, że łatwiej wtedy wymienić uszkodzony moduł. Znam podstawy C, troszkę Jave i średnio C++. Tutaj pojawia się pytanie, czy można programować mikrokontrolery w C++?

    W skrócie:
    - gotowy zestaw czy samoróbka
    - programowanie w C++?
    - ładować się w to bez solidnej wiedzy z elektroniki?

    PS.
    Jeszcze raz przepraszam jeśli temat znajduje się w złym dziale.

    0 29
  • #2 31 Sie 2013 11:51
    BlueDraco
    Specjalista - Mikrokontrolery

    Takich tematów ze 20 masz w tym dziale plus temat przyklejony. Zamiast przepraszać - po prostu czytaj.

    0
  • Pomocny post
    #4 31 Sie 2013 11:53
    dondu
    Moderator Mikrokontrolery Projektowanie

    Witaj,

    Loksonick napisał:
    Problem jest taki, że niestety nie siedzę zbytnio w elektronice, ...
    Nie mam również dostępu do specjalistycznego sprzętu lutowniczego. ...

    Do płytki stykowej nie trzeba lutownicy, a w razie uszkodzenia czegokolwiek, wyrzucasz element do kosza i po problemie. Dobry gotowy zestaw zawsze możesz kupić, a stykówkę i tak na pewno zakupisz. W dodatku zakupisz zestaw już teraz, a za dwa miesiące okaże się że brakuje ci w nim, czegoś co jest dla Ciebie istotne.

    Skoro znasz średnio C++ i podstawy C, to żaden problem, byś w C szybko biegle zaczął pisać :-)

    Loksonick napisał:
    - ładować się w to bez solidnej wiedzy z elektroniki?

    Tak, bo to wcale nie jest trudne, ale tym bardziej wybierz na początek stykówkę, bo szybciej się tej wiedzy nauczysz, a nie tylko programowania na gotowym zestawie. Innymi słowy żeby się nauczyć pływać, trzeba wejść do wody ... :)

    0
  • #5 31 Sie 2013 12:00
    Loksonick
    Poziom 6  

    Aktualnie używam również C++ do projektu skanera 3D z użyciem światła strukturalnego, dlatego zależało mi na pogłębieniu wiedzy C++ zamiast wracania do C. Nie ma możliwości pisania w C++, czy jest to uwarunkowane odpowiednimi komponentami?

    0
  • #6 31 Sie 2013 12:07
    perlon
    Poziom 19  

    Coś ala C++ oferuje środowisko arduino. Ale wg mnie jest to wąska ścieżka rozwojowa.

    0
  • Pomocny post
    #7 31 Sie 2013 12:27
    dondu
    Moderator Mikrokontrolery Projektowanie

    Loksonick napisał:
    Aktualnie używam również C++ do projektu skanera 3D z użyciem światła strukturalnego, dlatego zależało mi na pogłębieniu wiedzy C++ zamiast wracania do C.

    Większość darmowych bibliotek obsługi różnych interfejsów i/lub urządzeń zewnętrznych podłączanych do mikrokontrolerów, jest napisana w C. Dlatego od C nie uciekniesz, albo będziesz miał pod górkę i będziesz musiał pisać własne biblioteki w C++. Choć pewnie niektóre znajdziesz także darmowe w C++, ale będzie ich zapewne niewiele w porównaniu z C.

    Poza tym, wszelkie oryginalne materiały (dokumentacja) i biblioteki producentów mikrokontrolerów są w C i ewentualnie w assemblerze (stare dokumenty).

    0
  • #8 31 Sie 2013 15:50
    Loksonick
    Poziom 6  

    Zgodnie z Lista zakupów zacząłem kompletować komponenty (zeszło mi na to prawie 3 godziny :D). Jak pisałem, jestem zupełnie zielony jeśli chodzi o elektronikę (tyle ile na laboratoriach an studiach), więc wrzucam listę:

    1. Dioda LED 3mm - pomarańczowa/zielona/żółta/czerwona(dyfuzyjna) - po 5
    2. Płytka prototypowa - stykowa 830 pól + zworki 140 szt.
    3. Stabilizator L7805 - 1,5A + 5V TO-220
    4. Kondensator elektrolityczny 470uF/50V 10x20 105C
    5. Kondensator elektrolityczny 100uF/50V 8x12 105'C
    6. ATMEL ATMega32A-PU DIP40
    7. Kwarc 12,000 MHz - niski HC49
    8. Dławik osiowy 10 uH - 3mm x 7mm (kpl.=10 sztuk)
    9. Kondensator ceramiczny 100nF/50V r5,00 (kpl.=10 sztuk)
    10. DIP switch IC x8 -> TACT SWITCH 6X6 MM H=8 MM
    11. Wtyk USB do druku typu A




    12. Rezystor węglowy 1W 5% (kpl.=10 sztuk) 330Ω, 470Ω, 1kΩ, 2kΩ, 4,7kΩ, 10kΩ, 47kΩ
    13. Kondensator elektrolityczny X/50V 4x7 105'C X -> 4.7µF, 10µF, 47µF, 100µF, 470µF
    14. PODSTAWKA DIL40
    ------------------------------------------------------------------------------------------
    =72,20zł

    Udało się wszystko znaleźć w jednym sklepie. Jedyne czego brakuje to port kard SD, ale narazie nie jest to niezbędne (tak myślę), a w razie potrzeby kupię w innym sklepie w mieście.

    Teraz prośba! Czy mógłby ktoś sprawdzić czy komponenty są dobre? Gościu, który robił tą listę odwalił kawał dobrej roboty. Nawet ja potrafiłem znaleźć potrzebny sprzęt (czy odpowiedni to się okaże). Problem jest jednak z programatorem. Nie mam wyjścia do drukarki, a obawiam się, że zrobienie go przez USB jak tu mnie przerasta. Niestety nawet nie rozumiem co przedstawia schemat na tej stronie. Kolejny projekt Programatora USBTiny również nie jest dla mnie jasny. Czy jest możliwość, żeby ktoś taki jak ja był w stanie taki programator stworzyć? Jeśli nie, to czy jest możliwość kupienia gotowego programatora, który będzie kompatybilny z zestawem z listy?

    0
  • Pomocny post
    #9 31 Sie 2013 16:51
    perlon
    Poziom 19  

    Jeżeli do dyspozycji masz wyłącznie usb i są to twoje początki to zdecydowanie polecam kupienie programatora USBAsp. USBTiny klon MK-II do zrobienia samemu jeszcze trudniejszy. Poza tym, żeby je odpalić musisz mieć jakiś inny programator, żeby zaprogramować programator. Kółko się zamyka. Na portalu na A masz USBAsp' ow mnogo. Kupisz za 20PLN i na początek wystarczy. Trzeba pamiętać, że dedykowane środowisko Atmela nie wspiera tego programatora, ale te które wspiera na USB to cena z mnożnikiem x10 i więcej. Więc polecam USPAsp + Eclipse + plugin AVR + Toolchain Atmela. Cały soft oczywiście free. Co do listy zakupów: Dopóki nie masz konkretnego projektu do zrealizowania na PCB to :
    odpuść stabilizator - zasilanie płytki robisz przez USBAsp'a
    odpuść DIP switch'a - kup tact switche.
    odpuść wtyk USB - na razie w proponowanym zestawie nic z nim nie zrobisz
    dołóż złącze wannowe KANDA 10pin - zrobisz na nim podłączenie programatora do płytki stykowej
    Jak przyjdzie do zrobienia pierwszego PCB lista zakupów się wydłuży :)

    0
  • Pomocny post
    #10 31 Sie 2013 17:27
    tmf
    Moderator Mikrokontrolery Projektowanie

    perlon napisał:
    Jeżeli do dyspozycji masz wyłącznie usb i są to twoje początki to zdecydowanie polecam kupienie programatora USBAsp. USBTiny klon MK-II do zrobienia samemu jeszcze trudniejszy. Poza tym, żeby je odpalić musisz mieć jakiś inny programator, żeby zaprogramować programator. Kółko się zamyka. Na portalu na A masz USBAsp' ow mnogo. Kupisz za 20PLN i na początek wystarczy. Trzeba pamiętać, że dedykowane środowisko Atmela nie wspiera tego programatora, ale te które wspiera na USB to cena z mnożnikiem x10 i więcej.


    Co oczywiście nie jest prawdą, bo klon AVRISPMkII kosztuje 50-60zł. A jest wspierany przez Atmel Studio, co jest wygodne, gdyż nie tylko programujesz bezpośrednio z IDE, ale masz też możliwość graficznej konfiguracji fusebitów, co początkującemu, zaczynającemu od starej rodziny AVR się niezwykle przydaje.
    Ja bym kupił XMEGA32E5 za 9 zł i do tego płytkę przejściówkę na DIP. Trzeba umieć lutować, ale to i tak trzeba umieć, a przylutować TQFP32 do przejściówki to da się nawet lutownicą do rynien. Całość do stykówki i można zacząć się bawić.

    0
  • Pomocny post
    #11 31 Sie 2013 17:31
    dondu
    Moderator Mikrokontrolery Projektowanie

    perlon napisał:
    Poza tym, żeby je odpalić musisz mieć jakiś inny programator, żeby zaprogramować programator. Kółko się zamyka.

    Niestety nie jest to prawdą. Dowcip z USBTiny polega na tym, że można go zaprogramować bez posiadania programatora, co dokładnie opisał Manekinen w artykule, który wskazał Loksonick, czyli: http://mdiy.pl/programator-usbtiny-mkii-slim/

    perlon napisał:
    Trzeba pamiętać, że dedykowane środowisko Atmela nie wspiera tego programatora, ...

    Nie ma to znaczenia ponieważ używa się zewnętrznych narzędzi jak AVRDude z jakąś nakładką np. http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.html

    Można także zrobić tak, jak napisał Tmf: http://mikrokontrolery.blogspot.com/2011/03/Atmel-Studio-Programator-USBasp-USBTiny.html

    perlon napisał:
    Więc polecam USPAsp + Eclipse + plugin AVR + Toolchain Atmela. Cały soft oczywiście free.

    A ja polecę jednak użytkowanie oryginalnych narzędzi ATmela, w szczególności dlatego, że posiadają symulator, który jest olbrzymią pomocą dla początkującego:
    http://mikrokontrolery.blogspot.com/2011/04/atmel-studio-spis-tresci.html
    ewentualnie: http://mikrokontrolery.blogspot.com/2011/04/kompilator-i-srodowisko-programistyczne.html

    Co do listy części, najpierw określ co będziesz chciał w najbliższym czasie wykonywać, dopiero później kompletuj listę.

    0
  • #12 31 Sie 2013 18:10
    perlon
    Poziom 19  

    Faktycznie klona MKII nie trzeba programować innym programatorem bo ma sprzętowy USB rozpoznawany przez system. Mój błąd.

    tmf napisał:

    Co oczywiście nie jest prawdą, bo klon AVRISPMkII kosztuje 50-60zł.

    Oryginał cyrka 200PLN, klon znalazłem gdzieś za 70PLN ale większość sklepów oferuje go w okolicach 100PLN. Mógłbym prosić o namiar gdzie jest za 50PLN? No chyba, że mówimy o kicie do samodzielnego montażu to zgoda, jest za 49PLN.

    dondu napisał:

    perlon napisał:
    Trzeba pamiętać, że dedykowane środowisko Atmela nie wspiera tego programatora, ...

    Nie ma to znaczenia ponieważ używa się zewnętrznych narzędzi jak AVRDude z jakąś nakładką np. http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.html

    Można także zrobić tak, jak napisał Tmf: http://mikrokontrolery.blogspot.com/2011/03/Atmel-Studio-Programator-USBasp-USBTiny.html


    I ciągle pamiętać przy przejściu z projektu na projekt z innym procesorem, żeby zmienić parametry wywołania external tools o czym w ww. tutorialu również jest mowa. Faktycznie w kategoriach wygody lepiej jest mieć programator wspierany przez AtmelStudio, budżetowo to się jednak nie broni. I piszę to z perspektywy absolutnego początkującego, którym sam jestem i chwilę temu sam byłem na miejscu kolegi Loksonick. Ja proponuję na początek budżetowe rozwiązanie które wcale nie ustępuje ergonomią pracy narzędziom proponowanym przez przedmówców.

    0
  • #13 31 Sie 2013 18:14
    BlueDraco
    Specjalista - Mikrokontrolery

    Leży tu przede mną na biurku płytka uruchomieniowa własnej roboty z mikrokontrolerem LPC810. Płytka zawiera złącze USB i układ interfejsu USB/UART do programowania mikrokontrolera i do komunikacji z nim z PC, ponadto diodę RGB i przycisk - w sam raz na początek przygody z mikrokontrolerami. Koszt wszystkich elementów to ok. 12 zł, można poćwiczyć komunikację szeregową z PC, zabawy z LED, PWM i obsługę przycisku. Płytka ma wymiary ok. 20 x 24 mm. ;)

    Dobrze jest zaczynać od gotowych modułów, zwłaszcza kiedy nie ma się doświadczenie w dziedzinie elektroniki. Ciekawe i niedrogie są np. płytki serii STM32xx DISCOVERY.

    0
  • #14 31 Sie 2013 18:16
    dondu
    Moderator Mikrokontrolery Projektowanie

    Mało istotną niedogodność, którą wymieniłeś rekompensuje symulator, który jest niezbędny dla początkującego, jak woda rybom.
    Zapewne go nie doceniasz, bo z niego nie korzystałeś.


    Link


    Oryginalne środowisko zawiera także masę innych zalet jak chociażby zintegrowane setki, czy wręcz tysiące przykładów, bibliotek, datasheet, itp., o których zapewne nie wiesz, bo z niego nie korzystasz. Spróbuj a zmienisz zdanie :)

    A do tego w przyszłości gdy już kolega osiągnie poziom AVR ARM, to nadal będzie korzystał z tego samego środowiska nie tracą czasu na przesiadkę na nowe i nieznane.

    -1
  • #15 31 Sie 2013 18:20
    Loksonick
    Poziom 6  

    Przeczytałem Wasze posty... Wydaje mi się to całkiem skomplikowane. Jakieś programy, jakieś nakładki. Troszkę się zniechęciłem, ale jeszcze nie poddałem :D. Rozumiem, że najlepiej zdobyć (boję się napisać "zrobić") USBTiny. "Programator USBTiny-MKII SLIM (klon AVRISP-MKII) obsługuje wszystkie µkontrolery Attiny, Atmega, oraz Xmega." Z tego rozumiem, że nie będzie problemu z obsługą wskazanego przez tmf XMEGA32E5. Czy jest konieczna zmiana na właśnie ten mikroprocesor? Zależy mi na kupieniu wszystkich komponentów w jednym sklepie, a ten który wskazałem nie ma tego modelu w ofercie. Jeśli XMEGA32E5 to rzeczywiście tak dobry wybór, zamówię gdzieś indziej. Co do podkładki pod mikroprocesor, chodzi o coś Takiego?



    Odnośnie proponowanych zmian użytkownika perlon:

    Cytat:
    odpuść stabilizator - zasilanie płytki robisz przez USBAsp'a
    odpuść DIP switch'a - kup tact switche.
    odpuść wtyk USB - na razie w proponowanym zestawie nic z nim nie zrobisz
    dołóż złącze wannowe KANDA 10pin - zrobisz na nim podłączenie programatora do płytki stykowej

    - stabilizator - USBTiny również będzie zasilał płytkę? Czy każdy programator to robi? (może głupie pytanie, ale kompletnie się na tym nie znam)
    - Zmieniam DIP na tact
    - wtyk USB - odpuszczam sobie, skoro tak radzisz
    - złącze KANDA 10pin - jak pisałem wcześniej, zależy mi na robieniu zakupów w jednym sklepie czy To gniazdo jest odpowiednie? Z wyglądu jest taki sam jak Ten. Czy ten pierwszy może być substytutem?

    dondu napisał:
    Cytat:
    Co do listy części, najpierw określ co będziesz chciał w najbliższym czasie wykonywać, dopiero później kompletuj listę.

    Myślałem o jakimś zestawie startowym. Myślę, że dużą radość sprawi mi jeśli nacisnę guzik i zapali się dioda.
    "To sobie do baterii podepnij i dodaj włącznik" - rzecz w tym, że chcę to zaprogramować. Nie jestem wielkim fanem elektroniki, nie chcę jej umieć więcej niż muszę. Może to być problemem jeśli chce zacząć z przygodę z mikrokontrolerami, ale jestem na studiach mechanicznych, a chcę się dodatkowo nauczyć przede wszystkim programowania. Wielka prośba, jeżeli do zabawy z mikrokontrolerami wymaga obszernej wiedzy z zakresu elektroniki, proszę, napiszcie. Bez sensu żebym brał się za coś co zupełnie odbiega od toku moich studiów. Jeśli wystarczy mi wiedza jak, co i gdzie przylutować, żeby otrzymać pożądany efekt, to super, ale jeśli pojawią się pytania dlaczego i jak coś działa (chodzi o np. budowę stabilizatora) to już troszkę trudniej.
    Generalnie. Jeśli wystarczy mi wiedza co kupić i gdzie wsadzić to biorę się za to!

    Leci UPDATE listy z zakupami!
    Dzięki, że pomagacie :D.

    0
  • Pomocny post
    #16 31 Sie 2013 19:08
    perlon
    Poziom 19  

    BlueDraco napisał:
    Leży tu przede mną na biurku płytka uruchomieniowa własnej roboty z mikrokontrolerem LPC810. Płytka zawiera złącze USB i układ interfejsu USB/UART do programowania mikrokontrolera i do komunikacji z nim z PC, ponadto diodę RGB i przycisk - w sam raz na początek przygody z mikrokontrolerami. Koszt wszystkich elementów to ok. 12 zł, można poćwiczyć komunikację szeregową z PC, zabawy z LED, PWM i obsługę przycisku. Płytka ma wymiary ok. 20 x 24 mm. ;)


    Tylko skąd go wziąć? W sklepie za rogiem takich nie mają.

    BlueDraco napisał:

    Dobrze jest zaczynać od gotowych modułów, zwłaszcza kiedy nie ma się doświadczenie w dziedzinie elektroniki. Ciekawe i niedrogie są np. płytki serii STM32xx DISCOVERY.

    Tu się zgodzę. Nie mam, ale zerkam w tę stronę, bo ceny przyjazne i nauczyć się można czegoś nowego. Tylko czy to aby dobry kierunek dla hobbysty?

    Dodano po 33 [minuty]:

    Loksonick napisał:
    Przeczytałem Wasze posty... Wydaje mi się to całkiem skomplikowane. Jakieś programy, jakieś nakładki. Troszkę się zniechęciłem, ale jeszcze nie poddałem :D. Rozumiem, że najlepiej zdobyć (boję się napisać "zrobić") USBTiny. "Programator USBTiny-MKII SLIM (klon AVRISP-MKII) obsługuje wszystkie µkontrolery Attiny, Atmega, oraz Xmega." Z tego rozumiem, że nie będzie problemu z obsługą wskazanego przez tmf XMEGA32E5. Czy jest konieczna zmiana na właśnie ten mikroprocesor? Zależy mi na kupieniu wszystkich komponentów w jednym sklepie, a ten który wskazałem nie ma tego modelu w ofercie. Jeśli XMEGA32E5 to rzeczywiście tak dobry wybór, zamówię gdzieś indziej.


    Kol. TMF podał XMEGA32E5 jako alternatywę do ATMega32. Kłopot tylko taki, że XMeg nie ma w obudowach DIL. Aby wsadzić ją do stykówki potrzebna jest płytka PCB z miejscem do przylutowania tego procesora i z goldpinami będącymi wyprowadzeniem wszystkich wyjść. Taki moduł możesz dopiero włożyć do płytki stykowej. Coś podobnego np. do tego


    Loksonick napisał:

    - złącze KANDA 10pin - jak pisałem wcześniej, zależy mi na robieniu zakupów w jednym sklepie czy To gniazdo jest odpowiednie? Z wyglądu jest taki sam jak Ten. Czy ten pierwszy może być substytutem?


    To jest to samo. Różnica tylko w cenie. Przyjęło się dla AVR'ów standard KANDA gniazdo IDC10. Atmel proponuje gniazda IDC6. Znaczenie ma tylko takie, że przy wyborze konkretnego programatora, trzeba zerknąć jaki kabelek producent dołącza. Ewentualnie nie dołącza tylko ma same gniazda IDC. Można sobie dorobić przejściówki wszelkiej maści.

    Loksonick napisał:

    rzecz w tym, że chcę to zaprogramować. Nie jestem wielkim fanem elektroniki, nie chcę jej umieć więcej niż muszę. Może to być problemem jeśli chce zacząć z przygodę z mikrokontrolerami, ale jestem na studiach mechanicznych, a chcę się dodatkowo nauczyć przede wszystkim programowania. Wielka prośba, jeżeli do zabawy z mikrokontrolerami wymaga obszernej wiedzy z zakresu elektroniki, proszę, napiszcie. Bez sensu żebym brał się za coś co zupełnie odbiega od toku moich studiów. Jeśli wystarczy mi wiedza jak, co i gdzie przylutować, żeby otrzymać pożądany efekt, to super, ale jeśli pojawią się pytania dlaczego i jak coś działa (chodzi o np. budowę stabilizatora) to już troszkę trudniej.
    Generalnie. Jeśli wystarczy mi wiedza co kupić i gdzie wsadzić to biorę się za to!

    Nie łam się. Ja jestem budowlańcem a programowanie to moje hobby na po godzinach - ogólnie pojęte w tym również mikrokontrolerów. Bo właśnie w mikrokontrolerach lubię to, że można je programować a nie to, że w nich płynie prąd ;-). Mądrych ludzi słuchaj, ale wybieraj co jest dobre dla ciebie a nie dla zawodowców. Koledzy wyżej piszą przez pryzmat tego co robią. Mają wypasione warsztaty, kilka ciężarówek wiedzy i doświadczenia. Nie do końca chyba wiedzą, jakie dylematy mają początkujący "poszukiwacze przygód w świecie mikrokontrolerów". Proste pytanie : ile znajdziesz tutoriali i projektów na ATMega, ATXMega, STM, LPC, PIC'e, MSP etc. i do tego literatura w języku naszych ojców? Sam przebieram nogami, żeby kupić książkę kol. TMF'a o XMegach. Niestety premiera podobno we wrześniu. AVR'y bez wątpienia mają dla początkujących najwięcej do zaoferowania, jeżeli chodzi o wsparcie i źródła wiedzy. ATMega starsza konstrukcja. ATXmega dużo lepsze - wada brak DIP'ów. Inne procesory i architektury - bezsprzecznie wiele z nich ma przewagę technologiczną (odwieczna dyskusja o wyższości...), chyba jednak nie na początek. Oczywiście zaraz napiszą ci, którzy uważają że STM32 to jest to od czego powinieneś zacząć. Powyższe co napisałem to tylko moje subiektywne zdanie i być może błędem było w ogóle patrzenie na AVR'y, ale dobrze mi z tym i tobie to również polecam.

    0
  • Pomocny post
    #17 31 Sie 2013 21:32
    tmf
    Moderator Mikrokontrolery Projektowanie

    Co do programatorów AVRISPMkII za 50-60 zł to widuję takowe na pewnym serwisie aukcyjnym (klony). Nawet w tej chwili jest aukcja, gdzie masz cenę 49 zł. Za 85 zł chyba stale ma And-tech i np. Propox. O zaletach MkII pisałem wielokrotnie, nie ma sensu się powtarzać. Piszesz, że myślisz o XMEGA, więc USBASP można do kosza wrzucić niestety.
    Do autora: nie przejmuj się, na początku każdy ma zawrót głowy. Proponuję więc wstrzymać się z zakupami, zawsze zdążysz pieniądze wydać :) Przeczytaj dokładnie blog http://mikrokontrolery.blogspot.com.. Zainstaluj Atmel Studio, odpal symulator, poćwicz na sucho. Na tym etapie sprzętu nie potrzebujesz, a ogarniesz co i jak. Potem kupisz bardziej świadomie.
    Ze swojej strony proponuję XMEGA dlatego, że jest tańsza (to akurat nie ma wielkiego znaczenia) i prostsza niż ATMega. Wybacza też błędy, które w ATMega kończą się zablokowaniem procka. Rozważ jeszcze trzecią opcję, jeśli już teraz chcesz się pobawić nie na sucho, lecz na działającym przykładzie. Atmel ma fajne moduły Xplained (szkoda tylko, że nie są w promocyjnych cenach tak jak w przypadku niektórych modułów z ARM). Ze swojej strony polecam ci Xplained XMEGA256A3BU lub Xplained XMEGA32E5. Niestety kosztują 149 zł, ale to i tak się opłaca (jeśli wchodzisz w AVR). Dlaczego? Bo:
    - masz wszystko zmontowane, podłączasz kablem USB z kompem i już. Zero lutowania i kabelkologii, podstawy elektroniki możesz więc opanować później, a już zacząć od programowania i fajnych efektów,
    - nie potrzebujesz programatora - programuje się je przez USB. Więc przynajmniej na jakiś czas odłożysz zakup programatora, o tyle warto, że świadomie zdecydujesz czy będzie to tani i badziewny USBASP, czy AVRISPMkII, czy może AVR Dragon?
    - na płytce masz procesor, wyświetlacz graficzny (LCD lub OLED), pamięć DataFlash, diody, przyciski, nawet QTouch, podtrzymywany bateryjnie RTC lub enkoder obrotowy i wyjścia IO do podłączenia kolejnych urządzeń,
    - do tego masz w Atmel Studio dziesiątki przykładów, masz też za darmo przykłady z mojej książki (jest i sporo, a kolejnych 50-70 w drodze),
    - jak ci przestanie to wystarczać to dzięki złączom możesz to spiąć z potrzebnymi układami lub płytką stykową,
    - zasilanie masz z USB komputera.
    Jak opanujesz to co można zrobić przy pomocy takiej płytki, to będziesz mógł powiedzieć, że poradzisz sobie dalej sam.
    Co do tych warsztatów :) Jestem hobbystą-amatorem, lutowanie SMD to żadna sztuka, a w ramach wypasu robię to 30-letnią transformatorówką, bo innej nie mam :) Pamiętam jeszcze czasy, kiedy sprawdzałem poziom logiczny na wyjściu językiem :) Też się da, nawet coś o wypełnieniu można powiedzieć :)

    0
  • #18 31 Sie 2013 21:49
    BlueDraco
    Specjalista - Mikrokontrolery

    Ludziska, w jakiej Wy epoce żyjecie? 90% współczesnych mikrokontrolerów nie wymaga żadnego programatora do zaprogramowania.
    Jeśli już kupować programator/debugger, to taki, którym można zajrzeć "do środka" mikrokontrolera w czasie jego pracy, czego stare AVR nie potrafią w ogóle. Płytki z żnej maści Cortexami zawierają takowy (używalny również dla innych układów samodzielnie zmontowanych) i kosztują z grubsza tyle, co sam prosty programator zabytków.

    A różnych poradników po polsku też sporo się znajdzie, i w internecie(np. www.stm32.eu) i chociażby w Elektronice Praktycznej.

    0
  • #19 31 Sie 2013 22:08
    tmf
    Moderator Mikrokontrolery Projektowanie

    Oj, znowu upraszczasz. Po pierwsze nawet stare AVRy mają JTAG, nie wszystkie, ale akurat rzeczona ATMega32 ma. Po drugie bootloader (który wbudowany zresztą mają ATMega z serii U2 i U4) jest fajny, ale nie zwalnia z konieczności posiadania programatora. Dopóki sobie kod robisz siedząc przy PC i uploadujesz go przy pomocy interfejsu i protokołu jaki przewidział producent to jest ok, a co jeśli tak nie możesz?
    Płytki z Cortexami może i są fajne, ale jeśli ktoś od nich rozpoczyna naukę, to proponuję zacząć od sekcji errata :) Dopiero po jej wykuciu na pamięć możemy wystartować z resztą - znaczy jakieś 500 stron o rdzeniu, drugie tyle o peryferiach i trzecie tyle o tym co to skrypty linkera, strukturze generowanego kodu C itd.

    -1
  • Pomocny post
    #20 31 Sie 2013 22:27
    Marek_Skalski
    Moderator Projektowanie

    @BlueDraco:
    Zgadzam się z Tobą i też się zastanawiam na czym polega ta dziwna maniera polecania zabytkowych, 8-bitowych AVR'ów? Pomijając ich ograniczenia strukturalne, za każdym razem wchodząc na Forum widzę problemy typu: jaki programator, programator nie działa, błędy zapisu, program jest dobry, a jednak nie działa... i tysiąc tego typu problemów nie znanych w innych systemach. Może to strach przed nowym powoduje, że niektórzy jak ognia boją się 32-bitów?
    @Loksonic:
    Co tydzień przychodzi tutaj ktoś szukający pomocy w zrobieniu pierwszego kroku i zazwyczaj jest kierowany na AVR + płytka stykowa + USBasp, po czym przez kolejne 2 miesiące walczy z uruchomieniem czegoś więcej niż migająca dioda, a później większość znika z Forum. Dlaczego? Bo pewnie rezygnuje z programowania uC.
    Jeżeli potrafisz programować i nie odczuwasz potrzeby uczenia się elektroniki, projektowania, lutowania, to skup się na programowaniu. Jeżeli porównasz koszty i czas potrzebny do rozpoczęcia pracy z AVR albo z ARM, to AVR jest droższy i mniej wydajny.
    Chcesz programować w C++, RTOS? ARM = tak, AVR = nie.
    Chcesz wydajność? ARM = tak, AVR = nie.
    Chcesz oszczędność energii? ARM = tak, AVR = nie.
    Chcesz debugger? Chcesz, bo nie widzę dzisiaj możliwości pracy bez tego :) ARM = każdy ma na pokładzie, AVR - tylko nowsze, ale do tego potrzebny jest też droższy (względem ARM), sprzętowy programator/debugger.
    Chcesz po prostu usiąść i pisać? ARM = tak, AVR = niekoniecznie.
    Kup sobie jakikolwiek zestaw ST Discovery (polecam F4), za śmieszne pieniądze i zobacz jak łatwo można pisać programy, testować je i rozwijać. Jak już będziesz wiedział czego chcesz, to wtedy będziesz dobierał moduły lub projektował własne. Ale świadomie, a nie dlatego, że ktoś na Forum powiedział, że ARMy są trudne, a najlepsza jest Atmega8, bo w obudowie DIP i jest na nią mnóstwo programów w necie.

    Jedyne co tak naprawdę potrzebujesz, to znajomość angielskiego, umiejętność korzystania z dokumentacji (ds, rm, err) i odrobina pojęcia o elektronice.

    Edit:
    @ tmf:

    Cytat:
    Płytki z Cortexami może i są fajne, ale jeśli ktoś od nich rozpoczyna naukę, to proponuję zacząć od sekcji errata Smile Dopiero po jej wykuciu na pamięć możemy wystartować z resztą - znaczy jakieś 500 stron o rdzeniu, drugie tyle o peryferiach i trzecie tyle o tym co to skrypty linkera, strukturze generowanego kodu C itd.

    Pokaż mi proszę, chociaż jedną Megę (Xmegę), która ma czyste konto. ADC, DAC, I2C... w Xmegach do dzisiaj nie realizują wszystkiego jak trzeba. USB do dzisiaj nie wysyła automatycznie ZLP, itd.
    Budowa rdzenia Cortex jest istotna kiedy szukasz szczegółów, kiedy chcesz go obsłużyć w asm, kiedy chcesz go zmusić do pracy na max. możliwości, więc proszę, nie przesadzaj z tym 500 stron. Wystarcza konfiguracja (półautomatyczna) zegarów i SysTickTimer (podaj tylko częstotliwość).
    Peryferia: XMEGA AU - manual 478 stron (rev.F), liczba układów trochę mniejsza, ich możliwości dużo bardziej ograniczone.
    Skrypty linkera może są interesujące dla Ciebie, ale dla kogoś kto chce zacząć pracę, są kompletnie bez znaczenia, ponieważ wszystko załatwia środowisko (Eclipse - CooCox). A zanim wyczerpiesz 512kB flashu czy 192kB RAM, to jednak trochę czasu minie i zdążysz się z tym wszystkim zapoznać i oswoić.

    0
  • #21 31 Sie 2013 23:11
    Loksonick
    Poziom 6  

    Muszę przyznać, że

    Cytat:
    Chcesz programować w C++, RTOS? ARM = tak, AVR = nie.

    bardzo mnie zachęcił. Znalazłem zestaw STM32F4-DISCOVERY i rzeczywiście nie jest to wygórowana cena. Zacząłem coś szukać na ten temat na forum i znalazłem temat, w którym użytkownik przedstawia swoje problemy (swoją drogą Freddie Chopin jest bardzo niemiły. Ciesze się, że mi pomagają bardziej uprzejmi ludzie). Naturalnie, zdaję sobie sprawę z tego, iż konfigurując połączenie napotkam problemy, ale boję się pytać o coś na forum. Ja wiem, że zawsze można poszukać informacji w internecie, ale używam visual studio 2012 i Eclipse(do javy), w związku z czym obawiam się, że konfiguracja połączenia może mnie przerosnąć. Myślałem (och, głupi), że podpinam USB, piszę ładnie program w Visual'u, klik, klik i zrobione. Rozumiem, że będę musiał zrezygnować z dotychczasowego kompilatora, trudno.

    W takim wypadku, czy taki zestaw będzie dobry na początek? Proszę Was, wypowiedzcie się, nie chcę podejmować decyzji na podstawie jednej opinii :D. Nie chodzi o pieniądze, majątek to też nie jest. Ważne dla mnie jest, aby początek przygody z mikrokontrolerami był jak najbardziej bezproblemowy.

    0
  • Pomocny post
    #22 31 Sie 2013 23:33
    alagner
    Poziom 25  

    Freddiego muszę wziąć w obronę, gość jest mega sympatyczny o ile ktoś zadaje mądre pytania. Tamten user przegiął ;)

    Discovery jest fajne, ale zależy co chcesz zrobić. Bo owszem, akcelerometr i codec audio to miłe zabawki, tylko że czasem człowiek wolałby np. coś do kompa po RS232 posłać. I ma problem.
    Przeglądnij sobie www.arduinosolutions.com i www.propix.com..
    Dobrą opcją (acz droższą) jest też to: http://arduinosolutions.com/pl/p/HY-LandTiger-zestaw-z-LPC1768-LCD3%2C2/259
    Ew. kup Discovery a potem dokupuj/rób sam moduły rozszerzające (z kupnych: WaveShare dostępne w w/w sklepach. Albo prosto z Chin ;) )


    BTW: Wrzucałem ostatnio na forum cosik o frameworku C# dla STM32, także jak chcesz koniecznie Visuala... (Javowy chyba też istnieje). Nie zgłębiałem natomiast problemu bardziej, bo C# to nie mój język.

    Pzdr.

    0
  • #23 01 Wrz 2013 10:19
    tmf
    Moderator Mikrokontrolery Projektowanie

    Marek_Skalski napisał:
    @BlueDraco:
    Zgadzam się z Tobą i też się zastanawiam na czym polega ta dziwna maniera polecania zabytkowych, 8-bitowych AVR'ów? Pomijając ich ograniczenia strukturalne, za każdym razem wchodząc na Forum widzę problemy typu: jaki programator, programator nie działa, błędy zapisu, program jest dobry, a jednak nie działa... i tysiąc tego typu problemów nie znanych w innych systemach. Może to strach przed nowym powoduje, że niektórzy jak ognia boją się 32-bitów?


    Skąd się biorą problemy? Ano stąd, że po AVR sięgają osoby nie znające nawet prawa Ohma. Ale jakoś sobie radzą. Chętnie bym zobaczył jak by to wyglądało, gdyby zaczynali od ARMa... Zresztą próbki już mamy - np. banalna sprawa jaką jest ustawienie stosu w skryptach Freddiego powoduje problemy u sporej części osób zaczynających z ARMami (nie takich znowu zielonych).

    Marek_Skalski napisał:
    Edit:
    @ tmf:
    Cytat:
    Płytki z Cortexami może i są fajne, ale jeśli ktoś od nich rozpoczyna naukę, to proponuję zacząć od sekcji errata Smile Dopiero po jej wykuciu na pamięć możemy wystartować z resztą - znaczy jakieś 500 stron o rdzeniu, drugie tyle o peryferiach i trzecie tyle o tym co to skrypty linkera, strukturze generowanego kodu C itd.

    Pokaż mi proszę, chociaż jedną Megę (Xmegę), która ma czyste konto. ADC, DAC, I2C... w Xmegach do dzisiaj nie realizują wszystkiego jak trzeba. USB do dzisiaj nie wysyła automatycznie ZLP, itd.
    Budowa rdzenia Cortex jest istotna kiedy szukasz szczegółów, kiedy chcesz go obsłużyć w asm, kiedy chcesz go zmusić do pracy na max. możliwości, więc proszę, nie przesadzaj z tym 500 stron. Wystarcza konfiguracja (półautomatyczna) zegarów i SysTickTimer (podaj tylko częstotliwość).
    Peryferia: XMEGA AU - manual 478 stron (rev.F), liczba układów trochę mniejsza, ich możliwości dużo bardziej ograniczone.
    Skrypty linkera może są interesujące dla Ciebie, ale dla kogoś kto chce zacząć pracę, są kompletnie bez znaczenia, ponieważ wszystko załatwia środowisko (Eclipse - CooCox). A zanim wyczerpiesz 512kB flashu czy 192kB RAM, to jednak trochę czasu minie i zdążysz się z tym wszystkim zapoznać i oswoić.


    Nie przesadzaj, errata do nowszych XMEGA (poza starą serią A1) ma kilka punktów, zresztą małokrytycznych. Problemy głównie polegają na większym błędzie nieliniowości ADC, większym szumie DAC w pewnych okolicznościach itd. Co jest praktycznie bez znaczenia. Nie ma tam właściwie krytycznych błędów wymagających jakiś super obejść. Proponuję to porównać do erraty dowolnego STM, koniecznie z uwzględnieniem informacji dostępnych na forach, bo errata ta bynajmniej nie jest kompletna.
    Piszesz o większej mocy obliczeniowej itd. - kiedyś zapytałem do czego ta większa moc jest wam potrzebna? BlueDraco cośtam specyficznego dłubie i mu się przydaje, ty też się tym zawodowo zajmujesz i pewnie cośtam większego dłubiesz, ale dla większości elektrodowiczów nawet prosty PID jest poza zasięgiem, więc po co te DMIPSy? Nie żebym był przeciwko ARM, bo też sobie w tym dłubię, ale wystarczy na google wrzucić dowolny problem i na AVR masz zazwyczaj rozwiązane, na ARM cisza. Wbrew pozorom popularność i wsparcie community to najważniejsze cechy, przynajmniej dla hobbysty.
    No i wiele z tych super cech ARM to głównie marketing. Podam dwa przykłady o których się boleśnie przekonałem na własnej skórze. Najpierw Freescale i SPI. Niestety zegar SPI jest ciągle pochodną zegara systemowego, co powoduje, że ma ograniczenie co do maksymalnej częstotliwości. W efekcie ten super ARM w mojej aplikacji, gdzie krytyczny był dostęp do karty SD okazał się niewiele szybszy niż XMEGA. Jasne, mogę wziąć wielkiego ARMa i go taktować 100 MHz, ale jakby nie o to chodzi, bo z tym wiążą się kolejne problemy. Drugi ból - chciałem sobie podłączyć ARMa do matrycy LCD, nawet nie jakiejś superwielkiej. Pierwsza sprawa - znaleźć prostego, taniego, dostępnego i nie w BGA ARM, który na pokładzie ma wystarczającą ilość SRAM (koło 1 MB coby double buffer zrobić). Potem niby super - mamy kontroler LCD on-board to będzie z górki, prawda? No cóż, magistrala danych kontrolera i CPU jest współdzielona, w efekcie jak podłączę matrycę to mi z tych super DMIPSów niewiele zostaje, bo większość pasma zajmuje transmisja danych do LCD... w efekcie i tak muszę zastosować zewnętrzny kontroler. Dla smaczku dodam, że prościej udało mi się to zrobić na XMEGA + trochę zewnętrznej magii opartej na 4 scalaki w SO16 (dla ścisłości, to samo oczywiście zadziała też na ARM). Także na papierze to wszystko wygląda super-hiper, a w praktyce to różnie. Generalnie nie zniechęcam się, chociaż i STM i Freescale próbują mnie zniechęcić - topornymi narzędziami, środowiskiem stylizowanym na późne lata 90-te i ogólnym bałaganem.

    Dodano po 15 [minuty]:

    A żeby nie było, że jakąś krucjątę anty-ARM prowadzę :) To dodam jeszcze kolejny przykład ogólny, dotyczący także XMEGA. Mamy fajny bajer - kontroler EBI, z możliwością współpracy z pamięciami SDRAM. Na XMEGA A1U mamy nawet w końcu pełen wypas - kontroler sterujący 8-bitowymi SDRAM (na ARM możemy wykorzystać także 16- i 32-bitowe). Pięknie. Postanowiłem sprawdzić jak to działa, bo wcześniej w A1 korzystałem z 4-bitowego SDRAM i powiedzmy szczerze - lepiej wrzucić SRAM. No to eagle i jedziemy. XMEGA128A1U w TQFP100, dodaję SDRAM, mały ból bo mamy w TSOP52 lub BGA :) Na dzień dobry zżera mi to połowę pinów IO procesora (8-bitowy SDRAM wymaga konfiguacji 4-portowej, SRAM zadowala się 2 portami). No ale w TQFP100 mam tych pinów sporo, więc myślę sobie, bólu nie ma. Do czasu, aż odpalam autorouter. Płytka z automatu robi się jakaś dziwna - 260 przelotek, wire 6 milsów, przelotki 12 milsów, inaczej nie routuje :) Rzut oka na to co stworzył - no nie, na 64 MHz (max EBI w XMEGA) to nie pójdzie. No to routujemy ręcznie... Dodałem do tego kilka jeszcze prostych układów i okazuje się że 2 warstwy to mało - nie tylko łamię wszelkie zasady prowadzenia sygnałów, to jeszcze po prostu fizycznie na małej płytce tego poroutować się nie da.To pytanie za 100 punktów - kto z amatorów ma licencję na cada z możliwością robienia płytek 4 i więcej warstwowych? A jak ma, to kto wyda 500 zł na prototyp takiej płytki? Ergo, mamy fajne bajery, którymi w takich akademickich dyskusjach możemy się podniecać, niemniej dla hobbysty one ciągle są poza możliwością praktycznego wykorzystania. A już na pewno dla początkującego hobbysty...

    0
  • #24 01 Wrz 2013 11:05
    alagner
    Poziom 25  

    tmf, jeszcze pytanie kto tu odpowiada z pktu widzenia hobbysty. Ale faktem jest, że nawet w małych firmach z reguły nie robi się > 2 warstw.
    A swoją drogą: też niedawno przekonałem się jak bardzo cudaczne potrafi zrobić się routowanie przy pewnych zastosowaniach i zaczynam rozumieć co niektórzy widzą w graficznych konfiguratorach pinów. Zaraz pewnie padnie tutaj (słuszny skądinąd) argument, że "niekoniecznie to warte tych x tys. $". Ale nie o tym jest ten temat.

    A swoją drogą, nikt nie broni iść w Atmela ogólnie. Bo Cortexy przecież też tłuką (nie wiem jakiej jakości, nie używałem nigdy. Miałem kontakt z ST i TI tylko) a ich IDE i kompilatory nie mają ograniczeń z tego co wiem. Tmf, masz z ichnimi ARMami jakieś doświadczenia?

    0
  • #25 01 Wrz 2013 11:42
    dondu
    Moderator Mikrokontrolery Projektowanie

    @Loksonick

    Aby uciąć odwieczną dyskusję na temat wyboru drogi na początek i pomóc Ci wybrać, popatrz na ilość tematów w zakładkach AVR, ARM, PIC: https://www.elektroda.pl/rtvforum/forum12.html

    A później wybierz na początek gokarta jak zaczynał Kubica, czyli procesory z zakładki, która ma najwięcej tematów, a będziesz miał najwięcej materiałów i osób które zawsze chętnie Ci pomogą.

    A po 2-6 miesięcy intensywnej zabawy, przesiądziesz się na F1 :)

    0
  • #26 01 Wrz 2013 11:46
    perlon
    Poziom 19  

    alagner napisał:
    tmf, jeszcze pytanie kto tu odpowiada z pktu widzenia hobbysty.


    Marek_Skalski napisał:
    @BlueDraco:
    Zgadzam się z Tobą i też się zastanawiam na czym polega ta dziwna maniera polecania zabytkowych, 8-bitowych AVR'ów? Pomijając ich ograniczenia strukturalne, za każdym razem wchodząc na Forum widzę problemy typu: jaki programator, programator nie działa, błędy zapisu, program jest dobry, a jednak nie działa... i tysiąc tego typu problemów nie znanych w innych systemach. Może to strach przed nowym powoduje, że niektórzy jak ognia boją się 32-bitów?


    Ano proponuję zerknąć na tytuł wątku. Czy wątek założył profesjonalista? Chciałbym zbudować zwykły termostat z trzypunktowym pomiarem temperatury i dwoma przekaźnikami. Albo taki np. linefollower. Atmega8 na pokład? A fee. Poniżej Cortex'a M1 to nie pójdzie. M2 jest już passe. Żeby być na czasie i nie spotkać się z drwiną na elce zrobię go na M4F. Nie ważne, że armata na muchę. Ale jaki przytup !!! A 8-bitowców jako zło w czystej postaci to powinni w UE zakazać ustawowo.

    0
  • Pomocny post
    #27 01 Wrz 2013 12:16
    BlueDraco
    Specjalista - Mikrokontrolery

    Perlon: ale że oczywiście, że line follower da się zrobić na ATmega8. Da się go też taniej i łatwiej, z dużo większym zapasem mocy obliczeniowej zrobić na jakimkolwiek Cortexie. Chodzi chyba o redukcję kosztów i ułatwianie działań, nieprawdaż?

    Nie chodzi o "zło w czystej postaci", a o merytoryczne uzasadnienie decyzji projektowych - koszty, wygoda użycia, możliwości peryferiali, pojemność pamięci, moc obliczeniowa (typowo mały Cortex tańszy od małego ATmega, jest od niego ze 40 razy szybszy w praktycznych zastosowaniach).

    20 lat temu dominowały an rynku układy serii 51. Nikt się jakoś wtedy nie burzył. że do nowych projektów zaczęto używać AVR, chociaż gotowych projektów na 51 było mnóstwo, a na AVR - jak na lekarstwo. Skąd obecnie takie dogmatyczne przywiązanie do przestarzałych, drogich i niewygodnych w użyciu AVR? Było to fajne z 10 lat temu, ale obecnie są rzeczy duuużo fajniejsze, więc czemu ich nie używać? Bo ktoś kiedyś zrobił coś na AVR, więc już wszyscy muszą tak robić?

    Dla początkującego ogarnięcie przestrzeni adresowych archietktury AVR nie jest wcale łatwiejsze niż ogarnięcie podobno skompilkowanych peryferiali współczesnych mikrokontroelrów. 8-nóżkowe Cortexy zostały przez ich producentów zrobione właśnie do przysłowiowego "migania diodami", czyżby wszyscy ich producenci brnęli w ślepą uliczkę?

    Płytkę pod Cortexa z możliwością programowania z PC można zrobić za < 15 zł, co właśnie udowodniłem. Płytkę z możliwością programowania i debugowania można kupić za < 50 zł - to są ceny bardziej atrakcyjne dla amatorów niż te odpowiednie dla AVR.

    0
  • #28 01 Wrz 2013 14:09
    tmf
    Moderator Mikrokontrolery Projektowanie

    @BlueDraco. Niestety powtarzasz te same nieprawdy. 8-pinowy Cortex? Owszem, Farnell ma typów słownie jeden z rdzeniem M0+. A właściwie nie ma, bo nie ma na stanie. Cóż ten procesor widmo ma? Zegar 30 MHz, więc znowu jakimś demonem szybkości to nie jest, ale to nic. Co ma na pokładzie? USART, SPI, I2C, komparator analogowy. A gdzie ADC? Jest tańszy niż ATTiny? Hmm, 3,50 zł/sztuka, ATTiny13 - kosztuje tyle samo a ADC ma. To tylko przykład, ale pokazuje, że nie ma co bazować na stereotypach.
    Płytkę do ATTiny zrobisz za tyle samo, a programator jak się uprzesz to 4 rezystory. Będzie dziadostwo, ale takie samo jak w przypadku ARMa.
    Teraz te praktyczne zastosowania - wymień mi jakieś, wymagające tej 40-krotnie większej mocy niż AVR? Kiedyś o to pytałem, ale nie uzyskałem odpowiedzi.

    0
  • #29 01 Wrz 2013 14:24
    Marek_Skalski
    Moderator Projektowanie

    @tmf
    Z całym szacunkiem, ale kolejny raz zaśmiecasz temat Początkującego osobistymi wycieczkami z zamiarem udowodnienia swoich racji. Nie taki jest cel tego Forum, prawda?
    Kolega przyszedł, zapytał jak zacząć, dostał kilka różnych opinii i chyba już zdecydował co wybierze, aby było dla Niego wygodne, niezbyt kosztowne i dawało możliwość nabrania wprawy w programowaniu. Nie chce lutować, nie chce składać elementów na płytkach stykowych, nie ma większego pojęcia o elektronice, ale potrafi pisać programy w C++ i tego właśnie chce spróbować w systemach embedded. Skoro tak, to pomagamy dobrać platformę do oczekiwań i umiejętności Zainteresowanego, a nie własnych. I tego się trzymajmy.
    A licytacje na temat co można, czego nie można, ile to kosztuje i dlaczego coś tam...
    Możesz założyć nowy wątek, np. "Dlaczego AVR jest lepszy niż PIC lub ARM", albo "Nikt, nigdy nie będzie potrzebował rdzenia szybszego niż 32MHz, czyli jak to z 640kB RAM było".
    Możemy się kiedyś spotkać przy piwku i porozmawiać kilka dni o tym co, jak i dlaczego, ale nie róbmy tego w tematach dla początkujących. Nie kłóćmy się.

    0
  • #30 01 Wrz 2013 14:42
    tronics
    Poziom 36  

    Cytat:
    Skąd obecnie takie dogmatyczne przywiązanie do przestarzałych, drogich i niewygodnych w użyciu AVR

    1. Przestarzałych? A to jakich technologii brakuje? Jest w 8 bitowym AVR (xmega) dma, event system, mocne adc, dac, a nawet moduł aes. Jest obsługa USB. Czego wg Ciebie brakuje względem nowoczesnych MCU w tej cenie?
    2. Drogich? Rozumiem jak może się to wydawać drogie, ale czy posiadające rdzenie '51 procki pokroju 89C51RE2 nie są? A przecież niczym BARDZO szczególnym się nie wyróżniają. Żeby było śmieszniej mogę Ci podać przynajmniej 2 zastosowania tych procków z którymi się zetknąłem (więc nadal są firmy co na tym trzepią sprzęt, drogi sprzęt). Jeden to falowniki używane do trolejbusów, starsze mają '51, nowsze jakieś DSP. Nie zmienia to faktu, że jedne i drugie padają co chwilę ;) Drugie - kontrolery Ero ;) W zasadzie znalazłoby się jeszcze ładne parę innych, ale co się mam rozpisywać. Procek ma spełniać swoje zadanie, kupowanie czegoś w podobnej cenie tylko dlatego, że ma większe możliwości (których w danym projekcie się i tak nie wykorzysta) to właśnie przegięcie.
    3. niewygodne w użyciu? Tanie i łatwo dostępne programatory lub wbudowane bootloadery, tudzież programowanie bezpośrednio przez USB. Do tego 2 wygodne środowiska z debugowaniem i symulowaniem czyli dedykowany atmelowski AS6 oraz komercyjny BASCOM IDE ;) I najśmieszniejsze w tym wszystkim, że przynajmniej w PL ów bascom avr (albo jego brak dla arm) odpowiada częściowo za przywiązanie do AVR.
    Cytat:
    (typowo mały Cortex tańszy od małego ATmega, jest od niego ze 40 razy szybszy w praktycznych zastosowaniach

    Dobra, jest szybszy, ale o jakie praktyczne zastosowania chodzi? Bo jeśli do wielokanałowego kontrolera procesu nie potrzeba ARMa a radzi sobie tam 68HC czy właśnie '51 to jakie są te "praktyczniejsze" zastosowania dla małych mcu?
    Cytat:
    ale obecnie są rzeczy duuużo fajniejsze, więc czemu ich nie używać?

    Są, m.in. tanie xmegi i tanie cortexy, ale o ile kupisz xmegę z dma w cenie <10zł, to takiego cortexa z dma nie widziałem, ale jak masz namiary chętnie obejrzę.

    @Marek Skalski - owszem, ale należy liczyć się z warunkami panującymi w PL. AVRy dla laika są łatwiej dostępne. Ilość "pomocy" na polskojęzycznych stronach obszerniejsza, a przykładowych projektów więcej. Jeśli ktoś potrafi w C/C++ pisać ale nie zetknął się jeszcze z MCU to owszem, można wystartować od np. LPC1114, ale niczym gorszym nie będzie w takiej sytuacji Xmega32e5.

    0