Fräse
Jump to navigation
Jump to search
Maschine
Bei der Maschine handelt es sich um eine kompakte Uhrmacherfräsmaschine des Herstellers Sixis. Die Maschine soll auf CNC-Betrieb umgebaut werden. Momentan sind 2 Achsen (X und Z) und der Teilapparat umgebaut. Bei Fragen kann Val (val@kabelsalat.ch) eventuell Auskunft geben (Stand Ende Sept '20).
LinuxCNC
WIP
Achssystem und Motoren
WIP
Frässpindel
Überblick
- name-der regel sorgt dafür, dass der Spindel-Ardunio immer an /dev/arduino0 gemountet wird.
- spindle.hal verbindet die Spindel-Pins von LinuxCNC mit den Spindel-Pins des Python-Moduls spindle.py
- spindle.py verwandelt die Pin-Werte aus der spindle.hal zu einem String und schickt ihn seriell an /dev/ardunio0
- Aufbau des Strings: L:0_R:1_S:100 (Linkslauf/Rechtslauf/Drehzahl)
- spindle.ino ist das Programm auf dem Ardunio, das den String aufsammelt und die Pins schaltet.
- Der Arduino schaltet über 2 Pins die Links/Rechtslauf-Pins des FUs und sendet 0-5V als Solldrehzahl.
udev-regel
spindle.hal
spindle.py
spindle.ino
Code unten ist nur zur Demonstration, wie man den String auseinander nimmt. Richtiger Code folgt (hoffentlich).
#include <EasyNeoPixels.h> // v1:0_v2:0_v3:0 char str[30]; int var1 = 0; int var2 = 0; int var3 = 0; void setup() { Serial.begin(9600); pinMode(A5, OUTPUT); pinMode(A7, OUTPUT); digitalWrite(A5, LOW); digitalWrite(A7, HIGH); setupEasyNeoPixels(A6, 1); } void loop() { if (Serial.available() > 0) { memset(str, 0, sizeof(str)); Serial.readBytesUntil('\n', str, sizeof(str)); sscanf(str, "v1:%d_v2:%d_v3:%d", &var1, &var2, &var3); writeEasyNeoPixel(0, var1, var2, var3); Serial.print(var1); Serial.print(" "); Serial.print(var2); Serial.print(" "); Serial.print(var3); Serial.println(" "); delay(100); } }