Arduino Leonardo als ISP: 7 Schritte

Arduino Leonardo als ISP: 7 Schritte

Inhaltsverzeichnis:

Anonim

Der Leonardo war mein erster Arduino, ich habe ihn gekauft, weil er native USB-Fähigkeiten hat. Nachdem ich mit Arduino experimentiert hatte, entschied ich mich, von meinem Arduino Leonardo auf einen eigenständigen Atmega328p oder für kleinere Projekte auf einen Mikrocontroller aus der Attiny-Familie zu migrieren.

Nach einigen Recherchen fand ich diesen Leitfaden von PeterVH:

Nach mehreren Fehlversuchen konnte ich den Bootloader brennen und Skizzen erfolgreich hochladen und wollte dies mit diesem Instructable teilen.

Haftungsausschluss

Ich kann nicht für Schäden verantwortlich gemacht werden, die an Ihnen oder Ihren Geräten während der Befolgung der auf dieser Seite beschriebenen Verfahren auftreten können. Außerdem gebe ich keinerlei Garantie für die Richtigkeit und Verwendbarkeit der auf dieser Anleitung enthaltenen Informationen. Bitte beachten Sie jedoch, dass diese Verfahren in meinem Fall ohne Schäden oder Probleme funktioniert haben.

Zubehör:

Schritt 1: Materialien

- Arduino Leonardo (mit USB-Kabel)

- Ein Computer (alle Schritte basieren auf einem Computer, auf dem Windows ausgeführt wird)

- Leitungen

- Ziel Atmel Mikrocontroller

Schritt 2: Vorbereiten des Leonardo

