Jump to content

Mikrokontrolery - od czego zacząć naukę?


Guest Anonymous

Recommended Posts

Guest Anonymous

Czołem!

 

Jako, że w sumie od zawsze interesowałem się układami elektronicznymi, mikrokontrolerami itp, to chciałbym w końcu na poważnie zacząć się uczyć samodzielnie budować i programować układy elektroniczne, spełniające z początku trywialne, a później trochę bardziej rozbudowane funkcje.

 

Ponieważ na forum są specjaliści z wielu dziedzin, na pewno znajdą się i tacy, którzy mają niemałe pojęcie o wspomnianym przeze mnie temacie :) Chciałbym jakoś rozpocząć swoją przygodę z tym tematem, dlatego będę potrzebował kilku porad.

 

Przede wszystkim chciałbym się dowiedzieć, na jakim uC zaczynać zabawy. Zdradzę w tajemnicy, że w czasach liceum i na pierwszym czy drugim roku studiów próbowałem łyknąć temat z układem PIC16f84a - ogólnie układzik ten jest na tyle skromny, że postanowiłem zawiesić naukę na jego podstawie. Nie posiada on w sumie nic poza Watchdogiem i liniami wejścia/wyjścia - żadnego interfejsu I2C, UART, 1-wire (nawet w sumie nie wiem co to są za interfejsy :) ), przetworników ADC brak, nawet tam komparatora nie było, ale ich brak mi doskwierał i demotywował mnie do nauki. Może polecicie mi jakiś mikrokontroler, na którym warto się uczyć zarówno budować układy jak i aplikacje? Fajnie by było, gdyby układ nie był archaiczny jak 8051 :) Nie neguję jego wartości i wkładu w rozwój techniki, ale wolałbym się uczyć na czymś troszkę bardziej aktualnym :)

 

Drugi aspekt, to technologia. Pchać się w układy montowane powierzchniowo SMD czy lepiej pozostać przy starych dobrych przewlekanych klockach? Nigdy w sumie nie lutowałem żadnych elementów SMD, więc nie wiem czym się takie montowanie powinno odbywać (sprzęt, spoiwo)...

 

Ogólnie rzecz biorąc, coś tam wiem, architektura układu mi nie straszna, no chyba że schemat ideowy nie mieści się na jednej stronie A4 rozsądną czcionką :) Z ogólnie pojętej elektroniki też nie jestem kompletnym noobem :) chociaż w skali trójstopniowej noob, middle, master bez słowa komentarza okresliłbym się początkującym!

 

Tak więc, mili moi, poradźcie jak zacząć ;)

 

Nie posiadam oscyloskopu i raczej nie będę posiadał - to tak słowem komentarza.

 

Pozdrawiam

Szymon

Link to comment
Share on other sites

Szczerze polecam Ci na początek ATmega16 z rodziny mikrokontrolerów AVR firmy Atmel. Posiada masę układów peryferyjnych za niską cenę! Poza tym wszystkie AVRy są do siebie podobne i gdy opanujesz chociaż jeden z tych układów nie będzie problemem przejście na inny. Dodatkowym aspektem jest darmowe oprogramowanie AVR Studio i kompilator języka C - WinAVR. Programator do tych układów można też złożyć samemu za niewielkie pieniądze. Przede wszystkim radziłbym zakupić/wypożyczyć jakąś książkę, np. "Mikrokontrolery AVR w praktyce" autorstwa Jarosława Dolińskiego lub podobną z wydawnictwa BTC.

 

Jeśli chodzi o same elementy to do nauki lepiej nadają się elementy przewlekane. Do lutowania SMD niezbędne minimum to stacja lutownicza z regulacją temperatury. O ile montaż tego typu elementów nie jest aż tak skomplikowany to demontaż może sprawić trochę kłopotów przy większych układach, wtedy przydaje się Hot Air.

 

Jeśli nie masz doświadczenia w projektowaniu układów dobrym rozwiązaniem na początek jest zakup zestawu uruchomieniowego, np. ZL3AVR.

 

W kwestii mikrokontrolerów i elektroniki służę pomocą :)

Link to comment
Share on other sites

Guest Anonymous

Hehe, może zabrzmi to jak herezja, ale aktualnie książka Dolińskiego służy mi jako podstawka pod myszkę - jestem przeziębiony i leżę w łóżku, wcześniej czytałem książkę a teraz w ramach pomocy służy mi ona jako podkładka ;) Z książek dysponuję jeszcze

Mikrokontrolery AtTiny w praktyce, Mikrokontrolery dla początkujących, oraz Mikrokontrolery Pic 16f8x w praktyce.

Link to comment
Share on other sites

Jeśli chodzi o samą naukę programowania to mimo wszystko szczerze polecam chociaż spróbować w asemblerze. Pozwoli to na zapoznanie się z architekturą układu i w przyszłości, po przejściu na C, efektywniej pisać programy.

Link to comment
Share on other sites

Witaj,

Jeżeli dopiero zaczynasz zabawę z mikrokontrolerami, to również jak kolega grabo polecam Ci AVRki, najlepiej jakąś ATmegę8, 16 - jest bardzo dużo materiałów w necie odnośnie tych mikrokontrolerów, a to jest bardzo duży plus jeżeli się zaczyna ;)

 

Jeżeli nie chcesz pisać super wydajnych programów, to zacznij pisać w C. Myślę, że jest to kompromis pomiędzy bardziej wymagającym i mniej uniwersalnym asemblerem (choć dającym największe panowanie nad zasobami mikrokontrolera), a zbyt dużo marnującym pamięć bascomem (choć niewątpliwie najłatwiejszym i najprostszym językiem).

 

Oprogramowanie - oczywiście pakiet WinAVR i kompilator AVR-GCC

 

Poniżej linki do moim zdaniem najlepszych kursów na AVR - prowadzą nieomal za rączkę od początku:

 

http://hobby.abxyz.bplaced.net/index.php?pid=4&cid=1

 

http://avr.elektroda.eu/?q=node/8

 

i jeszcze to:

http://wkretak.pl/articles.php?cat_id=1

Link to comment
Share on other sites

Witam, widzę, że nie tylko ja mam zamiar zacząć się "rozwijać" w tym kierunku :)

Niedawno podjąłem decyzję, że nauczyć się programować właśnie uC, zakupiłem ATtiny2313 jako pierwszy, ponieważ pod niego jest "kurs" na którym chcę bazować.

Zakupiłem na allegro najtańszy programator za całe 17zł, który wystarczy do różnego typu ATmeg itp. obecnie czekam na paczkę. Zaprojektowałem jeszcze płytkę/adapter na 20pinów.

Jako język programowania chcę rozpocząć od BASCOMA, ponieważ mam zamiar zacząć coś kombinować z robotyką w niedalekiej przyszłości, a jak czytałem ten język do tego na początek najprostszy, i w zupełności wystarcza.

 

Oczywiście, życzę powodzenia :D

Link to comment
Share on other sites

Żeby pisać aplikacje działające efektywnie trzeba znać architekturę mikrokontrolera, bardzo pomaga w tym asembler. Język C jest prostszy ale bez znajomości działania niektórych mechanizmów mogą występować błędy niemożliwe do wykrycia...

 

"Program nie robi tego co chce programista ale to co programista zaprogramował" :D

Link to comment
Share on other sites

Guest Anonymous

"Nie ma programów działający źle, są tylko programy źle napisane" ;)

 

Poczytałem troszkę i zabieram się za ATmegi16 ;)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.