Ich habe die Aufteilung zwischen den beiden Arduino Nanos( dem G-Code-Sender und dem Empfänger der Nachrichten von grbl) noch etwas geändert:
Der Sender sendet jetzt nur die GCodes von der SD-Karte, aber nur soviel, dass der Buffer (128 Byte) nicht überläuft.
Bekommt er eine Nachricht/Quittierung von grbl ("ok"), prüft er, ob er die nächste G-Code-Zeile schon senden kann.
Der zweite Arduino NANO gibt eventuelle Fehlernachrichten von grbl auf dem Display aus, auf ihm kann man sich aber auch die grbl-Parameter ansehen bzw. modifizieren . Ausserdem kann man von ihm aus per Keyboard GCode Zeilen eingeben und an grbl senden.
Da das doch relativ mühsam ist, besteht auch die Möglichkeit, über einen Dreh-Encoder und wenigen Tastatur-Eingaben die wichtigsten GCodes (G00/G01) relativ einfach einzugeben.
Die x,-y, z- Positionen sowie die Vorschubsgeschwindigkeit (Feed) werden über den Drehencoder eingegeben, dessen Schrittweite auf 1mm oder 0,1mm gestellt werden kann .
Der Drehencoder behält auch die vorige Postion bei, wenn man z.B. von x nach y wechselt und wieder zurück. Er arbeitet mit Interrupts ("Change-Pin an A2 und A3") .
Das Keyboard (momentan 7x7) und das externe EEProm hängen anI2C Bus, das NV- RAM (23LCV..) am SPI-Bus.
Als Display verwende ich ein ILI9341 (2,8") aber nicht als HW-SPI (wird von UTFT nicht unterstützt, die Adafruit Lib ist zwar schnell, aber mir gefallen die fonts nicht). Werde aber eventuell das ILI9341 von Adafruit mal an SPI testen.
Gruss mausi-mick
Lesezeichen