Arduino UNO nachbauen (Platine,Brennen...) Hilfe/Infos/Tipps gesucht

Hallo,

nachdem das ein oder andere Projekt mit Arduino verwirklicht wurde möchte ich nun einem "Problem" was ich auf mich zukommen sehe zuvor kommen. Wenn ich für jedes Projekt was ich mit einem Arduino mache ein extra Board kaufen muss um das zu verbauen ist mir das zu teuer. Ich habe vor mir eine Platine zu erstellen - quasi eine Arduino-Kopie. Da ich auf dem Gebiet Anfänger bin habe ich als Objekt der kopierde das Arduino UNO Board ausgesucht. Schaltplan und Bauteilliste habe ich mir bereits im Internet zusammengesucht. Ich will in diesem Projekt lernen wie ein Atmega 328 aufgebaut ist, wie er arbeitet und wie man ihn beschaltet (alles in einem bestimmten Rahmen), zudem möchte ich mich dem ganzen "drumherum" beschäftigen. Was ich genau damit meine kann ich nicht genau beschreiben weil ichs nicht besser weiß. Was ich meine ist zum Beispiel: Wenn ich mir jetzt das Board nachgebaut habe, wir denken mal es wäre schon fertig :), dann würde ich bei conrad oder sonstwo hingehen und mir einen Atmega 328 bestellen und dann feststellen es geht nicht weil er kein bereits "vorinstalliertes" Programm hat (Optiboot). Das sind solche "Insider Hürden" die mir nicht bekannt sind und wo ich fragen wollte ob ihr mir hier vorab diese Hürden nennen könnt, damit ich keine Fehler mache. Ich hab mich vorab auch bereits erkundigt und bin auf ein Paar Punkte gestoßen:

  1. Ich möchte gerne auch einen Standart Atmega 328 kaufen können und ihm selber mit allen benötigten Programmen brennen. Was brauche ich
    hierzu? Das Teil was ich da brauche, ich komme nicht auf den Namen, würde ich gerne nachbauen. Habt ihr da Erfahrungen, ist das machbar,
    funktioniert das?

  2. Um die Kosten für die Boards zu begrenzen würde ich gerne die USB Schnittstelle weglassen. Ich habe gedacht eine solche USB Schnittstelle
    nachzubauen und extern bei Bedarf mit dem Controller zu verbinden, zum Beispiel um Software aufzuspielen

  3. Da mir das Thema Mikrocontroller sehr Spaß macht aber ich die "Scheuklappen" nicht zu sehr auf die Arduino IDE gerichtet zu haben würde ich
    mich in Zukunft auch gerne mit anderen Programmen zum Programmieren von Atmega 328 und co. beschäftigen. Ich würde gerne ein
    Programm was in AVR Studio geschrieben wurde auf das nachgebaute Board übertragen. Was brauche ich dazu? Geht das so? Ist das zu
    empfehlen?

Ich weiß dass das einige Fragen auf einmal sind, ich würde mich aber freuen wenn der eine oder andere Zeit findet sie mir zu beantworten.
PS: Mir geht es nicht darum das jemand das Projekt für mich macht, mir geht es nur um das Sammeln und Verstehen von so viel wie möglich Informationen zu diesem Thema.

Gruß,
Tobi

Das einfachste ist einen Arduino Mini oder PRO mini zu nehmen und ein USB-Interface.
Der Vorteil ist daß das Teil funktioniert und Du keine Arbeit mit Platinenbestellung und bestückung hast.
Grüße Uwe

so einen china programmer

damit kannste den clone programmieren, du mußt nur 6 pin bzw 10 auf dem board unterbringen (isp). dafür mußt du in der software bestimmt "dinge" einstellen.

desweiteren brauchst du einen quarz und ein paar kondensatoren

https://www.google.de/search?q=stripboard+arduino&hl=de&safe=off&tbo=u&tbm=isch&source=univ&sa=X&ei=6XLsUKS8NsbVsga3ioGAAg&ved=0CDMQsAQ&biw=1920&bih=953

uwefed:
Das einfachste ist einen Arduino Mini oder PRO mini zu nehmen und ein USB-Interface.
Der Vorteil ist daß das Teil funktioniert und Du keine Arbeit mit Platinenbestellung und bestückung hast.
Grüße Uwe

