Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.

czwartek, 14 kwietnia 2011

Jaki mikrokontroler wybrać do projektu ?


Autor: Dondu

To jeden z największych problemów początkujących elektroników.

Mottem przewodnim powinno być:

Pawel2420
Projektując jakieś urządzenie powinno się najpierw określić założenia. Następnie zapoznać się z wadami i zaletami różnych rozwiązań jakie można zastosować. Wybrać jedno z nich.

Dopiero na samym końcu określić jakie elementy będą potrzebne.


Zacznijmy od nauki słowa KOMPROMIS

W brew pozorom to baaardzo istotne słowo dla elektroników. Dlaczego?
  • ponieważ na rynku jest wiele tysięcy różnych mikrokontrolerów, a każdy ma inne możliwości,
  • bo jest wielu producentów i trzeba się zapoznać z nową specyfiką budowy, działania i programowania wielu układów,
  • bo każdy Twój projekt można zrobić na tysiące sposobów używając różnych mikrokontrolerów,
  • bo tylko Ty czujesz, co dla Ciebie jest ważniejsze na przykład mniejszy koszt procesora czy mniejszy czas pisania programu,
  • bo czasami warto zrezygnować np. z prędkości na rzecz długiej pracy na baterii, itp.



NIE MA JEDYNEJ SŁUSZNEJ DROGI !

Jak już wspomniałem w projektowaniu układów elektronicznych wszystko można wykonać, na wiele sposobów. Na przykład realizując mruganie diody LED możesz zrobić tak:
  • programowo zmieniając w pętli stan wyjścia mikrokontrolera,
  • sprzętowo wykorzystując wewnętrzny timer i wyjście procesora,
  • zbudować generator na za pomocą bramek logicznych,  tranzystorów czy specjalnych układów,
  • wreszcie możesz po prostu zakupić mrugającą diodę LED. 
  • i pewnie jeszcze wiele innych metod.
Dlatego jeżeli ktoś mówi Ci, że Twój projekt musi być zrobiony na innym procesorze, to zastanów się nad tym, ale jeżeli jesteś przekonany, że masz rację, to rób po swojemu. 


Zestawienie kryteriów technicznych o największym znaczeniu 
dla producentów urządzeń wykorzystujących mikrokontrolery

źródło: elektronikab2b.pl

Poza powyższymi kryteriami firma, która ma już opracowane własne rozwiązania, biblioteki, standardy, licencje, wyszkolonych pracowników, itd. niechętnie przesiądzie się na inną rodzinę, z prozaicznej przyczyny - koszty mogą być zbyt wysokie. Dlatego do dzisiaj tak popularna jest rodzina pochodnych Intel 8051 (w coraz to nowych szybszych wersjach) - kompromis, to dobre słowo :-)


Na forum często powtarzam, że dla hobbystów, czy początkujących, wybór mikrokontrolera to także:

Dondu
KOMPROMIS - tak, to zawsze jest kompromis:
- parametrów urządzenia docelowego,
- ceny mikrokontrolera,
- jego dostępności,
- dostępności wiedzy jego dotyczącej (przykładów, ilości tematów na forum, itp.),
- poziomu znajomości angielskiego,
- czasu na poznanie nowej rodziny,
- technologi montażu,
- poziomu wiedzy z zakresu elektroniki,
- przyzwyczajeń,
- wymogów odbiorcy,
- posiadanych licencji na narzędzia,
- posiadanego zaplecza technicznego danej rodziny mikrokontrolerów,
- ...
- i pewnie jeszcze wielu innych czynników ...


Jak wybrać procesor ?
  • najpierw napisz na kartce w osobnych grupach co procesor ma robić
  • zastanów się, co z tych zadań można wykonać peryferiami procesora (timerami, przetwornikami ADC, itp),
  • zastanów się jakie masz wymogi dot. pamięci (ilość, czy będzie potrzebny EEPROM, itp)
  • z czego będziesz zasilał procesor i jakim napięciem (bardzo ważne!)
