Example calibration corexy with 3 Z motors
-
Hi,
As I mentioned a couple of months ago, I changed my Delta printer for a Corexy, Ratrig v3. This printer uses 3 Z motors, and I have ordered it with a Duet 3 mini + Duet x2, as in total it will use 6 motors
The doubts that arise are many, and it has not yet reached me... The main one is that by having 3 motors in Z, it will use Bltouch, it can be calibrated automatically. I've been looking at the documentation, but in the examples it doesn't use expansion Board.
Could someone using a similar configuration share their settings?
- CoreXY
- 3 Z motors
- Bltouch
Thanks
-
I think the best way would be to have the XYZ motors on the mainboard and use the expander for E.
The only thing you need to do is define the axis and drivers in M584
I believe the +2 drivers end up being drivers 5 and 6
M584 X0 Y1 Z2:3:4 E5You'd also need a M669 K1 for corexy mode.
I suggest you generate a config using the online tool. It will get you 90% of the way there. The only thing you'd need to modify is the M584 to map the drivers as I don't think it currently supports the +2 module.
-
You can reference my V-Core Pro configuration at https://github.com/oliof/printerconfigs/tree/main/v-core_pro -- it ran on Duet3 and had a tool board, but it worked pretty well. I have since sold off the printer due to lack of space.
I seem to remember I have somewhat updated configuration files. I may be able to pull out the RPi to look at the SD card tomorrow if I haven't used that for something else in the mean time.
-
-
There is also https://v-core.ratrig.com/firmware/ -- but I haven't worked on that and cannot vouch for it.
-
Hope this helps,
This is my config for my coreXVUV printer with 3 Z motors; Machine configuration
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; Set relative extruder moves
M555 P2 ; Set firmware compatibility to Marlin
M669 K8 ; set CoreXYUV mode
M564 H0 ; allow axis movement before homing;Drives
;M584 X0:3 Y1:4 Z7:8:9 U10 V11 E2:5:6:10:11 ; Assign motors to axes
M584 X0:3 Y1:4 Z7:8:9 U10 V11 E2:5:6 ; Assign motors to axes
;M584 X0 Y1 U3 V4 Z7:8:9 U10 V11 E2:5:6 ; Assign motors to axes
M569 P0 S1 ; Drive 0 goes forwards X motor
M569 P1 S1 ; Drive 1 goes backwards Y motor
M569 P2 S0 ; Drive 2 goes backwards E1 extruder
M569 P3 S1 ; Drive 3 goes forwards U motor
M569 P4 S1 ; Drive 4 goes backwards V motor
M569 P5 S0 ; Drive 5 goes backwards E2 extruder
M569 P6 S0 ; Drive 6 goes backwards E3 extruder
M569 P7 S1 ; Drive 7 goes forwards Z1 motor left
M569 P8 S1 ; Drive 8 goes forwards Z2 motor rear
M569 P9 S1 ; Drive 9 goes forwards Z3 motor right
;M569 P10 S0 T4 ; Drive 10 goes backwards E4 extruder
;M569 P11 S0 T4 ; Drive 11 goes backwards E5 extrude;Endstops
M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 U1 S1 P"e0stop" ; configure active-high endstop for low end on U via pin ustop
M574 V1 S1 P"e1stop" ; configure active-high endstop for low end on V via pin vstop
M574 Z1 S1 P"zstop" ; configure Z-probe endstop for low end on ZM581 P"zstop" T2 R0 ; Set Z stop as fail safe for Z zeroing and run /sys/trigger2.g
M671 X-42:150:344 Y96:337:101 S3 ; Lead screw positions
M350 X16 Y16 U16 V16 Z16 E16 I1 ; Set XYUVZE 16 micro stepping with interpolation
M92 X80 Y80 U80 V80 Z3200 E415:415 ; Set axis steps/mm (XYUVZE=16)
M566 X1500 Y1500 U400 V400 Z30 E300 ; Maximum jerk speeds mm/minute
M203 X10000 Y10000 U10000 V10000 Z100 E3000 ; Maximum speeds (mm/min)
M201 X2000 Y2000 U800 V800 Z30 E1000 ; Accelerations (mm/s^2)
M906 X1100 Y1100 U1100 V1100 Z1000 E1000 ; Set motor currents (mA);axis limits
M208 X350 Y327 U350 V327 Z240 ; set axis maxima (adjust to suit your machine)
M208 X0 Y0 U0 V0 Z0 S1 ; set axis minima (adjust so X=0 and Y=0 the edges of the bed); Thermistors and heaters
M308 S0 P"bed_temp" Y"thermistor" T100000 B3950 H3; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bed_heat" T0 ; create bed heater output on bedheat and map it to sensor 0
M143 H0 S85 ; set temperature limit for heater 0 to 85C
M307 H0 R0.326 C233.6 D3.57 S1.00 V24.5 B0 ; RRF3.2 Auto tune PID for bed heater
M308 S1 P"e0_temp" Y"thermistor" B3950 H25 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0_heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M140 H0
M143 H1 S240 ; set temperature limit for heater 1 to 240C
M307 H1 R2.851 C179.8 D5.25 S1.00 V24.6 ; new J-Head
M308 S10 Y"mcu-temp" A"CPU" ; CPU temp sensor
M308 S11 Y"drivers" A"Duet_drv" ; drivers temp sensor; Tool definition********** Single nozzle settings **********
M563 P0 D0 H1 F0 ; Define tool 0
G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures; Fan settings
M950 F0 C"Fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 H-1 C"Cooling" ; set Tool fan. Thermostatic control is off
M950 F1 C"Fan1" Q500 ; create Extruder on pin fan1 and set its frequency
M106 P1 H1 T45 C"Extruder" ; set Extruder Fan. Thermostatic control is turned on
M950 F2 C"Fan2" Q500 ; create System fan on pin fan2 and set its frequency
M106 P2 H10:11 T35:50 L45 C"System" ; set System fan. Thermostatic electronics cooling; LED Lighting
M950 F3 C"duex.fan3" Q500 ; create fan 3 on pin duex.fan3 set frequency for LED Red
M106 P3 C"RGB Red" ; set RGB Red PWM
M950 F4 C"duex.fan4" Q500 ; create fan 4 on pin duex.fan4 set frequency for LED Green
M106 P4 C"RGB Green" ; set RGB Green PWM
M950 F5 C"duex.fan5" Q500 ; create fan 5 on pin duex.fan5 set frequency for LED Blue
M106 P5 C"RGB Blue" ; set RGB Blue PWM; Custom settings
M557 X20:280 Y20:190 S170 ; define mesh grid
M572 D1 S0.1 ; pressure advance D= Extruder, S= advance amount 0.1 - 0.2
M558 P1 C"zprobe.in+zprobe.mod" H5 F120 T6000 A2 S-1 ; set Z probe type to unmodulated and dive height + speeds
G31 P500 X-30 Y8 Z0.950 ; set Z probe trigger value, offset and trigger height -
Sure, thanks....
I'm still assembly it ... and I think it will take me a few days, taking weeks ...
-
This post is deleted! -
@arnold_r_clark you keep repeating that. I've reviewed it before I linked it and couldn't find any obvious flaws. If you point me to where the flaws are mentioned, I'll work with them on getting it improved.
Disclosure: I am part of the RatRig beta team.
-
@oliof The config works but my big heartburn is in the RatRig wiring diagram. Having the simple endstops for X & Y going to IO_0 and IO_1 is just a waste of more "advanced" ports that have much better uses. Better to have them moved off to 4-6.
-
This post is deleted! -
@arnold_r_clark you're unusually unhelpful compared to what I am usually used to in this forum. That's disappointing.
-
This post is deleted! -
That's funny. Let's continue a discussion whenever you'd like to provide useful technical advice. Maybe just for @peirof s sake who asked for input which you keep withholding.
-
This post is deleted! -
@arnold_r_clark which errors? How to correct them?
-
@arnold_r_clark Oliof is as helpful and sincere as anyone you're likely to meet and he appears to be in a position to correct the issues you've found.
-
@arnold_r_clark said in Example calibration corexy with 3 Z motors:
Also if you are :
Disclosure: I am part of the RatRig beta team.
How can you direct people to the page but say the following :
I haven't worked on that and cannot vouch for it.
As a third party with no bias to either side, I see that as meaning olief is a product beta tester and not one of the programming team.
There is no contradiction between the two statements.
Why not just post some example problems, rather than going in circles???
[I'd never heard of "ratrig" other than here and have no interest in it].
-
A quick glance at the linked code, I agree - right off the bat there's a bad error in line 6.
G29 S1 ; Set Units to Millimeters
Ughhhh no, the proper code there would be:
G21
I got fascinated by this thread and just happened to take a look. I didn't get past even that, and I may keep looking later.
ok, I looked a bit more, and the BLTouch config is also wrong, and will result in slamming the bed into the nozzle. The pull-up resistor has to be enabled with the "^" in the command, like so...
M558 P9 C"io7.in" H5 F240 T10800 A5
Should read :
M558 P9 C"^io7.in" H5 F240 T10800 A5
Also, that F240 is REALLY slow. I run F2000 and it's fine.
Also, why is Homeall.g just a cut and paste of homex, homey, and homez? If you make a change in one of those, then you have to remember to also edit it in the homeall.g file. a far more elegant approach would have been to have the contents of the homeall.g file just call each of the axis, in order.
; Home all axis
M98 P"homex.g" ; Home X
M98 P"homey.g" ; Home Y
M98 P"homez.g" ; Home ZG90 ; absolute positioning
Cleaner, and less prone to problems from redundant coding.
I happen to have very custom BLV so I have no particular connection to rat-rig, but there's commonality in the config.g set up with most all XY cubes.
-
@arnold_r_clark what's wrong with you?
Nothing here should be personal.
If you can help just do
If you find error somwhere just point it