Początek z mikrokontrolerem


Chciałbym zacząć wykorzystywanie mikrokontrolerów ale nie wiem za bardzo jak zacząć. Jak wygląda sprawa z programowaniem takich układów itp. Wiem że dla was to śmieszne ale pomóżcie zacząć.




Portret użytkownika mirley

Re: Programowanie

Poszukaj w internecie "Mikroprocesorowa Ośla łączka" to kurs programowania w bascomie, który zamieszczony był w Elektronice dla wszystkich. Mają nawet książkę do tego.

Jak zaprogramować procesor gotowym programem, znajdziesz u mnie w artykułach.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mateo238

Powiedzmy że chcemy zbudować

Powiedzmy że chcemy zbudować jakiś konkretny uklad. Mamy mikrokontroler, zewnetrzny kwarc no i np. wyswietlacz lcd. Jak teraz dobrać do tego te wszystkie kondensatory/oporniki itp??

Portret użytkownika mirley

Re: Elementy wokół uC

Do mikrokontrolera dodajesz kwarc i dwa kondensatory 22pF, zgodnie z tym co piszą w karcie katalogowej. Na zasilanie dajesz kondensatorek 100nF (ceramiczny lub MKT) do filtracji, blisko nóżek uC. Wyświetlacz LCD łączysz bezpośrednio z procesorem do jego uniwersalnych wyprowadzeń, nie ma tam żadnych rezystorów po drodze. Sam wyświetlacz potrzebuje potencjometru montażowego 10k do regulacji kontrastu ale o tem tez jest mowa w jego karcie katalogowej. Jeśli jest z podświetlaniem to w szereg z wyjściem struktur podświetlających dajesz rezystor powiedzmy 47-100R do ograniczenia prądu.

Jeśli masz jakieś diody to do każdej przy zasilaniu 5V w szeregu ma być rezystor 330-470R, Jeśli sterujesz tranzystorami bipolarnymi to na bazę szeregowy rezystor 3,3k-4,7k jest odpowiedni i nie ma co tutaj liczyć.

Liczenie jest potrzebne jeśli zaczniesz stosowac wzmacniacze operacyjne i wykorzystywać przetworniki analogowo-cyfrowe, bo tam rezystory błędu ustalać wzmocnienie wzmacniacza.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika drowning_man

odp

Osobiście polecam książkę Marcina Wiązania:

Książka ogólnie jest o BASCOMIE i programowaniu ale jest w niej mnóstwo najróżniejszych schematów (sterowniki silników, zegarki, termometry i wiele wiele innych), jestem z niej bardzo zadowolony.

Jest też druga książka tego autora:

Są w niej już same przykłady, ale niestety jeszcze nie miałem okazji jej przejżeć.

Portret użytkownika mateo238

A kondensatory do kwarcu to

A kondensatory do kwarcu to maja byc ceramiczne?? Skad wziac informacje np jakiego typu kondensatory stosowac??

Portret użytkownika mateo238

Czym się różni mikrokontroler

Czym się różni mikrokontroler atmega16-16au od atmega16-16pu bo różnica w cenie jest dosc spora (sprawdzilem w ofercie jednego ze sklepow internetowych)????

Portret użytkownika rafliczek22

obudowa

obudowa

Portret użytkownika mateo238

a z tymi kondensatorami to

a z tymi kondensatorami to jak ma byc?

Portret użytkownika rafliczek22

au to smd a pu to normalny

au to smd a pu to normalny dip40

Portret użytkownika mirley

Re: Kondensatory

Do kwarcu kondensatory mają być ceramiczne, inne o takiej pojemności ciężko będzie ci kupić. Do odsprzęgania zasilania pojemności 100nF mogą być ceramiczne lub MKT. DO współpracy ze wzmacniaczami operacyjnymi (np jak wykorzystujesz ADC i musisz napięcie pomnozyć lub wyfiltrować) ja stosuję MKT, w ostateczności ceramiczne. W zasilaczach i przy stabilizatorach są elektrolityczne o pojemnościach większych o rząd wielkości.

Ogólnie poprostu w pewnych przypadkach zwykło się stosowac okreslony rodzaj kondensatora.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Mógłby mi ktoś wytłumaczyć po

