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.

Jaki mikrokontroler wybrać do...?

Tomcio7 09 Gru 2011 12:59 247372 1272
  • #721 09 Gru 2011 12:59
    mirekk36
    Poziom 42  

    Dodam, jeszcze że przy wyborze startu od płytki stykowej i babraniu się z kablami i błędnymi połączeniami, gdy już cię trafi szlaczek ;) ..... z tego powodu, to drugi szlaczek trafi cię gdy sobie podliczysz ile wydałeś kasy na takie super porady z netu i zakup tych stykówek, które też bywają kiepskiej jakości itp ....

    A co do cen i innych rzeczy - pewnie, że nie słucha porad z netu, nawet z tego forum czy ode mnie - sam sprawdź, sam poczytaj i sam zobacz jakie są ceny - bo m88 jest tania i to nawet w tme.pl .... trzeba tylko wiedzieć którą wybrać - a nie wszyscy się w tym orientują. Zatem jeśli dzisiaj wejdziesz na strony tme to zobaczysz takie nickie ceny - zaznaczone na zielono ;)

    Jaki mikrokontroler wybrać do...?

    i pewnie, że wyboru wszystkiego dokonasz sam - to chyba nie dziwne ;) - więc nie słuchaj nawet tego co ja piszę - tylko sam się zorientuj.

  • #724 10 Gru 2011 11:08
    McMonster
    Poziom 32  

    Tylko przypomnę, że w Piekarzu są ceny netto.

  • #725 10 Gru 2011 11:59
    tmf
    Moderator Mikrokontrolery Projektowanie

    Też dołożę swoje trzy grosze. Jak już wielokrotnie pisałem wszystko ma swoje miejsce. IMHO płytki stykowe w wielu sytuacjach są wystarczające, tanie i uniwersalne. IMHO kupowanie płytek rozwojowych pod procesory typu Mega8, Mega16 itd. nie ma sensu, bo to proste procki są i zwykle testuje się je w prostych konfiguracjach. Nawet takie podłączenie 4*7-seg. LED nie stanowi problemu na stykówce. Z kolei płytki rozwojowe są dobre jeśli ilość tych połączeń naprawdę gwałtownie wzrasta - np. podłączenie zewnętrznych modułów pamięci SRAM/DDRAM, procki w obudowach TQFP64 i więcej. Tam się robią nagle setki połączeń i na stykówce jest klops. Jeśli mowa o AVR akurat to warto przeszukać co ta firma oferuje - moim zdaniem mają parę świetnych i tanich modułów, np. XPlained, dzięki którym można wytestować wszystko co się chce.
    Warto też mieć na uwadze Arduino, same płytki mają ciekawe i tanie, wcale nie trzeba wchodzić w C++ i oferowany przez tą platformę "framework". Te płytki mogą wręcz posłużyć jako gotowe rozwiązania sprzętowe.

  • #726 10 Gru 2011 14:59
    atom1477
    Poziom 43  

    McMonster napisał:
    Tylko przypomnę, że w Piekarzu są ceny netto.

    A w TME jakie?

  • #727 10 Gru 2011 16:47
    McMonster
    Poziom 32  

    atom1477 napisał:
    McMonster napisał:
    Tylko przypomnę, że w Piekarzu są ceny netto.

    A w TME jakie?


    Ja mam brutto po zalogowaniu, ale i tak warto było o tym wspomnieć dla jasności.

  • #728 13 Gru 2011 19:53
    Morphix
    Poziom 9  

    Witam. Chciałbym zrobić sterownik oświetlenia (a właściwie to budzik, stopniowo rozjaśniający światło(regulacja fazowa), sterowany na pilota RC5) w pokoju. Koncepcja jest następująca - układ dzielę na trzy części:

    -część zasilająca (trafo,mostek gretza,7805 + detektor zera na transoptorze LTV814)
    -część wykonawcza (wkładana do puszki elektrycznej, dostaje sygnał od części sterującej)- optotriak + triak(MOC3020 + BT136)
    -część sterująca(przykręcana na zewnątrz puszki) - mikrokontroler, odbiornik podczerwieni, 4 wyświetlacze 7segmentowe (do wyświetlania godziny), buzzer,microswitche.

    i z tego co widzę to będę potrzebował uC, który posiada
    a)2 przerwania zewnętrzne - 1.detekcja zera 2. włączanie odbioru RC5
    b)3/4 (?) timery - 1.odczyt RC5 2.odmierzanie czasu do zegara 3.multipleksowanie wyświetlacza 4.wyłączanie triaków (regulacja fazowa)

    nie wiem do końca jak rozwiązać tą kwestię timerów, nie wiem też jaki kwarc wybrać, czy dać zegarkowy i ustawić timer odmierzający czas tak, żeby na nim chodził, a resztę robić na wewnętrznym oscylatorze?

    Prosiłbym o porady. Jakiego uC użyć (Atmega88 wystarczy?) lub co zmienić w założeniach.
    Dodam, że z regulacją fazową nie miałem wcześniej do czynienia.

    Pozdrawiam.

  • Pomocny post
    #729 13 Gru 2011 21:10
    Szumlus
    Poziom 17  

    Witam,

    Jak kolega chce wszytko zrobić na uP to wskazana przez kolegę ATmega starczy, uP raczej sobie nie poradzi ze wszystkim na kwarcu zegarkowym będzie zbyt wolny więc kombinacja kwarc zegarkowy + wewnętrzny oscylator RC jest konieczna.

    Większość ATmeg posiada tylko 2 timery dlatego też trzeba by rozwiązać pomiar czasu i multipleksowanie wyświetlaczy na jednym timerze (Timer2 zazwyczaj posiada opcję podłączenia kwarcu zegarkowego),Timer1 pozostanie wówczas wolny dla regulacji fazowej.
    Można jeszcze próbować zgrać wyświetlanie z detekcją zera odświeżanie wówczas 60 Hz przy każdym przejściu przez 0 sieci.
    W razie problemów z kodem służę pomocą.

    Problem dekodowania RC5 można rozwiązać softem bez użycia timerów jednak to już trochę trudniejsze.


    Ewentualnie pozostanie szukać Atmel'a z przynajmniej 3 timerami

    Pozdrawiam,
    Marcin

  • Pomocny post
    #730 13 Gru 2011 21:38
    Jaca
    Poziom 28  

    Szumlus napisał:
    Większość ATmeg posiada tylko 2 timery


    Nieprawda, posiadają 3 timer'y (dwa 8-mio bitowe i jeden 16-to bitowy).

    Do multipleksowania wyświetlacza można wykorzystać detekcję przejścia przez 0 (INT). Pozostają 3 wolne timery do obsługi reszty.

  • #731 13 Gru 2011 21:46
    Morphix
    Poziom 9  

    Jaca napisał:

    Do multipleksowania wyświetlacza można wykorzystać detekcję przejścia przez 0 (INT). Pozostają 3 wolne timery do obsługi reszty.


    Przerwanie będzie się wywoływać z częstotliwością 100Hz(50Hz to 100 przejść przez 0).Dzielone na 4 wyświetlacze to 25Hz - nie będzie migotać?

  • #732 13 Gru 2011 22:02
    Jaca
    Poziom 28  

    Troszkę będzie migotać. Możesz w takim razie wykorzystać 50 Hz do taktowania zegara (nigdy nie sprawdzałem dokładności) a do wyświetlaczy użyć jednego z Timer'ów.

    ps. W jakim języku stworzysz program sterujący ?

  • #733 14 Gru 2011 10:09
    Szumlus
    Poziom 17  

    Faktycznie moje przeoczenie są 3 timery...a w sieci mamy 60 Hz nie 50 :)
    więc pulsacja=120. Częstotliwość odświeżania wzrasta do 30 Hz.

  • #735 17 Gru 2011 22:13
    felo188
    Poziom 9  

    Witam.
    Poszukuję uC, który będzie miał 2 porty, dwa przetworniki ADC i aby był jak najtańszy. Attiny43 spełnia wymagania, ale kosztuje tyle co atmega8 (z tego co znalazłem). Dziękuje z góry za pomoc.

  • #737 18 Gru 2011 09:25
    felo188
    Poziom 9  

    dondu napisał:
    Musi być Atmela, czy może być Microchipa?
    Skłaniałbym się raczej za Atmelem ;)

  • #738 18 Gru 2011 09:51
    nibbit
    Poziom 19  

    Z tanich 8-bitowców masz jeszcze np STM8.

  • #739 02 Sty 2012 17:23
    Madman07
    Poziom 19  

    Niedługo zabieram się za pisanie cyfrowego syntezatora - kilka kanałów, obwiednie ADSR, różne rodzaje oscylatorów, prawdopodobnie cyfrowe filtry itp. w C albo asm, zależy w czym pójdzie sprawniej.
    Lepiej wybrać wbudowany czy zewnętrzny przetwornik ? Jeżeli zew. to jaki? Najlepiej żeby był 16 bitowy. Do tej pory pracowałem tylko na PIC16 i PIC18, także który z dsPIC'ów się najlepiej do tego nada? Większość dsPIC'ów ma wbudowane przetworniki DAC ale zaledwie 10 bitowe, tylko kilka z nich jest 16 bitowych. Czy warto inwestować w nie? Czy te 16 bitowe wyrobią się z częstotliwością próbkowania 44100Hz?
    Czy w takim projekcie ilość RAM ma duże znaczenie (nie mówię o tworzeniu cyfrowego pogłosu/echa, do tego są dedykowane kostki jak PT2399)? Ostatnio udało mi się zrobić prosty syntezator na PIC16F871 z kilkoma oscylatorami gdzie i FLASH i RAM są małe, ale oczywiście architektura 8 bitowa dała o sobie znać, brak sprzętowego modułu mnożenia oraz prędkość procesora.
    I przede wszystkim - gdzie je dostać w sensownej cenie? tme.pl ? Są moze one w obudowie DIP, czy wszystko w smd? I tak, wszelkie Atmegi, Arduino i inne dziwactwa odpadają ;]

  • #740 02 Sty 2012 18:17
    Urgon
    Poziom 36  

    AVE...

    Większość dsPICów się do tego nada, ale osobiście bym Ci radził szukać takich, które mają interfejs I2S, wtedy do kompletu możesz dodać DAC dwukanałowy CS4344. DsPICi są zoptymalizowane pod kątem programowania w C. Mają też dostatecznie szybkie zegary i dość RAMu, by obsłużyć syntezę + efekty...

  • #741 22 Sty 2012 13:51
    xpascal
    Poziom 10  

    Mam pytanie - potrzebuję wygenerować za pomocą mikrokontrolera taki oto przebieg:
    Jaki mikrokontroler wybrać do...? Jaki mikrokontroler wybrać do...?
    Szpilki mają mieć około 90µs, częstotliwość powtarzania szpilek to 440Hz, cała obwiednia ma 500ms, potem następuje 500ms przerwa i cykl się powtarza. Szpilki można wygenerować jako trapez by było prościej, potem to i tak może być odfiltrowane za pomocą prostego układu RC.
    Czy ATTiny5 zaprogramowane w BASCOMie da sobie z tym radę? Ten mikrokontroler ma przetwornik A/D. Czy może będzie potrzebny mocniejszy mikrokontroler?

  • #742 22 Sty 2012 14:28
    atom1477
    Poziom 43  

    Da radę (ale w BASCOMie będzie z tym dużo zabawy).

  • #743 22 Sty 2012 14:58
    xpascal
    Poziom 10  

    OK, ale w C byłoby jeszcze więcej pracy. Szczerze mówiąc to chyba skończy się na tym, że generator szpilek zrobię na 555 + 74xx i układy RC a attiny zrobi mi tylko obwiednię. Dzięki!

  • #744 23 Sty 2012 11:29
    Madman07
    Poziom 19  

    Albo wykorzystać PWM albo zewnętrzny przetwornik D\A. Chociaż nie wiem czy się proc wyrobi (na atmelu się nie znam).

  • #745 23 Sty 2012 11:43
    atom1477
    Poziom 43  

    xpascal napisał:
    OK, ale w C byłoby jeszcze więcej pracy.

    Jakim cudem?

  • #746 13 Lut 2012 19:41
    xpascal
    Poziom 10  

    Na pewno więcej pracy w porównaniu do prostego programowania w Bascomie, gdzie są już oprogramowane porty we/wy itp.
    Wracając do głównego problemu - już został wykonany za pomocą generatorów na 555, kilku tranzystorów i dwóch 7400 do sterowania. Do tego jest łatwo przestrajalny bez zmiany oprogramowania (bo oprogramowania tutaj nie ma w ogóle).

  • #747 19 Lut 2012 22:36
    tymon_x
    Poziom 30  

    Witam,

    Miałem krótką przygodę z AVR (asm/C) lata temu, przewinęły się różne ATtiny i ATmegi. Jakoś nie za bardzo mi ten rdzeń przypadł do gustu jak i jego otoczka. Samą firmę Atmel też nie za bardzo trafię za podejście do branży ASIC oraz IP (sprawa z Infineon, export do Chin). No cóż, dla mnie to jakoś słabo wyglądające uC, które jakoś się przebiły na swoje szczęście w latach małego urodzaju polysilicon i mody na obudowy DIP/DIL.

    Ale na horyzoncie pojawiła się ATxmega, tup, tup zbliżała się na moje biureczko, małe czarne kwadraciki w obudowie MiLF i to ona miała mnie przekonać, żeby dać szanse tym 8-bitowcom. I czego to ona nie miała tam w środku, oj wszystko co potrzeba, a co ! DMA, ADC z próbkowaniem do 2 miliona próbek na sekundę, AWeX i inne cuda nie widy. A w dodatku ta literka x między AT i mega. Po prostu mega! Datasheet lekki niż inne kobyły z 32-bitami, miało być prosto i przyjemnie.

    A jednak tak nie było, jak w życiu. Nie będę pisał że nastąpiła jakaś dramaturgia, bo tak nie było. Ale to co było mi potrzebne, a w innych uC to się normalnie takie rzeczy konfiguruje na chłopski rozum, to dopiero wnikliwa analiza DS dała mi pogląd, o co kaman.

    Ale powoli, projekcik z góry zrobiony, sofcik do napisania spoczął na moje barki. Trochę DSP, IIR, ADC, transformata falkowa, jakieś algorytmy i inne cuda, no ok. Nic trudnego, skonfigurować hardware, jakieś testy jak to śmiga i hulaj dusza.

    A tu klops, z tego względu że AVR są ośmiobitowe, to ich naturalnym środowiskiem są 8-bitowe rejestry. No ale w realnym świecie Embedded, to jest bardziej jakiś wytwór, bo tak:
    -timery 16 bitowe
    -ADC/DAC 10-12 bitowe
    -rozszerzony UART 9-bitów :P
    itp.
    No to dla takich rzeczy wymyślono specjalnie sprzętowy dostęp atomowy do tych rejestrów, który zapisuje w jednym cyklu wartości to tzw. temporary register. No wszystko fajnie i pięknie, odczytaj młodszą część, żeby cokolwiek widzieć w starszych. Tylko jak to powiedzieć takiemu DMA ?

    Sytuacja wygląda tak, chcemy Sobie próbkować jak możliwie najszybciej i jak największą rozdzielczością, no to ciach, przesuwamy 12-bitów do lewego brzegu rejestru 2*8 bitowego, i chcemy wziąć tylko najstarsze 8-bitów. Przetworniki SAR + technika kondensatorów przełączalnych w tym układzie, daje się w znaki na najmłodszych bitach. To ucinamy. Zaciągamy dalej System Event, timer i tak dalej. I nadchodzi kolej na DMA. Najbardziej to mnie zaskoczyło nielogiczne, jak dla mnie, skonfigurowanie tego pod przerzucanie 16-bitów lub 32-bitów, wykorzystują burst. Czyli de facto przerzucamy bajty, a nie dane. Dziwne, da się przeżyć. Ale, ale, ja chce dane z high-register result kompaktowo przerzucić je do tablicy w RAMie. Włączam. A tu zdziwko, wszystko ma wartość 0. A nu dlaczegóż ? Bo jak się okazuje, DMA odczytywało z temporary register :( A bez odczytu najmłodszej części, nie będzie widział starszej. No ale co za problem, a no taki, że w innym przypadku zwiększyłby mi się rozmiar tablicy niepotrzebnie (a tak potrzebne na 2 kanały po dwa bufory po 512 próbek), a tryb ADC ośmiobitowy to pic na wodę fotomontaż, tak żeby się tylko pochwalić tymi 2M saples per seconds w broszurce. A prawda jest taka, jak się robi przetworniki na kondensatorach przełączalnych, to klucze muszą się przełączać kilkanaście razy większą częstotliwością niż sygnał próbkowany, bo wchodzi w taki zakres szumu kwantyzacji, że masakra. I tu pomaga rozdzielczość, żeby podnieść SNR. W STM32 za pomocą dwóch ADC ładnie jest rozwiązane 1M, bo de facto każdy pracuje po 500k. I wszystko po to, żeby uniknąć tych masakrycznych przerwań w AVR i ładnie zbierać dane w jednym buforze (DMA) i w drugim poprzednio przygotowanym Sobie już liczyć co trzeba, bo i tak przez większość czasu magistrala się nudzi.





    Jeszcze po złości, w jednym egzemplarzu padł mi DAC na drugim kanale, zwarło się do VCC i kaput.

    Druga sprawa, to że tylko część układów peryferyjnych przyjmuje władzę nad pinem, a część nie. No panowie, albo idzie zgodnie z tym co było w ATmega albo i nie.

    No, ale konfiguracja wewnętrznego wzmocnienia mnie dobiła, żeby z niego skorzystać trzeba skonfigurować ADC jako signed, a mnie interesowało tylko wzmocnienie jednego sygnału, przez co traciłem na jednym bicie :( Bo żeby wzmocnić jeden sygnał, drugi pin (-) trzeba zewrzeć do masy, żeby działał jako wzmacniacz (x1 - x64), a nie ... no właśnie co, jakie jest praktyczne stosowanie przy oddzielnym wzmocnieniu ? Zamiast brać różnicę z jakieś pary różnicowej i wzmacniacz ten sygnał jak to bozia trójkącikom z wejściami - i + przykazała, to nie. Wzmacnia się osobno sygnały i podaje się jako signed. To musi mieć jakieś specjalistycznie zastosowanie ! A nie dla mnie taki ficzer, ja bym potrzebował zwykłego wzmacniacza, co w VLSI MAGIC można zaprojektować z testami w kilka dni.

    Nie wiem, czy pętla PLL też jakaś nie stabilna czy cóś. Ale czasem potrafiła wariować, i co z tego że najeżona kondziorami, dławikami ferrytowmi i innymi zabezpieczeniami. Niby wszystko pracowała jak trzeba, kod się wykonywał, ale czasem z dziwną prędkością (UART już się rozjeżdżał). Pomagał hard reset.

    No ale za co można pochwalić, to w końcu nauczyli się porządkować rejestry. Bo w ATmega, to jakiś obłęd, zero logiki. Szczytem było współdzielenie dwóch rejestrów na jednym adresie (sic!, sic!).

    Projekcik zrobiony w celu zapoznania, ale pozostał niesmak. ATxmega mnie nie urzekła, gorzkie rozczarowanie.

    Kiedyś ktoś powiedział, że wśród 8 i 32 bitowców, 16-bitowce to jakiś wytwór. Według mnie, to właśnie 8-bitowce to jest jakiś niepasujący wynalazek w dzisiejszym świecie. Większość peryferiów 8 bitów wzyź, a indeksowanie po pamięci nie da się rozsądnie zrobić na 8- bitach, coraz więcej zasobów, coraz więc RAMu każdemu potrzeba.

    A ja wracam do nocnego ARMowania :D

  • #748 20 Lut 2012 10:06
    INTOUCH
    Poziom 30  

    Niby era 8 bitowców minęła, ale jak rozbieram jakiś chiński UPS to w środku PIC lub klon 8051. Jedyna zaleta AVR to udostępniane przez producenta darmowe środowisko programistyczne z kompilatorem.

  • #749 20 Lut 2012 10:39
    mirekk36
    Poziom 42  

    To mniej więcej tak jakbym słyszał o bogatym rolniku, co to wygrał w totka i wymarzył sobie, że swoje pole 30-hektarowe skosi za pomocą zwykłych nożyczek zamiast najnowszego modelu Kombajnu. Fakt zrobił to, udało się w końcu, ale co się chłop na trudził to jego. Toż musiał te nożyczki co 5 minut ostrzyć (sic!, sic!), pod koniec pracy nożyczki były prawie do wyrzucenia bo się ich masa zmniejszyła. W trakcie pracy chłop zaczął odkrywać, że te nożyczki są do D.... w porównaniu do kombajnu ponieważ, są większe przestoje w pracy, palce bardziej bolą, trzeba pracować w pozycji "na kucaka", plecy bolą, niektóre partie pola zostały nierówno wycięte a niektóre nawet zniszczone.

    Biedny zmęczony chłop zaczął narzekać i psioczyć na nożyczki, że one nie mają racji bytu w dzisiejszym świecie, że nie nadają się do takich prac pomimo że jak się uprzeć to można, ale jakim kosztem?. Stwierdził więc, że nożyczki to jakiś wytwór albo wręcz pomyłka techno-genetyczna, ba.... wręcz że to jakiś niepasujący wynalazek w dzisiejszym świecie, bo nie da się przecież rozsądnie skosić nawet mniejszego pola nożyczkami a tymczasem w dzisiejszych czasach każdy ma coraz większe pola ....

    Sam się chłop zaczął pocieszać, gdy zobaczył że kilku znajomych z branży na forach podpowiedziało mu, że mógł się nabrać na te nożyczki, bo niby era nożyczek już minęła ale przecież jeszcze nadal używa się ich w Chinach a dodatkowo rozdają do nich darmowe osełki do ostrzenia plus podkładki gumowane na palce.

    Dlatego gdy chłop po pewnym czasie wrócił do domu i kazał babie wyrzucić z chaty każdy egzemplarz nożyczek to się znowu zdziwił - bo okazało się, że baba zagroziła, że mu więcej sukna nie potnie na onuce i będzie boso chodził pole kosić. Ale na poważnie się dopiero przestraszył baby jak mu zagroziła, że mu kubracka odświętnego nie przerobi a nowego nie uszyje - no bo jak tu się pokazać we wsi?

    eeeeh pomyślał chłop, to nie dla mnie, to wszystko jak koszmarny sen, dlatego wraca do kombajna

    jaki z tego morał dla chłopa?

    Nie patrz chłopie przez czubek potrzeb znad swojego nosa i zamiast narzekać na nożyczki czy młotek naucz się dobierać właściwe/odpowiednie narzędzia do pracy (do określonych zadań) zamiast wciąż narzekać ;)

    -------

    sorki - to taka tylko dygresja i do nikogo nie piję ;)

  • #750 20 Lut 2012 11:13
    INTOUCH
    Poziom 30  

    Sprawa z ATXmegami wyglądała tak, że były one projektowane z myślą o ich zastosowaniu do urządzeń mobilnych zasilanych bateryjne (komórki, itp.). Na nieszczęście dla tych mikrokontrolerów inżynierowie z Atmela zaspali jakieś 2 lata. Programowanie ARMat też nie jest łatwe dla początkujących osób. Kombajnem do zboża głowy nie ostrzyżesz.

    tymon_x napisał:
    coraz więc RAMu każdemu potrzeba.
    W datasheet pisze, że ATXmeg może obsłużyć nawet 128MB zewnętrznej pamięci RAM.