Core XYU or XYUV
-
@curlypaul Back on topic - might be best if you post your config.g and homing files.
-
Thankyou - I'll take that from seeing your build
All machined at work, it's meant to be a toolchanger at some point also - that was the original plan
It's sister machine has been running since last november, but only as a single head, but as with everything, life and work get in the way
-
Here we go, only using stall for homing at present for getting it going
config.g
G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Dual Head" ; set printer name M669 K8 ; select CoreXYUV mode ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; X physical drive 0 goes forwards M569 P1 S1 ; Y physical drive 1 goes forwards M569 P2 S1 ; Z physical drive 2 goes forwards M569 P3 S0 ; U physical drive 3 goes forwards M569 P4 S1 ; V physical drive 4 goes forwards M569 P5 S1 ; E0 physical drive 0 goes forwards M569 P6 S1 ; E1 physical drive 1 goes forwards M584 X0 Y1 U3 V4 Z2 E5:6 P4 ; set drive mapping M350 X16 Y16 U16 V16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X160 Y160 U160 V160 Z2560 E420:420 ; set steps per mm M566 X1200 Y1200 U1200 V1200 Z12 E120:120 ; set maximum instantaneous speed changes (mm/min) M203 X9000 Y9000 U9000 V9000 Z360 E1200:1200 ; set maximum speeds (mm/min) M201 X1000 Y1000 U1000 V1000 Z500 E250:250 ; set accelerations (mm/s^2) M906 X1400 Y1400 U1400 V1400 Z1400 E1200:1200 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-5 Y-5 U-5 V-5 Z0 S1 ; set axis minima M208 X400 Y350 U400 V350 Z300 S0 ; set axis maxima ; Endstops M574 X1 Y1 U1 V1 S3 ; set endstops controlled by motor stall detection M574 Z1 S2 ; set endstops controlled by probe ; Z-Probe M307 H3 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch M558 P9 H5 F120 T9000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X-35:215 Y-45:195 S20 ; define mesh grid ; Heaters M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0 M143 H0 S90 ; set temperature limit for heater 0 to 90C M305 P1 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C M305 P2 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 2 M143 H2 S280 ; set temperature limit for heater 2 to 280C ; Fans M106 P0 S0 I0 F50 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F50 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S1 I0 F50 H2 T45 X125 ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P3 S1 I0 F50 H-1 ; set fan 3 value, PWM signal inversion and frequency. Thermostatic control is turned off ; Tools M563 P0 D0 H1 F0 ; 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 M563 P1 D1 H2 F3 X3 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
homeu.g
M400 ; make sure everything has stopped before we make changes G4 P100 ; wait 400ms M574 U1 V1 S3 ; set endstops to use motor stall M913 U50 V50 ; drop motor currents to 50% M915 H200 U V S3 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered G91 G1 H2 Z5 F9000 ; lift Z relative to current position G1 H1 U705 F4000 ; move quickly to X axis endstop and stop there (first pass) G1 H2 U-6 F5000 ; go back a few mm G1 H1 U705 F3000 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F9000 ; lower Z again G92 U400 M400 ; make sure everything has stopped before we reset the motor currents G4 P100 ; wait 400ms M913 U100 V100 ; motor currents back to 100% M574 U1 S0 ; Define active low and unused microswitches G1G91U-5.F5000
homex.g
M400 ; make sure everything has stopped before we make changes G4 P100 ; wait 400ms M574 X1 Y1 S3 ; set endstops to use motor stall M913 X50 Y50 ; drop motor currents to 50% M915 H200 X Y S3 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered G91 G1 H2 Z5 F9000 ; lift Z relative to current position G1 H1 X-705 F4000 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X6 F5000 ; go back a few mm G1 H1 X-705 F3000 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F9000 ; lower Z again G92 X0 M400 ; make sure everything has stopped before we reset the motor currents G4 P100 ; wait 400ms M913 X100 Y100 ; motor currents back to 100% M574 X1 S0 ; Define active low and unused microswitches G1G91X5.F5000 G90
homey.g
G91 ; relative positioning M400 ; make sure everything has stopped before we make changes M574 X1 Y1 S3 ; set endstops to use motor stall M913 X40 Y40 ; drop motor currents to 25% M915 H200 X Y S3 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered G1 H2 Z5 F9000 ; lift Z relative to current position G1 S1 Y-700 F4000 ; move all carriages up 700mm, stopping at the endstops G1 Y5 G92 Y0 G4 X2000 G1 S1 Y-700 F4000 ; move all carriages up 700mm, stopping at the endstops G1 Y5 G92 Y0 G1 H2 Z-5 F9000 ; lower Z again G90 ; back to absolute positioning M400 ; make sure everything has stopped before we reset the motor currents G4 P100 ; wait 400ms M913 X100 Y100 ; motor currents back to 100% M574 Y1 S0 ; Define active low and unused microswitches
-
@curlypaul I have an idea but I might be on the wrong track. I need to clarify a few things in my mind - bear with me.
Looking at your rig, I'm assuming that you just have one gantry that moves towards the back and front and that on that gantry you have two independent heads that move left to right yes? If so, then and Y and V are common but X and U are separate yes?
You are homing X to the left but U to the right yes?
But you have all the end stops set to the low end (M574). So what I think you might need to do is change the U end stop to be at the high end (change M574 U1 to U2). But then you'll need to change the motor directions as well (I think - because you say that it currently homes correctly but we need to change the endstop from being low end to high end). Maybe David can confirm or otherwise.
-
I noticed the U was U1 not U2 after I posted the code - changed to U2 still the same
Everything else you typed was correct
-
@curlypaul You've got a couple of M574s in your home U as well as in config.g. Do they now all match?
-
@deckingman Yes - Both U2
-
@curlypaul I've just re-read you post - lack of caffeine on my part - it's Y that you are having problems with not U. So you can home Y fine but you can't move Y "normally". That's a bit puzzling. My printer is a bit different because I have two completely separate gantries (actually 3 because it's now CoreXYUVAB) but what I have to do is map the motors to individual axes for homing, then combine them for "normal" movement. So maybe what you need to do is, after homing Y combine the Y and V motors. So send M584 Y1:4. if that works, then change your config.g to be M584 X0 Y1:4 U3 V4 Z2 E5:6 (not sure about the "P" - maybe leave it as 4). That might work (no guarantees)
-
@deckingman - can't hurt to try ! - thank you for taking the time
-
Well, that made for some strange movements
So, I can home X, Y and then U - all fine then if I try to move Y it doesn't move correctly and the belts/motors make angry noises (Sorry - I spent ages thinking of a better description)
Yet X and U still move correctlyFrom a fresh power on situation, if I send M564 H0,same as homing, again x moves okay, y moves okay, u moves okay. Go back to y - angry noises again
If I move x, then u - all okay but then if I move Y - it doesn't like it -
@curlypaul "Angry noises" is nicely descriptive. It seems that the motors are fighting against each other - or maybe one or more is stationary.
I'm looking at your home Y file and trying to figure out what's different between a G1 Y move there and a G1 Y move outside of home Y. 2 things leap out at me (but I'm not sure how it helps).
Firstly, you seem to have a scattering of "G1 S1" moves in amongst the "G1 H2s". So you ought to correct them (edit - change them from S1 to H1).
Secondly H1 and H2 moves select individual motor mode. So I'm guessing that if you send G1 H2 Ynn it will work, but if you send G1 Ynn (without the "H") you'll get "angry noises". Can you check if that's the case?
-
@deckingman - I didn't spot the S1 in HomeY, That's gone now - still the same
In the meantime, I thought I'd try swapping the carriages - so U is now RH / X LH still the same issue
It's really baffling me, all axis move the correct way and amount on their own, just whenever need to 'mix' axes (if that makes sense) Y goes wrong.
I unhid V and sent a M564 H0. U and V move correct ways and I can then move X try and move Y .... angry noises
I reset... I move X,U and Y, and X,Y and U try and move V - angry noises
-
Endeavoured to make a video of whats going on..
This is with carriages swapped from original - as mentioned in previous post
-
@curlypaul Sorry for the delay - had a power outage here. Did you try sending G1 H2 Ynn to see if that works, then G1 Ynn (without the H2)?
Then maybe try G1 H2 Vnn. If V goes the opposite way, then that might explain why Y (which is Y and V) goes haywire.
-
@curlypaul Also, after homing, try sending M584 P3 to see if that makes any difference.
-
@curlypaul Edit - to attempt to home V you'll need to use M584 P5 to make it visible.
-
@deckingman - No worries - i Had to walk away from it for a bit anyway !
So I tried the H2 and without - I just what can only be described a machine gun noise - mostly from the 'x' carriage
After the M584 P5, the 'U' carriage just twitches
-
Right - Think spotted something !?
after homing x,y and u - it appears to me that the lower pair of 'U' axis motors aren't moving when I try to move Y -
@curlypaul That's weird. Because a G1 H2 Ynn move is what you have in your homing file and you say that homing file works fine (in fact your video shows it working fine). So I really can't understand why sending exactly the same command outside of homeY doesn't work. If you were re-mapping motors or some such I could understand it, but you aren't doing that. The only thing you do at the end of homeY is restore the motor currents and change the endstop settings but none of that should make any difference.
I've really run out of ideas - we need DC42 or someone else equally knowledgeable to look at this. Clutching at straws but maybe try removing the final M574 at the end of homeY. I really don;t see why that should make any difference but it's the only thing (apart from motor currents) that gets changed after Y has been homed.
-
@curlypaul said in Core XYU or XYUV:
Right - Think spotted something !?
after homing x,y and u - it appears to me that the lower pair of 'U' axis motors aren't moving when I try to move YYes I figured something like that was happening - hence the "angry noises". The question is why (when they all move as expected during homing). And why again, when you send G1 Ynn H2 which is exactly the same thing as your homing move.