Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Equipment >> Industrielle Ausrüstung

Breadboarding und Programmierung des ATmega328P &ATtiny45 in Atmel Studio 7

In diesem Projekt bauen wir Schaltungen zum Programmieren von zwei verschiedenen Atmel-Mikrocontrollern und besprechen das notwendige Software-Setup.

In diesem Projekt bauen wir Schaltungen zum Programmieren von zwei verschiedenen Atmel-Mikrocontrollern und besprechen das notwendige Software-Setup.

Dieses Projekt beschreibt den Aufbau zweier sehr ähnlicher Schaltungen:eine zum Programmieren eines ATmega328P und eine andere zum Programmieren eines ATtiny45. Der Artikel enthält ein vollständiges schematisches Diagramm der Programmierschaltungen sowie detaillierte Fotos der lötfreien Steckplatinenbaugruppen. Außerdem wird Atmel Studio 7 IDE (Integrated Development Environment) vorgestellt.

Zunächst die Hardware

Der ATmega328P ist ein 28-Pin-Mikrocontroller von Atmel und gehört zur AVR-Reihe. Er ist wahrscheinlich am besten als der am häufigsten verwendete μC in den Entwicklungsplattformen der Marke Arduino bekannt, aber der AT328P kann viel mehr, als er dort herauspressen kann. Wenn Sie Beweise für diese Aussage sehen möchten, sehen Sie sich das 660-seitige Datenblatt an.

Der ATtiny45 ist ein 8-Pin-μC und könnte als „Babybruder“ des ATmega328P angesehen werden. Es hat viele der gleichen Funktionen, aber natürlich nicht annähernd so viele I/O-Pins.

Das Serial Peripheral Interface (SPI) wird zur Programmierung des ATmega328P und des ATtiny45 verwendet; Es handelt sich um einen dreiadrigen (plus Masse) Bus, der aus einem Master-Out-, Slave-In-(MOSI-)Signal, einem Master-In-, Slave-Out-(MISO-)Signal und einem Serial Clock-(SCK-)Signal besteht. Der Takt wird vom Master-Gerät generiert und wird verwendet, um eine synchronisierte Kommunikation zwischen dem Master und dem Slave (oder Slaves) sicherzustellen; daher ist SPI ein „synchroner“ Kommunikationsbus.

Schaltkreise programmieren

Die schematischen Diagramme für die Programmierschaltungen sind unten gezeigt. Beachten Sie, dass Widerstand R2 und LED1 für die Programmierung nicht unbedingt erforderlich sind, aber zu Testzwecken in die Schaltung aufgenommen werden, wie später in diesem Projekt definiert.

Programmiererauswahl

Es stehen mehrere Programmierer zur Verfügung, die mit dem ATmega328P und dem ATtiny45 umgehen können; der Atmel-ICE steht ganz oben auf der Liste und ist ein guter Programmierer, der in einem zukünftigen Artikel besprochen wird. Im Moment stehen den Geizhals unter Ihnen weniger teure Optionen zur Verfügung, und der Sparkfun AVR Pocket Programmer wird vom Geizhals-Autor dieses Artikels verwendet. Wenn Sie etwas anderes bevorzugen, können Sie gerne das auswählen, das Ihren Vorlieben und Ihrem Geldbeutel entspricht. Stellen Sie nur sicher, dass die serielle Peripherieschnittstelle wie zuvor beschrieben verwendet wird, und bereiten Sie sich darauf vor, die Informationen in diesem Artikel entsprechend zu ändern.

ACHTUNG! Stellen Sie sicher, dass Sie den entsprechenden Treiber für den AVR Pocket Programmer herunterladen und auf Ihrem Computer installieren, bevor Sie den Programmierer zum ersten Mal anschließen. Wenn Windows den falschen Treiber installieren darf, kann die Korrektur sehr problematisch sein. Anweisungen zum Beziehen des AVR Pocket Programmer-Treibers finden Sie weiter unten in diesem Artikel.

Der AVR Pocket Programmer wird mit einem Flachbandkabel geliefert, das an den Atmel μC angeschlossen wird. Es ist mit drei Anschlüssen ausgestattet:eine 2×5-Buchse, die in den passenden Stecker am AVR Pocket Programmer eingesteckt wird, eine weitere 2×5-Buchse, die sich etwa 23 cm im Flachbandkabel befindet (wird nicht verwendet in diesem Artikel) plus eine 2×3-Buchse am Ende des Flachbandkabels. Die Pinbelegungen sind in den Fotos unten gezeigt.

