Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller + Zubehör?


von cheeseburgerohnekaese (Gast)


Lesenswert?

Hallo,

erstmal: Wenn ich hier was falsch mache, einfach sagen.

Ich möchte in die uC-Welt einsteigen und mir einen ATmega168 kaufen. Ich 
habe mir dazu einige Tutorials (z.B. 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial) durchgelesen. 
Als Programmer wollte ich einen meiner zwei Arduinos, mit den ich schon 
einiges gemacht habe, benutzen (hat man dadurch eigtl. evtl. weniger 
Möglichkeiten, soll ich mir einen 'richtigen' Programmer kaufen?). Ich 
habe es geschafft ein Programme mittels AVRDUDE über Arduino 1 als 
Programmer auf Arduino 2 zu übertragen. Da aber auf dem Arduion-Board 
schon weitere Bauteile vorhanden sind, weiß ich nicht, ob das auch ohne 
Zusatzbauteile so möglich ist (also der ATmega168).

Meine eigtl. Fragen:
1.) Ist der Arduino als Programmer geeignet?
2.) Brauche ich Zusatzbauteile, wie einen Quarz oder geht es auch ohne?
3.) Ist Frage 2.) Abhängig vom verwendeten uC?

Bitte um Hilfe. Danke im voraus
cheeseburgerohnekaese

von hihi (Gast)


Lesenswert?

cheeseburgerohnekaese schrieb:
> Ich möchte in die uC-Welt einsteigen und mir einen ATmega168 kaufen.

cheeseburgerohnekaese schrieb:
> Als Programmer wollte ich einen meiner zwei Arduinos, mit den ich schon
> einiges gemacht habe

irgendwie paradox.

von MaWin (Gast)


Lesenswert?

Wieso ?
Ardunios sind doch keine Mikrocontroller...

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

cheeseburgerohnekaese schrieb:
> Ich möchte in die uC-Welt einsteigen und mir einen ATmega168 kaufen. Ich
> habe mir dazu einige Tutorials (z.B.
> http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial) durchgelesen.

Gute Wahl, der ATmega168 ist einiges moderner als der im Tutorial immer 
wieder zitierte ATmega8. Ich meine, von dem ATmega168 gibt es inzwischen 
aber auch einen neueren A-Typ, den würde ich dann nehmen. Oder ATmega88A 
bzw. ATmega328, je nach Speicherplatzbedarf.

Das C-Tutorial ist ok, es schadet aber auch nichts, das sehr gute 
Assembler-Tutorial durchzuarbeiten, da lernst du die Ecken und Kanten 
des Mikrocontrollers besser kennen - meiner Meinung nach.

> Meine eigtl. Fragen:
> 1.) Ist der Arduino als Programmer geeignet?

Soweit ich weiß, ja. Du musst dir nur einen ISP-Adapter zusammenlöten, 
das ist aber relativ einfach.

> 2.) Brauche ich Zusatzbauteile, wie einen Quarz oder geht es auch ohne?

Es geht generell ohne Quarz. Außer du brauchst eine verlässliche 
Zeitbasis für dein Mikrocontroller-Programm (z.B. serielle 
Datenübertragung, Uhr-Funktion usw.).

> 3.) Ist Frage 2.) Abhängig vom verwendeten uC?

Alle gängigen Atmel-AVR laufen auch ohne Quarz, der ATmega168A tut es 
auf alle Fälle.

von cheeseburgerohnekaese (Gast)


Lesenswert?

Hallo,

danke für deine/ihre (Markus W.) schnelle Antwort; war sehr hilfreich.
Noch eine Frage. Sind die uC standartmäßig mit einem Bootloader 
vorprogrammiert? Denn das bekomm ich noch nicht so hin.

Danke
cheeseburgerohnekaese

von flip (Gast)


Lesenswert?

Nein leer. deswegen solltest du dir einen isp programmer basteln kaufen. 
alleine mit arduino lässt sich der neue µC nocht programmieren. Oder du 
besorgst dir einen mit vorgeflashten bootloader und bleibst beim Arduino

von Gerlinde (Gast)


Lesenswert?

'standar(t)mäßig' --- AAARRGGHHHH, plumps

von cheeseburgerohnekaese (Gast)


Lesenswert?

Geht folgendes zum Brennen des Booloaders?
http://www.mikrocontroller.net/articles/AVR-ISP-Stick

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

