Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
bausaetze:isp-shield [2016/05/19 09:57]
127.0.0.1 Externe Bearbeitung
bausaetze:isp-shield [2016/11/22 09:39] (aktuell)
Hannes Jochriem
Zeile 1: Zeile 1:
-[float] +[[bausaetze:​isp-shield:​anleitung|-> ​Anleitung]]
-~$ Passende Produkte im Shop: $~ +
-[[http://​www.ehajo.de/​bausätze/​bedrahtete-bausätze/​isp-shield-für-arduino.html|{{http://​www.ehajo.de/​image/​data/​Produktfotos/​isp-shield-fur-arduino-169.JPG|ISP-Shield}}]] +
-[/float] +
- +
-====== ISP-Shield für Arduino ====== +
- +
- +
-===== Stückliste ===== +
- +
-Die Platine sollte in der Reihenfolge der Stückliste aufgelötet werden. +
- +
-^ Anzahl ^ Bezeichnung ^ Wert     ​^ ​       +
-| 3 | Stiftleiste | 20-polig | +
-| 1 | Buchsenleiste | 2x3-polig | +
-| 6 | Widerstand | 470R  (gelb-lila-braun-gold)|  +
-| 1 | Widerstand | 10k (braun-schwarz-orange-gold) | +
-| 2 | Kondensator | 100nF | +
-| 1 | Quarz | 16MHz | +
-| 2 | Kondensator | 22pF | +
-| 1 | IC-Sockel | 28-polig | +
-| 1 | Elektrolytkondensator | 10µF | +
-| 1 | Taster | schwarz | +
-| 1 | LED | rot | +
-| 1 | LED | gelb | +
-| 1 | LED | grün | +
-| 5 | Stiftleiste | 3-polig (von den 20-poligen abgeschnitten) | +
-| 1 | Wannenstecker | 6-polig | +
-| 5 | Jumper | mit Lasche | +
- +
-===== Schaltplan ===== +
- +
-{{:​bausaetze:​programmer-shield-003.pdf|}} +
- +
- +
-===== Bestückplan ===== +
- +
-{{:​bausaetze:​programmer-shield-003-top.png?​direct&​300|}} +
- +
-Eine bebilderte Aufbauanleitung gibt es [[bausaetze:​isp-shield:​bild-aufbau|hier]]. +
- +
-===== Anschlüsse ===== +
- +
-==== Sockel ==== +
- +
-Der 28-polige Sockel bietet durch seine Belegung die Möglichkeit sowohl ATtinys ​ 13/25/45/85 im oberen Bereich, sowie ATmega 8/168/328 aufzunehmen. Für die passenden Jumpersetting ist JP1 und JP2 korrekt zu setzen (Siehe Kapitel [[bausaetze:​isp-shield#​jumper|Jumper]]). +
- +
-==== ISP-Connector ==== +
- +
-Um externe Targets zu programmieren,​ befindet sich ein 6-poliger ISP-Anschluss auf der Platine. Es kann mittels des Jumpers "​TARGET-PWR"​ ausgewählt werden, ob dem externen Target Versorgungsspannung bereitgestellt werden soll oder nicht (Siehe Kapitel [[bausaetze:​isp-shield#​jumper|Jumper]]). +
- +
-===== Leuchtdioden ===== +
- +
-==== HEART ==== +
-Die HEART LED befindet sich am PORTB1 (D9) des Arduino +
- +
-==== ERR ==== +
-Die ERR LED befindet sich am PORTB0 (D8) des Arduino +
- +
-==== PRG ==== +
-Die PRG LED befindet sich am PORTD7 (D7) des Arduino +
- +
-===== Knöpfe ===== +
- +
-==== RESET ==== +
-Der Ziel-Chip des RESET Tasters kann mittels des Jumpers BUTTONMODE selektiert werden (Siehe Kapitel [[bausaetze:​isp-shield#​jumper|Jumper]]). Durch einen kurzen druck wird der selektierte Chip zurückgesetzt. +
- +
-===== Jumper ===== +
- +
-==== AUTORST (ON/OFF) ==== +
-Bei einigen Arduino Boards gibt es Probleme bei der Programmierung des Target aufgrund der Autoreset funktion. Wenn Probleme beim Programmieren des Targets auftreten, kann dieser Jumper auf OFF gesetzt werden. +
- +
-==== BUTTONMODE (MASTER/​SLAVE) ==== +
-Es besteht die Möglichkeit über diesen Jumper das Ziel des integrierten Reset-Tasters zu definieren. Es kann entweder der Target-Chip (SLAVE) oder der MASTER zurückgesetzt werden. +
- +
-==== JP2 (Tiny/Mega bzw. T/M) ==== +
-Aufgrund der unterschiedlichen Pinbelegung zwischen der ATtiny 13/25/45/85 und den ATmega 8/168/328 sollten diese beiden Jumper je nach Chip entweder auf "​Tiny"​ und "​T"​ oder "​Mega"​ und "​M"​ gesteckt werden. +
- +
-==== TARGET-PWR (ON/OFF) ==== +
-Die Stromversorgung über den ISP-Stecker kann mit diesem Jumper ein- und ausgeschaltet werden. +
- +
-===== Anwendung ===== +
- +
-==== AVRISP mit Arduino ==== +
-Um den Arduino als Programmer zu benutzen, muss zuerst ein passender Sketch darauf gespielt werden. Dieser ist zufinden unter "​Datei" ​"​Beispiele"​ > "​ArduinoISP"​. Das Sketch anschließend wie jedes andere Sketch an den Arduino übertragen. +
- +
-Wenn die Übertragung abgeschlossen ist, kann der "​AUTORST"​ Jumper auf OFF gesetzt werden (nur bei einigen Modellen notwendig). +
- +
-Um nun einen neuen Chip über den Arduino zu programmieren,​ gibt es die Möglichkeit dies über die Arduino IDE zu tun oder AVRDUDE direkt zu nutzen: +
- +
- +
-==== Arduino IDE ==== +
-Die IDE kann ganz normal wie sonst verwendet werden. Es sind nur zwei kleine Punkte zu beachen. Zuerst muss der Programmer auf "​Arduino als ISP" eingestellt werden. Dieser Punkt ist zu finden unter "​Werkzeuge"​ > "​Progammer"​ > "​Arduino als ISP". Wenn dies gesetzt ist, ist der einzige Unterschied in der Verwendung, dass zum Hochladen der Software nicht der normale "​Hochladen"​ Knopf verwendet werden darf, sondern "​Hochladen mit Programmer"​ (STRG + UMSCHALT + U). +
- +
-==== AVRDUDE ==== +
-Wenn man mit AVRDUDE hochladen will, dann kann z.B. folgender Befehl verwendet werden: +
-=== Windows === +
-  avrdude -P COM1 -b 19200 -c avrisp […] +
- +
-== *nix == +
-  avrdude -P /​dev/​tty.usbserial -b 19200 -c avrisp […] +
- +
-Der Port muss durch das jeweilige Gerät ersetzt werden. Passende Parameter für die jeweilige Aufgabe sind dem Befehl am Ende anzufügen +
- +
-==== OptiLoader ==== +
-OptiLoader ist ein Sketch um Massenupdates von Arduino-Boards durchzuführen und den Arduino Bootloader aufzuspielen. Der Source ist unter github.com/​WestfW/​OptiLoader zu finden. +
-Das Shield kann für diesen Zweck problemlos verwendet werden. Es sind aber einige Dinge zu beachten: +
-1. Die LEDs führen nicht ihre gewohnten/​bezeichneten Aufgaben aus +
-a. HEART leuchtet während des Programmiervorgangs dauerhaft +
-b. ERR und PRG leuchten nie +
-2. OptiLoader benutzt eine fragwürdige Methode um den Target-Chip mit Energie zu versorgen. Dies wird vom Shield nicht unterstützt. Der Sockel steht dauerhaft unter Spannung+