Programmieren von lötfreien Leiterplattenbaugruppen

Die lötfreien Breadboard-Baugruppen der ATmega328P- und ATtiny45-Programmierschaltung sind in den folgenden Fotos dargestellt. Sechs kurze Überbrückungsdrähte werden verwendet, um die erforderlichen Leitungen von der 2×3-Buchse mit den entsprechenden Pins des Mikrocontrollers im lötfreien Steckbrett zu verbinden. Beachten Sie, dass die Kabelfarben in den Montagefotos unten denen in den Schaltplänen oben entsprechen.

Teileliste

Neben einigen Drahtbrücken sind in der folgenden Tabelle die benötigten Teile für die Programmierschaltungen aufgelistet.

Teile-Ref. Beschreibung Quelle Artikelnummer
U1 IC, ATmega328P-PU, 32kB Flash, DIP-28, 1,8-5,5V Digi-Schlüssel ATMEGA328P-PU-ND
U1 IC, ATtiny45-PU, 4kB Flash, DIP-8, 2,7-5,5V Digi-Schlüssel ATTINY45-20PU-ND
R1 Widerstand, ¼ W, 10kΩ Digi-Schlüssel 10KQBK-ND
R2 Widerstand, ¼ W, 470Ω Digi-Schlüssel 470QBK-ND
LED1 Diode, Leuchtdiode, T1 3/4, Gelb Digi-Schlüssel 754-1889-ND
C1 Kondensator, Keramik, 0.1µF, 50V Digi-Schlüssel 399-9797-ND
N/A Programmer, AVR Pocket, PGM-09825 Digi-Schlüssel 1568-1080-ND
N/A Breadboard, lötfrei, 400 Kontakte Digi-Schlüssel 377-2094-ND

Dann die Software

AVR Pocket Programmer-Treiber

Der Windows-Treiber für den AVR Pocket Programmer ist der gleiche, der vom Adafruit USBTiny Programmer verwendet wird. Gehen Sie zu dieser Adafruit-Webseite und klicken Sie auf den Link für den mit Windows USBtinyISP signierten Treiber, der mit libusb v1.12 erstellt wurde. Auf diese Weise können Sie eine ZIP-Datei herunterladen, die zwei installer.exe-Dateien enthält:eine für 32-Bit-Computer und eine für 64-Bit-Computer. Doppelklicken Sie auf einen für Ihren Windows-PC geeigneten, und der Treiber wird installiert.

Erst nach der Installation des richtigen Windows-Treibers sollten Sie den AVR Pocket Programmer zum ersten Mal mit Ihrem Computer verbinden. Sie benötigen ein USB-Typ-A-auf-Miniatur-B-Stecker-zu-Stecker-Kabel, um Ihren PC mit dem AVR Pocket Programmer zu verbinden. Wenn Sie die Verbindungen herstellen, sollten die blaue PWR-LED und die rote Stat1-LED aufleuchten; die beiden blauen Daten-LEDs können auch leuchten und/oder flackern. Windows versucht, den Treiber zu finden, und Sie sollten Windows bei Bedarf an den richtigen Speicherort des Treibers weiterleiten. Nach der ordnungsgemäßen Installation wird der AVR Pocket Programmer im Geräte-Manager unter libusb-winXX-Geräten als „USBtiny“ angezeigt; er wird nicht als COM-Port aufgezählt. Siehe Screenshot unten:

Atmel Studio 7

Wie viele Mikrocontroller-Designfirmen verfügt Atmel über eine integrierte Entwicklungsumgebung (IDE), die mit ihren Hardwareangeboten funktioniert:Atmel Studio 7. Obwohl dies nicht die einzige Möglichkeit zum Programmieren von Atmel-μCs ist, ist dies die umfassendste Methode für Windows 7, 8, und 10 (sowohl 32-Bit als auch 64-Bit); leider kann es nicht mit Linux- oder Mac-Betriebssystemen verwendet werden.

Die Anzahl der Optionen und Auswahlmöglichkeiten in Atmel Studio 7 kann für einen neuen Benutzer überwältigend sein. Daher wird in diesem Projekt ein schrittweiser Ansatz bereitgestellt, der den Prozess erheblich vereinfacht. Beginnen Sie mit dem Herunterladen und Installieren der IDE auf Ihrem PC. Das Studio 7 Benutzerhandbuch und eine Fülle zusätzlicher Informationen stehen ebenfalls zum Download bereit.

