Solved M505: Delta -> Cartesian
-
Hello,
I have a delta configuration with 6 axes and am currently controlling the axes with the G1 H2 command. This leads to a backward movement.
Now @droftarts had a very good idea , namely to configure the delta system as a cartesian so that I can omit the H2 command and also control the axes directly.This is my new configuration file, I put it in an extra folder in sys/
Is it enough that I just pack the config.g in the folder or do I have to zip the complete one. Put the file in there?
When I with:
M505 P"config1"
M98 P"config.g"`
It loads the file but I can't home the motors and it says the P is wrong; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Name" ; set printer name ; Wait a moment for the CAN expansion boards to start G4 S2 ; Network ... ; Drives M569 P0.0 S0 ; physical drive 0.0 goes forwards (y1) M569 P0.1 S1 ; physical drive 0.1 goes forwards (y2) M569 P0.2 S0 ; physical drive 0.2 goes forwards (x1) M569 P0.3 S1 ; physical drive 0.3 goes forwards (x2) M569 P0.4 S0 ; physical drive 0.4 goes forwards (z1) M569 P0.5 S0 ; physical drive 0.5 goes forwards (z2) M569 P1.0 S0 ; physical drive 1.0 goes forwards (Extruder 1) ;M584 X0.4 Y0.5 Z0.0 U0.1 V0.2 W0.3 E1.0 P6 M350 X16 U16 Y16 V16 Z16 W16 E16 I1 ; configure microstepping with interpolation (*) M92 X160.00 U160.00 Y160.00 V160.00 Z160.00 W160.00 E690.00 ; set steps per mm (*) M566 X5000.00 U5000.00 Y5000.00 V5000.00 Z5000.00 W5000.00 E300.00 ; set maximum instantaneous speed changes (mm/min) (*) M203 X8000.00 U8000.00 Y8000.00 V8000.00 Z8000.00 W8000.00 E7200.00 ; set maximum speeds (mm/min) (*) M201 X2000.00 U2000.00 Y2000.00 V2000.00 Z2000.00 W2000.00 E3000.00 ; set accelerations (mm/s^2) (*) M906 X1800 U1800 Y1800 V1800 Z1800 W1800 E1100 I80 ; set motor currents (mA) and motor idle factor in per cent (*) M84 S30 ; Set idle timeout (*) ; Set idle timeout FUNKTIONIERT! ---------------------- ; Axis Limits M208 X0 Y0 Z0 U0 V0 W0 S1 ; set minimum Z M208 X300 Y300 Z300 U300 V300 W0 S0 ; Endstops ;M574 X2 S1 P"io5.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin 1.io3.in (*) ;M574 Y2 S1 P"io6.in" ; configure switch-type (e.g. microswitch) endstop for high end on U via pin 1.io4.in (*) ;M574 Z2 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin 1.io1.in (*) ;M574 U2 S1 P"io2.in" ; configure switch-type (e.g. microswitch) endstop for high end on V via pin 1.io2.in (*) ;M574 V2 S1 P"io3.in" ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin 1.io5.in (*) ;M574 W2 S1 P"io4.in" ; configure switch-type (e.g. microswitch) endstop for high end on W via pin 1.io6.in (*) --------------------------- ; Z-Probe M558 P8 R0.4 H10 C"io8.in+io8.out" F1200 ; set Z probe type to effector and the dive height + speeds ;G31 P100 X0 U0 Y0 V0 Z-0.1 W0 ; set Z probe trigger value, offset and trigger height (*) G31 P100 X0 Y0 Z-0.33 ; set Z probe trigger value, offset and trigger height M557 R85 S20 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"1.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp3 M950 H1 C"1.out0" T1 ; create nozzle heater output on 1.out0 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"1.out7" Q500 ; create fan 0 on pin 1.out7 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"1.out6" Q500 ; create fan 1 on pin 1.out6 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 S"SIX" D0 H1 F1 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined
-
@tkln You need to create two folders in the sys folder, eg sys/delta/ and sys/cartesian/. Put all the configuration and homing files, including config.g, for delta in sys/delta. Put all the configuration files and homing files for cartesian in sys/cartesian. Note that cartesian homing files are very different from delta; delta has one file called 'homedelta.g', while cartesian has a 'homeall.g' and a homing file for each axis. Make sure you don't have a homedelta.g in the cartesian files, as this is used in preference to homeall.g.
Create a sys/config.g so you can switch between them, eg:
; config.g M505 P"sys/delta" ; sets machine up as delta, 3 axes, XYZ ; M505 P"sys/cartesian" ; sets machine up as cartesian with 6 axes, XYZUVW M98 P"config.g"`
EDIT: to change between the configurations, edit the short config.g, uncommenting the M505 line you want to use, and commenting out the other. Then save config.g and reset.
Alternatively, use two SD cards, and swap between them. This may be simpler, because Gcode for each machine type will only be on the card for that machine, rather than mixed together.
Ian
-
@droftarts Thank you very much for your quick feedback and good ideas.
-