Dopiero na tej podstawie można szukać procesora.



Nie strzelaj do muchy z armaty !

Wsród początkujących zaobserwować można tendencję wybierania na początek najlepszych, najszybszych, naj.... koszmar! Te naj... mają także drugą stronę:
  • najdroższe,
  • największe straty, gdy je uszkodzisz, o co łatwo nowicjuszowi,
  • najbardziej skomplikowane peryferia wewnętrzne,
  • najtrudniejsze do nauki,
  • najwięcej pinów, co skutkuje dużymi obudowami albo skomplikowaną technologią lutowania.
  • itd.
Dlatego osobiście radzę:  Zaczynaj od mniejszych stopniowo przesiadając się na większe.




Wyszukiwarki procesorów

Gdy już wiesz czego oczekujesz od procesora możesz go wybrać wykorzystując narzędzia takie jak te:




BRAKUJE MI MOCY OBLICZENIOWEJ !


Początkujący często dochodzą do momentu, w którym uważają, że mają za wolny procesor.
I najczęściej są w błędzie! Po analizie projektu okazuje się, że prawie wszystko realizowane jest bez użycia układów wewnętrznych (tzw. peryferii), które mogą wykonywać za procesor wiele pracy odciążając go i zwalniając moc obliczeniową albo program napisany jest nieoptymalnie.

Zanim podejmiesz decyzję, że musisz zastosować "większy" (z reguły droższy) procesor:
  • zastanów się czy wykorzystujesz wszystkie układy procesora, które mógłbyś wykorzystać,
  • przemyśl projekt jeszcze raz, bo często okazuje się, że można to zrobić łatwiej,
  • zadaj pytania na forum Elektroda.pl opisując dokładnie jaki masz problem,
  • i dopiero gdy już nie ma innej możliwości, zmieniaj mikrokontroler na większy.

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Schematy i płytki - czym projektować?


Autor: Dondu

Każdy elektronik potrzebuje narzędzi do projektowania schematów i płytek drukowanych (PCB). Oto kilka najlepszych z darmowych.

Eagle
Drugim popularnym i darmowym (z ograniczeniami) jest Eagle:
Ten polecam jako najlepszy darmowy z bogatymi bibliotekami.

Biblioteki elementów do Eagle można jeszcze znaleźć na stronie Farnell.com. Wystarczy szukać danego elementu i sprawdzić czy ma niebieską małą ikonkę układu scalonego:


Pod nią kryje się biblioteka z danym elementem.


KiCad
Bardzo dobrym i DARMOWYM jest KiCad. To zestaw programów do projektowania:
  • schematów
  • płytek drukowanych (PCB)
  • bibliotek elementów 
  • rzutów 3D
  • i pewnie jeszcze czegoś o czym nie wiem :-)

Tutaj znajdziesz wszystko, co trzeba:


Design Spark PCB
Trzecim darmowym jest Design Spark PCB





Przeczytaj także:
Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Darmowy oscyloskop i analizator logiczny


Autor: Dondu

Port LPT

Port LPT to potężne narzędzie dla początkującego wyznawcy mikrokontrolerów. Do czego może Ci służyć?

  • programator mikrokontrolerów (pisałem o nim tutaj),
  • analizator stanów logicznych,
  • połączenie komputera i mikrokontrolera,
  • a nawet jako sterownik np. diod, czy silnika krokowego

LPT = Analizator stanów logicznych

Czasami, aby sprawdzić czy Twój program pracuje prawidłowo potrzeba czegoś więcej niż tylko mrugającej diody LED. Tym czymś jest Analizator Stanów Logicznych. Możesz go kupić a możesz także wykorzystać darmowe programy z sieci np. The Fabulous Logic Analyser (TFLA-01)


Darmowy prosty, ale wystarczający do wielu zastosowań analizator.
Dokładny opis podłączenia znajdziesz na forum tutaj: Analizator stanów logicznych na LPT