Studio 7 unterstützt mehrere Hardware-Programmierer, die genaue Auswahl hängt jedoch davon ab, welchen Atmel-Mikrocontroller Sie verwenden werden. Im Screenshot unten sind die Programmierer, die für den ATMega328P unterstützt werden, rechts aufgelistet.

Wie Sie sehen, steht der AVR Pocket Programmer nicht auf der Liste. Es kann jedoch weiterhin mit Studio 7 mit Hilfe einer Software namens AVRDude verwendet werden.

AVRDude

AVRDude ist ein Befehlszeilen-Dienstprogramm, das zum Herunterladen von und zum Hochladen auf Atmel-Mikrocontroller verwendet wird. Versionen sind sowohl für Linux- als auch für Windows-Systeme verfügbar. Zum Zeitpunkt dieses Schreibens (7. Juni 2017) ist die neueste verfügbare Version 6.3; es kann hier heruntergeladen werden. Windows-Benutzer sollten avrdude-6.3-mingw32-zip herunterladen (durch Klicken auf diesen Link wird die Zip-Datei heruntergeladen!), die Dateien entpacken und AVRDude installieren. Beachten Sie, dass die Installation des Programms im Stammverzeichnis Ihrer Hauptfestplatte nicht unbedingt erforderlich ist, aber die Verwendung mit Atmel Studio 7 vereinfacht. Wenn eine neuere Version als 6.3 verfügbar ist, können Sie sie nach eigenem Ermessen installieren. Das Benutzerhandbuch für AVRDude ist hier verfügbar.

Um zu überprüfen, ob AVRDude richtig installiert ist und funktioniert, gehen Sie wie folgt vor:

  1. Klicken Sie auf die Windows-Startschaltfläche.
  2. Geben Sie im Suchfeld cmd ein und drücken Sie die Eingabetaste. Ein DOS-Eingabeaufforderungsfenster sollte sich öffnen.
  3. Wechseln Sie an der DOS-Eingabeaufforderung in das Verzeichnis, in dem Sie AVRDude installiert haben.
  4. Geben Sie avrdude -c USBtiny ein und drücken Sie die Eingabetaste. Wenn alles in Ordnung ist, gibt AVRDude eine Liste der unterstützten Atmel-Geräte zurück.

Ein Beispiel für das Verfahren finden Sie im Screenshot unten. Beachten Sie, dass der Screenshot abgeschnitten wurde und nur einen Teil der Liste der unterstützten Atmel-Geräte anzeigt.

Alles zusammenfügen

Angenommen, das Programmiergerät ist wie zuvor beschrieben mit dem AVR auf Ihrem lötfreien Steckbrett verbunden, Sie sind fast bereit, Ihren AVR zu programmieren. Laden Sie die Datei New Blink.zip über die Schaltfläche unten herunter, entpacken Sie sie und speichern Sie sie an einem geeigneten Ort auf Ihrem PC.

New_Blink.zip

Befolgen Sie nun dieses Verfahren.

  1. Starte Atmel Studio 7.
  2. Klicken Sie links im Startbildschirm auf Neues Projekt. Der Bildschirm Neues Projekt wird geöffnet.


  3. Klicken Sie im Bildschirm Neues Projekt auf Ausführbares GCC C-Projekt; Benennen Sie das Projekt wie oben gezeigt mit New Blink und klicken Sie auf OK. Der Bildschirm zur Geräteauswahl wird geöffnet.


  4. Wählen Sie im Bildschirm Geräteauswahl das AVR-Gerät aus, das Sie verwenden:ATmega328P oder ATtiny45, wie unten gezeigt. OK klicken. Das neue Projekt wird erstellt und der Bildschirm Neues Blink-Projekt wird geöffnet.


  5. Klicken Sie auf das Pulldown-Menü Tools, wählen Sie Externe Tools… und klicken Sie auf die Schaltfläche Hinzufügen.
  6. Geben Sie im Feld Titel einen Namen für das Werkzeug ein, das Sie erstellen. Es ist gut, wenn der Name das Tool beschreibt. Sie können beispielsweise eine Kombination aus dem Programmierernamen und dem Gerätenamen eingeben.
  7. Geben Sie im Feld Befehl die DOS-Adresse für den Ort ein, an dem Sie AVRDude installiert haben, sowie den Befehl zum Starten von AVRDude.
  8. Geben Sie im Feld Argumente eine der beiden folgenden Zeilen ein, je nachdem, welchen AVR Sie verwenden. Geben Sie für den ATmega328P Folgendes ein:
