LinuxCNC - EMC2 & S...
 
Benachrichtigungen
Alles löschen

LinuxCNC - EMC2 & Stepcraft HF Spindel

12 Beiträge
6 Benutzer
0 Reactions
6,614 Ansichten
(@norbert)
Beiträge: 165
Estimable Member
Themenstarter
 

Moin,
da die Proxxon aus meiner Sicht zum Fräsen ungeeignet ist (da die alle paar Stunden kaputt geht), hab ich in die HF-Spindel investiert.
Diese kann auch via LinuxCNC angesteuert werden.

Die Einrichtung hatte ich ja schon da beschrieben:
LinuxCNC - EMC2 - Installation/Einrichtung

Um die Spindel in mit LinuxCNC anzusteuern müssten folgende dick hervorgehobene Befehle in die hal Datei eingefügt werden.

###hal-datei:

loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hal_parport cfg="0x378 out "
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0
loadrt pwmgen output_type=1

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf pwmgen.update servo-thread
# net spindle-cmd <= motion.spindle-speed-out

net spindle-cmd pwmgen.0.value
net spindle-on pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 100.0
setp pwmgen.0.scale 20000.0
setp pwmgen.0.offset 0.0
setp pwmgen.0.dither-pwm true
net spindle-cw parport.0.pin-01-out

net xdir => parport.0.pin-02-out
net xstep => parport.0.pin-03-out
setp parport.0.pin-03-out-reset 1
net zdir => parport.0.pin-04-out
net zstep => parport.0.pin-05-out
setp parport.0.pin-05-out-reset 1
net ydir => parport.0.pin-06-out
net ystep => parport.0.pin-07-out
setp parport.0.pin-07-out-reset 1
net spindle-pwm => parport.0.pin-17-out

net estop-ext <= parport.0.pin-11-in-not
net all-home stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir stepgen.0.enable
net all-home => axis.0.home-sw-in

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 70000
setp stepgen.1.dirsetup 70000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir stepgen.1.enable
net all-home => axis.1.home-sw-in

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 70000
setp stepgen.2.dirsetup 70000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir stepgen.2.enable
net all-home => axis.2.home-sw-in

net estop-out iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared

...funst einwandfrei. 🙂

Gruß
Norbert 😉

 
Veröffentlicht : 29/06/2014 11:11 pm
(@norbert)
Beiträge: 165
Estimable Member
Themenstarter
 

...bin froh mit die HF gekauft zu haben. Bei den ganzen Fräsarbeiten die ich bis jetzt mit der Spindel gemacht habe wären vermutlich mindestens 20 Proxxon draufgegangen. Somit ist die HF langfristig gesehen sogar deutlich Preisgünstiger als die Proxxon. 😀

Gruß
Norbert 😉

 
Veröffentlicht : 25/08/2014 10:30 pm
(@reh)
Beiträge: 1
New Member
 

Ich frage mich nur, warum die HF-350 (nach einer Stunde Dauerbetrieb) eine Gehäusetemperatur von +54°C hat. (mit Kühlung durch die beigefügte Pumpe...)

 
Veröffentlicht : 13/09/2014 5:59 pm
Volker Hess
(@buggyfahrer)
Beiträge: 214
Estimable Member
 

Das ist keine Kühlung sondern Sperrluft, die verhindert nur das eindringen von Staub in die Spindel

Gruß Volker

 
Veröffentlicht : 13/09/2014 11:44 pm
Robert Lichtenberger
(@effad)
Beiträge: 87
Estimable Member
 

Ich habe die Zeilen zu meiner .hal - Datei hinzugefügt und es funktioniert auch, aber mehr schlecht als recht: Die Spindel "eiert" in der Drehzahl und auch die Anzeige an der Steuerung flackert ganz mächtig.

Ich werd mir wohl mal die Dokumentation zum pwmgen zu Gemüte führen müssen, aber wenn jemand gleich weiss, was das ist, bin ich für jeden Tip dankbar ;-).

 
Veröffentlicht : 19/11/2015 5:01 pm
(@haithabu)
Beiträge: 15
Eminent Member
 

Ich hab meine HF-500 heute auf der Arbeit ganz gut eingerichtet bekommen ich poste Montag mal ein Screenshot meiner Stepconf

Ich habe eine ganze Weile mit den Zahlenwerten rum gespielt
ich glaube das war meine endgültige Einstellung