www: Scanalogic
Fajną alternatywą jest wykonanie we własnym zakresie tego analizatora, który łączy się z komputerem za pomocą RS-232. Na stronie znajdziesz schemat, oprogramowanie dla mikrokontrolera oraz program na komputer.




Karta dźwiękowa = dwukanałowy oscyloskop

Praktycznie każda karta dźwiękowa ma w sobie przetwornik analogowo-cyfrowy, służący do próbkowania nagrywanego dźwięku. Co może dla Ciebie zrobić? Dwukanałowy oscyloskop!

Wystarczy podłączyć się pod wejście mikrofonu osobno dla kanału lewego i prawego, i już.

Uwaga!!! Przekroczenie dopuszczalnych napięć może uszkodzić kartę dźwiękową. 
Dlatego dobrze jest zrobić sondę na przykład taką Kit AVT2767 lub co najmniej taką.


pobierz: Winscope 2.51
autor: Konstantin Zeldovic






www: Soundcard Oscilloscope
autor: Christian Zeitnitz







www: Zelscope - Ocilloscope and spectrum analyzer
autor: Konstantin Zeldovic








Wirtualny Oscyloskop

Możesz także pobawić się wirtualnym oscyloskopem HAMEG-203
www: http://www.virtual-oscilloscope.com



Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Fora dyskusyjne są bardzo pomocne


Autor: Dondu

Gdy masz problem z którym nie możesz sobie poradzić, spokojnie wykorzystuj fora dyskusyjne.

Jeżeli chcesz szybkiej i skutecznej pomocy:
  • pokaż schemat (w formie graficznej, a nie pliku schematu - nie każdy ma program w którym projektujesz)
  • załącz programopisz dokładnie jak powinien działać, a jakie są problemy 
  • podaj ustawienie bitów konfiguracyjnych tzw. fusebit-ów
  • często zdjęcia niedziałających projektów także dużo pomagają w wykryciu przyczyny problemów (załączaj tylko ostre, dobrze oświetlone i z kilku ujęć)
  • wykaż się swoim podejściem do sprawy  np. podając linki, gdzie coś na dany temat przeczytałeś, na czym się wzorowałeś, do czego doszedłeś, itp.

Jeżeli tak nie postąpisz, to temat zostanie bez odpowiedzi jak ten od 2010r. : ATMEGA 16 problem z przechwytywaniem sterowanym przez komparator







Kliknij by zobaczyć
Wklejanie kodu programu

Jeżeli wklejasz kod, to korzystaj z różnych znaczników w edytorze postów na forum, by wklejony kod łatwo było analizować.


zobacz animację -->





Słowotok - zmniejsza szanse

Nie pisz tekstu "ciurkiem", gdyż czytanie tego zniechęca potencjalnych pomagających.

Podziel problem na akapity i ponumeruj, wypunktuj algorytmy. Generalnie przygotuj tekst tak, aby był czytelny.





Schemat - często jest niezbędny

Często bez schematu nie otrzymasz odpowiedzi, ponieważ bez niego niemożliwe jest rozwiązanie Twojego problemu. Ale jeżeli będziesz się upierał, że schemat jest niepotrzebny, to z dużym prawdopodobieństwem Twój temat wyląduje w koszu, tak jak temat kol. Aldoro Draxy:

Aldoro Draxy
Schemat nie jest potrzebny!

Aby otrzymać plik graficzny ze schematem nie używaj klawisza PtrScn, tylko odpowiednie funkcje eksportu do pliku graficznego. Na przykład w programie Eagle robi się to tak: Eksport do pliku graficznego





Zdjęcia czas oszczędzają

Bardzo często w szybkim znalezieniu przyczyny pomaga wklejenie zdjęć swojego układu. Przekonało się o tym już wielu początkujących, a wśród nich bill33, który stracił 16 godzin z prostej przyczyny:

bill33
... normalnie gdyby to nie bylo publiczne forum to bym miesem rzucał juz .... Jaki inteligent oprocz mnie podpina nozke GND do Vcc

