Die zum Flashen/Programmieren benötigten .hex Files finden sich hier: GRBL 1.1f: https://github.com/gnea/grbl/releases
ACHTUNG! Ab GRBL 0.9i hat sich die Pinbelegung geändert. Die Hardware ist entsprechend umzujumpern. Das ist beim GRBL Controller Board, dem GRBL Nano Board und dem GRBL Shield möglich. Bei älteren Boards wie dem GRBL Shield 1.0 oder 1.01 muss entsprechend die Anschlüsse getauscht werden. Nähere informationen finden sich hier: Beitrag im Forum zum Pinwechsel
ACHTUNG! Zum Flashen sollten alle Treiber Module abgezogen werden! Auch die Jumper für die Wahl der GRBL Version 08/0.9 müssen vor dem Flashen entfernt werden!
Sollte ein ARDUINO Board noch keine oder eine veraltete Firmware besitzen, dann ist der einfachste Weg eine neuen Software auf den Arduino zu übertragen die Nutzung der Software XLoader.
Alle Arduino´s werden vom Werk aus mit einem so genannten Bootloader ausgeliefert. Dieser Bootloader erlaubt es, den Arduino immer wieder mit einem neuen Programm (Firmware, Image) zu laden, so dass dieser verschiedene Aufgaben wahrnehmen kann.
Die XLoader Software kommuniziert nun beim Start mit dem Bootloader des Arduino und überträgt so eine neuen Software an den Arduino. Die neuen Software muss dabei Compiliert in Maschinenform im so genannten HEX-Format vorliegen. Die Endung der Dateien heißt dann *.HEX.
Die XLoader Software kann von der Website des Entwickler heruntergeladen werden. Alternativ wird sie auch hier angeboten: Hobbytronics. Das ZIP-Archiv wird nun an eine beliebige Stelle im Dateisystem entpackt. Im entstandenen Ordner muss nun die Datei XLoader.exe gestartet werden.
Im ersten Feld kann mit dem „…“ Button ein Dateiauswahldialog geöffnet werden und eine Firmware mit der Endung .hex ausgewählt werden. Hier gibt es für verschiedene Arduinos schon verschiedenen vorkompilierte Images für GRBL (siehe auf GitHub).
Im zweiten Eingabefeld ist der Prozessor bzw. verwendete Kontroller auszuwählen. Dies ist im Falle von GRBL der Arduino UNO mit dem Atmega 328 Microcontroller. Dieses ist wichtig, damit die richtigen Befehls-Sequenzen passend zum entsprechenden BootLoader verwendet werden.
Im dritten Eingabefeld muss der entsprechende mit dem Arduino verknüpfte COM-Port eingestellt werden.
Im vierten Eingabefeld wird die Übertragungsgeschwindigkeit eingestellt. Diese kann auf der Standardeinstellung mit 115200 Baud bleiben. Sollte die Baudrate nicht funktionieren, bitte auf 57600 runter gehen und nochmal versuchen. Bei USB-Verbindungen steuert der USB-zu-Serial Wandler autom. die Übertragungsgeschwindigkeit.
Ist ein Firmware Image ausgewählt, und sind die Einstellungen richtig vorgenommen, dann wird mit einem Klick auf den Button „Upload“ die Imagedatei auf den Arduino übertragen. Das wird in diesem Programmfenster ganz unten in der Statusleiste auch angezeigt. Ist der Übertragungsprozess nach ein paar Sekunden erfolgreich abgeschlossen, so wird auch dieses in der Statusleiste angezeigt. Der XLoader kann nun geschlossen werden, und ein weiteres Programm, dass mit dem Arduino kommunizieren soll kann gestartet werden!
Sollte der Bootloader des ARDUINO defekt sein, oder die serielle Schnittstelle nicht funktionieren, gibt es noch die Möglichkeit diesen über die ISP Schnittstelle neu zu flashen.
Dazu ist ein ISP Programmiergerät wie der USBAsp nötig. Die Geräte sind günstig über der Internet zu beziehen. Zusätzlich ist ein Adapter von 10 auf 6 poligen Anschluss nötig.
Arduino IDE installieren, starten und im Tools Verzeichnis „usbasp“ als Programmer auswählen.
Duemilanove für den älteren bootloader oder UNO für den neueren Optiboot bootloader auswählen.
USBASP am Arduino an der ISP Schnittstelle (6-Polig) anschliessen.
'Burn bootloader' auswählen.
Sollte der Bootloader des ARDUINO defekt sein, oder die serielle Schnittstelle nicht funktionieren, gibt es noch die Möglichkeit die ISP Schnittstelle zu benutzen.
Dazu ist ein ISP Programmiergerät wie der USBAsp nötig. Die Geräte sind günstige über der Internet zu beziehen. Zusätzlich ist ein Adapter von 10 auf 6 Poligen Anschluss nötig.
Die Programmiersoftware (Version 1.4.2) kann von der Website des Entwicklers heruntergeladen werden.
zur Programmierung des Arduino Uno müssen im Data Verzeichnis der ExtremBurner Installation (z.B. (C:\Program Files\eXtreme Burner - AVR\Data)) die Dateien chips.xml und fuselayout.xml ersetzt werden. chips.xml fuselayout.xml
Unter Windowes 10 müssen noch folgende Dateien in das Programmverzeichnis (C:\Program Files\eXtreme Burner - AVR\) kopiert werden: libusb0.dll libusb0_x64.dll
Der USBAsp wird (wenn möglich) auf 5V eingestellt und mit der 6-poligen Stiftleiste am Arduino/GRBL-Controller verbunden.
Im Chip Menü ATmega328P auswählen und die korrekte COM Schnittstelle auswählen die beim Anstecken des USBAsp neu angelegt wurde.
NIEMALS Write All klicken!!!
Achtung! Die Fuses dürfen nur verändert werden wenn genau bekannt ist was man da tut. Hier kann man sich komplett aus dem Chip „aussperren“ wenn man die falschen Fuses setzt!
t.b.d.