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.

Rozpoczęcie programowania

maciej.andrzej.s 11 Lip 2013 16:44 5985 48
  • #1 11 Lip 2013 16:44
    maciej.andrzej.s
    Poziom 7  

    Witam. Chciałbym rozpocząć naukę programowania.

    sklep.avt.pl/p/pl/492909/zepic+plytka+ewaluacyjna+dla+mikrokontrolerow+pic+-+zestaw+zmontowany+i+uruchomiony.html
    sklep.avt.pl/p/pl/494693/zeavr+plytka+ewaluacyjna+dla+atmega8+i+atmega32+-+zestaw+zmontowany+i+uruchomiony.html

    Myślałem nad którymś zestawem z linków powyżej. Który lepszy? Szczerze powiem, że różnicy dużej nie widzę. Chyba tylko różnią się obsługiwanymi procesorami, tak?
    Może ktoś mi podpowiedzieć, który zestaw wybrać oraz jak programować takie procesory?

    0 29
  • Arrow Multisolution Day
  • #2 11 Lip 2013 17:02
    BlueDraco
    Specjalista - Mikrokontrolery

    Następny miłośnik zabytków... Poczytaj parę wątków na taki temat, np.tych przyklejonych w tym dziale.

    0
  • #3 11 Lip 2013 17:36
    maciej.andrzej.s
    Poziom 7  

    Czemu zabytków?

    Dodano po 28 [minuty]:

    Nie znam się na tym. Może znacie jakieś sprawdzone "urządzenia"? Chciałbym po prostu mieć coś na czym będe mógł trenować i widzieć wyniki swojej pracy.

    0
  • Arrow Multisolution Day
  • #4 11 Lip 2013 17:40
    dondu
    Moderator Mikrokontrolery Projektowanie

    maciej.andrzej.s napisał:
    Chciałbym po prostu mieć coś na czym będe mógł trenować i widzieć wyniki swojej pracy.

    Oczywiście to jeden ze sposobów, z tym że to dość kosztowne zamrożenie gotówki.
    Można zaczynać znacznie taniej i równie sprawnie: http://mikrokontrolery.blogspot.com/
    nie blokując gotówki w czymś, co później będzie w szafie leżało.

    Lepiej napisz jaki masz poziom wiedzy i na jakim etapie edukacji jesteś, oraz jakie masz plany w zakresie budowanych projektów i dalszej edukacji.

    0
  • #5 11 Lip 2013 17:45
    BlueDraco
    Specjalista - Mikrokontrolery

    Ja zwykle polecam STM32F0DISCOVERY, albo coś z tych okolic - tańsze od zabytków, dużo przyjemniejsze debugowanie na ekranie PC no i ze sto razy wydajniejsze.

    0
  • #6 11 Lip 2013 18:14
    maciej.andrzej.s
    Poziom 7  

    Ogółem planowałem robić jakieś proste projekty. Np. używając tej płytki to poruszanie jakimiś silniczkami, świecenie diodami, pomiar temperatury. Mój poziom wiedzy to 0 :D. Dlatego piszę na forum, bo nie wiem nawet od czego zacząć.

    Dodano po 1 [minuty]:

    Później chciałbym robić jakieś układy, np dotykowe menu do całego układu itp.

    0
  • #7 11 Lip 2013 18:17
    dondu
    Moderator Mikrokontrolery Projektowanie

    No to wstrzymaj się parę dni z zakupem, poczytaj artykuły w spisie treści i wtedy dopiero decyduj o kupowaniu lub nie, gotowego zestawu. No chyba, że koszty nie mają znaczenia?

    Rozważ także to, co napisał BlueDraco. Pośpiech w wydawaniu pieniędzy jest niewskazany w tej dziedzinie :)

    maciej.andrzej.s napisał:
    Później chciałbym robić jakieś układy, np dotykowe menu do całego układu itp.

    Tym bardziej szkoda wydawać pieniądze na coś, co w tych projektach nie wykorzystasz, bo będziesz miał tylko jeden zestaw :)

    0
  • #8 11 Lip 2013 18:20
    2091744
    Użytkownik usunął konto  
  • #9 11 Lip 2013 19:15
    tmf
    Moderator Mikrokontrolery Projektowanie

    Co prawda pisząc o zabytkach kolega BlueDraco miał zapewne na myśli wszystkie AVRy i PICe:) ale ja to trochę zawężę - ATMega32 to istotnie zabytek, nawet wśród AVRów.
    Zacząłbym tak jak radzi kolega Dondu, od poczytania artykułów na jego stronie, żeby się nieco zorientować. A potem dokonać bardziej świadomego zakupu.

    0
  • #10 11 Lip 2013 19:22
    2091744
    Użytkownik usunął konto  
  • #11 11 Lip 2013 19:25
    maciej.andrzej.s
    Poziom 7  

    A proponujesz jakiś konkretny język? Czy ten zestaw EvB jest lepszy od tego zaproponowanego przeze mnie? Czym się różnią?

    0
  • #12 11 Lip 2013 19:32
    2091744
    Użytkownik usunął konto  
  • #13 11 Lip 2013 19:40
    tmf
    Moderator Mikrokontrolery Projektowanie

    kaamil1984 napisał:
    tmf napisał:
    ATMega32 to istotnie zabytek, nawet wśród AVRów.


    Rezystor to też zabytek, a mimo tego wszyscy stosują z powodzeniem ;)

    Wszyscy o tych zabytkach, ale nie widzę żadnych argumentów dla których lepiej jest zaczynać od nowocześniejszych mikrokontrolerów.

    Moim zdaniem jest wręcz odwrotnie, chyba lepiej jest zacząć od czegoś prostszego.


    Nie przesadzajmy, rezystor to układ wynaleziony i opracowany dawno temu. Ale nawet rezystor przechodził ewolucję - od kawałka drutu oporowego, potem czegoś wielkości palca z napyloną warstwą oporową i drutowymi wyprowadzeniami, do SMD, które są małe i przyjemnie się je lutuje.
    Podobnie jest z mikrokontrolerami. Nowoczesne mikrokontrolery to przede wszystkim nowoczesne peryferia i poprawione błędy przeszłości. Spróbuj np. przenieść program z ATMega32 na ATMega 128 albo ATMega8. Problemem nie będzie brak czegoś w procku, tylko np. banalna zmiana nazwy rejestru, tego samego układu. Niby żaden problem, ale upierdliwe. Albo nieśmiertelne fusebity - chwila nieuwagi i mamy problem w stylu "ratujcie! zablokowałem mikrokontroler". A wystarczy wziąć np. XMEGA (jeśli ktoś lubi AVRy), lub nawet tego STMa i mieć wiele problemów z głowy.
    Jeszcze jak ktoś jest starym wyjadaczem to sentymenty mogą powodować wybór jakiegoś dinozaura, ale jak ktoś startuje, to po co go w to ładować? Czy, żeby nauczyć się włoskiego, należy zacząć od łaciny?

    0
  • #14 11 Lip 2013 19:50
    2091744
    Użytkownik usunął konto  
  • #15 11 Lip 2013 19:58
    maciej.andrzej.s
    Poziom 7  

    A czy elementy arduino można podłączać do innych układów np. EvB?

    0
  • #16 11 Lip 2013 20:01
    2091744
    Użytkownik usunął konto  
  • #17 11 Lip 2013 20:23
    tmf
    Moderator Mikrokontrolery Projektowanie

    kaamil1984 napisał:
    Może i wiele problemów z głowy, ale prototypowanie dla takiego początkującego jest raczej kosztowne. Nie każdy umie wytrawić płytkę i przylutować układ TQFP, nie każdy może wydać pieniadze na płytki robione na zamówienie.

    A starą ATMegę, np. Atmega8 w obudowie DIL przylutujesz nawet lutownicą do lutowania rynien ;) Płytki nie musisz trawić, kupujesz płytkę uniwersalną z Wojartu, np. PDU-21, kilka przewodów i gotowe. Gotowy układ na Atmega8 z wyświetlaczem HD44780 można zrobić za mniej niż 30zł, czego niestety nie można powiedzieć o nowoczesnych mikrokontrolerach.

    Oczywiście ilu fachowców tyle opinii, a prawda leży gdzieś pomiędzy :)


    Kupuję XMEGA E5 za 10zł, do tego płytkę-przejściówkę za 5zł, lutuję lutownicą do rynien i wkładam w stykówkę :)

    0
  • #18 11 Lip 2013 20:49
    2091744
    Użytkownik usunął konto  
  • #19 11 Lip 2013 21:05
    tmf
    Moderator Mikrokontrolery Projektowanie

    Jeśli mam port LPT to zrobię, jeśli nie mam, to do ATMegi też z rezystorów nie zrobię. Co do pytania - tak. Uprzedzając - o ATMega też mam więc nie ma tu konfliktu interesów, jestem kryty na oba fronty :)

    0
  • #20 11 Lip 2013 21:30
    Marek_Skalski
    Moderator Projektowanie

    maciej.andrzej.s:
    Ponieważ nie masz żadnego doświadczenia, to w zależności od wyboru rodziny i egzemplarza uC albo dasz sobie szansę na naukę i rozwój, ale zniechęcisz się na długo (na zawsze).
    Koledzy tutaj różnie podpowiadają i pewnie każdy z nich ma trochę racji. Ja proponuję zwrócić uwagę na to jak się pracuje z każdą rodziną mikrokontrolerów, jakie środowisko jest do dyspozycji i jaką funkcjonalność oferuje.
    W Polsce większość elektroników (przynajmniej na tym Forum) uprawia AVRy. IDE dla nich to Atmel Studio, które jest duże, ciężkie, ale też dużo oferuje (np. ASF). Wbudowany symulator większości procesorów, wygodny podgląd wszystkich rejestrów, przyjemny debugger i chyba najłatwiej wystartować. Wybór gotowych urządzeń do nauki/zabawy jest duży, a oferta układów dość szeroka i co ważne, ich wykorzystanie nie jest istotnie ograniczone, ponieważ mają typowe złącza 2,54mm. Programatory dość łatwo sklonujesz, ponieważ oryginalne narzędzia Atmela są dość drogie.
    Druga rodzina, szybko się rozwijająca to 32-bitowe ARMy w różnych wariantach. Darmowe IDE trzeba sobie poskładać (np. Eclipse lub CooCox + GNU_Compiler + OCD + ewentualne dodatki), gotowe trzeba kupić (np. Keil, Atolic). Niektórzy już na tym etapie odpuszczają. W zależności od tego co poskładasz lub kupisz, praca będzie mniej lub bardziej komfortowa. Na ogół nie znajdziesz symulatora, a podgląd rejestrów i pamięci bywa utrudniony. Gotowe zestawy też są tanie, często z programatorem/debuggerem na pokładzie. Budowa modułowa umożliwia rozwój. Jeżeli chcesz coś więcej niż miganie diodą czy napis na znakowym LCD, to w necie znajdziesz bardzo dużo bibliotek, gotowych programów i systemy operacyjne jak RToS. Ogólnie, polecam.
    Kolejna rodzina to PIC. W Polsce bardzo nielubiane i wcale się nie dziwię. Stary MPLAB był jak Windows 95. Nowy MPLAB X wymaga jeszcze dopracowania. W zamian dostaniesz dużo bibliotek, z których ciężko się korzysta. Programator/debugger ICD3 to jakieś nieporozumienie, o ICD2 nawet nie wspominam. Jeżeli kupisz jakiś zestaw od Microchipa, to na pewno nie podłączysz do niego modułów dla AVR czy ARM ponieważ złącza mają raster 1mm i są w postaci gniazd (zamiast szpilek) albo są złoconymi polami na krawędzi płytki. Możesz montować swoje płytki, tylko po co? Jeżeli chodzi o wydajność, to nic nie zyskasz. Architektura 8-bitowych PICów to jakaś masakra (lata 1980-te). 16-bitowe są dużo lepsze, ale nie widzę dla nich zastosowania gdy na rynku są ARMy.
    Nie wiem z czego wynika Twoja chęć do poznania i nauki uC. Istotne jest jaki język programowania wybierzesz. Każdy ma inne potrzeby, upodobania i pewnie dlatego są różne, ale jednak C to podstawa i nie daj się namówić na Bascoma czy inne dziwne rzeczy. Asembler też się przydaje, czasami nawet bardzo ;)
    Ze swojej strony życzę cierpliwości i wytrwałości; nie zrozumiesz wszystkiego w kilka dni.
    Pamiętaj jednak, że każdy mistrz był kiedyś nowicjuszem.
    Powodzenia!

    0
  • #21 11 Lip 2013 22:40
    BlueDraco
    Specjalista - Mikrokontrolery

    Darmowe i gotowe środowisko do Cortexów bez ograniczeń można ściągnąć np. z coocox.com. Gotowe środowiska z ograniczeniami są dostępne z wielu źródeł, a wątpię, czy początkujący dojdzie do limitów wersji darmowych w ciągu 2 lat programowania. Za to typowe płytki z Cortexami zawierają wbudowany interfejs do debugowania i programowania, który później może być używany do programowania układów na własnej płytce. Biorąc pod uwagę, że takie płytki są na ogół tańsze od płytek z AVR nie zawierających programatora/debuggera chyba nie warto zbyt długo dywagować nad wyższością zabytków nad układami współczesnymi.
    Są też dostępne różne przewodniki po polsku do takich zabawek, chociażby w najnowszej Elektronice Praktycznej - do STM32F0. ;)

    0
  • #22 11 Lip 2013 23:49
    PiotrPitucha
    Poziom 33  

    Witam
    tmf no dobra, podjąłbym się wlutowania Atmegi czy też Xmegi w TQFP lutownicą do rynien, ale powiedz gdzie Ty kupujesz Xmegi po 10zł i przelotki po 5zł?
    I jeszcze jedno pytanie, "zapomniałem" o Xmegach po pierwszych modelach kiedy na elektrodzie toczyły się ożywione dyskusje na temat zupełnie nieprzewidywalnego ADC w tych procesorach, czy już jest lepiej?
    Piotr

    0
  • #23 12 Lip 2013 00:15
    Marek_Skalski
    Moderator Projektowanie

    Pytanie nie było do mnie, ale się wtrącę... a co ;)
    Xmegi kupuję w DigiKey albo u Mousera. Może trochę więcej niż 10zł, czasem z przesyłką wychodzi aż 3,60EUR (np. Xmega128A3U-AU), ale nadal ok.
    Adaptery kupuję z Majstar, np. QFP7, QFP10. Da się.
    Tylko jak lutuję, to zwykłą lutownicą, bo taką do rynien to ciężko w dłoni utrzymać ;)
    ADC został znacząco poprawiony jakościowo i funkcjonalnie i nie jest zły, o ile nie chcesz korzystać z trybu unsigned. Wtedy trochę szumi.

    0
  • #24 12 Lip 2013 09:09
    tmf
    Moderator Mikrokontrolery Projektowanie

    Ja kupuję w Seguro bo mam blisko. XMEGA32E5 niecałe 10 zł, a XMEGI z 128kB FLASH za trochę ponad 10 zł. Warto kupować XMEGA z serii A1 i A3 z USB - mają poprawione błędy młodości, w tym ADC, no i są tanie. Aha, w np. Farnellu XMEGA 16D4 niecałe 8zł, czyli tyle co stara ATMega8, a masz o 12 kB FLASH więcej, no i ogólnie jest lepsza. Farnella lubię, bo mają ekspresowe przesyłki - następnego dnia zamówiony towar jest w domu.

    0
  • #25 12 Lip 2013 09:23
    BlueDraco
    Specjalista - Mikrokontrolery

    No to Xmega wychodzi niewiele drożej od 32-bitowców, ale za to jest wolniejsza i pochodzi z Atmela (czyli najbardziej nieprzewidywalnego dostawcy), więc ją lubią Elektrodowicze. ;)

    0
  • #26 12 Lip 2013 10:50
    tmf
    Moderator Mikrokontrolery Projektowanie

    Sugerujesz, że zysk firmy Atmel wynika wyłącznie z nieświadomości Polskich użytkowników, którzy kupując te pojedyncze sztuki utrzymują firmę na powierzchni?
    Owszem, rdzeń XMEGA jest wolniejszy niż większości ARMów, lecz peryferia są o wiele bogatsze niż większości tanich ARMów (w porównywalnym przedziale cenowym). Np. porównanie do STM32F100C - max zegar 24 MHz, co już utrudnia wykorzystanie timerów i SPI. Pojedyncze, proste peryferia. No i powiedzmy sobie szczerze, że przy 24 MHz ARM w typowych operacjach (8, 16-bitowych) demonem szybkości w stosunku do AVR nie będzie.
    Za 18 zł mamy STM32F101C6T6A. Ok, 36 MHz, zaledwie 32 kB FLASH!, max 2 USARTy, peryferia w pojedynczych instancjach. Ok, może jestem tendencyjny. Zaproponuj więc coś poniżej 10 zł w TQFP32-48, >32 MHz (kwestia taktowania interfejsów), z np. USB, 4xUSART, 6-8 timerów 16-bitowych z możliwością sprzętowego łączenia do 32-bitów, tak z 16 kanałó PWM, 2*ADC chociażby po 8 kanałów, np. 4*SPI, 4*I2C, DMA. A może też ze sprzętowym liczeniem CRC16 i CRC32, powiedzmy opcjonalnym modułem kryptograficznym? Do tego 128 kB FLASH i powiedzmy 8 kB SRAM. Jakby DMA miało funkcjępattern search to już w ogóle byłby miód. Zauważ, że nie stawiam warunków nie do przejścia, typu stała latencja przerwania.

    0
  • #27 12 Lip 2013 11:19
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Ach te tendencyjne dyskusje... Pierwsza ATXMEGA która spełnia Twoje kryteria (128kB flasha) i to tylko częściowo (bo nie ma 2x8 wejść ADC, tylko w sumie 12, nie chce mi się szukać czy są dwa przetworniki czy jeden, do tego jeszcze pewnie część z tych 7 SPI jest współdzielonych z UARTami, więc wcale nie będzie 4 + 4) kosztuje w seguro 16zł, więc czemu ARM ma być poniżej 10?

    Dlaczego "typowe operacje" są tylko 8- czy 16-bitowe? Dla mnie "typowe" są operacje na 32-bitach, więc...? Zaraz okaże się, że dzielenie też jest wielce nietypową operacją...

    4\/3!!

    0
  • #28 12 Lip 2013 11:42
    94075
    Użytkownik usunął konto  
  • #29 12 Lip 2013 11:43
    tmf
    Moderator Mikrokontrolery Projektowanie

    Dlatego poniżej 10 zł, bo kryteria te spełnia procek za 10 zł. Ze względu na liczbę pinów, istotnie ADC może być 8-kanałowe.
    Co do typowych operacji - do tego właśnie zmierzam - nie każdy robi jakieś super obliczenia na typach double. Mnie np. praktycznie nie zdarza się wyjść poza 16-bitowy int, long jest sporadycznie. Oczywiście, to tendencyjne podejście, bo ktoś inny sobie może cały czas coś liczyć na typach 64 bitowych i dłuższych. Ale tak samo tendencyjne jest powiedzenie, że zawsze ARM jest lepszy, lub zawsze AVR jest lepszy. Są różne zastosowania, w których niekoniecznie najszybszy procek jest najlepszy. Jednak firmy produkujące nie tylko AVRy, ale taże PIC, czy stare '51 żyją i mają się dobrze. Czy to znaczy, że ich klienci to idioci nie mający pojęcia o tym, że jedynym rozwiązaniem, najtańszym i najlepszym są ARMy?:)

    0
  • #30 12 Lip 2013 11:54
    Freddie Chopin
    Specjalista - Mikrokontrolery

    tmf napisał:
    Dlatego poniżej 10 zł, bo kryteria te spełnia procek za 10 zł.

    Nie spełnia, bo nie ma ATXMEGI z 128kB flasha w tej cenie (nie liczymy cen hurtowych i netto).

    4\/3!!

    0