Haq XY
-
I'm glad you got it working.
M564 H0 S0 will not affect the G1 S1 and G1 S2 commands in homing files. It only affects regular G0 and G1 moves.
BTW, are you the author of the post at https://hackaday.io/project/19543-haq-xy/details ?
-
@dc42 hmm ok.. there's definalty somethubg wrong with my homing then. As I said before, sometimes it works perfect and other times, for example, the Y axis just plunge into the endstop and agter I cant move it.
No the author is Haqnmaq, iv'e talked to him about this project and he was exited as well
I think this could be a really neet solution for a idex printer.
-
If you home just X or just Y, does that work reliably?
-
@dc42 Sometimes. But let's say I manage to home Y, if I then move Y and then tried to home it again it will most likley not work as planned.
-
@dc42 Sometimes. But let's say I manage to home Y, if I then move Y and then tried to home it again it will most likley not work as planned.
Do you mean that it sometimes ignores the triggering of the Y endstop switch? Are you certain that you have the X and Y endstop switches connected to the right connectors?
Please post your homey.g file.
-
@dc42 Yes, but I dont have the endstops for Z and U connected yet so I can't do the homeall.g.
This is the homey.g
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 Y555 F1800 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y-10 F1000 ; go back a few mm
G1 S1 Y555 F360 ; move slowly to Y axis endstop once more (second pass)
G1 Z-5 F6000 S2 ; lower Z again
G90 ; absolute positioning -
So i've added the endstop to my U axis, and added a homeu.g folder (not sure if I supose to?)
But I can't home U... I have U motor and endstop connected to the duex2. -
Yes you do need a homeu.g file. The U endstop switch must be connected to the E0 endstop input.
-
@dc42 Ok!
But when I try to home U nothing happends, only Z goes down 5mm and nothing more. -
Have you tested the au endstop? https://duet3d.dozuki.com/Wiki/Connecting_endstop_switches#Section_Test_endstop_switches
-
@haggan90 Got this fixed now, now homing of U works
But everything is still very buggy.. is there something wrong with my homey.g ? -
"everything is still very buggy" doesn't give me much to go on. Please provide more detail of the fault(s). A video may help. Remember, I don't have a machine with those kinematics to test this on, the best I can do is to configure a Cartesian machine in the same way as yours and try to work out whether the motor movements are correct.
-
@dc42 yeah I know, I'm sorry.
I very much appriciate all the help you have given me
I will try and do some troubleshooting myself first and if I don't manage to fix it I will post a video!All in all the movements seems to work great!
One thing, do I need to home every axis the same way? In my case now, the Y homes in +555 and X/U homes in -555? Should I maybe move the endstop for Y to the other side?
-
One thing, do I need to home every axis the same way? In my case now, the Y homes in +555 and X/U homes in -555? Should I maybe move the endstop for Y to the other side?
No, you should be able to use those endstop locations just as they are.
I think there may be a problem with the current firmware if you try to home several axes concurrently. What should happen is that if you home two or more of X, Y and U concurrently, the homing move should stop when the first endstop switch is hit. Then you need to finish by homing the axes individually. But I suspect that if you home X and Y together, if the X switch is triggered first then the homing move will not stop.
-
@dc42 Usually the homing of U and X works good, but when i home Y it just stops when it hits the endstop and then I need to restart the board. I havent tried to home any axes at the same time, only individually.
Simetimes when I try to home X the U axis also moves and plunges in to the endstop...
-
Please share your config.g and homing files, then I'll try to replicate those issues.
-
@dc42
Config.g; Drives
M669 K0 Y-1:1:0:-1 ; set Y to react with X1 and U6
M584 Z2:5 U6 ; set 3 Z drivers and add one U driver
M569 P0 S1 ; Drive 0 goes forwards
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S0 ; Drive 2 goes backwards
M569 P3 S1 ; Drive 3 goes forwards
M569 P4 S1 ; Drive 4 goes forwards
M569 P5 S0 ; Drive 5 goes backwards
M569 P6 S0 ; Drive 6 goes backwardsM350 U16 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation
M92 U80.00 X80.00 Y240.00 Z1066.67 E420.00:420.00 ; Set steps per mm
M566 U900.00 X900.00 Y900.00 Z12.00 E120.00:120.00 ; Set maximum instantaneous speed changes (mm/min)
M203 U10000.00 X10000.00 Y10000.00 Z500.00 E1200.00:1200.00 ; Set maximum speeds (mm/min)
M201 U800.00 X800.00 Y800.00 Z20.00 E250.00:250.00 ; Set accelerations (mm/s^2)
M906 U1000.00 X1000.00 Y1000.00 Z1000.00 E800.00:800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 U0 X0 Y0 Z0 S1 ; Set axis minima
M208 U500 X500 Y500 Z750 S0 ; Set axis maxima; Endstops
M574 U0 S0 ; set active low endstops
M574 X1 Y1 S1 ; Set active high endstops; Z-Probe
M574 X1 Y2 S1 ; X home to min. Y home to max. NC microswitches.
M574 Z1 S2 ; Define Z to use Probe. Home to Min.
M558 P9 H5 F500 T4000 X0 Y0 Z1 ; Set Z probe type/mode 9. Not using on XY, but using it on Z.
G31 P25 X0 Y-57.3 Z0.0 ; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment; Heaters
M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0
M143 H0 S120 ; Set temperature limit for heater 0 to 120C
M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C; BLTouch - Heaters
M307 H3 A-1 C-1 D-1 ; Disable the 2nd Heater to free up PWM channel 1 on the Duex board.; Fans
M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on; Tools
M563 P0 D0 H1 ; 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 0Chomey.g
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 Y-550 F1800 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y-10 F1000 ; go back a few mm
G1 S1 Y-550 F360 ; move slowly to Y axis endstop once more (second pass)
G1 Z-5 F6000 S2 ; lower Z again
G90 ; absolute positioninghomex.g
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 X-550 F2500 ; move quickly to X axis endstop and stop there (first pass)
G1 X10 F1000 ; go back a few mm
G1 S1 X-550 F660 ; move slowly to X axis endstop once more (second pass)
G1 Z-5 F6000 S2 ; lower Z again
G90 ; absolute positioninghomeu.g
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 U-550 F2500 ; move quickly to X axis endstop and stop there (first pass)
G1 U10 F1000 ; go back a few mm
G1 S1 U-550 F660 ; move slowly to X axis endstop once more (second pass)
G1 Z-5 F6000 S2 ; lower Z again
G90 ; absolute positioning -
@dc42 I've manage to get the homeall.g to work now byt homing Y first, then X and then U (all independently).
But I have encountered another problem.
When I try to run G29 both the X and U tries to move, when I only want X and Y to move.
U just crashes into the endstop.config.g looks like this
; Endstops
M574 U0 S0 ; set active low endstops
M574 X1 Y1 S1 ; Set active high endstops; Z-Probe
M574 Z1 S2 ; Define Z to use Probe. Home to Min.
M558 P9 H5 F500 T6000 ; Set Z probe type/mode 9.
G31 P25 X0 Y-57.3 Z0.0 ; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment
M557 X50:480 Y60:480 S50 ; define mesh grid; BLTouch - Heaters
M307 H3 A-1 C-1 D-1 ; Disable the 2nd Heater to free up PWM channel 1 on the Duex board -
@dc42 I've manage to get the homeall.g to work now byt homing Y first, then X and then U (all independently).
Can you tell me which sequence didn't work? I still want to sort it out. You should be able to home the axes in any order, even simultaneously to begin with.
But I have encountered another problem.
When I try to run G29 both the X and U tries to move, when I only want X and Y to move.
U just crashes into the endstop.Do normal X, Y and XY moves work correctly? In particular, Y and XY moves should turn the U motor so that the U axis doesn't move. The only time that commands shouldn't move just the axes you mention is when you send G1 S2 moves, because they are individual motor moves.
Also, if you send a G30 probing move such as G30 P0 X100 Y100, does it just move X and Y to 100, or does U move too?
-
For some reason I can't home all again... now when Y tries to home first both X and U moves towards their endstop (at a much lower speed then Y). This is my homeall.g
G91 ; relative positioning
G1 Z5 F6000 S2 ; lift Z relative to current position
G1 S1 Y-550 F2500 ; move quickly to Y axis endstops and stop there (first pass)
G1 Y5 F1000 ; go back a few mm
G1 S1 Y-455 F660 ; move slowly to Y axis endstops once more (second pass)G1 S1 X-550 F2500 ; move quickly to U axis endstop and stop there (first pass)
G1 X10 F1000 ; go back a few mm
G1 S1 X-550 F660 ; move slowly to U axis endstop once more (second pass)G1 S1 U-550 F2500 ; move quickly to U axis endstop and stop there (first pass)
G1 U10 F1000 ; go back a few mm
G1 S1 U-550 F660 ; move slowly to U axis endstop once more (second pass)G90 ; absolute positioning
G1 X35 Y65 F6000 ; go to first bed probe point and home Z
G30 ; home Z by probing the bed; Uncomment the following lines to lift Z after probing
G91 ; relative positioning
G1 S2 Z5 F100 ; lift Z relative to current position
G90 ; absolute positioningIf I just toggle Y/X/U every axis works perfect, when I move Y for example both U and X are perfectly still in x/u axis.
And when I move only X/U the Y axis is perfectly still.Nothing hapends at all if I send G30 P0 X100 Y100, but If I only send G30 (after all axis has been homed) everything just seems to screw up.. I will film it and post a video link soon!