PWM 500 Hz
Speed1: 3000 PWM1: 0.3
Speed2: 20000 PWM2: 2.0

Probier das mal aus, wen die Anzeige stark springt geh mal auf 100 Hz runter oder 1500 Hz hoch.

Gruß,
Stephan

EstelCAM11 mit ArduinoMega DIY + DIY Handrad SC420 mit HF-500
und Eigenbau x750 y450 z150 mit Brushless 400W Spindel (RC-Motor)

 
Veröffentlicht : 21/11/2015 12:41 am
Robert Lichtenberger
(@effad)
Beiträge: 87
Estimable Member
 

Mit Hilfe des englischen Forums bin ich auf brauchbare Werte gekommen:

Die Speed2: 20000 PWM2: 2.0 versteh ich nicht, der Höchstwert für PWM ist doch 1.0 (i.e. ein 100% Duty Cycle).

 
Veröffentlicht : 21/11/2015 9:44 pm
(@haithabu)
Beiträge: 15
Eminent Member
 

Funktioniert diese Einstellung bei dir?

Warum 2 verstehe ich auch nicht aber genau diese Einstellung die du im Netz gefunden hast hatte ich bei mir versuch.
Wenn ich den Regler auf 100% gestellt habe dann war die HF Steuerung bei 50%
und dann dachte ich mir, schreib da mal 2 rein und schau ob beim Abspeichern eine Fehlermeldung kommt weil das auch nach meiner Logik eine ungültige Eingabe ist.
Aber es Funktioniert mit 2 100% am Schieber sind jetzt 100% bei der Steuerung.

EstelCAM11 mit ArduinoMega DIY + DIY Handrad SC420 mit HF-500
und Eigenbau x750 y450 z150 mit Brushless 400W Spindel (RC-Motor)

 
Veröffentlicht : 22/11/2015 10:36 am
Mathias
(@matei)
Beiträge: 127
Estimable Member
 

Hi Effad,

Ich versteh nicht warum du bei dir Parameter nicht funktioniert haben. Bei welcher Version bist du?

Ich bin auf der aktuellsten und bei mir furnktioniert alles mit den Werten von Norbert...

Beste Grüße

Matei

 
Veröffentlicht : 22/11/2015 2:09 pm
Robert Lichtenberger
(@effad)
Beiträge: 87
Estimable Member
 

Kann gut sein, dass es ein Versionsproblem ist, habe recht alte Version von LinuxCNC und will nicht upgraden (never change a running system ...).

 
Veröffentlicht : 22/11/2015 2:17 pm
Robert Lichtenberger
(@effad)
Beiträge: 87
Estimable Member
 

Noch eine Frage: Wie ich heute festgestellt habe, braucht die HF Spindel ja einige Zeit, um auf Geschwindigkeit zu kommen, nachdem mit M3 gestartet wurde. Wenn man da jetzt nicht wartet, fährt der Fräser mit wenig oder gar keiner Umdrehung ins Material => Autsch!

Ideal wäre natürlich ein Pin, das "spindle at speed" mitteilt, das macht die HF Steuerung aber wohl nicht.

Meine zweite Idee wäre mit Hilfe von timedelay was zu basteln.

Hat da schon jemand was?

 
Veröffentlicht : 22/11/2015 2:20 pm
Robert Lichtenberger
(@effad)
Beiträge: 87
Estimable Member
 

Hab gerade diese Zeilen für die .hal-Datei aus einem Forum ausgegraben:

loadrt timedelay count=1
addf timedelay.0 servo-thread
setp timedelay.0.on-delay 10
setp timedelay.0.off-delay 0
net spindle-on => timedelay.0.in
net spindle-ready  motion.spindle-at-speed

Habs mal mit der Simulation probiert, da funktioniert es.

=> Damit wird nach jedem M3 10 Sekunden gewartet, bis die Spindel auf Speed ist. Natürlich weniger elegant als mit Signal von der Steuerung, aber geht auch.

Werde aber wohl noch mein dxf2gcode so anpassen müssen, dass er nicht zwischen zwei Shapes immer die Spindel ausschaltet, weil das kann die Fräszeit doch dramatisch nach oben treiben (gerade beim Löcher bohren ...).

 
Veröffentlicht : 22/11/2015 3:26 pm
Teilen: