Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

SparkCube auf Multifilament umrüsten

geschrieben von Simme 
SparkCube auf Multifilament umrüsten
04. December 2016 09:13
Moin nach langer Zeit mal wieder!

Also der SparkCube läuft inzwischen recht gut und hat auch schon anständige Benchys produziert. Nun wollte ich mich an den nächsten Schritt machen und auf Multifilament umrüsten.
Ganz grundsätzlich wollte ich den Weg von dem Prusa i3 Kit gehen, Details hier.
Als ich dann den Cube im ersten Schritt auf Bowden umgebaut hab, war ich etwas schockiert, wie schwer es ist damit vernünftige Teile zu drucken. Oozing und resume after retract sind echt die Hölle.
Also möchte ich nun wieder einen Extruder direkt am Hotend haben, davor die Bowdenweiche und an geeigneter Stelle die Feeder (Extruder) für die einzelnen Filamente.

Dabei muss ich dann natürlich die Schrittmotoren am Extruder (EXT_0) und Feeder synchron ansteuern. Da ich gerade auch keinen freien Stepper Treiber hab (3xZ-Achse), habe ich das so wie hier gelöst: Skizze
Um nun die Eingänge des Relaisboards anzusteuern habe ich in der Firmware (Repetier) für jeden Extruder MIRROR_STEPPER 1 gesetzt.
Die Pin definition sieht dann z.B. für EXT1 so aus:
#define EXT1_STEP_PIN ORIG_E0_STEP_PIN
#define EXT1_DIR_PIN ORIG_E0_DIR_PIN
#define EXT1_ENABLE_PIN ORIG_E0_ENABLE_PIN
#define EXT1_MIRROR_STEPPER 1
#define EXT1_STEP2_PIN 66
#define EXT1_DIR2_PIN 67
#define EXT1_ENABLE2_PIN 31

Hier sind step2 und dir2 an ungenutzte pins geroutet, weil die brauche ich ja nicht und die sollen den Treiber nicht stören. Den enable greife ich ab und verbinde ihn zum Eingang des Relaisboards.

Das funktioniert soweit auch prima, nur dass ich der Firmware nicht sagen kann "Bei Wechsel auf Etruder1, enable EXT1 dauerhaft, alle anderen aus".
So wie es jetzt ist, schaltet die Firmware den Extruder immer sofort nach einer Bewegung aus und zur nächsten wieder an (#define DISABLE_E 1). Dann schaltet zwar das Relaisboard beim Wechsel auf den richtigen Motor, aber dadurch dass das Relais recht träge schaltet, verliert man ständig Schritte.
Oder man setzt #define DISABLE_E 0, dann schaltet er aber immer alle Motoren auf enabled - mit der Folge, dass die Relais alle schalten und somit immer nur der selbe Motor läuft.

Ich bin leider kein cpp Kenner, daher stehe ich gerade wie der Hase vor der Schlange confused smiley
Hat noch jemand ne rettende Idee?
Re: SparkCube auf Multifilament umrüsten
13. December 2016 16:48
For the record:
Antwort auf die Umsetzung in der Firmware findet sich hier.
Nun gilt es die entsprechende Mechanik zu bauen und dann werde ich weiter berichten smiling smiley

Cheers,
Simme
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen