Zunächst: Ich denke, dass euch eure Freizeit genauso lieb und teuer ist, wie mir meine. Ich möchte auf keinen Fall den Eindruck erwecken, dass ihr mir das Denken abnehmen sollt, viel mehr geht es mir darum, ob ich (nachdem ich hoffentlich meine "Hausaufgaben" gemacht hab) auch alles richtig verstanden habe. Wäre toll, wenn sich mir einer erbarmen könnte :) Ich habe mir auf einem Steckbrett eine kleine Binäruhr (Stunden/Minuten insgesamt 13 LEDs) aufgebaut, die mit einem Arduino Uno gesteuert wird. Diese würde ich gerne auf eine Lochrasterplatine übertragen und in einen Bilderrahmen o.ä. einbauen und mir auf den Schreibtisch stellen. Einfach den Arduino hinten dran hängen wär mir aber zu blöd, ich will das Ding ja noch weiter benutzen. Am liebsten wäre es mir, wenn ich meinen Arduino C++ Code einfach auf einen AVR übertragen könnte und diesen dann die Steuerung übernehmen lassen könnte. Mein Ergebnis nach einem wenig googeln ist, dass ich eigentlich mithilfe eines AVRISP mkII (den ich später auch für die "grown-up" Version der µC-Programmierung nutzen könnte) und dieser Anleitung (http://arduino.cc/en/Main/Standalone ) mein Programm auf einen AtMega32 übertragen könnte. Mit der gleichen Methode und ein paar Anpassungen (http://hlt.media.mit.edu/?p=1695 ) könnte ich das doch auch mit einem ATTiny2313 machen, der billiger wäre, oder? Andere Komponenten vom Arduino bräuchte ich ja nicht, nach Lektüre der Datenblätter vom ATMEGA32 und ATTiny2313, vermute ich, dass die millis() Funktion (http://arduino.cc/en/Reference/Millis ) den im Mikrocontroller integrierten 16-bit Timer nutzt. Mit Strom versorgen könnte ich meine Konstruktion am besten dann mit einem 5v Netzteil + so einer Buchse (http://www.conrad.de/ce/de/product/735653/Netzgeraete-Einbaukupplung-Printmontage-55-mm-13-mm-25-mm-Cliff-Inhalt-1-St ), richtig? Vielen Dank! Philipp
auf deinem Arduino Uno ist ein ATmega328p drauf. Den nimmst du einfach raus und verbaust ihn auf einem IC-Sockel in dein Lochraster. Das ist für dich jetzt das einfachste. Zum programmieren, setzt du ihn wieder in die Arduino-Breadboard Schaltung. Da bist du ja schon kurz vorm Ziehl, und möchtest nur den Prototyp in die finale Version bringen. Wenn du das jetzt ohne Arduino-IDE und Sprache und so machst (ist ein C++-Dialekt) fängst Du ja fast wieder von neuem an und am Ende sieht es genauso aus wie du es jetzt schon hast. Wenn du etwas ohne das Arduino gedöhns was machen möchtest: Ja kauf dir den AVRISP MK2 und bringe ohne Arduino eine LED zum blinken. Ob ATtiny oder ATmega ist egal, der Preisunterschied sollte bei einem aber nicht so ausschalggebend sein. mit dem AVRISP mk2 kannst du auch den Arduino-Bootloader in einen frischen ATmega328p schreiben. AVR AVR-Tutorial AVR-GCC-Tutorial
* achso und den Quarz brauchst du noch zum Takten von dem ATmega, wenn du ihn so programmiert lässt http://tinkerprojects.blogspot.de/2010/09/yama2-yet-another-minimal-arduino-2.html
vielleicht hilft FRITZING weiter.
Klaus schrieb: > Den nimmst du einfach raus und verbaust ihn auf einem IC-Sockel in dein > Lochraster. Hm, das mit dem IC-Sockel wäre natürlich echt komfortabel, danke für die Idee! Klaus schrieb: > mit dem AVRISP mk2 kannst du auch den Arduino-Bootloader in einen > frischen ATmega328p schreiben. Und den neuen Chip könnte ich dann einfach für das Arduino Board nutzen, falls ich mich dazu entscheiden sollte, den originalen ATMega328 in meiner Installation zu lassen, korrekt? Klaus schrieb: > achso und den Quarz brauchst du noch zum Takten von dem ATmega, wenn du > ihn so programmiert lässt OK, kommt auf meine Bestellliste. Mit der Arduino Bootloader Option "ATmega328 on a breadboard (8 MHz internal clock)" wäre das Teil ja dann (von den wohl resultierenden Genauigkeitsverlusten abgesehen) entbehrlich? Hugo schrieb: > vielleicht hilft FRITZING weiter Damit spiel ich schon fleißig rum ;) EDIT: Noch eine kleine Frage: Passen diese Buchsen durch die Löcher der Lochrasterplatine? Die Pins sehen so breit aus... http://www.conrad.de/ce/de/product/733946/Netzgeraete-Einbaukupplung-55-mm-21-mm-Inhalt-1-St
> Und den neuen Chip könnte ich dann einfach für das Arduino Board nutzen, > falls ich mich dazu entscheiden sollte, den originalen ATMega328 in > meiner Installation zu lassen, korrekt? yes kauf dir einfach ein paar Atmegas, beim C sind die teuer, billiger ists z.B. bei CSD Electronics. > OK, kommt auf meine Bestellliste. Mit der Arduino Bootloader Option > "ATmega328 on a breadboard (8 MHz internal clock)" wäre das Teil ja dann > (von den wohl resultierenden Genauigkeitsverlusten abgesehen) > entbehrlich? Ja scheint so, aber bis Du das hin bekommen hast, hast du den Quarz schon zehn mal verbaut. Außerdem musst du den Controller ja wieder zum Programmieren zurück in den Arduino stecken. Dieser Minimal-Arduino ist wirklich nicht groß und kein Aufwand ... Scheint mir aber so, als ob Du dir mehr Arbeit machen möchtest und dabei mehr lernen möchtest? Bau doch einfach noch was anderes danach. > EDIT: Noch eine kleine Frage: Passen diese Buchsen durch die Löcher der > Lochrasterplatine? Die Pins sehen so breit aus... > http://www.conrad.de/ce/de/product/733946/Netzgera... nein, das ist eine Einbaubuchse, die du ins Gehäuse schraubst und Kabel dran lötest. Was du suchst ist eine Buchse für Printmontage, z.B. diese hier http://www.conrad.de/ce/de/product/735667/Netzgeraete-Einbaukupplung-Printmontage-38-mm-13-mm-13-mm-Cliff-Inhalt-1-St
Klaus schrieb: > Scheint mir aber so, als ob Du dir mehr Arbeit machen möchtest und dabei > mehr lernen möchtest? Genau das ist der Plan :D Ich hab mir bei CSD ein paar µC (ATTINY2313A-PU, ATTINY13A-PU, ATTINY84A-PU; bei Watterott auch noch einen ATMEGA328P-PU) bestellt, die hole ich direkt in Bonn ab, da spare gleich auch noch die Versandkosten. Noch mal danke für deine Geduld!
... es muß nicht immer (eine) Arduino(platine) sein um Arduino machen zu können... Prinzipiell benötigt es nur einen ATmega Controller um einen Arduinoclone erstellen zu können. Bei den Arduinobeispielen ist ein Sketch enthalten, das sich ArduinoISP nennt. Spielst du dieses Sketch auf den Arduino auf, so wird aus deiner Arduinoplatine ein ISP - Programmer. Hiermit bist du dann in der Lage, jeden Atmelcontroller zu flashen (auch die ATtiny Serie). Allerdings laufen Arduino Sketche (was für eine Bezeichnung für ein modifiziertes C / C++ Programm) nur auf den ATmegas. Wenn du Programme des Arduinos in einem nackten Controller laufen lassen möchtest empfiehlt sich folgende Vorgehensweise: - Arduinoboard mit <ArduinoISP> aufspielen (im Kommentar des Sketches steht, welche Anschlüsse Miso, Mosi, Sck und Rst sind) - nackten Controller auf Breadboard aufstecken (und es empfiehlt sich sehr einen Quarz mit 2 Kondensatoren gegen Masse zu verschalten). Miso, Mosi, Sck und Rst mit den den Anschlüssen des Arduinoboards verbinden. -------------------------------------------------- Jetzt wird es etwas komplizierter: Arduino bedient sich des AVR-GCC und zum Upload der Sketches des Programms AVRDUDE. Da die IDE Arduino nicht installiert wird, kennt das Betriebssystem deines Rechners den Pfad zu den Programmen nicht (für dich heißt das jetzt: leider kennt es den Pfad nicht). Für dich ist Avrdude deshalb wichtig, weil du mittels Avrdude dein Arduinoboard, das jetzt den Programmer ArduinoISP beinhaltet, füttern kann. Am besten für dich dürfte sein, du erstellst ein Verzeichnis zum Testen, sagen wir: c:\arduinotest in dieses Verzeichnis kopierst du jetzt die Datei <avrdude.exe> . Sie befindet sich im Arduinoverzeichnis: arduino-1.0.4\hardware\tools\avr\bin Im Verzeichnis: arduino-1.0.4\hardware\arduino\bootloaders\atmega findest du nun diverse Bootloader für diverse Controller (kann man am Dateinamen erkennen) Solltest du nur kleinere Programme verwenden wollen, gibt es einen speziellen Bootloader für den Atmega8 unter arduino-1.0.4\hardware\arduino\bootloaders\atmega8 ------------------------------------------------------------------ Nun mußt du eine Console ("DOS-Fenster") aufmachen ... in das Verzeichnis c:\arduinotest wechseln und mittels AVRDUDE den gewünschten Bootloader in den Controller schieben. Leider hab ich auf mein "Spielequipment" im Moment nicht zur Verfügung und kann dir den Aufruf nicht posten. Hier solltest du dich im Netz schlau machen welche AVRDUDE Kommandos es gibt (hier auf Mikrocontroller.Net gibts auch was sehr gutes). Um den Bootloader zu aktivieren mußt du auch die Fuses korrekt setzen (weiß ich jetzt im Moment auch nicht auswendig). ------------------------------------------------------------------- Nachdem du den Controller geflasht hast, benötigst du noch eine Pegelanpassung an deinen Microcontroller zur seriellen Schnittstelle .... und fortan kannst du den blanken Controller programmieren, als ob er eine Arduinoboard wäre !!!!! Wenn du magst, schreib ich dir nächste Woche eine ausführliche Anleitung dazu (ich glaube ich habe schon einmal für jemanden eine Batchdatei gemacht die sich "Clonearduino" nannte und den Aufruf von AVRDUDE "automatisierte" Gute Nacht, ich werde noch eine qualmen und dann schlafen gehen ! Ralph
Ralph S. schrieb: > Jetzt wird es etwas komplizierter: > > ... > wechseln und mittels AVRDUDE den gewünschten Bootloader in den > Controller schieben. Sehr gute anleitung, ich würde auch empfehlen das so zu machen weil man eine ganze Menge dabei lernt. Trotzdem will ich eine Alternative nicht verschweigen: es gibt auch Controller mit bereits geflashten Arduino-Bootloader einzeln, zum beispiel da: https://guloshop.de/shop/Mikrocontroller/ATmega328-mit-Bootloader-fuer-Arduino-Uno::38.html Der ATmega328 ist da mit Bootloader übrigens sogar billiger als der ohne bei csd.
black crawler schrieb: > Der ATmega328 ist da mit Bootloader übrigens sogar billiger als der ohne > bei csd. Bei Guloshop kostet der Atmega328 - mit geflashtem Bootloader 3 Euro - ohne Bootloader 2 Euro Gruß, Ralph
Noch ein weiterer Tipp: Nimm noch einen Nullkraftsockel! So kannst du die Controller leicht tauschen.
Smile und hmmmm... ziemlich heftige Konstruktion, da würde ich eher einen Chip in der Schaltung belassen, der von sich aus Arduino "versteht". Erspart einem auch das permanente Wechseln des Chips, der Chip kann dann halt einfach nur "Arduino". Meine Lehrlinge haben sich hierfür einen "Adapter" (ich mag das so nicht nennen) gebastelt, der das RS-232 Signal in TTL-Pegel wandelt für die Schaltungen, die keine Datenkommunikation mit einem PC benötigen. Andere Schaltungen bekommen den Pegelwandler mit "on Board"... smile die lieben Transistoren und verwenden lieber die als einen MAX232 ... weil das "cooler" aussehen würde. (zu meiner Zeit war es "cool", wenn eine Schaltung mit IC's versehen war, da "meinte" man dann, dass das was "hochtechnisches" sei .... so ändern sich die Zeiten)
Ralph S. schrieb: > Smile und hmmmm... ziemlich heftige Konstruktion, da würde ich eher > einen Chip in der Schaltung belassen, der von sich aus Arduino > "versteht". > Man darf nicht vergessen, hier ist ein Anfänger am Werk, der jetzt erst anfangen will zu löten. Da sind zwei Zif Sockel zum testen ganz praktisch.
Ich hab gerade erst gesehen, dass hier noch mal geschrieben wurde, deshalb die etwas verspätete Antwort. Erst mal vielen Dank für die tolle Anleitung lieber Ralph! Nicht ohne Stolz (hey, ich bin Anfänger ;) ) kann ich aber berichten, dass ich mir genau das seit meinem ursprünglichen Post selbst beigebracht habe. Die Binäruhr liegt erst mal auf Eis, bis ein DS1307 (einem fällt auch immer wieder neues ein...) aus China hier eingetrudelt ist, CSD und Conrad (Bonn) hatten den leider nicht da. Momentan hab ich hier je einen AtMega328P, einen Attiny2313A (mit externem 16Mhz), einen Attiny84A und einen Attiny13A jeweils standalone auf einem Steckbrett, programmiert mit der ARduino IDE + dem AVR ISP MKII. Eine super spannende (und lehrreiche!) Sache, deine Anleitung solltest du ruhig mal hier ins Wiki stellen (ist doch ein Wiki, oder?) das interessiert bestimmt noch andere! black crawler schrieb: > es gibt auch > Controller mit bereits geflashten Arduino-Bootloader einzeln, Ich hab festgestellt, dass man den Bootloader gar nicht braucht, wenn man direkt mit dem ISP programmiert. Die mit vorinstalliertem Bootloader sind natürlich super praktisch, um damit "gehimmelte" µCs der Arduino Boards zu ersetzen. F. Fo schrieb: > Nimm noch einen Nullkraftsockel! Hätte ich mal gewusst, dass es sowas gibt ;-) Ich hab jetzt hier normale IC-Fassungen, damit ist mir einer der ATMegas quer durch den Raum geflogen... Ralph S. schrieb: > zu meiner Zeit war es "cool", wenn eine Schaltung mit IC's versehen > war Ist immer noch cool ;) Viele Grüße Philipp
Autor: Philipp K. (numeriusnegidius) Datum: 11.05.2013 15:59 >Hätte ich mal gewusst, dass es sowas gibt ;-) Ich hab jetzt hier normale >IC-Fassungen, damit ist mir einer der ATMegas quer durch den Raum >geflogen... Eben deswegen und weil man die auch am Anfang mal schnell in den Fingern stecken hat. Noch ein Tipp, bei eBay werden die oft im Fünferpack angeboten. Da solltest du dir für die Zukunft mal welche bestellen. Die werden ja nicht schlecht.
Du kannst den Arduino im Übrigen auch als Programmer benutzen. Ansonsten gibt es bei Ebay auch so LowCost-ISPs für 5 Euro (kA wie verbuggt die sind). Da du ja eine Minimalkonfiguration für den Platinenaufbau willst: http://arduino.cc/en/Main/Standalone Als USB-RS232-Umsetzer entweder deinen Uno anzapfen oder bei Ebay einen Clone mit einem Prolific-Chip nehmen (das fertige Ding ist billiger als ein FT232RL allein... und das SMD-Löten für Anfänger ist doch recht hässlich).
Brater schrieb: > ... oder bei Ebay einen Clone mit einem Prolific-Chip nehmen Bei den Prolific-Chips muss man ggf. aufpassen, dass man welche erwischt, für die es auch Treiber für Win8 gibt. Sonst sitzt man da evtl. in einer Sackgasse. http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41
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.