flip schrieb:
> Nein leer. deswegen solltest du dir einen isp programmer basteln kaufen.
> alleine mit arduino lässt sich der neue µC nocht programmieren. Oder du
> besorgst dir einen mit vorgeflashten bootloader und bleibst beim Arduino

Hier reichen meine Arduino-Erfahrungen nicht aus. Ich hätte gedacht, 
dass man mit einem Arduino einen AVR auch irgendwie direkt programmieren 
kann. - Aber da soll ein Arduino-Kenner antworten.

Aber egal wie, den ATmega328 gibt es von einigen Anbietern auch fertig 
mit bereits geflashtem Bootloader.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

cheeseburgerohnekaese schrieb:
> Geht folgendes zum Brennen des Booloaders?
> http://www.mikrocontroller.net/articles/AVR-ISP-Stick

Ja, sicher.

Wenns nur ums Brennen des Bootloaders geht, tuts auch ein 
Billig-Programmer, z.B. USBasp nach fischl.de-Standard, den du überall 
für ein paar Euro bekommst.

von cheeseburgerohnekaese (Gast)


Lesenswert?

Noch eine Frage: Muss ich für die unterschiedlichen ATmegas auch 
unterschiedliche Bootloader verwenden oder funktioniert der Arduion Uno 
Bootloader aus?

Danke
cheeseburgerohnekaese

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

M.E. hast du eigentlich schon alles da, vor allem, wenn du Arduino 2009 
hast, die mit der gesockelten CPU. Einen nimmst du zum Programmieren des 
anderen. In den Arduino2009 Sockel passt der Mega8/48/88/168 und der 328 
rein.
Auf dem 'Programmier Arduino' lässt du den Bootloader drauf und eben die 
ISP Software zum Brennen des anderen. Fertig.
Als Entwicklungssoftware dann z.B. AVR Studio 4 mit WinAVR oder eben 
Studio 6.

von cheeseburgerohnekaese (Gast)


Lesenswert?

Ich habe den Arduino Uno SMD! Geht also nicht! Ich werde wohl einen 
Programmer selbst löten oder kaufen, wenn das mit dem Arduino wirklich 
nicht geht.

von cheeseburgerohnekaese (Gast)


Lesenswert?

Ich hab was gefunden: http://www.pjrc.com/hub_isp/
Aber da steht das geht nur unter Linux und ich habe Windows. Hat jemand 
mit diesem Teil schon Erfahrung gemacht?

Danke
cheeseburgerohnekaese

von W.S. (Gast)


Lesenswert?

cheeseburgerohnekaese schrieb:
> Ich möchte in die uC-Welt einsteigen und mir einen ATmega168 kaufen.

Hallo du OhneKäse-Bürger,

mein Rat:
Lade dir erstmal die Dokus zu diversen uC herunter - wenn es denn Atmega 
sein soll, dann eben von verschiedenen ATmegas. Und dann lies dir die 
Dokus gut durch und überlege dir, was du so alles damit anfangen willst 
und ob das bei dem konkreten Typ realistisch ist.

Erst danach solltest du dir die Frage stellen, welchen konkreten Typ du 
dir zulegen willst. Nimm lieber einen mit mehr RAM und Programmspeicher 
(wenn du kannst). Ich hatte beim ATmega169 schon bei kleineren Projekten 
mit Speichermangel zu kämpfen, das ist etwas, was ich von den PIC's her 
SO nicht kenne. Also lieber mehr als weniger Speicher - und wenn es 
nicht unbedingt ein ATmega sein soll, dann greif lieber zu einem 32 Bit 
uC. Die sind heutzutage auch nicht teurer als die Atmels, haben aber im 
Durchschnitt von allem mehr drin (höher, schneller und mehr Bässe!!).

W.S.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

cheeseburgerohnekaese schrieb:
> Ich hab was gefunden: http://www.pjrc.com/hub_isp/

Pfiffige Lösung, hab mich da auch schonmal reingearbeitet. Geht aber 
nicht mit allen Hubs und nicht mit allen USB-Prots. Da ist es echt 
einfacher, die 4 bis 15 Euro zu spendieren und einen USBasp 
anzuschaffen.

> Aber da steht das geht nur unter Linux und ich habe Windows.

Das ist doch kein Problem, hier kostenlos:

http://www.ubuntu.com/download/desktop

Kann man auch neben Windows installieren, wenn man nicht gleich 
umsteigen will. :-)

von cheeseburgerohnekaese (Gast)


Lesenswert?

