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

Jaki mikrokontroler wybrać do...?

Tomcio7 30 Lis 2010 13:23 254338 1285
  • AdexAdex
  • #512
    ociz
    Moderator Samochody
    Witam.
    Na razie jest tylko pomysł, realizować go będę dopiero na wiosnę jeśli czas będzie, jednak chciałbym się już do tego przygotować.
    Więc mikrokontroler miałby sterować trzema serwomechanizmami, myślałem o samochodowych silniczkach od regulacji wysokości świateł żeby było w miarę nie drogo tylko sterowanie nimi mogło by być trochę problematyczne.
    Do tego miało by być jeszcze jedno wyjście PWM do sterowania obrotami silnika, 8 przycisków i 12 osobnych led-ów jako kontrolki. Trochę dużo tych przycisków i kontrolek może jakieś multipleksowanie?
    Zapomniałem, jeszcze 2 czujniki temperatury miały by być wykorzystane.
  • AdexAdex
  • #518
    ociz
    Moderator Samochody
    Fajna tabelka ta Atmela. Chyba wybiorę Atmega8 ze względu na cenę, dostępność i spore możliwości.
    Co do silniczków od świateł to się myliłem, steruje się nimi bardzo łatwo przez PWM, tylko są wolne i mało precyzyjne ale to mi akurat nie przeszkadza, najgorsze że są strasznie głośne.
    Jak sobie siedziałem na tronie to zmieniła się też trochę koncepcja, będzie 6 led-ów mniej za to 2 przyciski więcej i mały wyświetlacz lcd 6x1.
  • #519
    natan_dc
    Poziom 1  
    Witam,

    Mam zamiar rozpocząć przygodę z mikrokontrolerami. Oczywiście proszę o poradę co wybrać, poniżej kilka szczegółów o mnie i moich oczekiwaniach.

    1. Pracuję z układami FPGA i sterownikami PLC. Ponieważ czasem czegoś brakuje - chciałbym do katalogu umiejętności dodać uC.
    2. Interesują mnie systemy mobilne a na pewno rozproszone.
    3. Mam podstawy programowania uC z kilku kursów, ale nikłą wiedzę o rynku - wiadomo, na kursach sporo marketingu.
    4. Całkiem nieźle idzie mi też programowanie w c/c++ i kilku innych wyższego poziomu.

    Co z tego wynika?
    Szukam evaluation boarda z ciekawym uC i kilkoma peryferiami - w gre wchodzą różne expansion-boardy. Docelowo chciałbym mieć płytkę z możliwością komunikacji bezprzewodowej - najlepiej wifi i jakimś ekranem.
    Oczekuję dobrego środowiska pracy - na codzień pracuję z takim softem jak Step-7/winCC czy Altium Designer i chciałbym czegoś choć w połowie tak funkcjonalnego - mam małą ochotę na walkę z softem.

    Dotychczasowe poszukiwania w internecie podsunęły mi pomysł Gumstix, ale przeraża mnie środowisko. Podoba mi się modułowa budowa i możliwości procesora. Również to, że developerka i wdrożenie może się dziać prawie na tych samych układach - zależnie od add-ona. Jednak brak jasnego wsparcia dla DSP (tak wynika z ich wiki) studzi mój zapał. Podobno też na gumstixach można odpalić erlanga z OTP.

    Dzięki za pomoc.
  • #520
    WTS
    Poziom 9  
    Witam

    Mam do wykonania pewna prace, potrzebny do tego jest mi mikrokontroler ktory posiada pewne wlasciwosci, oto one:

    -port szergowy
    -wejście analogowe
    -interfejs asynchroniczny
    -posiadać tryb uśpienia

    Mianowicie ma być użyty jako w węźle do pomiaru temperatury

    Proszę o rade oraz przykładowe ukontrolery
  • #521
    tadzik85
    Poziom 38  
    Nie duże te wymagania większość je spełnia.
  • #522
    miki964
    Poziom 10  
    Cześć!

    Biorę udział w pewnym projekcie biologiczno-technicznym i złożyło się, że w moim zespole nie ma nikogo, kto znałby się na elektronice... Potrzebuję mikrokontrolera (chyba), który byłby w stanie pobierać dane z dalmierza laserowego i przekształcać je na wibracje silniczka o odpowiedniej (zależnej od odległości) częstotliwości.

    Proszę o pomoc i pozdrawiam,
    miki964
  • Pomocny post
    #523
    Pokrentz
    Poziom 21  
    Podpowiedź tutaj zależy od tego, jak ów dalmierz wysyła dane do mikrokontrolera oraz co to za silniczek. W najprostszej wersji (interfejs szeregowy) wystarczy nawet jakiś ATtiny typu attiny 26, czy inny popularny attiny2313, w przypadku, kiedy interfejs danych dalmierza jest bardziej rozbudowany, trzeba będzie użyć jakiejś ATmegi. Trzeba koniecznie wiedzieć, jaki jest interfejs danych dalmierza i jaki jest protokół komunikacji.
    No i pewnie pozostanie do zrobienia układ sterowania samym silnikiem - wibratorem, bo taki mikrokontroler nie ma absolutnie mocy, aby poruszyc jakikolwiek silnik.
  • #524
    dondu
    Moderator Mikrokontrolery Projektowanie
    atom1477 napisał:
    ... A mój drugi sposób jest jeszcze lepszy: jak nie starcza miejsca albo szybkości procka to nie wale lepszego niz AT89C2051, tylko wale dwa procki AT89C2051!!! Dziwne i głupie??? Być może ale dzięki temu każdy odwala swoją robotę. Każdy ma swoje własne przerwania i może sobie spokojnie pracowac nawet wówczas jak drugi obsługuje jakieś przerwanie. Jeden nawet superowy procek czasami tak nie potrafi!!! Momentami tylko komunikuja się za pomocą jakiejś "łatwej" transmisji danych, np: RS232 albo I2C ...

    Dzięki za "natchnienie" ... właśnie czytałem temat by wybrać jakiś "większy" od ATMega8 układ do robota, ale dzięki Tobie zrobię Mega8 + np. Mega16 - same plusy bo będę musiał poznać komunikację SPI oraz I2C, i wiele innych dobrych praktyk dzielenia zadań i współpracy.

    ... i dodaję do kolekcji:
    PORADNIK JAK WYBIERAĆ MIKROKONTROLER (angielski)
  • #525
    Graymanix
    Poziom 1  
    Witam
    Potrzebuję mikrokontrolera, do którego będę mógł podpiąć 12 przycisków oraz ekran LCD 320x240. Powinien mieć też 512kb miejsca na program (ewentualnie 256kb).
  • #526
    dondu
    Moderator Mikrokontrolery Projektowanie
    Graymanix napisał:
    Potrzebuję mikrokontrolera, do którego będę mógł podpiąć 12 przycisków oraz ekran LCD 320x240. Powinien mieć też 512kb miejsca na program (ewentualnie 256kb).

    Przeczytaj posty mój i atom1477 które są na poprzedniej stronie i wybierz.
  • #527
    finch
    Poziom 20  
    Korzystając z okazji ja też się poradzę jaki uC najlepiej wybrać.
    Zadaniem procesora ma być sterowanie diodami LED - 4 panele led i 2 diody. Panele muszą być na stałe sterowane przy pomocy PWM`a ponieważ nie mogą się świecić pełną mocą cały czas, rozjaśnienie ma następować w określonym momencie i być płynne. Dodatkowo procesor musi badać stan trzech wejść cyfrowych i stale monitorować poziom napięcia z czujnika natężenia światła. Problemu by nie było gdyby sekwencje zapalania i gaszenia mogły być zgrane w czasie, w tym projekcie każde zdarzenie może mieć miejsce w dowolnym momencie. Dlatego właśnie myślałem że najlepszym rozwiązaniem byłyby cztery sprzętowe PWM`y do sterowania panelami LED, natomiast sam procesor mógłby się zająć analizą zdarzeń na wejściach cyfrowych i przetworniku A/D.
    Poszukałem na stronie ATMEL`a i znalazłem procesor ATmega 48. W dokumentacji na pierwszej stronie jest napisane: "Six PWM Channels", ale nic w tekście dalej nie znalazłem, więc nie wiem jak te 6 kanałów jest uzyskiwane.
    Program zostanie w całości napisany w asemblerze ponieważ dopiero co się ucz programowania.
    Jeżeli coś zamotałem to proszę pytać, postaram się "rozjaśnić" temat. Dziękuję z góry za porady i podpowiedzi.

    Pozdrawiam,
    finch
  • #529
    finch
    Poziom 20  
    Dzięki za tak szybką odpowiedź.
    Operacje nie są skomplikowane, napisanie jednego PWM` nie jest problemem ale sądzę że stworzenie 4 programowych do tego jeszcze monitorowanie wejść i porównywanie wartości z A/D może zabić procka - zwyczajnie zacznie gubić zdarzenia. Patrzyłem na procki ATtiny 261/461 i powiem Ci że coś na ten kształt by mnie interesowało, 3 kanały PWM - tylko nie wiem jeszcze czy nie są zależne od siebie w jakiś sposób. Najlepiej jakby można było manipulować 3 kanałami niezależnie(np. 1 kanał 10%, 2 - 50%, 3-95%)
  • #531
    miki964
    Poziom 10  
    Dalmierz posiada trzy różne wyjścia i jednym z nich jest szeregowe wyjście cyfrowe (specyfikację sensora posiadam w języku angielskim, więc terminy mogą nie zgadzać się z polskimi...). Nic nie napisali o protokole komunikacji, a przynajmniej nic na ten temat nie znalazłem. Co do silnika, jak i całego układu, jestem świadom potrzeby obecności źródła zasilania :).

    Dziękuję za pomoc i czekam na kolejne rady.
  • #532
    excray
    Poziom 40  
    Kolega Ci już napisał wszystko w tym temacie. Obczaj komunikację. Prawie na pewno jest jakiś RS. Do sterowania silniczkiem wystarczy jeden tranzystor dodatkowo. A reszta to już praktycznie oprogramowanie.
  • Pomocny post
    #535
    dondu
    Moderator Mikrokontrolery Projektowanie
    Piszesz o dalmierzu laserowym a podajesz specyfikację sonara ultradźwiękowego - czy to nie pomyłka?

    Przeczytaj to (gotowe rozwiązanie):
    http://www.servomagazine.com/media-files/898/Building_a_Sonar_System.pdf

    i znalazłem jeszcze to:
    http://www.servomagazine.com/media-files/898/maxbotix_driver.c

    ale nie zagłębiałem się w treść.
  • #536
    miki964
    Poziom 10  
    Dziękuję bardzo!

    Stwierdziłem, że dalmierz dźwiękowy będzie lepszy (większy zakres działania). Zastanawiam się tylko czy istnieje możliwość zaimplementowania w ten sonar system silniczka wibracyjnego. Sterowniki może napisać mój przyjaciel, nie programował jeszcze nigdy mikrokontrolerów, ale zna kilka języków, w tym C i C++.
  • #538
    miki964
    Poziom 10  
    Chciałbym, żeby silniczek wibrował z częstotliwością odpowiednią do odległości od przeszkoda wykrytej przez sonar. Częstotliwość powinna być odwrotnie proporcjonalna (chyba...).
  • #539
    dondu
    Moderator Mikrokontrolery Projektowanie
    Jeżeli tylko tyle i Twój kolega zna C to dacie radę wykorzystać rozwiązanie przedstawione:
    http://www.servomagazine.com/media-files/898/Building_a_Sonar_System.pdf

    Użyto tam mikrokontrolera PIC18F2620 (nie znam go), tu jest datasheet:
    http://sklep.avt.pl/photo/_pdf/PIC18F2620I_SP.pdf?sess_id=2e9f3b00441e8ef345ea8d039bcc763f

    Zawiera on tzw. PWM który wykorzystacie do sterowania prędkością silnika.

    Można zastosować jeszcze tańsze układy ale ja bym na Waszym miejscu skorzystał z prawie gotowego rozwiązania przedstawionego w PDF-ie powyżej. 10-20 zł taniej zwróci się w postaci mniejszych problemów przy pisaniu programu, który w ≈80% (waszego zadania) jest tam podany.
  • #540
    hexer
    Poziom 2  
    Witam,

    Proszę o pomoc w wyborze rodziny mikrokontrolerów ARM spełniającej moje potrzeby. Z góry dziękuję za pomoc.

    Do tej pory programowałem mikrokontrolery Atmel AVR ATmega8/16/32. Mam doświadczenie w programowaniu AVR32 (60MHz).
    Do mikrokontrolera podłączam wyświetlacze LCD znakowe (będę chciał także niewielkie monochromatyczne graficzne). Steruję różnymi urządzeniami (np. kluczuję tranzystorami bądź tyrystorami w falownikach z relatywnie dużą częstotliwością). Korzystam z PWM, UART, przetworników A/C, timerów, przerwań sprzętowych wyzwalanych sygnałami zewnętrznymi, przerwań programowych wyzwalanych tikami zegarów. Podłączam przyciski i przełączniki. Zapisuję wprowadzone przez użytkownika ustawienia urządzenia w nieulotnej pamięci EEPROM.

    Chciałbym, aby wybrana rodzina ARM umożliwiała mi to wszystko co powyżej, a ponadto oferowała większą moc oraz spełniła jakieś moje potrzeby w przyszłości (może USB, może kiedyś Ethernet, może kolorowy wyświetlacz).

    Moje potrzeby:
    - taktowanie od 60MHz do kilkuset MHz (200-300MHz byłoby OK; ew. łatwość migracji od wolniejszych do tych szybszych, w obrębie produktów danego producenta; do jednego projektu może mi starczy 60MHz, a do innego chciałbym 200MHz -- chciałbym wtedy po prostu kupić szybszy procek, ale o tym samym sposobie działania)
    - rozwojowa platforma (aby po roku inwestycji w jedną platformę nie okazało się, że świat poszedł w zupełnie innym kierunku :)
    - możliwość pracy w środowisku przemysłowym (zakłócenia falowników itp.)
    - będę raczej programował "goły" uC (bez systemu operacyjnego)
    - wszystko co możliwe w jednym układzie, tak jak to było w AVR (tylko kwarc i jedziemy; bez konieczności podłączania zewnętrznych pamięci; kilkanaście/kilkadziesiąt kilobajtów mi starczy)
    - pamięć nieulotna na zmienne (coś jak EEPROM znany z AVR) kilka kilobajtów
    - ważne: dostępność najlepiej w Polsce minimodułów (płytka z uC, kwarcem, kondensatorami, rezystorami), abym nie musiał lutować SMD (chodzi mi o tego rodzaju płytki: http://www.kamami.pl/index.php?ukey=product&productID=26118 http://www.kamami.pl/index.php?ukey=product&productID=20934)
    - dostępność zestawów uruchomieniowych
    - dostępność tutoriali, przykładowych programów, dokumentacji
    - UART, być może CAN, kilka PWM, z 8 przetworników A/C, ze 3 zegary, co najmniej 40 linii I/O, SPI, przetwornik C/A byłby super, kontroler przerwań, na plus byłyby operacje zmiennoprzecinkowe
    - do AVR używałem WinAVR; do AVR32 używałem AVR32 Studio; chciałbym aby programowanie ARM w miarę możliwości odbywało się przy wykorzystaniu podobnych narzędzi...

    Reasumując, chciałbym taki AVR, ale o wiele szybszy :)

    Mam nadzieję, że ktoś pomoże mi dokonać wyboru, bo jak na razie siedzę i głowa mnie boli od mnogości możliwości.