-c usbtiny -p m328p -v -U flash:w:$(TargetDir)$(TargetName).hex:i 

Geben Sie für den ATtiny45 Folgendes ein:

-c usbtiny -p t45 -v -U flash:w:$(TargetDir)$(TargetName).hex:i 
  1. Geben Sie im Feld "Anfangsverzeichnis" die DOS-Adresse für den Ort ein, an dem Sie AVRDude installiert haben.
  2. Stellen Sie sicher, dass das Fenster "Ausgabe verwenden" aktiviert ist und die anderen beiden Kontrollkästchen nicht aktiviert sind. Das Fenster sollte dem folgenden Bildschirm ähneln, aber den von Ihnen verwendeten AVR widerspiegeln.


  3. Klicken Sie auf Übernehmen und dann auf OK. Das Fenster "Externe Tools" sollte sich schließen.
  4. Gehen Sie zu dem Ort, an dem Sie New Blink.c am Anfang dieses Abschnitts entpackt und gespeichert haben, öffnen Sie die Datei, wählen Sie den gesamten Inhalt aus und kopieren Sie ihn in die Zwischenablage.
  5. Gehen Sie in Atmel Studio 7 zum Fenster New Blink.c, wählen Sie den gesamten Inhalt aus und fügen Sie den Inhalt der Zwischenablage in das Fenster New Blink.c ein. Es sollte wie unten gezeigt aussehen.


  6. Wenn der Atmel Studio 7 Solution Explorer nicht oben rechts im Projektfenster geöffnet ist, klicken Sie auf das Pulldown-Menü Ansicht und dann auf Solution Explorer. Der Projektmappen-Explorer sollte sich oben rechts im Projektfenster öffnen.
  7. Klicken Sie mit der rechten Maustaste auf die Datei main.c und wählen Sie Umbenennen. Benennen Sie die Datei main.c in New Blink.c um.
  8. Klicken Sie auf das Pulldown-Menü Datei und dann auf Alle speichern.
  9. Klicken Sie auf das Pulldown-Menü Build und dann auf Build Solution.
  10. Klicken Sie auf das Pulldown-Menü Tools und dann auf den Namen des Tools, das in den Schritten 5 bis 11 oben erstellt wurde. Der kompilierte New Blink-Code sollte auf den AVR in Ihrem Steckbrett heruntergeladen werden und LED 1 sollte zu blinken beginnen:60 Mal pro Minute für ½ Sekunde an und ½ Sekunde lang aus.

Der Anfang

Zugegeben, es war ein langer Prozess, nur eine LED zu blinken, aber in Wahrheit haben Sie vier große Hürden erfolgreich genommen:Erstellen einer Hardware-Plattform zum Programmieren eines AVR-Mikrocontrollers, Installieren einer integrierten Entwicklungsumgebung (Atmel Studio 7), Einbinden eines externen Programm (AVRDude) und definieren ein Programmierwerkzeug für den AVR Ihrer Wahl. Seien Sie versichert, dass es für zukünftige Atmel-Projekte einfacher wird, die viel mehr Spaß machen. Halten Sie bei AllAboutCircuits.com Ausschau nach ihnen.

Probieren Sie dieses Projekt selbst aus! Holen Sie sich die Stückliste.


Industrielle Ausrüstung

  1. Die Vor- und Nachteile des Druckgusses
  2. Die 3 Phasen des 3D-Drucks und ihre Funktionsweise
  3. Industrielles Vakuumsystem:Diskussion der Typen und Vorteile
  4. Warum und wie die industrielle Automatisierung die Zukunft ist
  5. Der Unterschied zwischen Gleichstrom- und Wechselstrommotoren
  6. Die Auswirkungen der Fabriksicherheit und warum sie wichtig ist
  7. Die Präzision und den Prozess der Laserschneidtechnologie verstehen
  8. Die Zukunft der Industriemaschinen im Jahr 2020 und darüber hinaus
  9. Die Arten mechanischer Bremsen und wie sie sich unterscheiden
  10. Die Vor- und Nachteile der Beschichtung Ihrer Pumpe