Hallo zusammen,
ich würde als Einstieg in das Mikrocontrolling gern mit dem Tutorial
starten. Hierzu habe ich noch einige (hoffentlich nicht zu dämliche)
Fragen:
1. Einige schreiben hier, sie seien mangels Speicher vom atMega8 auf den
atMega168 umgestiegen. Soll man sich gleich den holen, wenn er doch
schneller ist und nicht viel mehr kostet?
2. Bei der Erläuterung des Quarzes wird einem der Wert 4 Mhz empfohlen,
bei der Bestellliste steht aber, es sei besser, einen Quarz mit
UART-Frequenz zu nehmen. Nach einigem Googeln weiß ich jetzt, dass da
die Meinungen auseinander gehen - ist es am Anfang vielleicht einfach
egal?
3. Es gibt ja unünersichjtlich viele Anleitungen, um sich einen
Programmieradapter zu bauen. Warum wird beim 6poligen Anschluss am Board
manchmal Vcc nicht auf den Stecker übertragen, sprich das Kabel ist
Board-seitig nur 5polig?
Vielen Dank im Voraus, glaub da hab ich noch viel zu lernen...
Grüße Tobi
Nim den Mega168 oder Mega88 oder Mega48 die unterscheiden sich nur im
Speicher sind aber kompatibel. Der Mega8 ist gewissermaßen "veraltet".
Wenn Quarz dann würde ich auch einen Baudratentauglichen holen, das hat
ansosnten erstmal keine Auswirkungen nur nachher Ärgerst du dich nicht
weil die UART Probleme macht ;)
Mache haben VCC weil im Programmierkabel nen IC drinne ist der versorgt
werden muß (bzw. Pegelwandler versorgung), oder um die Targetspannung zu
ermitteln.
Tobi_IGB schrieb:
> Hallo zusammen,>> ich würde als Einstieg in das Mikrocontrolling gern mit dem Tutorial> starten. Hierzu habe ich noch einige (hoffentlich nicht zu dämliche)> Fragen:>> 1. Einige schreiben hier, sie seien mangels Speicher vom atMega8 auf den> atMega168 umgestiegen. Soll man sich gleich den holen, wenn er doch> schneller ist und nicht viel mehr kostet?
...da spricht nicht viel dagegen.
> 2. Bei der Erläuterung des Quarzes wird einem der Wert 4 Mhz empfohlen,> bei der Bestellliste steht aber, es sei besser, einen Quarz mit> UART-Frequenz zu nehmen. Nach einigem Googeln weiß ich jetzt, dass da> die Meinungen auseinander gehen - ist es am Anfang vielleicht einfach> egal?
...ist ziemlich egal. Man kann mit den "geraden" Quarzen die üblichen
Baudraten auch innerhalb der zulässigen Toleranzen erzeugen. Wenn doch
nicht, kann man immer noch einen ("krummen") Baudratenquarz nehmen oder
einfach die Baudrate verringern (dann hat man mehr Auswahl an
Teilerfaktoren).
> 3. Es gibt ja unünersichjtlich viele Anleitungen, um sich einen> Programmieradapter zu bauen. Warum wird beim 6poligen Anschluss am Board> manchmal Vcc nicht auf den Stecker übertragen, sprich das Kabel ist> Board-seitig nur 5polig?
Das kommt auf den Programmieradapter an: Ein "vernünftiger" passt sich
an die Betriebsspannung der Zielhardware an und verwendet diese für die
Treiber zum zu programmierenden Chip. Einfach-Adapter holen die Spannung
aus der PC-Schnitte und fahren mitunter einen mit 1,8-3,3V betriebenen
AVR munter mit 5V-Signalen an.
Ich finde die ganzen Selbstbau-Adapter sind Sparen am falschen Ort. Für
etwas über 30-50 Euro gibt es Programmiergeräte (AVRISP und AVRDRAGON),
die von Hersteller stammen und durch Updates von der Studio-Software
aktuell gehalten werden. Gerade als Anfänger hat man mit den
"Basteladaptern" oft das Problem herauszufinden, ob die aktuellen
Probleme an der Hardware, der Software oder doch am Adapter liegen. Ein
unnötiger Freiheitsgrad mehr...
> Vielen Dank im Voraus, glaub da hab ich noch viel zu lernen...
...irgendwie haben wir das alle ;-)
Mega8 oder mega168, beim Lernen ist der Speicherplatz im Codespeicher
wohl nicht soooo wichtig. Ich verwende zur Zeit recht gerne den
ATmega88, bei Bedarf den ATmega168, auch mal den ATmega48, hängt vom
Anwendungfall(Speicherbedarf), und den Kosten ab. Pin-mäßig sind die
Dinger identisch, das SMD-Gehäuse hat zwei Analog-Inputs extra. Bei der
SW muß man, wenn in Assembler programmiert wird, aufpassen weil der 168
auch "jmp" und "call" (langer Sprung/Call) kann; der 48/88 nur "rjmp"
und "rcall". Wenn es nicht so genau sein muß reicht der interne
RC-Oszillator locker, selbst bei der seriellen (UART) reicht die
Genauigkeit aus, habe allerdings mit einer automatischen
Baudratenerkennung zu Beginn der Übertragung nachgeholfen. (PC sind hier
oft toleranter)
Brauchst Du mehr I/O-Ports, nimm halt den ATmega644, oder bei weniger
Speicherbedarf den ATmega324 oder den ATmega164. Unterscheiden sich nur
im Speicher)
Fürs Lernen und Experimentieren würde ich immer den "größten" µC nehmen,
da braucht Du Dir dann keine Gedanken über den Speicher zu machen.
Mit einem STK500 als Protoboard und einfaches Programmiergerät klappt
der Einstieg recht gut.
Gruß aus BY
Sepp
zu 1.
Ein M8 hat den Vorteil das die Programmbeispiele 1:1 übernommen werden
können.
Es geht natürlich auch ein neueres Modell M88/M168/M328.
zu 2.
Kauf einen 1MHz, 2MHz, 4MHz, 8MHz und 16MHz Quarz aber sockle Diesen.
Später kannst Du dann auch Baudratenquaze verwenden.
Die Quarze sind Cent Artikel.
zu 3.
um sich zwei bekämpfende Beriebsspannungen zu vermeiden lässt man
Vcc aus der Boardseite meistens offen.
>Mit einem STK500 als Protoboard und einfaches Programmiergerät klappt>der Einstieg recht gut.
Wofür brauchst Du bei einem STK500 noch ein Programmiergerät? Bringt das
STK doch sozusagen gleich mit.
Der Speicher eines Mega8 bzw. Mega88 reicht zum Einstieg sicher locker
aus. Da würde ich mir erstmal nichts Größeres zulegen. Falls Du vorhast
ernsthaft in das Thema einzuseigen würde ich dir zum STK500 raten um an
dieser Stelle nicht am falschen Ende zu sparen. Dazu ein Steckbrett um
auch richtig was anschließen zu können.
Zum Unterschied zwischen Mega8 und Mega88 gibts auch eine AppNote:
http://www.atmel.com/dyn/resources/prod_documents/doc2553.pdf
Viele Grüße, Hendrik
Vielen Dank an alle, das ging echt schnell!
Es wäre für den Anfang natürlich gut, wenn ich das Tutorial direkt
anwenden könnte, das spricht dafür, einfach den Mega8 zu nehmen.
Ist natürlich schwer zu sagen, wie ernsthaft man einsteigen will, wenn
man noch nie etwas mit Mikrocontrollern zu tun hatte...
Aber Quarz und Programmiergerät dürfte soweit klar sein! Danke nochmal!