Wklejając zdjęcia:
  • zadbaj, by Twój układ był dobrze oświetlony, a cienie nie przysłaniały ważnych elementów, czy połączeń,
  • zdjęcia ostre i dużej rozdzielczości,
  • wklej kilka zdjęć z różnych stron,
  • wykorzystuj także możliwość przybliżenia ważnych fragmentów Twojego układu.
Im łatwiejsze do analizy są zdjęcia, tym szybciej wprawne oko podpowiadającego znajdzie przyczynę problemów.

bill33
... i musze przyznac że masz niezle oko ...

Musiałem się nieźle wysilać, bo zdjęcia nie były zgodne z powyższymi zasadami. Gdyby były, to już za pierwszym zdjęciem zauważyłbym ten problem :-)





Kliknij by zobaczyć
Tak robią to inni

Gdy będziesz przestrzegał w/w reguł szybko uzyskasz pomoc jak kolega Maxe.

Zobacz wątek na forum Elektroda.pl -->





Jak nie pisać tematów?

Nie warto także być aroganckim, bo zostanie to skomentowane tak:

LordBlick
Pytający wie więcej od odpowiadających - to się nazywa patowa sytuacja.
Cały problem polega na tym, że nam działa, a Tobie - nie ...

i wyrzucone do kosza.





Ale uwaga! Nie otrzyma pomocy ten, kto:
  • chce gotowe informacje (linki, schematy, programy)
  • nie wykaże się tym, że sam szukał informacji 
  • nie przykłada się do dokładnego opisania problemu
  • używa wulgaryzmów - tych nie cierpimy i kończą z zablokowanym kontem, tak jak: bartekboss17


Są też tacy którzy całe Google przeglądnęli :-)

Tomy89
Witam, przeglądałem Wasze forum oraz inne, całe google.pl i nie mogłem znaleźć dokładnej odpowiedzi na moje pytanie...





Fora, gdzie można szukać pomocy:

Znajdziesz tam fora dot mikrokontrolerów firm ATMEL, MICROCHIP i nie tylko. To największe polskie forum na ten temat.



strona: www.avrfreaks.net
To największe angielskojęzyczne forum mikrokontrolerów ATMEL-a.






strona: www.microchip.com/forums
To oficjalne angielskojęzyczne forum Microchip-a
Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

BUUUUM !!! - czyli uważaj na błędy


Autor: Dondu

Początkujący często, zaawansowani rzadko, a tylko mijający się z prawdą nigdy, wysadzają swoje układy w powietrze. I jest to normalne i nie ma czego się wstydzić. Każdy popełnia błędy lub ma braki w wiedzy, które kończą się tak:





Gorzej gdy usilnie twierdzą, że na przykład przekaźnik 5V można bezkarnie zasilać z 19V:

blurecon Sterowanie przekaźnikami Atmeg8
Co do przekaźników to stosuje 5V ... No i od samego początku dziwne rzeczy ... pomierzyłem napięcia ... zasilające ... przekaźnikowe za stabilizatorem 7812 - ok 19V! Nie miałem i nie mam pojęcia czemu takie, no ale powiedzmy, że przekaźniki to nie apteka, mają dużą tolerancję napięciową.

Na początku wszystko .. działało naprawdę idealnie ... Bawiłem się tak z pół godziy i... Nagle bez szczególnych znaków i efektów wizualnych skończyło się dobre - cały port D i C jest na stanie niskim i niczym tego nie mogę zmienić.




Co zrobić, aby tego unikać?


Przede wszystkim myśleć i nie spieszyć się

