Hallo, ich brauche eine Kaufberatung. Ich habe mir vor einiger Zeit das Arduino Uno Board gekauft und mir eine Versuchsschaltung für ein Photometer gebaut. Die möchte ich jetzt gern auf einer Platine selbst nachlöten, damit ich diese Schaltung unabhängig verwenden kann. Beim Versuch mir passende Controller bei z. B. Conrad zu bestellen bin ich etwas verwirrt über die Vielzahl der Typen, Bauformen. Ich suche einen gleichen Microcontroller, wie der der verbaut ist (http://www.watterott.com/de/Arduino-Uno) oder besser einen baugleichen mit weniger Speicher (8K RAM sollten reichen). Meine Idee ist nämlich, die Programmierung über das Arduino Board vorzunehmen und den Chip dann einfach auf meine Platine zu löten. Könnt ihr mir einen Link geben auf einen mC, mit dem ich diese Idee umsetzen kann? Ich bin mir bei der Vielzahl der abweichenden Bezeichnungen nicht sicher, was ich temporär in mein Board stecken kann ohne das mC Programm zu ändern. Ist das z. B. der im Uno verwendete Controller? http://www.conrad.de/ce/de/product/155197/MICROCONTR-ATMEGA328P-PU-8BIT-PDIP-28/SHOP_AREA_29142&promotionareaSearchDetail=005 Vielen Dank für eure Hilfe! Frank
Ist zwar ein anderer Anbieter aber der richtige Controller. https://www.it-wns.de/themes/kategorie/detail.php?artikelid=539&source=2 Gruß Michael
Hallo Michael, vielen Dank für die schnelle Antwort! Also ist der von mir verlinkte von Conrad auch ok. Dein Angebot ist deutlich günstiger, aber ich habe mir bei Conrad gerade eine Grundausstattung an Bauteilen zusammengestellt, weswegen ich die mC nicht woanders bestellen möchte. Also könnte ich den von mir verlinkten Controller verwenden? (Auch wenn er für meine erste Schaltung sicherlich etwas "oversized" ist)? Grüße Frank
Frank R. schrieb: > Ich suche einen gleichen Microcontroller, wie der der verbaut ist Das ist der Atmega 328p. Frank R. schrieb: > http://www.conrad.de/ce/de/product/155197/MICROCON... Genau der. Aber kaufen solltest du den woanders. Es sei denn, du druckst dein Geld selber. Du kannst für die Anwendung auch einen anderen Controller aus der gleichen Baureihe verwenden. Dabei handelt es um die Atmega 48/88/168/328. Diese 4 Conroller sind sozusagen Geschwister. Andere AVRs z.B. der Atmega8 ist ein Cousin von denen. Je nach Verwandschaftsgrad müssen beim Code mehr oder weniger umfangreiche Änderungen vorgenommen werden. Innerhalb der Geschwister sind es meistens gar keine. Was aber in JEDEM FALLE gemacht werden muß, ist, den Code mit den Einstellungen für den richtigen Controller zu compilieren. Wenn du die für den 328er erzeugten Binärdaten auf den 168er flashst, kann das noch gut gehen, sofern er denn reinpasst. Beim 48er oder 88er wird es nicht funktionieren. Dein nächstes Problem ist allerdings, daß der auf dem Arduino eingesetzte Controller mit einem darauf installierten Bootloader geflasht wird. Das bedeutet, daß du einen fabrikneuen Controller, egal welchen, mit den normalen Arduino-Bordmitteln nicht benutzen kannst. Du musst vorher den Bootloader auf den neuen Controller flashen. Und da passt der vorhandene Arduino Bootloader NUR für den 328. Für die anderen 3 aus der Reihe brauchst du einen angepassten Bootloader. Einer der wenigen gravierenden Unterschiede zwischen den "Geschwistern". Also das Arduino-Board alleine reicht dir nicht. Du brauchst zwingend einen ISP-Prorammer, z.B. AVRISPmkII. Oder du bastelst dir so einen Programmer mit dem Arduino-Board. Anleitungen gibt es dafür. Damit kannst du dann den vorhandenen Bootloader auf einen neuen 328er flashen. Auf die anderen 3 geht das nicht, da dieser nur als Hex-File verfügbar ist und du den Quelltext bräuchtest, um diesen auf die anderen 3, genau genommen 2 (88/168) anzupassen und neu zu compilieren. Man könnte auch sagen, daß du mit deinem Vorhaben die Grenzen der Arduino-Welt erreicht bzw. überschritten hast. mfg.
> Du brauchst zwingend einen ISP-Prorammer... So ein Quatsch! Er kann sehr wohl ohne einen zusätzlichen Brenner seinen Bootloader flashen. http://www.geocities.co.jp/arduino_diecimila/bootloader/index_en.html > Man könnte auch sagen, daß du mit deinem Vorhaben die Grenzen der > Arduino-Welt erreicht bzw. überschritten hast. @Thomas Eckmann Ich denke Du hast noch keine komplexen Projekte mit Arduino gemacht. Mal nen Tipp an Dich http://www.youtube.com/watch?v=vNc6mIwH9lI&NR=1
Mike schrieb: > So ein Quatsch! Thomas Eckmann schrieb: > Oder du bastelst dir so einen > Programmer mit dem Arduino-Board. Anleitungen gibt es dafür. Erst lesen, dann schreiben. mfg. Mike schrieb: > Ich denke Du hast noch keine komplexen Projekte mit Arduino gemacht. Natürlich nicht. Um die Komplexität geht es hier aber nicht. Mike schrieb: > Mal nen Tipp an Dich http://www.youtube.com/watch?v=vNc6mIwH9lI&NR=1 Nun werd' mal nicht unverschämt. mfg.
Mike schrieb: > Ich denke Du hast noch keine komplexen Projekte mit Arduino gemacht. > > Mal nen Tipp an Dich http://www.youtube.com/watch?v=vNc6mIwH9lI&NR=1 Das ist aber toll. Inwieweit ist das ein komplexes Projekt mit dem Arduino? Hat der das Video gerendert? Oder die Sprachsynthese gemacht? Oder willst Du einfach nur provozieren?
Hallo, danke für die Hinweise, das Thema Bootloader hatte ich übersehen. Ich glaube, ich fange doch erstmal an mir einen ISP zu basteln. (Das mit dem Photometer ist eh nur ein Lernprojekt, wenn auch ein nützliches, da ich damit meine Wasserwerte im Aquarium kontrollieren könnte). Vielleicht lösche ich meinen Einkaufskorb bei Conrad nochmal und nehme einen anderen Laden. Manche Dinge sind dort recht teuer. Bei einer Diode von einem Cent ist das egal, aber bei den Controllern merkt man den Unterschied doch. Grüße Frank
Hallo Frank, ich verwende einen Arduino Duemilanove als ISP mit dem ArduinoISP-Sketch. Zur Programmierung verwende ich avrdude. Das funktioniert einwandfrei, wenn man verhindert, dass der Arduino beim Start von avrdude einen Reset ausführt. Dazu verbinde ich die Reset-Leitung des Arduino mit einem 120 Ohm Pullup-Widerstand gegen VCC. Genaueres hier: http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection Damit kann man dann Bootloader oder auch eigene Anwendungen ohne Bootloader auf einen anderen ATmega (oder ATtiny) flashen. Das kann auch ein Hexfile sein, das durch die Arduino-IDE (bzw. den dort integrierten avr-gcc) erstellt wurde. Du kannst so den Platz für einen Bootloader sparen und einen kleineren ATmega verwenden.
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.