Forum: Mikrocontroller und Digitale Elektronik AVR-Einsteiger


von Matthias Thumann (Gast)


Lesenswert?

Hallo,

ich will mit den AVR-Controllern einsteigen. Ich habe mir bereits das 
Buch "AVR-RISC Mikrocontroller" von Wolfgang Trampert und das Tutorial 
von der Seite "http://www.avr-asm-tutorial.net"; sowie natürlich das von 
dieser Seite besorgt.
Ich hätte da noch ein paar Fragen:

1. Was für ein Controller ist für den Einstieg am besten geeignet? 
(Reicht da erstmal ein AT90S1200?)

2. Was sollte ich mir außer Programmiergerät für die Controller und 
passender Software noch zulegen?

3. Was nehme ich am besten für die Takterzeugung der Controller?

4. Reicht es den Controller zuerst auf einer Lötpunkt-Raster Platine 
aufzubauen oder sollte man besser gleich zu einer geätzten Platine 
greifen?

Ich bin um alle Tips froh, die mir irgendwie nützlich sein könnten und 
hoffe auf baldige Antwort, da ich die Bauteile bald bestellen will.

MfG
Matthias

von Jonas Diemer (Gast)


Lesenswert?

1. Ich würd nen 2233 nehmen. beim 1200er fehlen einige sachen (z.B. 
lesen/schreiben aus/in dem/n flash, ad-wandler), die zwar in den ersten 
tagen irrelevant sind, aber nach kurzer zeit willst du da vielleicht 
doch was mit machen. zumal ist der 2233 ja nicht viel teurer.

2. ein paar taster, widerstände (2k, 10k, andere), leds, potentiometer 
(zum test des ad-wandlers). wenn du viel geld ausgeben willst, nimm ein 
starterkit (STK300 oder so), besser (weil billiger) ist aber selberbauen 
(auch das programmiergerät :-) ).

3. Am besten (weil beinahe idiotensicher) ist ein oszillator. der wird 
an vcc und gnd angeschlossen und gibt dann auf einem pin nen takt, der 
nur noch auf xtal1 gelegt werden muss. alternativ geht auch ein quarz 
und 2 kondensatoren (ca. 27-33pF, vom quarz abhängig). das ist minimal 
schwerer zu bauen, aber deutlich billiger.

4. Lötpunkt reicht völlig. ich habe den kontroller nur auf einem 
steckbrett (breadboard). das ist ideal zum probieren, weil du einfach 
umstecken kannst. das programmiergerät habe ich auf einer 
streifen-platine  (lochraster geht aber auch).

viel glück!

Jonas

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Hallo,

hast du dir schon das Tutorial angeschaut? Da werden eigentlich alle 
deine Fragen beantwortet.

1. Der 1200 ist ziemlich langweilig. Ich empfehle einen AT90S2333 oder 
4333. Damit kann man ne ganze Menge anfangen!

3. Am besten einen Quarzoszillator, der ist zwar ein bisschen teurer als 
nur ein Quarz, aber du kannst so weniger Fehler machen.

4. Kauf dir bei ELV ein Steckboard. Dann musst du nicht immer erst den 
Lötkolben anwerfen wenn du was aufbauen willst (ich hasse Löten)! 
Kleiner Tipp: die Leitungen immer auf dem kürzesten Weg FLACH über das 
Steckbrett verlegen. Es macht zwar mehr Arbeit andauernd Kabel in neuen 
Längen abzuschneiden, aber wenn du das nicht machst wirst du sehr bald 
einem unentwirrbaren Chaos gegenüberstehen.

MfG
Andreas

von Ingo B. (Gast)


Lesenswert?

Hi,

zu 1)
Kommt darauf an, was Du machen möchtest. Braucht du analoge Eing., viele 
PortPins, Flash,...
Nett ist zum Beispiel der 4433, da er auch analoge Eingänge hat. Ein 
4434/8535 hat zusätzlich etwas mehr Spielraum (in Bezug auf Flash und 
Ram und IOs).

zu 2)
Programmiergerät ist nicht erforderlich (wegen ISP). Da reicht ein 
Adapter oder einfach nur eine direkte Verbindung zum PC.

zu 3)
Ein Quarz und zwei Kerkos.

zu 4)
Da nicht viele Teile erforderlich sind (Reset, Takt und Controller) kann 
man problemlos mit einer Loch-Raster-Platine anfangen.

Schau mal unter http://www.mikrocontroller.com
Dort findest Du ein ISP-Tool (allerdings ohne Adapter) und eine 
Einsteiger-Leiterkarte für den 4434/8535. Damit kann man leicht 
loslegen. Wenn man dann die SW für ein konkretes Projekt fertig hat, 
kann man immer noch eine maßgeschneiderte Platine anfertigen....