Das empfehle ich dir auch. Die Nerven und den Zeitaufwand den du bei der Selbstentwicklung investieren musst steht in keinem Verhältnis zum Preis der Mini.

Für das Atmel Studio brauchst du einen ISP. Kann auch sein das
es nicht die gleichen Befehle wie in der Arduino IDE verwendet.

Addi

Einen Nano-clone gibt es in der Bucht schon ab 7€, billiger wirste das wahrscheinlich selbst nicht hinbekommen. Der hat auch einen usb-Anschluss incl. programmer,
ergo nur ein Micro-usbkabel anschließen und gut ist.

Für einen Selbstbau sprechen natürlich die Erfahrungen, die man dabei macht. Wenn es allerdings um hauptsächlich ums Geld geht, ist man mit einer Nanokopie bestens bedient.

hey,

Für einen Selbstbau sprechen natürlich die Erfahrungen, die man dabei macht. Wenn es allerdings um hauptsächlich ums Geld geht, ist man mit einer Nanokopie bestens bedient.

Im Vordergrund steht für mich absolut das sammeln von Erfahrungen und das Erlernen von Neuem im Bereich Mikrocontrollerbeschaltung und Programmierung.Ein Nano möchte ich nicht kaufen/nachbauen ich möchte einen UNO haben,einfach weil ich mit ihm mehr anfangen kann(ports,...).

Also ich fasse mal zusammen was ich bis jetzt an Infos mitgenommen/Vernommen habe:

  1. Um mit Atmel´s AVR Studio den Controller zu beschreiben benötige ich einen ISP. Ist bei diesem In-System-Programmer etwas besonderes zu
    beachten? Gibt es da verschiedene Typen, bzw. welchen Typ würde ich brauchen und warum? Ist der ISP nur die Schnittstelle oder gibt es da
    auch Hardwaretechnisch noch weiteres zu beachten, also nicht nur Leitungen. Weil ich was von ISP Connector gelesen habe? Wenn ich mir den Link hier:

USBASP online kaufen | eBay

anschaue beantwortet sich die Frage ja schon fast von selbst. Sry für meine vielen Dummen Fragen aber ich bin auf dem Gebiet mehr als nur blutiger Anfänger, das geht schon bis auf´n Knochen... Also diese Hardware, der sogenannte ISP Programmer ermöglicht es mir Software auf mein Arduino Klon zu überschreiben / brennen? Das wird an der ICSP Schnittstelle angeschlossen? Und über den ISP Programmer übertrage ich dann nur diese(s) Optiboot oder alle Programme die ich in der Arduino IDE, bzw. im AVR Studio geschrieben habe? Weil das würde mir ja dann den USB Port ersetzen? Oder liege ich da falsch?

Vielen Dank für die gute Unterstützung!

Gruß,
Tobi

Um den Arduino UNO nachzubauen besteht ein Problem. Der ATmega16U2 ist in einem sehr kleinen Gehäuße das man als Laie mit Normalausrüstung nicht löten kann (QFN32 (5x5mm) / TQFP32 packages)

Grüße Uwe

Ich kann dir nur dazu raten, mach die Erfahrung. Aber du musst damit rechnen, dass du nicht billiger wegkommst und eventuell sogar Lehrgeld zahlen musst. Ich kann aber aus eigener Erfahrung sagen: das Ergebnis entschädigt. :wink:

Du solltest aber erstmal klein anfangen und dir die Grundschaltung eines µC (hier Atmega) bzw. Arduinos anzuschauen:

Du versuchst also am besten erstmal einen Arduino auf dem Breadboard zum Laufen zu bekommen.

Eine Anleitung für den Bootloader (da du ja schon Arduinos hast) findest du hier:

Dort schaust du dir mal das Bild ganz unten rechts an.

Wenn du beide Schritte geschafft hast (Schaltung aufs Breadboard aufbauen und Bootloader brennen) hast du quasi schon die halbe Miete.
Du weißt nun, was du für einen Arduino brauchst und welche Pins du später rausführen musst, um den Bootloader flashen zu können (wenn du einen Atmega in DIP-Bauweise nimmst, kannst du den Bootloader weiterhin auf dem Breadboard brennen; beim TQFP wird es da schwierig; hier musst du die Pins rausführen).