Ich gehe davon aus, dass Sie die IDE bereits installiert und konfiguriert haben und bereits Skizzen hochgeladen haben (falls nicht: http: //arduino.cc/en/Guide/HomePage).

1- Öffnen Sie Arduino IDE

2- Öffnen Sie die ArduinoISP-Skizze (Datei / Beispiele / ArduinoISP)

3- Ändern Sie die folgenden Zeilen (siehe Bild 1):

#define RESET SS TO #define RESET 10

#define LED_HB 9 TO #define LED_HB 13

(Wir möchten den digitalen Pin 10 verwenden, um das Ziel zurückzusetzen, und wir setzen die Herzschlag-LED auf Pin 13.)

4- Speichern Sie die Skizze als LeonardoISP (damit du es später benutzen kannst)

5- Wir wählen Arduino Leonardo (Tools / Boards / Arduino Leonardo) und den entsprechenden seriellen Port (Tools / Serial Port / COM **)

5- Hochladen

Wenn die Skizze korrekt hochgeladen wurde, wird die integrierte LED (die mit L gekennzeichnete LED) eine Heartbeat-Sequenz ausführen.

Jetzt in Ihrem Arduino IDE-Ordner:

1- Erstellen Sie einen neuen Ordner in "Hardware" mit dem Namen leofix

2- Öffnen Sie einen Texteditor und fügen Sie diesen Code ein (Bild 2):

arduinoispleo.name = Arduino als ISP (Leonardo)

arduinoispleo.communication = serial

arduinoispleo.protocol = arduino

arduinoispleo.speed = 19200

Speichern Sie die Datei als programmers.txt (siehe Bild 3)

Als nächstes verbinden wir einige Drähte mit unserem Leonardo (Bild 4):

Digital Pin 10,1 (TX), 0 (RX)

ICSP MISO, 5 V, SCK, MOSI, GND (siehe 6-polige Pinbelegung in Bild 5)

Schritt 3: Ziel-Atmel-Mikrocontroller 1: Atmega328p (Materialien)

Die Schritte mit dem Atmega328 können für Atmega168 und Atmega8 verwendet werden (nicht getestet)

Du brauchst das:

(Quelle:

Für externe 16-MHz-Kristallkonfiguration:

-Atmega328p

-10k Ohm Widerstand (ich habe 22K verwendet) x1

-16 MHz Taktquarz x1

- 22 pF Kondensatoren x2

(oder Sie könnten einfach eines dieser Kits kaufen, wie ich es getan habe:

Virtuabotix Bareduino - Mindestens 16 MHz Arduino Kit

Virtuabotix Bareduino Plus-Arduino-kompatibler Mikrocontroller mit Leistungsregler

Beide werden als Duemilanove gebootet, so dass Sie einen Schritt speichern)

Für die Konfiguration der minimalen Schaltung (Eliminierung der externen Uhr):

-Atmega328p x1

Schritt 4: Target Atmel Microcontroller 1: Atmega328p (zusammenbauen)

Für externe 16-MHz-Kristallkonfiguration:

Siehe Bild 1

Sie können auch dieser Anleitung folgen:

www.virtuabotix.com/product-bareduino328-barebones-microcontroller-guide/

Für die Konfiguration der minimalen Schaltung (Eliminierung der externen Uhr):

Platziere den Atmega nur auf deinem Brett (Bild 2)

Bild 3 und 4 --- Atmega328 mit externem 16-MHz-Kristall

Bild 5 Atmega328 Minimalschaltung

Schritt 5: Ziel-Atmel-Mikrocontroller 1: Atmega328p (Brennen des Bootloaders und Hochladen von Skizzen)

Für externe 16-MHz-Quarze und minimale Schaltkreiskonfiguration:

1- Schließen Sie die Drähte vom Leonardo an den atmega328 an (bitte schauen Sie sich die Pinbelegung des atmega328 an, die bei atmega168 identisch ist - Abbildung 1):

Atmega328 Arduino Leonardo

(im bild 1 pins auf schwarz) (Bild 2-6-poliger ICSP)

RX Pin 2 ------------------------------------- Digital Pin 0

TX Pin 3 ------------------------------------- Digital Pin 1

MISO Pin 18 ----------------------------------- ICSP Pin MISO

MOSI-Pin 17 ------------------------------- ICSP-Pin MOSI

SCK-Pin 19 ------------------------------- ICSP-Pin SCK

RESET Pin1 --------------------------------- Digital Pin 10

Und power pins 5 v und boden.

Siehe Bilder 3 und 4 für das Endergebnis

Burning Bootloader (wenn Sie den Bareduino gekauft haben oder einen Atmega328-Boot verwenden, überspringen Sie diesen Schritt)

********* WICHTIG: zusätzlicher Schritt für minimale Schaltungskonfiguration *********

1- Gehen Sie zu http://arduino.cc/en/Tutorial/ArduinoToBreadboard und laden Sie die Datei Breadboard.zip herunter

2- Erstellen Sie einen "Hardware" -Unterordner in Ihrem Arduino-Skizzenbuchordner (dessen Speicherort Sie im Dialogfeld "Arduino-Einstellungen" finden). Wenn Sie zuvor die Unterstützung für zusätzliche Hardwarekonfiguration installiert haben, befindet sich möglicherweise bereits ein Ordner "Hardware" in Ihrem Skizzenbuch.

3-Verschieben Sie den Ordner "Steckbrett" aus dem ZIP-Archiv in den Unterordner "Hardware" Ihres Arduino-Skizzenbuchs.

4-Starten Sie die Arduino-Software neu.

5-Sie sollten "ATmega328 auf einem Steckbrett (8 MHz interner Takt)" im Menü Tools> Board sehen.

**************************************

1- Überprüfen Sie die Verbindungen erneut

2- Wähle dein Board:

Atmega328 mit externem 16-MHz-Kristall ----> Arduino Duemilanove mit ATmega328

Atmega Minimalschaltung ohne externen Kristall -----> ATmega328 auf einem Steckbrett (8 MHz interner Takt)

3- Die serielle Schnittstelle sollte mit Arduino Leonardo identisch sein

4- Wählen Sie Arduino als ISP (Leonardo) in Programmer

5- Wählen Sie Bootloader brennen im Menü Extras

6- Wenn Sie diese Nachricht erhalten: Fertig mit dem Brennen des Bootloaders Erfolg! (siehe Bilder 6 und 8)

Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie die Verbindungen nacheinander und wiederholen Sie den Vorgang.

Laden Sie eine Skizze hoch

1- Verschieben Sie Ihre Verbindungen nicht

2- Wählen Sie eine Skizze (siehe Bild 1, Arduino-Pin-Konfiguration in rot)

3- Benutzen Upload mit Programmierer aus dem Menü Datei, Erledigt! (Bild 9-klassisches Blinken)

Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie die Verbindungen nacheinander und wiederholen Sie den Vorgang.

Schritt 6: Target Atmel Microcontroller 2: ATtiny84

Diese Anweisungen gelten nicht nur für den ATiny84, sondern sollten auch für Attiny45, Attiny85, Attiny44 und Attiny84 mit dem High-Low Tech Core sowie für ATtiny84 (84/44/24), ATtiny85 (85/45/25) und ATtiny2313 funktionieren (4313) mit dem Arduino-Tiny Core, aber schließlich ist der Prozess der gleiche.

1- Installieren Sie die Software-Unterstützung für die Arduino IDE von dem Kern, den Sie ausgewählt haben.

2- Stecken Sie die Kabel zwischen (RX, TX, falls verfügbar) MISO, MOSI, SCK, RESET, 5V und GND des ATtiny (suchen Sie nach der Pinbelegung im Atmel-Datenblatt) und Ihrem Arduino Leonardo.

HINWEIS: Der RESET-Pin für den Leonardo ist der digitale Pin 10

3- Öffnen Sie eine Skizze

4-Wählen Sie die entsprechende Karte. In meinem Fall verwende ich den High-Low Tech Core Attiny84 (interne 8MHz Uhr).

5- Wählen Sie Arduino als ISP (Leonardo) in Programmer.

6- Verwenden Upload mit Programmierer aus dem Menü Datei.

Wichtig: Einige Chips müssen beim Verwenden des Arduino-Tiny Core gebootet werden. In diesem Fall verwenden Brennen Sie den Bootloader bevor Sie eine Skizze hochladen.

Wichtig ist auch, dass die Kerne unterschiedliche Pin-Konfigurationen verwenden. Beachten Sie beim Erstellen einer Skizze deren Dokumentation.

Beispiel: Bild 2 ist die Pin-Konfiguration für ATtiny84 aus dem High-Low-Tech-Core und Bild 3 aus dem Arduino-Tiny-Core.

Schritt 7: Danke!

Dies ist meine erste Instructable, also sind Kommentare, Vorschläge, Kritik willkommen.