Das mit Linux hab ich schon mal versucht, neben Windows zu installieren. 
Das hat nur Probleme gemacht und habs dann gelassen.

Ist folgender für den Anfang gut: http://www.fundf.net/usbasp/


Markus W. schrieb:
> z.B. USBasp nach fischl.de-Standard, den du überall
> für ein paar Euro bekommst

WO?

cheeseburgerohnekaese

von cheeseburgerohnekaese (Gast)


Lesenswert?

Lohnt es sich paar Euro mehr auszugeben, um das 
http://www.fundf.net/usbasp/ zu nehmen, oder reicht auch eins von Ebay 
http://www.ebay.de/itm/Programmer-AVR-USB-USBasp-Programmierung-/190688148398?

von Frank K. (fchk)


Lesenswert?

W.S. schrieb:

> Erst danach solltest du dir die Frage stellen, welchen konkreten Typ du
> dir zulegen willst. Nimm lieber einen mit mehr RAM und Programmspeicher
> (wenn du kannst). Ich hatte beim ATmega169 schon bei kleineren Projekten
> mit Speichermangel zu kämpfen, das ist etwas, was ich von den PIC's her
> SO nicht kenne. Also lieber mehr als weniger Speicher - und wenn es
> nicht unbedingt ein ATmega sein soll, dann greif lieber zu einem 32 Bit
> uC. Die sind heutzutage auch nicht teurer als die Atmels, haben aber im
> Durchschnitt von allem mehr drin (höher, schneller und mehr Bässe!!).

Genau! Mit einem PIC24 oder PIC32 hast Du fürs gleiche Geld mehr Wupp 
und weniger Probleme. Anfänger stolpern oft über die getrennten Daten- 
und Programm-Adressräume (das hast Du bei den größeren PICs nicht mehr) 
und die Fuses der AVRs, mit denen sich schon so mancher Neuling 
ausgesperrt hat. Bei den PICs kannst Du Dich nicht aussperren, egal, wie 
dumm Du dich anstellst.

Das Gegenstück zum Arduino ist beim PIC der Pinguino (www.pinguino.cc), 
wenn Du so etwas haben willst.

fchk

von Frank K. (fchk)


Lesenswert?

cheeseburgerohnekaese schrieb:
> Das mit Linux hab ich schon mal versucht, neben Windows zu installieren.
> Das hat nur Probleme gemacht und habs dann gelassen.
>
> Ist folgender für den Anfang gut: http://www.fundf.net/usbasp/

Spare nicht am falschen Ende. Die Originaltools vom Chiphersteller haben 
immer die beste Softwareunterstützung und sind auch qualitativ sehr gut. 
Plus Du kannst damit auch größere und kleinere AVRs (Tiny10 etc und 
XMegas) programmieren, das können die Billigteile nicht.

Das ist wie Werkzeug aus dem Baumarkt, das Dir die Schraubenköpfe 
vermurkst.

fchk

von cheeseburgerohnekaese (Gast)


Lesenswert?

Ok. Danke. ABer kann man diese PIC32 auch ohne Quarz, etc. betreiben?

von Frank K. (fchk)


Lesenswert?

cheeseburgerohnekaese schrieb:
> Ok. Danke. ABer kann man diese PIC32 auch ohne Quarz, etc. betreiben?

http://ww1.microchip.com/downloads/en/DeviceDoc/61168D.pdf
Seite 27 rechts unten zeigt die Minimalbeschaltung.

fchk

von Oliver (Gast)


Lesenswert?

Den USBASP kannst Du Dir erst mal sparen, der Arduino mit ISP-Sketch 
läßt sich nämlich ganz prima verwenden, um AVRs zu flashen. Ich habe mit 
ihm schon diverse Typen (ATtiny 2313, ATtiny85, ATmega168, ATmega328, 
ATmega644 ...) programmiert, nach meiner Erfahrung viel zuverlässiger 
als mit einem USBASP.

Dabei ist es völlig unerheblich, ob der Arduino gesockelt ist oder 
nicht. Die Zielschaltung baust Du am besten auf einem Breadboard auf.

Du hast also schon alles, um den ATmega168 zu programmieren. Die 
Bandbreite der unterstützten Typen von ATtiny13 bis Atmega644 ist für 
den Anfang auch mehr als ausreichend.

Noch mal zu Deinen Fragen:

-- 1.) Ist der Arduino als Programmer geeignet?

Ja, ohne Einschränkungen.