Da du nun einen lauffähigen Arduino haben solltest, kannst du dich etwas um die Peripherie kümmern.
Das bedeutet Datenblätter wälzen. Dort findest du Hinweise für die Beschaltung deiner Peripherie.
Das erste, worum du dich dann kümmern solltest, wäre die Stromversorgung. Läuft deine Schaltung über ein Netzteil, wirst du wohl einen Spannungsregler (Datenblatt gleich mal anschauen z.B. 7805 oder LM1117) brauchen. Dieser braucht nun meißt zwei Kondensatoren am Ausgang und zwei am Eingang. Warum das so ist, gehört bei der Eigenentwicklung nun zu deinen Aufgaben (auch das rausfinden); also recherchieren und/oder fragen.
Was kleines zum Lesen:
http://www.strippenstrolch.de/1-2-11-der-spannungsregler-78xx.html

Dann geht es weiter zu Blockkondensatoren, Freilaufdioden, trennen von digitalen und analogen Signalen und und und...

Und wenn dich das nicht erschreckt hat, leg einfach drauf los. Plane vorher am besten mit deinen Arduino-Boards und mit dem Breadboard. Und wenn du der meinung bist, du kannst die Schaltung jetzt auf eine Platine bringen, versuche es. Zeige deinen Schaltplan und das dazugehörige Board aber am besten nochmal jemanden (z.B. im Forum posten). Dann kann man nochmal drüber schauen und dir Tipps geben, falls du mal etwas übersehen hast. Und das wird passieren, da niemand von dir erwarten kann, dass du jetzt erst jahrelang liest und dich dann daran wagst. Probiere es und höre auf das, was dir andere noch zusätzlich sagen. Dann wird das schon! :slight_smile:

Ich mache das auch noch nicht lange mit eigenen Boards und bin auch noch auf Hilfe angewiesen aber es macht Spaß und manchmal ist eine eigene Platine sogar sinnvoller als ein Arduino-Board.

Viele Grüße

Dominik

Edit: Da gerade noch jemand geschrieben hat:
TQFP ist mit einer einigermaßen ruhigen Hand noch ohne Probleme lötbar, sofern man schonmal gelötet hat.
Die Verbindung lässt sich sonst auch anders realisieren. Dazu nehme man z.B. einen USB-BUB II von Modern Devices. Dazu schaut man sich wieder ein Tutorial für die richtigen Pins an und fertig. Oder man baut sich die serielle Schnittstelle selber per RS232 auf.

hi,

sieh Dir das mal an:

http://erik-bartmann.de/programmierung/downloads2.html

gruß stefan

Hi,
Also einen "Arduino UNO nachbauen" finde ich für ziemlichen overkill (es sei denn, man möchte das Entwicklungs-Erfolgserlebnis haben).

