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
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.
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.
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
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
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.
Noch eine Frage: Muss ich für die unterschiedlichen ATmegas auch
unterschiedliche Bootloader verwenden oder funktioniert der Arduion Uno
Bootloader aus?
Danke
cheeseburgerohnekaese
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.
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
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.
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. :-)
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
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
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
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.
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
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
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
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.?
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
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 :) :) :) :) :) :) :) :)
Ups. Was vergessen. Der Satzt geht natürlich weiter:
cheeseburgerohnekaese schrieb:> Also danke an fast alle.
... Antworten
:) :) :)
cheeseburgerohnekaese
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.
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.
@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