Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.
  • #1
    _CL_
    Level 12  
    Witam, chciałbym się trochę pobawić - więc wymyśliłem sobie że kupię płytkę stykową, atmega8 (wybór ze względu na dużą ilość projektów). Mam zamiar zamówić wszystko na allegro ponieważ wyjdzie mnie prawie 2 razy taniej niż w sklepie elektronicznym u mnie.

    Nie chcę niczego przegapić, żeby potem nie przepłacać jak do tej pory mam zamiar wziąć:

    ATMEGA8 (ATMEGA8L-8PU) AVR DIP28 (w obudowie dip28 żeby go wpiąć w płytkę) - 5 zł
    PROGRAMATOR ISP USB AVR ATMEL ATMEGA ATTINY 51 - 30 zł
    Płytka prototypowa stykowa 830 pól - 11,50 zł
    LED 7-seg anoda zielony (14,22 mm) - 1,40 zł (musi być bo mam zamiar na początku pobawić się w wyświetlanie liczników itp.)
    Dioda LED czerwona 5mm - (10 SZT) - 1 zł (na początku mam zamiar porobić jakieś efekty w stylu knight rider)
    Micro Tact Switch SMD 6x6mm h-5 -10szt - 1,20 zł
    Przewody połączeniowe płytki stykowej (pęczek 65) - 11 zł
    BD140 tranzystor PNP 80V/1,5A -2szt - 1,10 zł
    Cewki / dławiki - jakie dokładnie
    Kondensatory - jakie wartości
    Rezystory
    +jakiś multimetr - MIERNIK / MULTIMETR IGŁOWY ELEKTRONIKI CYFROWY 12,20 zł

    + ewentualnie:
    Wtyk USB TYP A SMD (2szt) - 1,10 zł
    Wyświetlacz LCD 2x16 ZIELONY HD44780 - 15,50 zł

    jakieś triaki, enkodery ?
  • Helpful post
    #3
    snajper7.92
    Level 15  
    Polecam ATmege8A bo ma zakres zasilania jak wersja L (od 2.7 do 5.5V) a zarazem pełny zakres taktowania jak zwykła atmega od 0 do 16MHz. Może też jakiś mosfet np. BUZ10/ZUZ11, może jakiś sterownik do silników DC i krokowych np. L293D lub podobny, może też bufor ULN2803/ULN2003. Dławiki chyba najpopularniejsze przy atmegach 10uH, no i zapas kondensatorów 100nF. Rezystory głównie 4,7k, 10k, oraz rezystory do diod. Może też rezonatory kwarcowe oraz zegarkowy. Jeśli tak to może też do nich kondensatory? Może jakieś stabilizatory napięcia np. L7805? Może czujnik temperatury np. DS18B20 i jakiś impulsator do zabawy albo jak pisałeś enkoder. To takie podstawowe elementy najczęściej używane w projektach.
  • Helpful post
    #4
    tmf
    Moderator of Microcontroller designs
    Zacznij od tego:
    http://mikrokontrolery.blogspot.com/2011/04/jak-najtaniej-zaczac.html

    Co do twoich zakupów:
    - zamieniłbym ATMega8 na ATMega88 - nowszy i ma kilka fajnych rzeczy
    - tranzystory BD się nie za bardzo nadają - małe wzmocnienie prądowe, niekoniecznie dobrze się nimi steruje z mikrokontrolera, jeśli myślisz o większych prądach pomyśl nad logic level MOSFET,
    - programator za 30 zł na początek może i jest ok. Ale jeśli myślisz na poważnie o zabawie w mikrokontrolery to porzuć pomysły o tych tanich badziewiach. Lepiej kupić oryginalny AVRISPMkII lub klona - koszt 2-3 krotnie większy, ale programuje wszystkie AVRy, od 1,8V, i jest bezpośrednio wspierany przez Atmel Studio dzięki czemu trudniej sobie na początek zablokować mikrokontroler :) Jeśli możesz sobie pozwolić na wydatek rzędu 240zł i naprawdę poważnie chcesz się zabrać za programowanie to IMHO najlepszą opcją jest AVR Dragon.
    - dławiki sobie odpuść, niczemu na początek nie służą,
    - kondensatory - 10, 100 nF, elektrolity 100, 470 uF
    - wtyki, gniazda USB sobie odpuść. Jeśli już to lepiej kupić gotową przejściówkę na FT232 na stykówkę.
  • Helpful post
    #5
    Pashunio
    Level 11  
    Co do przewodów połączeniowych - proponuję Ci inne rozwiązanie.
    Przewód alarmowy/domofonowy YTDY, np. 8 żył (drutowych) x 0,5mm. Mają różnokolorowe koszulki, świetnie pasują do płytek stykowych. Tniesz ile Ci trzeba, choćby i 2cm, łączysz a potem nie szkoda wyrzucić.
    Te gotowe przewody są wygodne, ale jak musisz dużo połączeń zrobić to się dżungla robi. Jak się stosuje druty, to tam gdzie trzeba masz długi przewód (choćby i 5m), tam gdzie trzeba masz 5mm zworkę.
    Za 10mb 8x0,5 zapłacisz jakieś 17zł. Daje Ci to 80m przewodu. Nawet z kolegami na spółkę można kupić.
  • Helpful post
    #6
    mirekk36
    Level 42  
    Pashunio wrote:
    Co do przewodów połączeniowych - proponuję Ci inne rozwiązanie.
    ..... Nawet z kolegami na spółkę można kupić.


    Tak, a potem układ na płytce stykowej wygląda zwykle tak:

    Atmega8 - Zestaw startowy

    Jeśli już stykówka to ja zdecydowanie polecam gotowe przewody połączeniowe i ciągłe i usilne próby porządkowania .... Zresztą zobacz jak to może poprawnie wyglądać na stykówce:

    Atmega8 - Zestaw startowy

    chociaż to zwykle i tak utopia - zawsze na końcu wychodzą mega trzęsące się pająki więc trzeba więcej czasu poświęcać na porządkowanie tego wszystkiego. No ale łatwiej o porządek z gotowymi przewodami a nie z obgryzionymi kawałkami skrętek.
  • Helpful post
    #7
    tmf
    Moderator of Microcontroller designs
    Gdyby wyglądał tak jak na pierwszym zdjęciu to nie byłoby problemu. U mnie zwykle wygląda tak:
    Atmega8 - Zestaw startowy

    Ale w końcu stykówka służy do prototypowania :)
    IMHO warto dać te kilkanaście zł za gotowe przewody a nie bawić się samemu w obdzieranie własnoręczne.
  • #8
    _CL_
    Level 12  
    Dziękuję wszystkim za odpowiedzi, jeszcze nic nie zamówiłem bo i tak większość sprzedawców ma teraz wpisany urlop.

    Wybrać w końcu atmega8, atmega88, atmega8A czy jakieś inne ? Przypominam że on ma służyć do celów naukowych, niby miałem już styczność z cpld czy fpga ale to były gotowe zestawy uruchomieniowe na studiach.

    Przejrzałem sobie
    http://mikrokontrolery.blogspot.com/2011/04/jak-najtaniej-zaczac.html


    i zasilanie będę miał od jakiego telefonu na bank, Stabilizator 5V dodatkowo wezmę,
    Co do programatora to chyba nie będę się bawił w DSUB-25 tylko kupię ten za 30 zł.

    Czytałem wypowiedź tmf'a ale nie mam przeznaczonego na to aż tyle budżetu żeby kupić jakiś wypasiony programator. Ja mam zamiar się pobawić, jak mnie to wciągnie bardziej to zainwestuje w to więcej. Nie wiem czy kiedykolwiek będę to robił na poważnie, prędzej wyląduję w plc.

    Ostatnia sprawa to literatura - ktoś podpowie jakiś ciekawy tytuł ? Dobrze gdyby było na stronie której nazwa zaczyna się na ch, ale jak będzie to jakaś nie droga pozycja to tragedii nie będzie. Ewentualnie mam dostęp do biblioteki politechniki.
  • Helpful post
    #10
    r03c10
    Level 11  
    Jeśli chodzi o programator to polecam USBasp. Można zrobić samemu jeżeli kolega ma już doświadczenie albo kupić, najtańsze zaczynają się już od 25 zł. Co do literatury to zależy w jakim języku chce kolega pisać. Jeśli BASCOM to na pewno Marcin Wiązania "BASCOM AVR w przykładach", jeśli C to polecam książkę Pana Mirosława Kardasia.
  • Helpful post
    #11
    tmf
    Moderator of Microcontroller designs
    BlueDraco wrote:
    Wybrać cokolwiek współczesnego, a nie drogi, mało wydajny i kłopotliwy w programowaniu zabytek. Patrz tutaj:
    https://www.elektroda.pl/rtvforum/topic2451532.html


    Mam wrażenie, że porównujesz 8- i 32-bitowce mając świeżą wiedzę o 32-bitowcach i informacje tak sprzed 10 lat o 8-bitowcach. Z argumentów, które podałeś w tamtym wątku na dzień dzisiejszy ani jeden nie jest prawdziwy:
    - programowanie - dokłądnie takie samo, programatory + onboard bootloadery (wszystkie serie wyposażone w USB je mają),
    - pobór prądu podobny - w uśpieniu tu i tu grubo poniżej 1uA, bez znaczenia dla hobbysty,
    - architektura Harwardzka - i co z tego skoro mamy named address spaces w gcc, a komercyjne kompilatory to już rozwiązały lata temu, Zresztą w ARM mamy FLASH i SRAM + jakieś magiczne kopiowania do SRAM, żeby ominąć ograniczenia prędkości FLASH. Każdy MCU ma jakieś smaczki :)
    - ilość peryferii - masz od skromnych po wypasione XMEGA gdzie liczników może być kilkanaście, z możliwością dzielenia na niezależne liczniki 8 bitowe, dziesiątki kanałów PWM, po 8 i więcej interfejsów USART, SPI, I2C, ADC, DAC itd. Obecnie peryferia w 8 i 32-bitowcach niczym się nie różnią.
    - zaglądanie w układ - większość ATMega i wszystkie XMEGA mają możliwość debugowania w układzie
    - dla AVRów świetny darmowy soft w postaci IDE + kompilator, wszystko gotowe z pudełka. Dla wielu rodzin ARM masz albo fajne środowiska ale płatne, albo rzeźbisz sobie sam. Doskonałe dla początkujących :)

    Dodano po 3 [minuty]:

    _CL_ wrote:
    Dziękuję wszystkim za odpowiedzi, jeszcze nic nie zamówiłem bo i tak większość sprzedawców ma teraz wpisany urlop.

    Wybrać w końcu atmega8, atmega88, atmega8A czy jakieś inne ? Przypominam że on ma służyć do celów naukowych, niby miałem już styczność z cpld czy fpga ale to były gotowe zestawy uruchomieniowe na studiach.


    ATMega8 to stary procesor, wycofywany. ATMega8A to próba reanimacji trupa - nowa technologia, mniejszy prąd, ale ciągle to samo. ATMega88 to następca, bardzo podobny do ATMega8, ale mający nowe cechy rodziny AVR, konstrukcja na dzisiaj dojrzała. Ale zasadniczo na tym kończą się DIPy (możesz kupić z większym FLASHem ale to bez znaczenia). Nowsze są w SMD - można kupić na przejściówce na stykówkę.
  • Helpful post
    #12
    mirekk36
    Level 42  
    Zdecydowanie zgadzam się ze zdaniem że w ATmega8 czy ATmega8A nie ma co inwestować nawet gdyby kosztowało to grosze - bo już kupisz starocia. Zajrzyj sobie za to w notę PDF procka ATmega88 - szybko zobaczysz - że masz bliźniacze wyprowadzeniami i peryferiami

    ATmega168 i ATmega328, które później możesz sobie w razie czego włożyć wprost do układu zamiast ATmega88 jeśli zabraknie ci np pamięci FLASH czy RAM w projekcie czy ćwiczeniach ;) Po prostu różnią się tylko tym że czym wersja z wyższym numerkiem tym ma po dwakroć więcej każdego rodzaju pamięci - i to jest fajne w tych prockach ;)
  • Helpful post
    #13
    BlueDraco
    MCUs specialist
    tmf: Mam też świeżą wiedzę o cenach i wydajnościach układów 32-bitowych. O ile wiem, na dzisiaj jedynie ATtiny13 i ATmega8 (czyli dwa zabytki) są tańsze od 10-krotnie od nich szybszych Cortexów, z tym, że Cortex konkurujący z Attiny13 będzie miał 4 KiB ROM i 1 KiB RAM oraz 2 UARTy i raczej będzie tańszy od ATtiny13 (realnie za 3 miesiące).

    Porównajcie najpierw same ceny i peryferiale układów serii ATmega i LPC11xx albo STM32F05x. Potem uświadomcie sobie przepaść wydajności (typowo rzędu 10x) i łatwość programowania układów 32-bitowych, wielopoziomowy system przerwań itd.. Pakowanie się obecnie w 8-bitowce nie ma sensu. To tylko siła przyzwyczajenia i lęk przed nowością (oraz szczególne wymagania pewnej grupy projektów, o których poniżej).

    Przyjrzyjcie się cenom płytek uruchomieniowych z programatorami/debuggerami dla układów 32-bitowych i MSP430 (oczywiście sponsorowane przez producenta) - od kilku do max. 20 USD - sporo mniej niż za podobne rozwiązania 8-bitowe.

    Ostatni z moich projektów komercyjnych robiony na mikrokontrolerze 8-bitowym przeniosłem na Cortexa 2 lata temu z powodu niższej ceny i znacznie lepszej dostępności mikrokontrolera (wydajność była bez znaczenia). Cena układu - poniżej 4 zł, zegar do 50 MHz, ADC 12-bitowy, 2 UARTY, łącznie 12 timerów, precyzyjny wewnętrzny oscylator itd.

    Inny projekt, który stał się zbyt wymagający dla ATtiny13, przeniosłem na tego samego Cortexa, bo ATtiny25 był za drogi i występowały tradycjne dla Atmela problemy z dostępnością.

    Na moje oko, najbliższe 3 lata spośród procesorów węższych od 32 bitów przeżyją w NOWYCH projektach:
    - małe PIC, wyłącznie ze względu na KEELOQ
    - MSP430 tam, gdzie bardzo krytyczny jest pobór mocy albo ich specyficzne peryferiale - głównie analogowe (ew. ze względu na FRAM)
    - procesory japońskie (Renesas) - w japońskich produktach wielkoseryjnych

    AVR się kończy, i widać to najlepiej po witrynie Atmela.
    I żeby nie było, że jestem taki do przodu, pierwsze projekty robiłem na Z-80, 8048, 8051 i paru podobnych, a potem stopniowo przesiadałem się na tańsze i lepsze układy.
  • #14
    _CL_
    Level 12  
    r03c10 wrote:
    Jeśli chodzi o programator to polecam USBasp. Można zrobić samemu jeżeli kolega ma już doświadczenie albo kupić, najtańsze zaczynają się już od 25 zł. Co do literatury to zależy w jakim języku chce kolega pisać. Jeśli BASCOM to na pewno Marcin Wiązania "BASCOM AVR w przykładach", jeśli C to polecam książkę Pana Mirosława Kardasia.


    Na pewno w C bo już w miarę znam ten język i bawiłem się nim już na 8051 wcześniej.

    Skłaniam się w stronę atmega88 ponieważ na pewno znajdę na to więcej projektów, literatury i chyba więcej osób tutaj bawi się na avr.
    Cena takiego STM32F4-Discovery z tego co widzę to 74 zł, a ja na razie nie potrzebuję kto wie jakich parametrów.
    Druga sprawa - kupić jedną czy dwie sztuki atmegi ? Podejrzewam że na początku mogę coś skopcić :D
  • #15
    tmf
    Moderator of Microcontroller designs
    1. Podziel się jak to robisz, chętnie bym wykorzystał QFN ale lutowanie tego wydaje mi się koszmarne. Co do kodu - ten dokument przez ciebie pokazany jest dosyć tendencyjny, nie ma w nim AVR, a przykład z mul to już przegięcie. Jednak nie przekonasz mnie, że kod w sytuacji w której opcode ma 32- bity jest krótszy niż kod, kiedy opcode ma 16-bitów. Byłby to cud. Chyba, że pracujemy wyłącznie na zmiennych 32-bitowych. Co do ilości rejestrów to AVR ma ich 32, co prawda 8-bitowych, ale też słowo adresowe ma tylko 16-bitów. W obu rejestrów jest sporo, to nie stara '51, która nawet nie miała ortogonalnej listy instrukcji.
    2. Niekoniecznie z ATMega, jeśli chodzi o peryferia to nawet ATTiny go biją. A jednak zaleta jest taka, że ta sama rodzina występuje też w obudowach 6-pinowych. Poza tym wszystkie AVRy z U mają firmowy bootloader więc można je programować np. przez USB.
    3. Nie ma póki co takich małych XMEGA. A jak się porówna z ARMem o podobnej liczbie peryferii i pamięci FLASH/SRAM to XMEGA wychodzi taniej. Takie małe XMEGI pojawią się w przyszłym roku, zobaczymy jaka będzie cena.
    5. Nie, tam nie ma porównania długości kodu, tylko min i max wielkości opcode, co jest jakimś kuriozum. Jest też jakieś porównanie z AVR, gdzie wychodzi, że kod inicjalizacyjny USART Cortexa jest 2-krotnie dłuższy niż AVRa, a procedura obsługi RX podobna. Porównanie nic nie warte. Ogólnie marketingowy bełkot, ale to nie tylko Cortex tak ma:)
    Co do danych - akurat AVR ma parę instrukcji wspierających arytmetykę 16-bitową (ADIW, SBIW), dodawanie 16-bitowe dowolnych liczb to 2 opcody - 32 bity, zapewne tyle samo co na ARM. W typowych aplikacjach zapewne różnic nie będzie wielkich. Co do peryferii to trzeba się zgodzić, że w ATMega są koszmarne, bo to protezy czegoś co wymyślono prawie 20 lat temu. Dopiero w XMEGA jest z tym porządek i są peryferia, któych nie powstydzą się ARMy :)
    6. Nie wiem jak ten CooCox, czy tam kompilator jest ze wszystkim, czy to jakaś wersja komerycyjnego kompilatora z ograniczeniami?
    Podsumowując - ja jeszcze nie miałem żadnego powodu aby stosować procesory szersze niż 8-bitów :) Nie żebym tam robił jakieś rocket science, ale z tego co widzę, może raz spotkałem się z projektem na elektrodzie, który by wymagał czegoś więcej niż 8-bitowca.
    I tu dochodzimy do sedna - używa się takich procesorów jakie się zna i jakie wystarczą. Przechodzenie na 32-bity bez powodów, jest tak samo głupie jak próba realizacji zadania wymagającego 32-bitowca na 8-bitowcu. IMHO za 3 lata, a nawet za kolejne 10 lat ciągle na rynku będą i 8-bitowe AVRy i nawet stare '51. O co mogę się założyć.
  • #16
    piotrva
    VIP Meritorious for electroda.pl
    Przypomnę o jednym - TEMAT KIERUJEMY DO ZUPEŁNIE ZIELONYCH W TEMACIE - czy na prawdę uważacie, że dla Kowalskiego, którego hitowym projektem będzie jakiś termometr z bajerami lub coś o podobnym stopniu złożoności takie niuanse mają znaczenie?
    On chce szybko zrobić coś co da mu satysfakcję - czy na prawdę musi przekopywać się przez TONY dokumentacji do każdego procesora ARM, zamiast skorzystać z 1 paruset stronnicowej noty do procesora AVR?
    AVR Atmega2560 (starszy model, ale dosyć rozbudowany, wystarczy każdemu początkującemu na wgranie jednocześnie ze 100 programów): 447 stron (kompletna dokumentacja: http://www.atmel.com/Images/doc2549.pdf )
    STM32F050C4 (najmniejszy z rodziny F0) 97 ( http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/DM00065136.pdf ) +748 ( http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/DM00031936.pdf ) = 845
    Jak widać podstawowa dokumentacja prawie 2 razy obszerniejsza.
    A z rodzinki XMEGA: ATxmega64D4 http://www.atmel.com/devices/ATXMEGA64D4.aspx?tab=documents Pełna dokumentacja 466 stron.

    Ale nie, rzeczywiście 845 stron to krótsza i łatwiejsza do przestudiowania dokumentacja.
    ---
    Poza tym skończmy tę dyskusję - raz - offtopic - dwa - temat poruszany był już nie jeden raz i nigdy nie kończyło się to żadnym konsensusem. Każdy z nas ma swój punkt widzenia wynikający z takich a nie innych doświadczeń z tymi rodzinami procesorów oraz tego w jakim obszarze działa i nie przypuszczam że którykolwiek z nas zmieni zdanie.