Mógłby mi ktoś wytłumaczyć po co jest układ ULN...np. w projekcie z ambilghtem (i jak nalezy go podlaczyc) ??

Portret użytkownika drowning_man

odp

Szykanie nie boli, a google prawdę Ci powie:-)

http://www.mikrocontroller.net/download/uln2803.pdf

Układ to po prostu 9 tranzystorów w układzie darlingtona (czyli w sumie 18 pojedynczych tranzystorów), czyli np zamiast montować 18 tranzystorów na płytce możesz wstawić jeden układ ULN2803 czyli spora oszczędnośc miejsca:-). W projekcie MIRLIGHT'a jest on wykorzystywany po prostu do załaczania odpowiednich diód. Jak podłączyć...hmm...na schemacie ideowym MIRLIGHT'a jest wszystko ładnie opisane. W nocie katalogowej masz opis wyprowadzeń tego scalaka.

Portret użytkownika gosc

jesli mam taki programator

jesli mam taki programator http://allegro.pl/usb-isp-programator-avr-atmel-usbasp-tani-i1304477200.html

i nie chce aby programowany uklad byl zasilany z programatora to czy musze podlaczac piny vcc i gnd z programatora gdzies??

Portret użytkownika drowning_man

odp

Tak, vcc do zasilania układu, a gnd do masy układu, który chcesz zaprogramowa. Pamiętaj tylko aby oryginalne zasilanie układu wtedy odłączyc, czyli chodzi o to aby układ podczas programowania był zasilany TYLKO z USB.

Portret użytkownika gosc

A pozniej moge zobie

A pozniej moge zobie przelaczyc na zasilanie oddzielne (np baterie)??

Portret użytkownika mirley

Re: Programowanie

Potem możesz zasilać układ z dowolnego źródła spełniającego specyfikację.... na czas programowania dobrze jest podłączyć to do uSB. Jeśli jet to kłopotliwe to można olać pin zasilania z programatora i podłączyc te zasilanie z baterii (5V +/- 10%). Masa musi być oczywiście zwarta

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mateo238

jak do takiego schematu

jak do takiego schematu podlaczyc kondensatory do filtrowania napiecia zasilania?? Mogłby ktos dorysowac??

Zasilanie bedzie albo z baterii (pad1 i pad2) albo bezposrednio z zasilacza komputerowego (pad3 i pad4)

Portret użytkownika mirley

Re: Zasilanie

Konensator wstawiasz miedzy GND a VCC, nie matu czego dorysowywać. Kondensator elektrolityczny np 100uF i drugi 100nF blisko nóżek zasilania procka. Układ ULN jest na nic nie potrzebny do tych diod, chyba że w ostatecznej wersji na jednym pinie będzie ich więcej niż jedna. Stosowanie M16 to też gruba przesada chyba że masz jakieś uzasadnienie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mateo238

Więc bez ULN też bedzie

Więc bez ULN też bedzie dobrze jak podłącze bezpośrednio diody do uC? Ale jeżeli zastosuje ULN (nawet jezeli jest to nadmiarowe) to będzie w tym jakis blad ktory spowoduje niepoprawne działanie??

Portret użytkownika mirley

Re: ULN

Nie będzie błędu ale niepotrzebnie zwiększysz sobie płytkę i koszty o jakieś 2zł :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

jakie powinny byc grube

jakie powinny byc grube sciezki na plytce dla schematu powyzej??

Portret użytkownika mirley

Re: Ściezki

Tam gdzie masz diody to może byc 20-30milsów a zasilanie i tam gdzie zbiera się prąd z wszystkich diod to 40-60 milsów. Generalnie staraj się dawać w miarę możliwości grube ścieżki, które nawet po podtrawieniu będą dobre.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Jak do takiego ukłądu dołożyć

Jak do takiego ukłądu dołożyć fototranzystor aby oswietlenie fototranzystora wywolalo przerwanie zewnetrzne?? Prosiłbym o dorysowanie na schemacie.

Pozdrawiam

Portret użytkownika mirley

Re: Foto

