Schrittmotoren mehrere Achsen Arduino Nano

Gast #4172346
Lesenswert?
• ▲
▼
Da ich gerade einen Arduino Nano und ein paar Polulu Schrittmotortreiber 
herumliegen habe, wollte ich eine Mehrachsmotorsteuerung realisieren. 
Ursprünglich habe ich ein wenig selber programmiert, da ist mir aber 
eingefallen, dass es so etwas ja haufenweise im Netz geben sollte.

Gefunden habe ich GBRL

https://github.com/grbl/grbl

mit make kompilert und auf den Arduino Nano mit averdude geflasht.
Da ich keine Lust habe, die gesamten G-Code Befehle zu lernen such ich 
nach einer GUI.
Gefunden habe ich Pronterface

http://www.pronterface.com/

Das scheint sich aber mit GBRL nicht richtig zu vertragen

>Printer is now online
>error: Unsupported command

Was könnte falsch sein? Gibt es einen einfache GUI mit der ich einzelne 
Achsen bewegen kann?
Gast #4172380
Lesenswert?
• ▲
▼
chris_ schrieb:
> Da ich keine Lust habe, die gesamten G-Code Befehle zu lernen such ich
> nach einer GUI.

Um nur mal ein bisschen rum zu drehen, brauchst du nicht gleich den 
gesamten Befehlsvorrat zu lernen. Die paar notwendigen Befehle kannst du 
auch von einem Zettel ablesen, wenn es gar nicht anders geht. Später 
wird der G-Code sowieso von irgendeinem passenden Tool generiert.
Gast #4172482
Lesenswert?
• ▲
▼
>Vielleicht ist das was für dich:
>Beitrag "Projekt: SerialComCNC Serielles Frontend für CNC GRBL mit ATMega"

Danke. Das klingt genau nach dem was ich suche. Allerdings läuft es 
scheinbar nur unter Windows ( Ich verwende Ubuntu ). Mal sehen, 
vielleicht kann man es aus virtualBox nutzen.
Eigentlich wäre es ganz praktisch, wenn es ein Java-Template gäbe, an 
dem man weiter programmieren kann. Z.B. mit rxtx und einfach 4 Tasten 
mit denen man die Motoren bewegen könnte.
Gast #4172571
Lesenswert?
• ▲
▼
Der Einfachheit halber habe ich gerade eben "Processing" ausprobiert. 
Das ist so etwas wie "Arduino" für den PC.

https://processing.org/

Hier mein erstes Programm. Mit der linken und rechten Maustaste kann man 
die Motoren in zwei verschiedene Positionen bewegen:
1
import processing.serial.*;
2

3
Serial myPort;  // Create object from Serial class
4

5
void setup() 
6
{
7
  size(200, 200);
8
  
9
  String portName = "/dev/ttyUSB0";
10
  myPort = new Serial(this, portName, 115200);
11

12
}
13

14
void draw() {
15
  rect(25, 25, 150, 150);
16
}
17

18
void mousePressed() {
19
  if (mouseButton == LEFT) {
20
    fill(0);
21
    myPort.write("G0 X0 Y0"+"\n");
22
    //print("G0 X0 Y0"+"\n");
23
  } else if (mouseButton == RIGHT) {
24
    myPort.write("G0 X1 Y1"+"\n");
25
    //print("G0 X1 Y1"+"\n");
26
    fill(255);
27
  } else {
28
    fill(126);
29
  }
30
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.