Hallo Ich habe ein kleines Projekt mit meinem Arduino Uno fertiggestellt und will dieses jetzt verkleinern und verlöten. Ich will statt dem Arduino Uno nur den ATmega verwenden, weil dieser kleiner und billiger ist. Nun meine Frage: Wie bringe ich mein Programm darauf zum Laufen? Ich weiß, dass ich zuerst den Bootloader installieren muss. Dies geht indem man den Uno als ISP konfiguriert. Aber wie lade ich dann das Programm drauf? Kann ich das auch über ISP machen? Oder brauche ich einen USB-to-Serial Konverter? Ich weiß schon das man den Uno auch als USB-to-Serial Konverter einsetzten kann, allerdings muss man dazu den Mikrokontroller des Arduinos entfernen und das geht bei mir nicht, weil ich die SMD-Variante besitze! Bitte um Hilfe
Roman Brock schrieb: > Aber wie lade ich dann das Programm drauf? Kann ich das auch über ISP > machen? Ja, dann brauchst du auch keinen Bootloader.
Hallo, Du brauchst nur das hex File Deines Programms und spielst es mit einem Brenner, z.B. usbasp via ISP auf den M328. Evtl noch fuse fuer ext. Quarz setzen.Bootloader ist nicht notwendig.
Wie bekomme ich das Hex File? Geht das auch mit der Arduino IDE? Könnte mir das bitte jemand genauer erklären. So gut kenne ich mich nämlich nicht aus.
Hallo, Naja, das sollte man selber schon wissen, so man seine SW so abgespeichert hat. Nach dem komplieren wird das hex file erzeugt, wo das in der Arduinoumgebung dann liegt, weiss ich leider nicht, da ich arduino nicht verwende. Also einfach mal nach *.hex suchen.
Und wie bekomme ich das auf den chip? Gibts dazu vielleicht ein tutorial?
Warum so umständlich denken? Du hast doch das Arduino Uno Board. Also steck den ATMega 328 in das Uno Board und brenn dein Programm drauf. Anschliessend steckst Du den ATMega auf dein selbst gestricktes Board.
damit? http://samurai1967.dyndns.org/avr-adapter.html ca 2339 Mio "Tutorien" wenn du nach "Isp Programmer" googelst oder so
Albert M. schrieb: > Warum so umständlich denken? > Du hast doch das Arduino Uno Board. Also steck den ATMega 328 in das Uno > Board und brenn dein Programm drauf. Anschliessend steckst Du den ATMega > auf dein selbst gestricktes Board. Mach mal vor! Und genau so wie du es hier geschrieben hast.
F. Fo schrieb: > Albert M. schrieb: >> Warum so umständlich denken? >> Du hast doch das Arduino Uno Board. Also steck den ATMega 328 in das Uno >> Board und brenn dein Programm drauf. Anschliessend steckst Du den ATMega >> auf dein selbst gestricktes Board. > > Mach mal vor! Und genau so wie du es hier geschrieben hast. Wo ist Dein Problem. Ich bin jetzt zwar nicht der grosse Arduino Spezilist, aber mit der Arduino IDE kannst Du auch auf einen leeren ATMega den Bootloader brennen. Anschliessend das Programm drauf. Was soll daran nicht gehen?
Arduino-Nutzer sollten halt einfach bei Arduino bleiben. Außerhalb dieser Welt finden sie sich nicht zurecht, haben keine Ahnung was sie da eignentlich produziert haben (.hex Datei), keine Ahnung wie man was auf den Controller bringt (ISP) aber dafür schon richtig geile Sketches geschrieben und sogar schon ein "Projekt" gemacht. Wenn man sich schon von Arduino komplett das Hirn ausschalten lässt, dann sollte man sich nicht wundern wenn man nix weiß.
Dein Hex file liegt in einem Temp Ordner. Ungefähr wie hier: C:\Users\ADMIN_~1\AppData\Local\Temp\build3983296894954563104.tmp\Morse. cpp.hex Du musst in Arduino die "ausführliche Anzeige" in den Einstellungen anklicken.
cyblord ---- schrieb: > richtig geile Sketches So geil wie die aus "Klimbim" oder "Nonstop Nonsens" oder "Sketchup" oder gar der Ottoshow? Glaub ich nicht. wendelsberg
Albert M. schrieb: > F. Fo schrieb: >> Albert M. schrieb: >>> Warum so umständlich denken? >>> Du hast doch das Arduino Uno Board. Also steck den ATMega 328 in das Uno >>> Board und brenn dein Programm drauf. Anschliessend steckst Du den ATMega >>> auf dein selbst gestricktes Board. >> >> Mach mal vor! Und genau so wie du es hier geschrieben hast. > > Wo ist Dein Problem. Ich bin jetzt zwar nicht der grosse Arduino > Spezilist, aber mit der Arduino IDE kannst Du auch auf einen leeren > ATMega den Bootloader brennen. Anschliessend das Programm drauf. Was > soll daran nicht gehen? Genau, aber erst den Bootloader drauf ziehen. Aber das klappt da auch nicht immer. @cyblord Hab dich schon vermisst. :-) Übrigens, ich mache gleich meinen Tester für meinen neuen Benz (neuen alten Benz) in C und auf einen Tiny13. Na, biste nicht wenigstens etwas stolz auf uns? Auf dich, weil du mich bekehrt hast und auf mich, weil ich das jetzt so mache.
F. Fo schrieb: > @cyblord > > Hab dich schon vermisst. :-) Oha, das hört man hier nicht oft. > Übrigens, ich mache gleich meinen Tester für meinen neuen Benz (neuen > alten Benz) in C und auf einen Tiny13. > Na, biste nicht wenigstens etwas stolz auf uns? Auf dich, weil du mich > bekehrt hast und auf mich, weil ich das jetzt so mache. Jede Seele die aus der Arduino-Unterwelt gerettet wird zählt. Sehr gut gemacht! Der Post hier zeigt ja was aus dir geworden wäre, wenn du den Absprung nicht geschafft hättest. gruß cyblord
cyblord ---- schrieb: > Jede Seele die aus der Arduino-Unterwelt gerettet wird zählt. Sehr gut > gemacht! > Der Post hier zeigt ja was aus dir geworden wäre, wenn du den Absprung > nicht geschafft hättest. > > gruß cyblord Jau! Auch da muss ich dir recht geben. Aber trotzdem sind gestern hier noch zwei Nanos angekommen. Probiere abends bis nachts noch mal ab und an was im Bett (mit Leds als Testobjekte) dafür ist das ganz praktisch. Ganz im Ernst, wenn man dabei bleibt, dann ist es immer ein Fischen im Trüben und es wird niemals klar werden. Ich kann gleich, leicht verändert, den Code für den Tester nehmen, den ich zuvor auf dem Arduino Board getestet hatte. Das trifft noch so gerade für Tinys zu, aber ich kann es dann auch auf jeden x-beliebigen Controller mit C so machen. Für die Arduinofraktion ist dann schnell Schluss.
:
Bearbeitet durch User
@Foldi & Cyblord Habt ihr schon das Aufgebot bestellt? Wie sieht's mit Trauzeugen aus? Besorgt Euch noch einen Satz Ringkerne für den Treueschwur.... ;-) MfG Paul
[OFFTOPIC] http://www.farnell.com/datasheets/1682209.pdf In dem Abschnitt Programming : On Rev1 boards: connecting the solder jumper on the back of the board (near the map of Italy) and then resetting the 8U2. (Seite eins, die Bilder betrachten) Also wenn die keinen Spaß bei der Arbeit haben :) [OFFTOPIC] Wenn der Beitragsersteller eine komplett andere Lösung vorziehen möchte, es gibt "relativ günstige" ATmega328 mit bereits aufgespieltem Bootloader. https://guloshop.de/shop/Mikrocontroller/ATmega328-mit-Bootloader-fuer-Arduino-Uno::38.html?XTCsid=rsqcgbi4egct9ctut6hbs18u27
Du kannst Deinen Arduino auch als ISP "mißbrauchen": http://tbspace.de/arduinoalsispprogrammer.html Und in der IDE gibt's bestimmt irgendwo einen Punkt wo Du das .hex exportieren kannst. Sinnvoller wäre allerdings einen MK-II oder usbasp clone zu holen und dann direkt in C zu programmieren, WinAVR brauchst Du zum proggen sowieso ...
Paul Baumann schrieb: > @Foldi & Cyblord > > Habt ihr schon das Aufgebot bestellt? Wie sieht's mit Trauzeugen aus? > Besorgt Euch noch einen Satz Ringkerne für den Treueschwur.... > ;-) > MfG Paul Ich wollte grad schreiben "Du warst schonmal lustiger", aber dann ist mir aufgefallen dass das leider eine Lüge wäre.
cyblord ---- schrieb: > Ich wollte grad schreiben "Du warst schonmal lustiger", aber dann ist > mir aufgefallen dass das leider eine Lüge wäre. Hihihi!
Albert M. schrieb: > F. Fo schrieb: >> Albert M. schrieb: >>> Warum so umständlich denken? >>> Du hast doch das Arduino Uno Board. Also steck den ATMega 328 in das Uno >>> Board und brenn dein Programm drauf. Anschliessend steckst Du den ATMega >>> auf dein selbst gestricktes Board. >> >> Mach mal vor! Und genau so wie du es hier geschrieben hast. > > Wo ist Dein Problem. Ich bin jetzt zwar nicht der grosse Arduino > Spezilist, aber mit der Arduino IDE kannst Du auch auf einen leeren > ATMega den Bootloader brennen. Anschliessend das Programm drauf. Was > soll daran nicht gehen? Roman Brock schrieb: > weil ich die > SMD-Variante besitze!
Habe ein sehr nettes Tutorial gefunden: http://www.open-electronics.org/arduino-isp-in-system-programming-and-stand-alone-circuits/ Danke für eure Hilfe
Roman Brock schrieb: > Habe ein sehr nettes Tutorial gefunden: > http://www.open-electronics.org/arduino-isp-in-system-programming-and-stand-alone-circuits/ Zum Glück, sonst hättest du tatsächlich das Datenblatt zur Hand nehmen und selber denken müssen. Grade nochmal gut gegangen.
cyblord ---- schrieb: > Zum Glück, sonst hättest du tatsächlich das Datenblatt zur Hand nehmen > und selber denken müssen. Grade nochmal gut gegangen. Das macht auch schon den Unterschied. Dann will ich mal berichten: Wollte mir einen Tester für das KE-Jetronik Steuergerät bauen. Nichts Spannendes, ist im Grunde nur eine LED. Da die aber sofort Spannung hat und das Ausgehen der Led kaum zu sehen ist, wollte ich das mit einem Tiny13 machen. Eigentlich brauchte ich nur einen externen Interrupt. Bisher (ich lerne ja noch) habe ich alles mit nem ATmega328 (oder mit dem Uno) gemacht. Noch bevor ich anfing, folg mir eine explodierende Led um die Ohren. Von den fünf Spannungsversorgungen fürs Steckbrett waren wohl bei zweien die 5 Volt Regler defekt und so schnell konnte ich den Schalter nicht drücken. Tiny 13 aufs Steckbrett, verkabelt und los - dachte ich. Ein Blick ins Datenblatt zeigte schnell, dass es beim Tiny13 ganz anders programmiert werden muss. Kurz rein gelesen und programmiert. Hört nicht auf zu blinken. Also Verschiedenes ausprobiert und noch ein Blink in die Endlosschleife. Debug geht auch, aber im Ablauf kommt der INTO immer wieder rein, ohne dass ich ihn ausgelöst hatte. Code rauf und runter geändert. Ein cli(); am Ende der Schleife und klar ist, der Interrupt funktioniert im Wesentlichen. Irgendwann, es war schon nach 01:00 Uhr nachts und ich hatte das Steckbrett weggelegt, da kam die Schleife und blieb. Kaum in die Hand genommen, ja nicht mal richtig berührt und schon war der Interrupt wieder da. Also hab ich mich noch hin gesetzt und das auf Lochraster aufgebaut. Der gleiche Scheiß, sogar noch schlimmer. Es war mittlerweile schon halb drei und das nur zu meiner Entschuldigung. Ich hatte das Labornetzgerät zwar auf 9 Volt gestellt, aber der Strom war ganz runter. Gerade hatte ich das bemerkt (wollte meinem Sohn das noch mal zeigen, weil ich mit ihm die Programmierung durchgegangen war) und Spannung und Strom rauf gedreht. Jetzt ist alles prima. :-) Warum schreibe ich das? Ich wollte diesen konkreten Fall dazu nutzen zu unterstreichen wie sinnvoll die Arduinos (oder auch andere LaunchPads wie das MSP430) sind. Man muss ja nicht die Sprache nutzen, aber die Hardware ist sehr robust und da gibt es solche (hausgemachten) Phänomene nicht und man kann sich erstmal um das Lernen kümmern, ohne sich Gedanken über die Hardware machen zu müssen, ob es an der oder am Programm liegt. Hätte ich diese Schwierigkeiten gleich am Anfang gehabt (auch noch ohne entsprechende Messgeräte), so hätte ich alles in die Ecke geworfen und würde nicht so viel Spaß an der Sache haben. Andersrum hat cyblord natürlich recht, denn ich hätte keinen anderen Controller programmieren können, als Arduino das zulässt. Auch würde ich nicht an diesen Fehlern wachsen können.
Naja, es gibt ja auch Entwicklungsboards für Atmegas (STK500 ist wohl das Bekannteste). Da muss man nicht unbedingt ein Steckbrett für nehmen. ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.