--  2.) Brauche ich Zusatzbauteile, wie einen Quarz oder geht es auch 
ohne?

Quarz nicht, einzig ein paar Kondensatoren. Details findest Du im 
Tutorial.

-- 3.) Ist Frage 2.) Abhängig vom verwendeten uC?

Nein, eher von der gewünschten Anwendung. Für eine Uhr oder eine 
schnelle serielle Schnittstelle ist ein Quarz nötig, weil der eingebaute 
Oszillator zu ungenau ist.

von Lutz (Gast)


Lesenswert?

Frank K. schrieb:
> Genau! Mit einem PIC24 oder PIC32 hast Du fürs gleiche Geld mehr Wupp
> und weniger Probleme.

Mit Verlaub, das halte ich für Unfug.

PIC32 biet natürlich mehr Leistung, dafür kostet er mehrmals soviel wie 
z.B. der ATmega328.

PIC24 ist in seiner kleinsten Ausführung von der Leistung her mit dem 
ATmega328 vergleichbar, kostet aber auch etwa das Gleiche.

Alles in allem nehmen sich AVR und PIC preislich nichts, beide sind etwa 
gleich teuer oder billig.

> Anfänger stolpern oft über die getrennten Daten-
> und Programm-Adressräume (das hast Du bei den größeren PICs nicht mehr)

Ich empfand das immer als Vorteil. So etwas ist wirklich Ansichtssache.

> und die Fuses der AVRs, mit denen sich schon so mancher Neuling
> ausgesperrt hat.

Auch die Freiheiten, die man mit den Fuses hat, sehe ich eher als 
Vorteil als als Nachteil. Hat eben alles zwei Seiten.

> Das Gegenstück zum Arduino ist beim PIC der Pinguino (www.pinguino.cc),
> wenn Du so etwas haben willst.

Das ist eine absolut akzeptable Alternative, hier stimme ich dir zu!
Aber sie ist am Ende nicht besser und nicht schlechter. Meiner 
Beobachtung nach ist die Arduino-Gemeinde größer - das heißt natürlich 
nicht, dass Arduino besser ist als Pinguino, es heißt nur, dass es mehr 
Leute gibt, die man im Notfall mal fragen kann.

Lutz

von Frank K. (fchk)


Lesenswert?

Lutz schrieb:

> PIC32 biet natürlich mehr Leistung, dafür kostet er mehrmals soviel wie
> z.B. der ATmega328.

stimmt nicht.

Gerade eben bei reichelt.de nachgeschaut: alles DIL28-Typen
32MX150F128B-ISP 5.55€ (PIC32)
24FJ16GA002-ISP  2.20€ (PIC24)
ATMEGA 328P-PU   4.20€

Der Unterschied in der Rechenleistung AVR-PIC32 ist etwa Faktor 20, bei 
AVR-PIC24 etwa Faktor 2-3 (bei den PIC24EP noch mehr).

So viel zu den mehrfachen Kosten.

>> und die Fuses der AVRs, mit denen sich schon so mancher Neuling
>> ausgesperrt hat.
>
> Auch die Freiheiten, die man mit den Fuses hat, sehe ich eher als
> Vorteil als als Nachteil. Hat eben alles zwei Seiten.

Bei den PICs sind das "Configuration Words" (also im Prinzip das 
gleiche), aber man kann sich eben niemals aussperren, weil ICSP IMMER 
geht. Und JEDER PIC hat ICSP und kann darüber nicht nur programmiert, 
sondern auch debuggt werden, egal ob groß oder klein. Einen Mega8 kannst 
Du nicht per Singlestep debuggen, einen 328 nur über Debugwire, und das 
ist eher ein Krampf. Plus: Das PICKIT3 ist für alle PICs verwendbar, von 
den kleinen 6-Pinnern im SOT23-6 Gehäuse bis hin zu den 80 MHz MIPS 
PIC32 Controllern.

fchk

von cheeseburgerohnekaese (Gast)


Lesenswert?

