- Erforderliche Komponenten
- Pin-Diagramm von Atmega328
- Komponentenbeschreibungen
- Teil 1: Aufbau des Arduino Circuit auf Breadboard
- Teil 2: Brennen des Bootloaders in Atmega328 IC
- Teil 3: Programmieren des hochgeladenen Arduino Bootloader Atmega 328
- Programmierung des Atmega328-Chips mit einer Arduino-Karte
- Programmierung des Arduino Atmega328 Chips mit USB zu Seriell Konverter
Wir alle wissen, dass Atmega328 IC in Arduino UNO-Boards verwendet wird. Dieser IC ist das Gehirn des Arduino-Boards. Eigentlich wollten Arduino-Designer ein handliches Prototyping-Board für Anfänger herstellen, damit sie alle Komponenten so organisieren, dass jeder auf alle Pins des Atmega328 IC zugreifen und es programmieren kann, indem er es einfach an den Computer anschließt. Arduino Board ist sehr beliebt für den Bau von Hobbyprojekten. Bei Industrie- oder Konsumgütern ist es jedoch keine gute Idee, die komplette Arduino-Karte zu verwenden, sodass wir einen eigenständigen Atmega328-IC verwenden können, der mit Arduino IDE programmiert werden kann, jedoch ohne Verwendung einer Arduino-Karte.
In diesem Tutorial werden wir sehen, wie die Arduino-Karte durch Atmega328 IC und durch einige andere Komponenten ersetzt wird. Um Atmega328 IC anstelle von Arduino zu verwenden, müssen wir zuerst Arduino Bootloader darin brennen und dann werden wir es mit FTDI oder mit Arduino Board programmieren. Dieses Tutorial hilft auch beim Ersetzen des beschädigten Atmega328 IC vom Arduino Board. Wenn Sie die unten beschriebene Schaltung verwenden, können Sie auch Ihre eigene Arduino-Karte erstellen, indem Sie sie auf der Leiterplatte replizieren.
Erforderliche Komponenten
- Atmega 328 IC
- Steckbrett
- LM7805
- 16 MHz Kristall
- 22pF Keramikkondensatoren (2)
- 10 uF Kondensator (2)
- 10 K Widerstand
- 1k Widerstand
- Überbrückungsdrähte
Optional können Sie auch den 3,3-V-Spannungsregler LM1117-3,3 V verwenden, um die 3,3-V-Schiene in Ihren Stromkreis aufzunehmen.
Pin-Diagramm von Atmega328
Komponentenbeschreibungen
Netzteil
- 5V Spannungsregler: Atmega 328 IC wird mit 5V Netzteil betrieben. Hier verwenden wir den LM7805, um einen 5-V-Ausgang zu erhalten. Er kann bis zu 30 V als Eingang verarbeiten. Wenn Sie eine separate 5-V-Versorgung haben, können Sie diesen Schritt verlassen.
- Kondensatoren: Am Eingangs- und Ausgangsteil von 7805 wird ein 10-uF-Kondensator verwendet, um alle Wechselstromkomponenten gegen Masse zu umgehen.
- LED: Dies zeigt Ihnen, dass Ihr 5V-Ausgang kommt.
Mikrocontroller Teil-
- Atmega 328: Dies ist unsere Hauptkomponente auf dem Steckbrett. Das Pin-Diagramm ist oben angegeben.
- Quarzoszillator: Ein externer 16-MHz-Quarz ist zwischen Pin 9 und Pin 10 des ATmega328 angeschlossen. Dieser Kristall wird verwendet, um dem Mikrocontroller eine Uhr zu geben, um die Aufgaben schneller auszuführen.
- Druckknopf: Zum Zurücksetzen des Mikrocontrollers wird ein Druckknopf zwischen Pin 1 und GND angeschlossen. Normalerweise wird es über einen 10k-Widerstand mit 5V verbunden.
- LED: Eine LED ist mit dem digitalen Pin 13 verbunden.
Dieses vollständige Tutorial ist in drei Teile unterteilt, damit Ihr eigenes Arduino auf einem Steckbrett läuft:
- Aufbau des Arduino Circuit auf Breadboard
- Brennen des Bootloaders in Atmega328 IC
- So programmieren Sie Arduino Bootloader hat Atmega 328 IC auf das Steckbrett hochgeladen.
Jetzt werden wir jeden Teil einzeln erklären.
Teil 1: Aufbau des Arduino Circuit auf Breadboard
Schritt 1: - Schließen Sie das Netzteil wie im Schaltplan gezeigt an und testen Sie es mit einem externen Netzteil an LM7805. Es wird so aussehen.
Schritt 2: - Schließen Sie nun das Mikrocontroller-Teil wie im Schaltplan gezeigt an. Stellen Sie die Verbindungen sorgfältig her.
Schritt 3: - Verbinden Sie nun das Netzteil und den Mikrocontroller mit Jumpern. Ihre letzte Schaltung wird ungefähr so aussehen.
Das ist also unser Arduino auf Steckbrett. Sie können dieselbe Schaltung mit einfachen Tools wie EasyEDA usw. auf der Leiterplatte implementieren. Jetzt müssen wir den Bootloader auf den neuen Atmega 328-IC hochladen, damit wir mit der Programmierung des IC beginnen können.
Teil 2: Brennen des Bootloaders in Atmega328 IC
Was ist Bootloader und warum brauchen wir ihn?
Bootloader ist ein kleiner Teil des ausführbaren Codes, der permanent im Speicher des Mikrocontrollers gespeichert ist. Dies belegt weniger als 1 KB Speicher. Mit dem Bootloader kann der IC den Code vom Computer akzeptieren und im Speicher des Mikrocontrollers ablegen.
Traditionell werden alle Mikrocontroller von Atmel mit Hilfe von Programmierern programmiert, die einige ausgefallene Verbindungen haben. Bootloader reduzieren die Komplexität und ermöglichen eine einfache und effiziente Programmierung des Mikrocontrollers. Dies bedeutet, dass Sie es einfach mit einem USB-Kabel programmieren können.
Wenn Sie einen neuen Atmega 328 vom Markt kaufen, enthält er keinen Bootloader. Um Ihren Atmega328 mit Arduino IDE zu programmieren, müssen Sie zuerst den Bootloader hochladen.
Um den Bootloader hochzuladen, haben wir zwei Methoden:
- Verwenden des USBasp-Programmiergeräts
- Verwenden der Arduino UNO-Karte
Die zweite Methode ist einfacher als die erste. Da weniger Verbindungen erforderlich sind und auch die neueste Version von Arduino IDE die ausgefallenen USBasp-Programmierer nicht unterstützt.
Also, in diesem Tutorial werden wir laden Bootloader Arduino Uno Board mit.
Laden Sie den Arduino Bootloader in den Atmega328 Chip hoch
Schritt 1: - Öffnen Sie die Arduino IDE. Gehen Sie zu Datei -> Beispiele -> ArduinoISP . Dann wählen Sie ArduinoISP. Wie nachfolgend dargestellt.
Schritt 2: - Jetzt müssen Sie diesen Code auf Ihr Arduino-Board hochladen. Wählen Sie den Com-Port und die Karte aus dem Tool-Menü und klicken Sie auf die Schaltfläche zum Hochladen.
3. Schritt: - Nach dem ‚ Erledigt Hochladen‘, trennen die Arduino Platte aus dem Computer und machen die Verbindungen der Arduino Board mit Atmega 328 wie im folgenden Diagramm dargestellt.
Schritt 4: - Verbinden Sie nun die Arduino-Karte mit dem Computer. Öffnen Sie die Arduino IDE.
Gehen Sie zu Tools, wählen Sie Board als Arduino / Genuine Uno, wählen Sie den richtigen Port für Ihr Board. Wählen Sie Programmer als "Arduino als ISP". Verwechseln Sie es nicht mit ArduinoISP. Beide sind unterschiedlich.
Schritt 5: - Gehen Sie jetzt erneut zu Extras und klicken Sie direkt unter der Option Programmierer auf Bootloader brennen. Nach einigen Sekunden wird der Bootloader erfolgreich hochgeladen. Wenn beim Hochladen ein Fehler auftritt, überprüfen Sie die Verbindungen.
Überprüfen Sie das folgende Video, um die oben erläuterten Schritte zum Hochladen des Bootloaders in Atmega 328 IC zu verstehen.
Ihr Steckbrett Arduino ist bereit, als echtes Arduino-Brett zu arbeiten. Nun stellt sich die Frage, wie Atmega 328 IC programmiert werden soll. Das werden wir in unserem nächsten Abschnitt besprechen.
Teil 3: Programmieren des hochgeladenen Arduino Bootloader Atmega 328
Der eigenständige Arduino Atmega328-Chip kann auf viele Arten programmiert werden.
- Verwenden einer leeren Arduino-Karte, dh einer Arduino-Karte ohne Atmega 328 IC.
- Verwenden des USB-zu-Seriell-TTL-Konvertermoduls (FTDI-Modul).
- Verwenden des USBasp-Programmiergeräts (viele Verbindungen erforderlich).
Hier werden wir es mit zwei Methoden programmieren: USB zu seriellem Konverter und Arduino Board.
Programmierung des Atmega328-Chips mit einer Arduino-Karte
Schritt 1: - Nehmen Sie ein Arduino-Board ohne Atmega328-Chip. Stellen Sie die Verbindungen des Arduino-Boards mit unserem Steckbrett Arduino her, wie in diesem Diagramm gezeigt.
Schritt 2: - Verbinden Sie die Arduino-Karte mit dem Computer und öffnen Sie die Arduino-IDE. Wählen Sie Arduino Uno von Vorstand Menü in Werkzeugen , Programmierern als USBasp und korrekten COM - Port des Vorstandes.
Schritt 3: - Wir beginnen mit dem Hochladen des Blink-Programms. Wählen Sie also das Blinkprogramm aus den Beispielen und klicken Sie auf die Schaltfläche Hochladen.
Jetzt können Sie sehen, dass die LED auf dem Steckbrett zu blinken beginnt.
Programmierung des Arduino Atmega328 Chips mit USB zu Seriell Konverter
Schritt 1: - Wenn Sie kein Arduino-Board haben. Dies ist die beste Methode, um Ihr Steckbrett Arduino zu programmieren.
Stellen Sie die Verbindungen wie folgt her:
RXD-Pin von FTDI -> Tx-Pin von Atmega328 (Pin 3)
TXD-Pin von FTDI -> Rx-Pin von Atmega328 (Pin 2)
GND -> GND (Pin 8)
5v -> Vcc (Pin 7)
Einige FTDI-Module verfügen über einen Reset-Pin, der auch als DTR-Pin bezeichnet wird und mit dem Reset-Pin von Atmega328 (Pin 1) verbunden werden muss. Wenn das Modul keinen Reset-Pin enthält, machen Sie sich keine Sorgen, ich gebe die Lösung, wenn wir den Chip programmieren.
Schritt 2: - Verbinden Sie nun das FTDI mit dem Computer und öffnen Sie den Geräte-Manager in der Systemsteuerung. Sie sehen den Abschnitt Port, Erweitern. Wenn sich vor dem Treiber eine gelbe Markierung befindet, müssen Sie Ihren Modultreiber aktualisieren.
Wenn keine Markierung vorhanden ist, notieren Sie sich die COM-Port-Nummer und öffnen Sie die Arduino IDE. Gehen Sie zu Extras -> Anschlüsse -> Wählen Sie das Com aus, das Sie notiert haben.
Schritt 3: - Jetzt laden wir ein Blinkprogramm auf unser Breadboard Arduino hoch . Gehen Sie zu Datei -> Beispiele -> Grundlagen -> Blinken . Wählen Sie Arduino Uno aus dem Board-Menü in Tools, Programmer als USBasp und den richtigen COM-Port des Boards.
Klicken Sie dann auf die Schaltfläche zum Hochladen.
Hinweis: Wenn Ihr FTDI-Modul keinen DTR-Pin hat, drücken Sie die Reset-Taste auf dem Steckbrett und klicken Sie auf die Upload-Taste. Halten Sie die Taste gedrückt, wenn dort " Skizze erstellen" angezeigt wird. Lassen Sie die Schaltfläche los, sobald " Hochladen" angezeigt wird.
Jetzt wird das Programm erfolgreich in den Arduino Bootloader Atmega328-Chip hochgeladen.
Unten sehen Sie das Video zum Programmieren des Atmega 328 IC ohne Verwendung der Arduino-Karte:
Wir haben mit unserem DIY Breadboard Arduino Circuit fertig. Sie können diese Schaltung auf einer Leiterplatte entwerfen, um sie kompakter zu machen.