Łatwo powiedzieć :-)
Więc może tak:
  • pracuj na niskich napięciach do 12V
  • duża część mikrokontrolerów może pracować na napięciu mniejszym niż 5V - wykorzystuj tę możliwość, a straty będą mniejsze
  • stosuj bezpieczniki
  • przed włączeniem zasilania zawsze sprawdzaj miernikiem, czy nie ma zwarcia na zasilaniu
  • niektóre elementy mają określoną biegunowość - sprawdź dwa razy
  • bazy tranzystorów podłączaj przez rezystory
  • diody LED podłączaj przez rezystor 330 - 470 Ω
  • jeśli nie jesteś pewien zapytaj na forum Elektroda.pl
  • a hardcorowcom polecam odpowiedni strój 

A dla ciekawych bebechy mikrokontrolera wyglądają tak:

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Ciekawe projekty: Zbiory różne


Autor: Dondu

W sieci można spotkać wiele ciekawych projektów.
Poniżej wybrane zestawienia.


Uwaga!
Nie wszystkie projekty są zbudowane w oparciu o "dobre praktyki". Jeżeli będziesz wykorzystywał któryś z powyższych projektów uzupełnij go o prawidłowe:

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Ciekawe projekty: Klawiatura PC


Autor: Dondu

Mikrokontrolery podłączone do komputera PC symulujące klawiaturę, umożliwiają tworzenie bardzo ciekawych projektów w oparciu o komputer. Pierwszym naturalnym zastosowaniem są wszelkiej maści joysticki, itp. Ale możliwości są nieograniczone :-)

Kilka przykładów:

Uwaga!
Nie wszystkie projekty są zbudowane w oparciu o "dobre praktyki". Jeżeli będziesz wykorzystywał któryś z powyższych projektów uzupełnij go o prawidłowe:

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Ciekawe projekty - Wideo VGA / TV


Autor: Dondu

Mikrokontroler może generować sygnał wideo. 

Taki mały, a takie możliwości !
Mikrokontrolery mają różne peryferia (układy wewnętrzne) za pomocą których można wygenerować sygnał wideo podłączany do monitora lub telewizora. Oto przykłady:


Uwaga!
Nie wszystkie projekty są zbudowane w oparciu o "dobre praktyki". Jeżeli będziesz wykorzystywał któryś z powyższych projektów uzupełnij go o prawidłowe:


Co można osiągnąć za pomocą niewielkiego ATmega88? Zobaczie sami:



Strona projektu: http://www.linusakesson.net/scene/craft/
Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Szczypta teorii - Pomiar temperatury


Autor: Dondu

Na dole widok od nóżek
Temperatura - jak ją mierzyć?
Wystarczy, że kupisz popularny tani czujnik temperatury DS18B20.

Cena w dniu 14.04.2011 około 5.00 zł

Pomiar temperatury to jeden z ciekawych i niezbyt skomplikowanych projektów dających wiele satysfakcji.

Częstym problemem jest konwersja odczytanej temperatury na postać możliwą do wyświetlenia. Rozwiązanie tego problemu znajdziesz tutaj: Temperatura - konwersja na wyświetlacz



Tutaj znajdziesz więcej teorii:

Ciekawe projekty: 




Inne możliwości

Jeżeli masz w swoim mikrokontrolerze dostępny przetwornik ADC i wolny jakiś kanał pomiarowy, to możesz skorzystać z termistorów, które są znacznie tańsze (koszt około 1 zł - cena 2011r.).

Przykładem takiego układu jest rodzina MCP9700, MCP9701. To termistory, które za niską cenę oferują wystarczające parametry dla wielu zastosowań.

Dokumentacja: MSP970x datasheet

Ciekawe projekty:

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Ciekawe projekty - Silnik DC


Autor: Dondu

Szczyptę teorii na temat sterowania silnikami DC znajdziesz tutaj: Szczypta teorii - Silnik DC

W sieci jest wiele dostępnych projektów z wykorzystaniem silników DC. W szczególności można ich szukać na stronach poświęconych robotom:



Uwaga!
Nie wszystkie projekty są zbudowane w oparciu o "dobre praktyki". Jeżeli będziesz wykorzystywał któryś z powyższych projektów uzupełnij go o prawidłowe:

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.