Bis dann,
Ingo!

von Matthias Thumann (Gast)


Lesenswert?

Hallo,

erst mal vielen Dank für eure schnelle Antwort!
Ich denke ich werde nicht den AT90S1200 nehmen, sondern gleich zu einem 
besseren Controller greifen.
Sorry, mit "Programmiergerät" meinte ich natürlich den ISP-Adapter ...

Noch was zum Quarz: Im Reichelt-Katalog sind bei den Quarzen jeweils 
verschiedene Kapazitäten angegeben. Sind das die Kondensatoren, mit 
denen der Quarz am besten anschwingt und sollte ich Kondis mit diesen 
Kapazitäten für meine Quarze kaufen?

@Andreas: Klar habe ich mir das Tutorial schon angeschaut! Ist wirlich 
echt super! Ich wollte nur nachfragen, ob noch jemand ein paar nützliche 
Tips für mich hat.

MfG
Matthias

von Thomas_D (Gast)


Lesenswert?

Ich kann auch nur empfehlen nicht den 1200-ter zu nehmen. Nach kurzer 
Einarbeitung wirst Du nämlich wahrscheinlich schnell an die Stelle 
gelangen, wo Du den Arbeitsspeicher brauchst, den der AT90S1200 nicht 
hat. Außerdem lässt es sich einfach viel "befreiter" programmieren, wenn 
man nicht ständig drauf achten muß, ja nicht mehr als 3 Unterprogramme 
zu verschachteln!

von Jonas Diemer (Gast)


Lesenswert?

Ja, die kapazitäten, die bei den quarzen angegeben werden solltest du 
dann in deiner schaltung am quarz benutzen. meistens hast du dabei aber 
recht viel spielraum, aber am besten nimmst du die, die angegeben sind.

von Matthias Thumann (Gast)


Lesenswert?

Hallo,

ich werde mir jetzt dann die ganzen Bauteile bestellen und dann sehe ich 
weiter ...

Nochmals danke für eure Hilfe!

MfG
Matthias

von Fred Ziebell (Gast)


Lesenswert?

Hallo,

Gerade in der Anfangsphase treten an allen Ecken und Enden Probleme auf. 
Mit jedem gelösten Problem treten zehn neue auf und es enstehen ständig 
100 neue Fragen.

Daher empfehle ich nicht an der Basis zu sparen. Ein Starterkit ist 
nicht billig, das ist wahr. Aber es funktioniert sofort. Das 
Aha-Erlebnis ist augenblicklich da. Wer in die Programmierung von 
Controllern einsteigen möchte, sollte sich m.E. nach nicht auch noch 
anfänglich mit der Hardware herumschlagen.

Und noch was: Von Steckbrettern würde ich definitiv (gerade zum Anfang) 
die Finger lassen(Bei dem Gedanken an einen gesteckten Quarz sträuben 
sich mir die Nackenhaare :).

Gruss

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Hallo Fred,

ich finde es nicht sehr sinnvoll, sich zum Anfangen ein Starterkit zu 
kaufen. Die Anwendung von Mikrocontrollern besteht nicht nur aus der 
Programmierung, der Hardwareaufbau ist genau so wichtig. Und darüber 
lernt man null, wenn man sich ein Starterkit kauft.
Angenommen ein Anfänger hat das STK500, hat damit schon ein bisschen 
rumprogrammiert und möchte sich jetzt mal anschauen, wie sowas 
hardwaremäßig funktioniert und ob man Mikrocontroller auch in eigenen 
Schaltungen verwenden kann - er wird sich wahrscheinlich als erstes den 
Schaltplan vom STK500 anschauen und sich mit Grausen abwenden.
Und das wichtigste Argument: der Preis.

Einen Quarz im Steckbrett finde ich auch gewagt, deswegen schlage ich in 
meinem Tutorial die Verwedung eines kompletten Quarzoszillators vor.

MfG
Andreas

von Jonas Diemer (Gast)


Lesenswert?

Hi!

Also, ich finde auch, dass man mit der hardware anfangen sollte. das 
einzige, was am Anfang sinn macht, zu kaufen, ist der ISP adapter, wenn 
man wenig bis garkeine löterfahrung hat. Dann sollte man sich zumindest 
die platine kaufen - ich hab den ISP selbstgebaut und habe tagelang 
fehler gesucht, weil's einfach nicht ging. ich war kurz vorm aufgeben...

quarz auf dem steckbrett? wieso nicht! Bei mir funktioniert das 
einwandfrei!

Jonas

von Axel(ojojo) (Gast)


Lesenswert?

Ich fand das nicht schwer, den ISP selber zu basteln
(und ich bin auch kein geübter löter)