Ich persönlich entwickle meine "Spielereien" mit einem Arduino Uno und einem Breadboard. Wenn die ganze Chose dann sowohl Programm- als auch Hardwaretechnisch funktioniert (so tut wie's soll XD) zeichne ich mir einen (entgültigen) schicken Schaltplan, mach ein Platinchen draus und gut ist.

Dabei haben alle meine Atmegas immer einen Bootloader (kann man ja einfach mittels diverser Anleitungen, z.B. dieser selber erledigen) und für spätere evtl. Programmänderungen die entsprechenden Pins rausgeführt um mittels eines FTDI-Adapters Programme einspielen zu können.

Eine interessante Sache ist vielleicht auch das Snugboard bzw. dessen Version2 (auch auf diesen Seiten zu finden) ein minimalistischer "Arduino" mit allem nötigen anwendungsfreundlich nach aussen geführt.

Grüßle Bernd

hey,

Vielen Dank für die vielen Infos und Empfehlungen. Ich werde mich erstmal durch die einzelnen Links suchen und mal au einem Breatboard loslegen.

Gruß,
Tobi

Hallo Tobias,

wenn Du wirklich von Grundauf alles Lernen willst, dann Empfehle ich Dir hier -> AVR-Tutorial – Mikrocontroller.net und hier -> AVR-GCC-Tutorial – Mikrocontroller.net rein zu schauen. Und Löse dich von "Arduino", denn die Hardware ist auch nichts anderes als Standard. Nur halt Fertig.

Für erste Versuche brauchst Du nur:

1 Breadboard
1 ein Atmega (48, 88, 168, 328) egal
1 Abblockkondesator (100nF)
1 ISP-Programmer (ich Empfehle den "AVR-USB Stick" z.B. von http://www.ehajo.de/Bausaetze/AVR-ISP-Stick?source=1&refertype=8

optional nach Belieben:
Taster
LED + Vorwiderstand

An Software:
WinAVR für Windows
Eclipse + AVRPlugin für Mac und Linux

Alles Freeware.

Das Berühmte "Blinki" sähe im normalen "C" so aus:

#include <avr/io.h>
#include <util/delay.h>

#define LED_PORT PORTD
#define LED_PIN	 PD6
#define LED_ON	LED_PORT |= (1 << LED_PIN)
#define LED_OFF	LED_PORT &=	~(1 << LED_PIN)

void init (void)
{
	// Initialisierung
	DDRD = (1 << LED_PIN);
	LED_OFF;
}

int main (void)
{
	init();

	while (1)
	{
		LED_ON;
		_delay_ms(500);
		LED_OFF;
		_delay_ms(500);
	}

	return 0;
}

Auch nicht SO viel anders.

Gruß Toni

hey,

Danke für die Infos.

Gruß,
Tobi

Da ich jetzt schon ein bisschen Erfahrung mit dem Nachbau sammeln konnte, möchte ich noch ein paar Zeilen zu den vorigen Kommentaren hinzufügen:

Bauteile für Minimal:

  • Atmega328P(!)-PU (MIT Bootloader auf Ebay um ein paar Euro zu bekommen, spart ne Menge Stress am Anfang, danach kannste ja auf Tiny oder Atmega1284 umsteigen und mit ISP Programmierung starten)
    Beispiel: ATmega328P-PU with Optiboot Arduino UNO bootloader | eBay

  • 16MHZ Quarz (bitte gleich mehrere bestellen, ist Centware und ich hatte schon einen kaputten, hat mir ne Menge Zeit gekostet)

  • 2x 22pf Ceramic Caps (auch gleich mehrere bestellen)

  • ein Haufen 100nf Ceramic Caps (braucht man dauernd)

  • alle Bauteile für die Resetschaltung

Zum Aufbau: Würde die Standard Breadboard bzw. Vero(Strip)board nehmen, die es hundertfach im Netz gibt, mit folgenden

Ergänzungen:
100nf Cap zwischen VCC und GND
1M Widerstand zwischen den Quarzbeinchen
Quarz+22pf Caps + GND so ENG wie möglich!
Dient alles zur weiteren Stabilisierung (ist auch im UNO Bauplan vorhanden)

Wegen des USB Kommunikation würd ich mir keine weiteren Gedanken machen und einfach den bestellen:

5 Euro, versandkosten- + sorgenfrei :slight_smile: wird dann über TX,RX,Reset, VCC und GND verbunden. Das Teil (also 1 Stück) wird dann für jeden Standalone für die Programmierung verwendet.

Wenn es dir um einen kostengünstigen Ersatz geht, dann ist wohl das Angebot unschlagbar (brauchst aber auch den FTDI Basic)

LG
Matthias

madias:
Da ich jetzt schon ein bisschen Erfahrung mit dem Nachbau sammeln konnte, möchte ich noch ein paar Zeilen zu den vorigen Kommentaren hinzufügen:

Bauteile für Minimal:

Ich würd den 328er eher da kaufen: ATmega328P Arduino Uno - guloshop
Da musst Du nicht solange darauf warten und ist auch noch günstiger.

...gut, den Shop kannte ich noch nicht.
Hab schon in anderen Threads geschrieben, dass ich aus AT bin, d.h. gerade aus DE verlangen die tw. Phantasiepreise für Versand. Ich gebe immer Ebay-Beispiele, die versandkostenfrei sind.
Der Shop selbst klingt interessant, ...und den 1284 um 5 Euro ist neuer Rekord :slight_smile: Schade, dass es bei den Preisen (die eigentlich bei allen Chips unschlagbar sind) nur sowenig Sortiment gibt, macht Laune auf mehr!

LG
Matthias

Wenn du aus Östereich bist kannst du hier einkaufen.