Danke erstmal für die schnellen Antworten. Aber eines ist noch unklar:
Oliver sagte, dass der Arduino gut als Programmer nutzbar ist. Ich 
möchte damit aber auch auf uC Bootloader brennen können. Vorher wurde 
schon gesagt, es ginge nicht, aber nach der Aussage von Oliver ('1. Ist 
der Arduino als Programmer geeignet? Ja, ohne Einschränkungen.') sollte 
das möglich sein.
Geht das jetzt?

Danke
cheeseburgerohnekaese

von cheeseburgerohnekaese (Gast)


Lesenswert?

Mal noch ne Frage:
Funktioniert folgendes: http://www.fundf.net/usbasp/ genauso wie 
ArduinoISP?
Also dass auf dem uC das ArduinoISP-Programm drauf ist, usw.?

von cheeseburgerohnekaese (Gast)


Lesenswert?

cheeseburgerohnekaese schrieb:
> Mal noch ne Frage:
> Funktioniert folgendes: http://www.fundf.net/usbasp/ genauso wie
> ArduinoISP?
> Also dass auf dem uC das ArduinoISP-Programm drauf ist, usw.?

Das hat sich erledigt. Hat ne eigene Firmware. Aber mein Frage 
(12.06.2012 14:07) ist noch da.

Danke
cheeseburgerohnekaese

von Thomas E. (thomase)


Lesenswert?

cheeseburgerohnekaese schrieb:
> Ist der Arduino als Programmer geeignet?
Ja.

http://arduino.cc/en/Tutorial/ArduinoISP

mfg.

von cheeseburgerohnekaese (Gast)


Lesenswert?

Nochmals danke für alle schnellen Antworten. Ich habe jetzt noch ein 
bischen ausprobiert und habe es geschafft einen Bootloader mittels 
Arduino 1 als ISP auf Arduino 2 zu brennen. Laut Arduino Software steht 
da, der Bootloader sei erfolgreich installiert. Ich gehe mal davon aus, 
dass es auch auf den Chips ohne Zusatzhardware (wie z.B. der Arduino) 
mögich ist. Also danke an fast alle.

Danke :) :) :) :) :) :) :) :) :) :) :) :) :)
cheeseburgerohnekaese :) :) :) :) :) :) :) :)

von cheeseburgerohnekaese (Gast)


Lesenswert?

Ups. Was vergessen. Der Satzt geht natürlich weiter:

cheeseburgerohnekaese schrieb:
> Also danke an fast alle.

... Antworten

:) :) :)

cheeseburgerohnekaese

von M Keller (Gast)


Lesenswert?

Frank K. schrieb:
> Lutz schrieb:
>
>> PIC32 biet natürlich mehr Leistung, dafür kostet er mehrmals soviel wie
>> z.B. der ATmega328.
>
> stimmt nicht.
>
> Gerade eben bei reichelt.de nachgeschaut: alles DIL28-Typen
> 32MX150F128B-ISP 5.55€ (PIC32)
> 24FJ16GA002-ISP  2.20€ (PIC24)
> ATMEGA 328P-PU   4.20€

Also, ich kaufe viel bei Reichelt, aber AVRs eher nicht. Weil:

Will ich DIP zum Basteln oder für Entwicklungszwecke, dann bestelle ich 
bei guloshop.de ( der ATMEGA 328-PU kostet da z.B. 2.00 € ).

Bräuchte ich hingegen 10.000 Stück für die Fertigung, dann würde ich 
welche im QFN-Gehäuse nehmen und mich sowieso irgendwo im Ausland 
umschauen.

von Stephan K. (stephan_k)


Lesenswert?

Hi,
ich steh vom Verstehen grade irgendwie auf dem Schlauch. Du willst in 
die uC Welt mit Atmega168 einsteigen, hast aber 2 Arduinos zuhause?!?
Ich benutze fast ausschliesslich Arduino Boards. Die CPU ist meist ein 
Atmega und der laesst sich einfach in C programieren, ob da nun Arduino 
draufsteht, oder nicht. Wenn man mal vom hoeheren Preis ab sieht, ist 
das Shield-Steck-Prinzip doch super. Niemand sagt, dass man Arduinos nur 
mit der IDE und dieser komischen Sprachverunstaltung programieren kann.

von cheeseburgerohnekaese (Gast)


Lesenswert?

@stephan_k:
Ich möchte meine Arduinos nicht für Projekte "verschwenden". Ich möchte 
Projekte mit nur dem Nötigsten machen. Denn ein ATmega328P z.B. kostet 
nur rund 2€, während ein Arduino Uno SMD rund 24€ kostet. Den Arduino 
benutze ich also nur zum Testen.

@All:
Ich weiß jetzt, was ich wissen wollte/will. Ihr braucht euch also nicht 
die Mühe machen zu antworten, ausser ich habe noch ne Frage.
Soll ich dann eigtl. den neuen Thread machen oder hier die Frage unten 
rein posten?

cheeseburgerohnekaese

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.