@dc42
the first option looks the most interesting. This way I can get 2 more spare drivers for future upgrades!
Do you have wiring diagram for parallel stepper connection?
Should steppers wire length be the same? or 500mm difference in wires lengths does not effect synchronies of motor movements?
Posts made by dk
-
RE: 4 motors on one axis homing
-
RE: 4 motors on one axis homing
@phaedrux
Yes, this drivers spread due to wiring. I have 4 NEMA23 for Y (2 motors move one belt for left and right rail), 2 Nema17 34mm with lead screw for Z, 2 NEMA17 20mm for X.
Cartesian kinematic. Dual Y axis rails (its actually dual 16mm shafts on both sides of printer) moving two Z rails, which hold X axis.For now sensorless homing on X and sensorless on Z works find.
Endstops on Y also work, but not independently for two Y rails. if the axis is slightly shifted (I specifically moved one rail by 10 mm relative to the second), the homing is triggered when the first rail touches the endstop. And printer remains shifted Y axis by 10 mm.
If I disconnect 2 motors
(M584 X0.2:1.2 Y0.3:1.0 Z0.1:1.1 instead of M584 X0.2:1.2 Y0.0:0.3:0.4:1.0 Z0.1:1.1 ),
then the independent homing works as it should, both rails go to the endstop.
So, I want to achieve independent homing for two Y axis rails with four motors (2 motors for each rail) -
RE: 4 motors on one axis homing
@phaedrux
Config fileG90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Duet3" ; set printer name; Drives
M569 P0.0 S0 ; physical drive 0.0 goes forwards
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.4 S1 ; physical drive 0.5 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.3 S0 ; physical drive 0.3 goes forwards
M569 P1.0 S1 ; physical drive 1.0 goes forwards
M569 P1.1 S1 ; physical drive 1.1 goes forwards
M569 P1.2 S1 ; physical drive 1.2 goes forwards
M584 X0.2:1.2 Y0.0:0.3:1.0:0.4 Z0.1:1.1 ; set drive mapping
M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 ; set steps per mm
M566 X900.00 Y900.00 Z90.00 ; set maximum instantaneous speed changes (mm/min)
M203 X19000.00 Y19000.00 Z900.00 ; set maximum speeds (mm/min)
M201 X1200.00 Y1200.00 Z120.00 ; set accelerations (mm/s^2)
M906 X800 Y2200 Z1000 ; 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 X300 Y660 Z110 S0 ; set axis maxima
M564 H0 ; allow move without homing; Endstops
M574 X1 S3 ; configure sensorless endstop for low end on X
M574 Y1 S1 P"0.io0.in+1.io0.in" ; configure active-low endstop for low end on Y via pin io0.in
M574 Z1 S4 ; configure sensorless endstop for low end on Z
M915 X Z R0 F0 ; configure sensorless homing for X and Z; Z-Probe
M558 P0 H5 F1200 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X50:250 Y50:650 S50 ; define mesh grid; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C; Fans
M950 F0 C"out4" Q500 ; create fan 0 on pin out4 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"out5" Q500 ; create fan 1 on pin out5 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 F-1 ; 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
; homeall.g
; called to home all axes
;M400 ; Clear buffer
M913 X30 Z50 ; Drop motor current 30% for X 50% for Z
M400 ; Clear buffer
G91 ; relative positioning
G1 H2 Z5 F600 ; lift Z relative to current position
G1 H1 X-305 F6000 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X5 F6000 ; go back 5 mm
G1 H1 X-15 F3000 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y-685 F3000 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 Y5 F5000 ; go back a few mm
G1 H1 Y-15 F600 ; move slowly to X and Y axis endstops once more (second pass)
G1 H1 Z-125 F600 ; move Z down stopping at the endstop
G90 ; absolute positioning
G92 Z0 ; set Z position to axis minimum (you may want to adjust this)
G91 ; relative positioning
G1 Z5 F500 ; lift Z relative to current position
G90 ; absolute positioning
M400 ; Clear buffer
M913 X100 Z100 ; motor current back to 100%
M400 ; Clear buffer -
RE: 4 motors on one axis homing
@phaedrux
Yes, S4 works well on Z - 2 motors on Z stopped individually. But for Y axis I use 2 optical endstop and so my only choice M574 S1
But because of 4 motors on Y, left and right rail do not stoped individually -
RE: 4 motors on one axis homing
Stall homing resolved.
But I cant get Y to home properly. I add 2 endstop for each of Y rails and everything work great if I use only 2 Y motors, one for left rail and one for right rail. But my setup have two Y motors on both rails (4 total for Y).
M584 X0.2:1.2 Y0.0:0.3:0.4:1.0 Z0.1:1.1 ; set drive mapping
In this case first homing stops when the first endstop is triggered.
@dc42
Is it possible to independently homing the right and left rails of the Y axis if there are 2 motors on right rail and 2 motors on left rail of Y axis? -
RE: 4 motors on one axis homing
@fcwilt
Heavy X axis with Z axis mounted on it.
taking into account the low cost of the steppers, and 6+3 driver on Duet3 + 3HC I decide to put 2 motors for 1 belt and thereby reduce the backlash and increase the torque. Which is especially important for high accelerations of a heavy head. And I plan to put a spindle in addition to the print head to be able to finish the surface after printing and drilling holes -
RE: 4 motors on one axis homing
@o_lampe
in this case endstop detection will be considered at a stall detection from the first of the two motors if they do not stall simultaneously? Or do both motors need stall detection to trigger the endstop? -
RE: 4 motors on one axis homing
@phaedrux any idea if sensorless homing should use both motors pulling one belt or just one of them?
-
RE: 4 motors on one axis homing
I probably can place endstops for the Y axis. But for X and Z it will be almost impossible.
For sensorless homing should I use both motors pulling one belt or just one of them? -
4 motors on one axis homing
Hello
I building a laser engraver with Duet3 + Duet 3 Expansion board 3HC
I have 2 motors on X (both motors moves one X belt), 4 Motors on Y (two motors moves left Y belt, two motors moves right Y belt) and 2 on Z (8mm lead screw).
Can I use sensorless homing in case of 2 motor moving same belt?
what will the Homeall file look like in this case?
Do I need to change motors mapping?; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.4 S1 ; physical drive 0.5 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P1.0 S1 ; physical drive 1.0 goes forwards
M569 P1.1 S1 ; physical drive 1.1 goes forwards
M569 P1.2 S1 ; physical drive 1.2 goes forwards
M584 X0.2:1.2 Y0.0:0.3:0.4:1.0 Z0.1:1.1 ; set drive mapping
M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 ; set steps per mm
M566 X600.00 Y600.00 Z100 set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z60.00 ; set accelerations (mm/s^2)
M906 X1200 Y2400 Z1200 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 X300 Y680 Z120 S0 ; set axis maxima
... -
RE: Connecting 3 wire fan Toolboard
M106 with S250 S0 S10 S100 and M107 does not effect on blower
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Sep 01 2020 22:07:15 GMT-0400 (EDT); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Duet 3" ; set printer name
M665 L460.000:460.000:460.000 R244.194 H673.6 B190.0 X-0.140 Y-0.034 Z0.000 ; Set delta radius, diagonal rod length, printable radius and homed height
M666 X0.22 Y0.12 Z-0.34 A0.00 B0.00 ; put your endstop adjustments here, or let auto calibration find them; Drives
M569 P0.0 S1 ; physical drive 0.0 upper 0 tower goes back
M569 P0.1 S0 ; physical drive 0.1 upper 1 tower goes forwards
M569 P0.2 S1 ; physical drive 0.2 upper 2 tower goes back
M569 P0.3 S0 ; physical drive 0.3 lower 2 tower goes forwards
M569 P0.4 S0 ; physical drive 0.4 lower 1 tower forwards
M569 P0.5 S0 ; physical drive 0.5 lower 0 tower goes forwards
M569 P20.0 S0 ; physical drive 20.0 - extruder on board 20 goes Back
M584 X0.1:0.4 Y0.0:0.5 Z0.2:0.3 E20.0 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X160.00 Y160.00 Z160.00 E415.00 ; set steps per mm
M566 X800.00 Y800.00 Z800.00 E600.00 ; set maximum instantaneous speed changes (mm/min)
M203 X5000.00 Y5000.00 Z5000.00 E600.00 ; set maximum speeds (mm/min)
M201 X2000.00 Y2000.00 Z2000.00 E1000.00 ; set accelerations (mm/s^2)
M906 X1600 Y1600 Z1600 E900 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 Z0 S1 ; set minimum Z; Endstops
M574 X2 S1 P"io1.in" ; configure active-high endstop for HIGH end on X via pin io0.in
M574 Y2 S1 P"io0.in" ; configure active-high endstop for HIGH end on Y via pin io1.in
M574 Z2 S1 P"io2.in" ; configure active-high endstop for HIGH end on Z via pin io2.in; Z-Probe
M558 P8 C"20.io0.in" ; set Z probe type to 8 and
G31 P50 X-21 Y-8 Z1 ; set Z probe trigger value, offset and trigger height
M557 R150 S50 ; define mesh grid; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp3
M950 H0 C"out0" T0 ; create bed heater output on out1 and map it to sensor 0
M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"20.temp0" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 1 as thermistor on pin 20.temp0
M950 H1 C"20.out0" T1 ; create nozzle heater output on 20.out0 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit; Fans
M950 F0 C"20.out1" Q1000 ; create fan 0 part cooling on pin 20.out1 and set its frequency
M106 P0 S0 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"20.out2" Q500 ; create fan 1 heatsink on pin 20.out2 and set its frequency
M106 P1 S0 H1 T45 ; set fan 1 value. Thermostatic control is turned on 45C; 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; Custom settings are not defined
M501M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)
Board ID: 08DJM-956L2-G43S4-6JTDJ-3SJ6S-986GH
Used output buffers: 1 of 40 (10 max)
=== RTOS ===
Static ram: 154604
Dynamic ram: 161704 of which 160 recycled
Exception stack ram used: 416
Never used ram: 76332
Tasks: NETWORK(ready,1972) HEAT(blocked,1188) CanReceiv(suspended,3460) CanSender(suspended,1460) CanClock(blocked,1436) TMC(blocked,68) MAIN(running,4960) IDLE(ready,76)
Owned mutexes:
=== Platform ===
Last reset 00:49:42 ago, cause: software
Last software reset at 2021-01-28 23:24, reason: User, spinning module LinuxInterface, available RAM 75988 bytes (slot 2)
Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
Error status: 0
MCU temperature: min 46.5, current 47.0, max 47.3
Supply voltage: min 25.9, current 26.0, max 26.0, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.2, current 12.3, max 12.3, under voltage events: 0
Driver 0: standstill, reads 48539, writes 19 timeouts 0, SG min/max 0/199
Driver 1: standstill, reads 48539, writes 19 timeouts 0, SG min/max 0/210
Driver 2: standstill, reads 48540, writes 19 timeouts 0, SG min/max 0/220
Driver 3: standstill, reads 48540, writes 19 timeouts 0, SG min/max 0/255
Driver 4: standstill, reads 48541, writes 19 timeouts 0, SG min/max 0/207
Driver 5: standstill, reads 48541, writes 19 timeouts 0, SG min/max 0/233
Date/time: 2021-01-29 00:13:55
Slowest loop: 4.77ms; fastest: 0.14ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
Hiccups: 0(0), FreeDm: 375, MinFreeDm: 369, MaxWait: 10723ms
Bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves: 5, completed moves: 5, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== AuxDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== Heat ===
Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP* is ready with "M122" in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger* is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
SBC is idle in state(s) 0
Daemon* is idle in state(s) 0 0, running macro
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 0.82ms; fastest: 0.01ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
HTTP sessions: 0 of 8- Ethernet -
State: disabled
Error counts: 0 0 0 0 0
Socket states: 0 0 0 0 0 0 0 0
=== CAN ===
Messages sent 11917, longest wait 3ms for type 6011
=== Linux interface ===
State: 0, failed transfers: 0
Last transfer: 22ms ago
RX/TX seq numbers: 30007/30009
SPI underruns 0, overruns 0
Number of disconnects: 0
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.1.1
Code buffer space: 4096
Configured SPI speed: 8000000 Hz
Full transfers per second: 32.10
M122 B20
Diagnostics for board 20:
Board TOOL1LC firmware 3.1.0 (2020-05-15b1)
Never used RAM 8.5Kb, max stack 368b
HEAT 1064 CanAsync 1428 CanRecv 1384 TMC 196 AIN 524 MAIN 2284
Last reset 01:01:12 ago, cause: power up
Driver 0: standstill, SG min/max 0/0, read errors 0, write errors 0, ifcount 13, reads 1283, writes 13, timeouts 1, DMA errors 0, failedOp 0x80
Moves scheduled 0, completed 0, hiccups 0
VIN: 26.1V
MCU temperature: min 33.7C, current 36.8C, max 37.2C
Ticks since heat task active 152, ADC conversions started 3658040, completed 3658038, timed out 0
Last sensors broadcast 00000002 found 1 155 ticks ago
Free CAN buffers: 36
NVM user row b1d088a9 fffff8bb d33ea5c7 72796b23
TSENS 000e6e GAIN 014eb1 OFFS 002812 CAL 1f2c - Ethernet -
-
Connecting 3 wire fan Toolboard
Hello
I try to connect 3 wire FAN BLOWER 35X10MM 12VDC WIRE (Delta Electronics BFB03512HHA-AF00) to Out 1 of Toolboard.
Fan start spinning at the power up and continues to spin at a constant speed regardless of the settings and commands M106 and M107.
Wires connected: Black to GND, Red to +12V, Blue to out1; Fans
M950 F0 C"20.out1" Q1000 ; create fan 0 part cooling on pin 20.out1 and set its frequency
M106 P0 S0 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"20.out2" Q500 ; create fan 1 heatsink on pin 20.out2 and set its frequency
M106 P1 S0 H1 T45 ; set fan 1 value. Thermostatic control is turned on 45CI tried several Q parameters. H-1 at M106 also didn't help.
any ideas that I messed up?
-
RE: BLTouch and Duet 3 Tool Board
@oozeBot
Thank you! It performs self test now. 10 times (10 deploys and 10 retracts) -
RE: BLTouch and Duet 3 Tool Board
@dc42
@oozeBot
I add those 3 lines in my config fileM280 P0 S60 ; BLtouch - toggle switch mode
G4 P1000 ; wait 1 second
M280 P0 S120 ; BLtouch toggle self-test, but BL-touch still does not perform self test at startup. M401 and M402 works
There exactly I should put these lines? Just before ; Z-Probe ?
Or at the top or bottom?
And do I need any modifications to those codes since I use Toolboard with CAN address 20, not 121? -
RE: Multiple Errors Duet3
as a result of frequent connections and disconnections, I have already broken 2 CAN connectors for the Toolboard . Tell me please what kind of connector it is, jst zh 4 pin 1.5 mm connector or some other?
And do you have a suggestion where I can buy it? I didn't find any similar connectors at filastruder and printedsolid
Thank you -
RE: Multiple Errors Duet3
@dc42 said in Multiple Errors Duet3:
IR sensor
I would love to try using IR sensor but I have already designed and print effector for BL-touch and already bought 3 of them.
Wait for BL-touch 3.1 arrive to you and I hope you can find a reason why all 3 sensors don't work with the ToolBoard correctly -
RE: Multiple Errors Duet3
@CaLviNx
What would be a better alternative to BL-touch? -
RE: Multiple Errors Duet3
@dc42
I use 24 Volt through Tool Distribution Board, the same voltage as for Duet3.Can you please send to me foto of your Toolboard with BL-touch connected and config settings? I want to double-check if I miss something
Can you give me your address (or email it to komkovdy at gmail) so I can check shipping cost and delivery time.