Dual Y Motor Configuration
-
@3DPrintingWorld What firmware are you on? You need to be on RRF 3 for this to work properly as you have it set up at the moment, not RRF 2. Send M115 at the console, and post reply.
Ian
-
@dc42 I think you might be right! The attached picture shows the belt arrangement. Maybe the X and U axis's are keeping the X-axis from twisting. I will try taking the second motor(P9) out of the config and see if I can move it with my finger after its been homed.
I do see an issue that the x(u) carriage must be away from the switch(end of travel) when homing the Y otherwise when the Y motor stalls the x(u) carriage will be pulled into the switch. My plan for home all was to home X & U first then move them away from their switch before homing the Y.
Is it possible to turn the x and u axis off the moment the Y detects a stall?
-
@droftarts Yep, I just switched to RRF 3 last night. I can do this when I get home but I think the issue may be that the belt arrangement is keeping the x axis from twisting. I will confirm both tonight.
-
@dc42 I tried multiple things, I can verify that the issue was not that the motor could not turn. I ended up getting it to work once I turned up the motor current to 50%. If I turned that up any more or the S value I would get skipping. The first time its homed and its far out of skew the farthest side does not always make contact. Then by the second or third time it always makes contact but has the tendency to bounce off.
I think I'm just going to add a second switch to the Y axis and hopefully call it a day.
-
That's an interesting belt arrangement. Is the reason you did not drive the Y axis from one motor because you couldn't get a belt long enough to go around the whole way?
-
@bot No not really, I debated a few different arrangements but decided this one was the best and I had a extra driver on the duex5. Less maintenance, setup and believe it or not probably the cheapest option out of the four. If you are interested I have been posting pictures of my progress on my twitter.
!
-
@3DPrintingWorld interesting layout! I’m considering something similar for my current build, but single carriage and tool changer. See https://forum.duet3d.com/post/118078
Ian
-
What would make the single motor setup more costly? It seems with the difficulty of synchronizing the motors taken into account, it may be easier to do a single motor if the belt is not too long.
-
@droftarts That looks really cool, your extruders look sweet! What keeps your x-axis from skewing. I know without the y-axis belts on the current setup I have the x-axis would be all over the place.
-
@bot An additional stepper motor is only like $15, versus a shaft, couplings, and a couple bearings. I guess if you went with version "D" it might be cheaper, depending on the belt.
Its taking me a little bit to get the homing right but I think it will be the right choice in the long run.
-
@3DPrintingWorld pictures aren’t mine, they’re from the RepRap forums link. The ‘double’ markforge layout is basically a CoreXY, just with the idler that usually takes the belts across the top of the frame moved to the X axis. So it’s in balance, just like a CoreXY, unlike an Hbot or single-sided Y Markforge. It’s effectively yours without the Y axis belts and motors, and with one X carriage the joins the two belts, rather than having them independent.
Ian
-
@droftarts Let me know how it works out when you get it done!
-
Well, I'm not having much luck figuring out anything on my own.... I'm trying to add a second endstop to the y-axis. With one switch its working fine. When I add "+e1stop" to the M574, if either switch is touched it switches the ystop and both motors stop. What am I doing wrong here? Or do I need to add something to my homey to home two motors on a single axis?
M584 X0 U2 Y1:9 Z5:6:7 E3:4
M574 X2 S1 P"xstop"
M574 Y2 S1 P"ystop+e1stop"
M574 U1 S1 P"e0stop" -
@dc42 I was wondering if you could help me with this. I have two switches for the y-axis now. When I configure it like this all switch indicate properly in the endstops status screen.
M574 X2 S1 P"xstop" ; X min active high endstop switch
M574 Y2 S1 P"zstop" ; Y min active high endstop switch
M574 U1 S1 P"e0stop" ; U max active high endstop switchBut when I add the second endstop tag to the y axis like below the ystop switch no longer changes state only the zstop switch.
M574 X2 S1 P"xstop" ; X min active high endstop switch
M574 Y2 S1 P"ystop+zstop" ; Y min active high endstop switch
M574 U1 S1 P"e0stop" ; U max active high endstop switchCan you enlighten me to what I am doing wrong. The other odd thing is when I unplug the zstop and remove its tag from the config, it shows as triggered. Shouldn't that be the opposite?
-
@3DPrintingWorld, which firmware version are you running? Send M115 to confirm it.
Please post your complete config.g file and homing files.
-
@dc42 RRF 3.0
G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M669 K0 Y1:-1:0:1 ; select Markforged Kinematics Y to react with X and U ; Axis Limits M208 X35 Y0 U-18.4 Z0 S1 ; set axis min M208 X419 U365 Y336 Z300 S0 ; set axis max ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P1 S0 ; X physical drive 0 goes backwards M569 P1 S1 ; Y right physical drive 1 goes forwards M569 P2 S0 ; U physical drive 2 goes backwards M569 P3 S1 ; E1 physical drive 3 goes forwards M569 P4 S1 ; E2 physical drive 4 goes forwards M569 P5 S0 ; Z left physical drive 5 goes backwards M569 P6 S0 ; Z center physical drive 6 goes backwards M569 P7 S1 ; Z right physical drive 7 goes forwards M569 P9 S0 ; Y left physical drive 8 goes backwards M584 X0 U2 Y1:9 Z5:6:7 E3:4 ; set drive mapping M350 X16 U16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X100.00 U100.00 Y100.00:80.00 Z1096:1096:1096 E1827.00:1827.00 ; set steps per mm M566 X900.00 U900.00 Y900.00:900.00 Z12.00:12.00:12.00 E40.00:40.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 U6000.00 Y6000.00:6000.00 Z1000.00:1000.00:1000.00 E1800.00:1800.00 ; set maximum speeds (mm/min) M201 X500.00 U500.00 Y500.00:500.00 Z20.00:20.00:20.00 E120.00:120.00 ; set accelerations (mm/s^2) M906 X800 U800 Y800:800 Z200:200:200 E500:500 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Endstops M574 X2 S1 P"xstop" ; X max active high endstop switch M574 U1 S1 P"e0stop" ; U min active high endstop switch M574 Y2 S1 P"ystop" ; Y max active high endstop switch ;M574 Y2 S1 P"ystop+zstop" ; Y Double max active high endstop switch ; Z-Probe M671 X-20.6:200:420.6 Y14.3:333.3:14.3 S2 ;Locations left, center, right M950 S0 C"duex.e6heat" ; create servo pin 0 for BLTouch M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P25 X28.8 Y0 Z2.15 ; set Z probe trigger value, offset and trigger height ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4534 C9.565227e-8 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M308 S1 P"e0temp" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S2 P"e1temp" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 2 as thermistor on pin e1temp M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M143 H2 S280 ; set temperature limit for heater 2 to 280C M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 S0 H-1 ; set fan 2 value. Thermostatic control is turned off M950 F3 C"duex.fan8" Q500 ; create fan 3 on pin duex.fan4 and set its frequency M106 P3 S1 H2 T45 ; set fan 3 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 X3 F0 S"Left" ; define tool 0 left G10 P0 X0 Y-1.2 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 D1 H2 F2 S"Right" ; define tool 1 Right G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C M563 P2 D0:1 H1:2 X0:3 F0:2 S"Copy" ; define tool 2 copy G10 P2 X-75 Y0 U75 S0 R0 ; set tool 2 axis offsets M567 P2 E1:1 ; set mix ratio 100% on both extruders M501 ; Record
; homeall.g ; X,U,Y Homing G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X475 U-475 Y500 F1800 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X475 ; home X axis G1 H1 U-475 ; home U axis G1 H1 Y500 ; home Y axis G1 X-5 U5 Y-5 F6000 ; go back a few mm G1 H1 X25 F360 ; move slowly to X axis(second pass) G1 H1 U-25 ; move slowly to U axis(second pass) G1 H1 Y25 ; move slowly to Y axis(second pass) ; Z Homing G90 G1 X171 Y150 F10000 ; Move to the center of the bed M558 F500 ; Fast probing speed G30 ; First probe M558 F50 ; Slow probing speed G30 ; Second probe G32 ; Level the bed G90 G1 X171 Y150 F10000 ; Move to the center of the bed G30 ; Bed Deviation probe G90 G1 X417 ; Park x-axis