Daj fototranzystor np z rezystorem 10k w szeregu między +5V a masę. Jak fototranzystor oświetlisz to zrobi się stan niski a jak będzie ciemny to pojawi się napięcie bliskie 5V. Rezystor dobierz doświadczalnie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mateo238

A mógłbyś to mniej więcej

A mógłbyś to mniej więcej narysowac?

Portret użytkownika mateo238

Czy cos takiego ??? Jak ten

Czy cos takiego ??? Jak ten fototranzystor tam wklecic w ten uklad?

Portret użytkownika mirley

Re: Foto

Tak tylko sygnał musisz pobierać ze srodka między fototranzystorem a rezystorem

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika mateo238

Jak tworzysz schematy w eaglu

Jak tworzysz schematy w eaglu i później z tego płytki to jakie dajesz ustawienia? Bo mi punkty gdzie ma być wiercenie robią się bardzo małe albo w ogóle się zlewają ze ścieżkami . Jak to najlepiej poustawiać??

Portret użytkownika gosc

jeżeli chodzi o to, że

jeżeli chodzi o to, że ścieżka (domyślnie spodnia niebieska)jest w otworze (zielonego) padu. To się tym nie przejmuj. Po wydruku otwory będą. Swoją drogą możesz użyć takiej "wtyczki" która otwory ci pomniejszy, dzięki temu wiertło po trawieniu samo wskoczy na właściwe miejsce, a wszystkie otwory będą w dobrym miejscu. Odnośnie kursów bascoma to od Wiązanii bardziej dotarła do mnie książka "Mikrokontrolery dla początkujących (BTC)" są też kursy w internecie http://www.dioda.com.pl/forum/topics20/kurs-bascom-lekcja2-pierwsze-kroki-vt1073.htm tutaj są tylko podstawy (to nic, że inny programator) ale do zapalania i gaszenia ledów wystarczy - na początek.

Portret użytkownika gosc

Choć książka Marcina Wiązania

Choć książka Marcina Wiązania nowsza i opisuje nowsze mikrokontrolery.

Portret użytkownika mateo238

Zrobiłem układ według

Zrobiłem układ według powyższego schematu. Napisałem prosty program:

#include
#include
#include

ISR( INT0_vect )
{
PORTA = 0b11111111;
_delay_ms(300);
}

int main()
{
DDRA = 0xFF;
MCUCR |= 1 << ISC00;
GICR |= 1 << INT0;
sei();

while (1)
{
PORTA = 0b10000001;
_delay_ms(3000);
}
return 0;
}

Niestety nie działa :( Tzn. pomimo oświetlania fototranzystora diodą IR nie ma efektu wykonania przerwania. Tak jakby nie działały przerwania. Czy jest błąd w kodzie czy w układzie (diody normalnie świeca itp jak je zaprogramuje)?? Pomóżcie

Portret użytkownika rafliczek22

Za tymi includami trzeba dac

Za tymi includami trzeba dac avr/io.h i util/delay.h

Wywal te delaye, while1 zostaw wolna, albo ew. delay 100, a do wektora przerwań, daj PORTA^=(1<<0)

Wtedy co przerwanie zmieniany będzie stan końcówki porta.0

Portret użytkownika mateo238

Pomimo modyfikacji dalej

Pomimo modyfikacji dalej niedziała. Czy do fototranzystora musi być jakaś specjalna dioda IR?? Jak możnaby znaleźć przyczynę błędu?? Prowizorycznym testem (podłączenie diody) zauważyłem, ze napięcie na rezystorze przy fototranzystorze dość mocno spada a na samej nodze fototranzystora dioda nie świeci się w ogóle (tzn. plus diody podłączony do linii zasilania natomiast minusem jadąc po ścieżce to do rezystora świeci mocna a już za rezystorem dużo słabiej a przy samym fototranzystorze nie świeci w ogóle)?? O co chodzi??

#include <util/delay.h>
#include <avr/io.h>
#include <avr/interrupt.h>
 
ISR( INT0_vect )
{
     PORTA^=(1<<0);
}
 
int main()
{
	DDRA = 0xFF;
        PORTA = 0b11111111;
	MCUCR |= 1 << ISC00;
	GICR |= 1 << INT0;
	sei(); 
 
	while ( 1 )
	{
		_delay_ms(100);
	}
return 0;
}