Hypercube Fusion movement help
-
I'm getting a headache, how bout you? We'll get there.
if I leave the homeall.g file unchanged and just change the config.g line to M574 X1 Y2 S1 as suggested and then move my optical Y endstop to the front of the machine so it is where it should have been in the 1st place would it be able to print things not mirrored / back to front etc or do I have to change the homeall.g file.
No. Because your original homeall has Y moving negative/low end, but M574 Y2 means the endstop is at the high end. So if you just moved the endstop you'd still end up with mirrored parts. The physical position of the endstop is irrelevance since we just have to tell the firmware where it is.
In your video where it hits the endstop and then continues to ride against the frame it looks like that's the point where it should be moving the center of the bed, but it thinks it's at the low end and that the bed is actually beyond the rail.
So let's take it from the top just to cross our Ts and dot our Is.
Please post your config.g, homing files as they are right now.
Then answer these tests.
With the power off, physically move the print head to the center of the bed. Power on and send
G92 X150 Y150 Z5
. This will tell the firmware to think that the Axis are homed and the position is close to the center of the bed.Then use the jog buttons in the DWC.
Does X- move left and X+ move right?
Does Y- move to the front and Y+ to the back?
Also redo the
G1 S2 X10
andG1 S2 Y10
tests as before.Hopefully with all that information we can pin point what needs to be changed.
-
@Phaedrux yep I certainly am getting a headache and yet I have no clue what I am doing
Okay here is the config.g
; Configuration file for Duet WiFi (firmware version 2.03) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Jan 26 2020 18:02:23 GMT+0000 (Greenwich Mean Time) ; General preferences G21 ; Work in millimetres G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"HEVO" ; set printer name M667 S1 ; select CoreXY mode ; Network M552 S1 P"ASUS" ; Enable network M587 S"ASUS" P"**hevors" ; Configure access point. You can delete this line once connected M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S0 ; physical drive 3 goes backwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z1066.67 E425.23 ; set steps per mm (original 420.00) M566 X900.00 Y900.00 Z60.00 E900.00 ; set maximum instantaneous speed changes (mm/min) M203 X10000.00 Y10000.00 Z600.00 E9000.00 ; set maximum speeds (mm/min) M201 X800.00 Y800.00 Z250.00 E800.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X310 Y320 Z500 S0 ; set axis maxima ; Endstops M574 X1 Y2 S1 ; set active high endstops M574 Z1 S2 ; set endstops controlled by probe ; Z-Probe M558 P1 H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X33 Y0 Z2.300 ; set Z probe trigger value, offset and trigger height M557 X15:250 Y15:285 S20 ; define mesh grid ; Heaters M305 P0 T100000 B3950 R4700 ; set thermistor + ADC parameters for heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M305 P1 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M106 P0 S0 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 S"Main Extruder" 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 ; Custom settings are not defined ; Miscellaneous M501 ; Load saved parameters from non-volatile memory T0 ; Select first tool ; Startup Tune ; M400 G4 S2 M300 P200 S2000 G4 P201 M300 P200 S2250 G4 P201 M300 P200 S2000 G4 P201 M300 P200 S2855 G4 P201 M300 P200 S2500 G4 P201 M300 P200 S2200 G4 P201 M300 P200 S2500 G4 P201 M300 P200 S2900 G4 P201 M300 P300 S3500 G4 P300
homeall.g
;original values homing to front left corner after motor swap ; homeall.g ; called to home all axes homing x first then y then z and finally z to bed center before probing ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Jan 26 2020 18:02:23 GMT+0000 (Greenwich Mean Time) ;G91 ; relative positioning ;G1 H2 Z5 F6000 ; lift Z relative to current position ;G1 H1 X-315 F1800 ; move quickly to X or Y endstop and stop there (first pass) ;G1 X5 F6000 ; go back a few mm ;G1 H1 X-315 F360 ; move slowly to X axis endstop once more (second pass) ;G1 H1 Y-325 F1800 ; home Y axis ;G1 Y15 F6000 ; go back a few mm ;G1 H1 Y-315 F360 ; move slowly to X axis endstop once more (second pass) ;G90 ; absolute positioning ;G1 Y15 F6000 ; move y 15mm away from home before homing z to stop collision with y sensor ;G1 X 146 Y 130 F6000 ; go to first bed probe point and home Z ;G30 ; home Z by probing the bed ;new values homing to back left corner ; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Jan 26 2020 18:02:23 GMT+0000 (Greenwich Mean Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-315 F1800 ; move quickly to X or Y endstop and stop there (first pass) G1 X5 F6000 ; go back a few mm G1 H1 X-315 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y325 F1800 ; home Y axis G1 Y-15 F6000 ; go back a few mm G1 H1 Y315 F360 ; move slowly to X axis endstop once more (second pass) G90 ; absolute positioning G1 X150 G1 Y146 Y130 F6000 ; go to first bed probe point and home Z G30 ; home Z by probing the bed ;G1 X0 Y0 Z5 ; return to a parked position
homex.g
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Jan 26 2020 18:02:23 GMT+0000 (Greenwich Mean Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-315 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 X5 F6000 ; go back a few mm G1 H1 X-315 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
homey.g
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Jan 26 2020 18:02:23 GMT+0000 (Greenwich Mean Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Y-325 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 Y5 F6000 ; go back a few mm G1 H1 Y-325 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
homez.g
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Jan 26 2020 18:02:23 GMT+0000 (Greenwich Mean Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G90 ; absolute positioning G1 X-18 Y15 F6000 ; go to first probe point G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
TESTS
X -10 moves left
X +10 moves rightY -10 moves to the front
Y +10 moves to the rearG1 S2 X10 moves forwards and to the left
G1 S2 Y10 moves forwards and to the rightIf there is anything else that you need let me know and I will upload my firmware to dropbox, or if you need to talk through this to make it easier then I can do that too. Basically whatever you need just let me know and thanks again for all the help.
-
I'll take a closer look later today.
-
@Phaedrux thank you very much
-
Ok a couple more questions.
Which motor is plugged into which driver? I know we did some swapping, but how are they connected right now?
We're gonna try and make your configuration match my own, so here's what I have.
The left motor is connected to the X driver, the right motor is connected to the Y driver.
Then in the drives section for motor direction I have the opposite of you.
you have:
; Drives M569 P0 S1 M569 P1 S1
I have:
; Drives M569 P0 S0 M569 P1 S0
So make those changes to the motor wiring and the direction of rotation, and then do those motor tests again.
Also, when you say
G1 S2 X10 moves forwards and to the left
G1 S2 Y10 moves forwards and to the rightDoes forwards mean towards the front of the printer or towards the back of the printer?
-
@RAM said in Hypercube Fusion movement help:
; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Jan 26 2020 18:02:23 GMT+0000 (Greenwich Mean Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 Y-325 F1800 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y5 F6000 ; go back a few mm
G1 H1 Y-325 F360 ; move slowly to Y axis endstop once more (second pass)
G1 H2 Z-5 F6000 ; lower Z again
G90 ; absolute positioningOnce we have the directions sorted out the homeY will also need to change from that to this:
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Jan 26 2020 18:02:23 GMT+0000 (Greenwich Mean Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Y325 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 Y-5 F6000 ; go back a few mm G1 H1 Y325 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
And your homez should use the same X Y position to probe the bed as used in home all. Right now you have
G90 ; absolute positioning G1 X-18 Y15 F6000 ; go to first probe point G30 ; home Z by probing the bed
Except in your homeall right now it doesn't make a lot of sense.
G90 G1 X150 G1 Y146 Y130 F6000 ; go to first bed probe point and home Z G30
The first one moves to just an X position, and the second line has two Y values. So I'm guessing it should be
G1 X150 Y130 F6000
instead -
@Phaedrux
Left motor is plugged into the X axis
Right motor is plugged into the Y axisMy motors are at the front of my machine
G1 S2 X10 moves to the rear right corner
G1 S2 Y10 moves to the front right corner (diagonally towards the front where the Y axis motor is)X -10 moves right
X +10 moves leftY -10 moves to the rear
Y +10 moves to the front
If I now try and home X & Y indiviually they move away from the endstops.
(If looking at the machine from the front the Y enstop is at the rear left and the X is on the left)Also changed the home files as instructed to.
Homeall.g
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Jan 26 2020 18:02:23 GMT+0000 (Greenwich Mean Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-315 F1800 ; move quickly to X or Y endstop and stop there (first pass) G1 X5 F6000 ; go back a few mm G1 H1 X-315 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y325 F1800 ; home Y axis G1 Y-15 F6000 ; go back a few mm G1 H1 Y315 F360 ; move slowly to X axis endstop once more (second pass) G90 ; absolute positioning G1 X150 G1 X150 Y130 F6000 ; go to first bed probe point and home Z G30 ; home Z by probing the bed ;G1 X0 Y0 Z5 ; return to a parked position Homez.g
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Jan 26 2020 18:02:23 GMT+0000 (Greenwich Mean Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G90 ; absolute positioning
G1 X150 Y130 F6000 ; go to first probe point
G30 ; home Z by probing the bed; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioning -
is that with the change to the drive direction?
; Drives
M569 P0 S0
M569 P1 S0 -
@Phaedrux yes I changed the config.g to
; Drives
M569 P0 S0
M569 P1 S0 -
I'm at a bit of a loss currently.
With the config as it is, I can't explain why the Y axis is still flipped from what it should be, yet the individual motor tests produce the correct motion.
I'll need to sleep on it.
-
@Phaedrux no problem, would it help to know what motors I am using ?
-
Maybe. It may help to know how the phases are wired at the plug.
-
@Phaedrux here you go hopefully this will help. 17HS15-1504S-X1.pdf
I never even gave this a thought when I was plugging in the motor connectors I think they could be wrong from looking at the pdf and the duet 2 wifi wiring diagram.
In true bonehead fashion I was looking where the black wire was to which way it needed to go on the duet and didn't give the others a thought. I really need to stop building things at 2am.Looking at the pdf and the duet wiring diagram and my thinking is this. (Hope this makes sense)
2B 2A 1A 1B
Red Blue Green Black this is how it is on the DuetMy motors come wired up as
A A\ B B
Black Green Red BlueNow I can only assume that e.g A would be 1A & A\ would be 2A. If I am thinking on the right path then do I need to move the pins around on the duet connection end of the motor leads so that they are in this order.
DUET BOARD
2B 2A 1A 1B
Red Blue Green BlackMOTOR PLUG
B\ A\ A B
Blue Green Black RedIf I am wrong then I have no clue which is probably more than likely.
-
I think the way you have them wired is alright, just that the pairs are swapped such that the rotation direction is reversed from how it's expected. Which is fine because it can be altered in software anyway with the drive direction command.
If you had the motor pairs wired in an unmatched fashion it wouldn't spin and you'd get some warnings in the console. It can also potentially cause damage.
The whole 1A 1B 2A 2B A A/ B B/ thing is pretty confusing, I agree.
In your case though by the look of the motor spec PDF the colors of the wires look like they actually match the colors of the plugs on the duet wiring diagram, which isn't always the case.
So on the motor the pair is denoted by the letters (A's together and B's together). And on the duet the pairs are denoted by the numbers (1's together, and 2's together).
So in the PDF it says that black (A) and green (A/) are a coil pair, and red (B) and blue (B/) are a coil pair.
And on the duet black (1B) and green (1A) are a pair, and red (2B) and blue (2A) are a pair.
So
black (A) to black (1B),
green (A/) to green (1A),
red (B) to red (2B),
blue (B/) to blue (2A).I hope that makes sense.
If you decide to swap them around to match the colors I think that would verify that the rotation direction changes.
-
@Phaedrux ok im confused sorry.
Do I wire them in the order ofblack (A) to black (1B),
green (A/) to green (1A),
red (B) to red (2B),
blue (B/) to blue (2A).Which I don't understand as the order of the pair looking at the wiring diagram on the duet 2 it shows that it is.
black (A) to black (1B),
green (A/) to green (1A),
blue (B/) to blue (2A).
red (B) to red (2B), -
I'll have to double check when I get back home butt I though I had it right...
-
@Phaedrux I have just changed it so that it is
black (A) to black (1B),
green (A/) to green (1A),
blue (B/) to blue (2A).
red (B) to red (2B)I will run simple move tests and let you know what it is doing.
-
@RAM said in Hypercube Fusion movement help:
G1 S2 X10 moves to the rear right corner
G1 S2 Y10 moves to the front right cornerDid you remember to send G91 before sending those commands?
-
@dc42 I sent these commands after manually moving the print head to the middle of the bed.
G92 X150 Y150 Z5
then followed by these
G1 S2 X10
G1 S2 Y10
I have changed the motor wires around so that they are:
black (A) to black (1B),
green (A/) to green (1A),
blue (B/) to blue (2A).
red (B) to red (2B)then I run the tests sending the above commands and also using the DWC to do the +/- Y & X axis moves.
I get the following
-x moves left
+x moves right
-y moves to the front of the printer
+y moves to the rear of the printer -
You must send G91 before testing the motors with those G1 S2 commands. Try it and I think you will see the motors move in different directions, which will end @Phaedrux's confusion.
The responses to jogging in the + and - X and Y directions look correct now.