ich hab einfach den Sockel für den 74HC244 in die Mitte von ner 
LochRasterKarte gesteckt, die 2 Kabel und 3 Bauteile 
(Diode,Kondensator,PullUp-Widerstand) aussenherrum, und alles 
festgelötet.

Dann hab ich von unten her die Kabelverbindungen gelötet (da brauchte 
ich dann gar nicht mehr mit Lötzinn jounglieren, weil schon an allen 
Verbindungen welches war) Das allerwichtigste ist dann Nachmessen, 
Nachmessen, Durchchecken, ob auch alle Kontakte und nur!! die benötigten 
vorhanden sind :-)

Wenn mir jetzt noch einer sagen kann, was der 74HC244 eigentlich macht 
wäre ich total zufrieden:-)

jo Axel

von Fred Ziebell (Gast)


Lesenswert?

Hallo Andreas u. Jonas,

versucht es mal aus der Sicht desjenigen zu sehen, der tatsächlich 
Nagelneu einsteigt. Bei Matthias gehe ich davon aus, daß es so ist(wegen 
der Frage nach Platine und so). Ich habe in den letzten Jahren versucht 
diverse Leute an die Controllertechnik(6511Q, 8052, PIC, AVR) mehr oder 
minder erfolgreich heranzuführen, darunter auch gestandene Elektroniker. 
Ich mußte schnell feststellen, daß Hard-und Software gleichzeitig zu 
"Heavy" für die meisten Controllerwilligen war.
Ich hatte nur mit einer Methode Erfolg. Mittels schnell erreichter, 
ständiger Erfolgserlebnisse den anderen zu interessieren und, aus 
ureigenstem Interesse, bei "der Stange" zu halten. Wenn der Einsteiger 
bemerkte, daß er mittels wenig Software die totale Macht über den 
kleinen schwarzen, vielfüßigen Mistkerl hatte(und sei es nur das Brutal 
erzwungene blinken einer LED:), hatte er schnell Blut geleckt und wollte 
mehr. Ab einem bestimmten Punkt ist die Klippe überwunden, das 
Verständnis für Bits,Bytes und Register ist da. Mit der ersten eigenen 
Idee, kommt automatisch die Frage nach der freien Welt(verlassen des 
Starterkits). Die darauf folgende Frage : "Wie sag ich´s der Platine?" 
wurde im allgemeinen gelassen gestellt und deutlich schneller klar, als 
das Prinzip der Software.

Derjenige, der Erstmalig einen PC benutzt, wird sich wohl eher mit der 
Bedienung desselbigen(Software) auseinandersetzen, als sich zu 
überlegen, wie er im Fall der Fälle der Northbridge mit dem Lötkolben zu 
Leibe rücken könnte. :-)  - O.K. der Vergleich hinkt, mir fiel just 
nichts besseres ein.

Der Preis: Stimmt, billig ist ein Starterkit nicht. Aber es funktioniert 
sofort. Wer an der Basis spart, kann nicht auf ein festes Fundament 
hoffen. Mit einem Starterkit ist sofortiges lernen ohne weitere Hardware 
möglich. Schlimmstenfalls 150 Euro in den Sand gesetzt. Auf der anderen 
Seite: Lötstation, elektronische Kleinteile bis zum abwinken, 
Logigtester, Messgerät(e), vielleicht noch ein Oszi......ist ja auch 
nicht ganz umsonst.

Steckbretter:
Ich habe die Teile oft genutzt. Sowohl die billigen von z.B. Conrad als 
auch die Sündhaft teuren von WAGO und dergleichen. Es ist natürlich mehr 
als verlockend, den "Krempel" einfach zusammen zustecken, als den 
Bratofen zu bemühen. Das mag bei kleinen, meiner Meinung nach 
unwichtigen Schaltungen, durchaus zum Erfolg führen. Wenn es aber um 
Prozessoren geht, bei denen tatsächlich einige Mhz über das Board 
fliegen können, sind die Probleme vorprogrammiert. Ich weis nicht wie 
oft ich bei einer Schaltung feststellen mußte, daß Kontaktprobleme, 
Übergangswiderstände Kapazitäten zwischen den Kontakten und lockere 
Verbindungen einfach ständig für Probleme sorgten und ich mich mehr um 
das Board als um die Schaltung kümmern mußte. -Ich gebe aber zu, daß ich 
es immer wieder mal probiere.

Gruss

von Werner (Gast)


Lesenswert?

Hallo Axel, der 74HC244 ist ein nichtinvertierender 8-fach buffer.

von Axel(ojojo) (Gast)


Lesenswert?

Hallo Werner,
das hat mir noch nicht so wirklich weitergeholfen.
Wäre nett, wenn Du mir das noch etwas genauer beschreiben könntest.
Danke
Axel :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.