2 independent Z motors and limit switches on Zmax
-
hello everybody,
I'm upgrading to fix the two Z axis threaded guides using for the Right motor Z1 and for the Left motor E1 and I'll use the M584 command like this:
M584 X0 Y1 Z2:4 U4 E3 P3 ; Driver 0 For X, 1 for Y, Z=2:4 U=4, Extruder 3
I wanted to insert two proximity sensors, on Z-max to align the motors, that I have in the company, these are Wenglor.
https://www.wenglor.com/product-world/products/produktdetail/?no_cache=1&tx_wsshoploader_pi1[artikel]=IB040BM46VB8&cHash=0e56c9d600bb158fba5c601b478f659dDoes anyone know if I can use them?
Who can help me in the configuration?
-
I tested the sensor.
powered at 24 V.
at open circuit it signals me 0.48V at closed circuit 0.78V. -
First off You don't need a U axis when using RRF3. And you should be using 3.2. The Z axis would be configured to use both drivers and the endstops would both be added to the Z axis endstop. No need for a U axis anymore.
I think that inductive sensor should work.
Instead of connecting to the zprobe connector you could use one of the endstop pins.
-
@Phaedrux
Ho installato la 3.2
Ok I also have a bltouch to level the bed.
My concern is the two screws on the motors.
I don't know if I need to work on them mechanically first since they are very wobbly.Obviously it is a Tronxy x5sa!
I think that solving the mechanical problems first, strengthening the two rods so that they do not dance anymore, is the best solution.
What do you think?
These are my configuration files:
Config.g
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.0 on Wed Dec 30 2020 11:26:33 GMT+0100 (Central European Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"DFFM 3D" ; set printer name M667 S1 ; Select CoreXY mode ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S1 ; ENABLE Telnet ; Drives M569 P0 S0 ; physical drive 0 goes backwards M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S1 ; physical drive 2 goes forwards Z1 M569 P3 S0 ; physical drive 3 goes backwards M569 P4 S1 ; physical drive 3 goes forwards Z2 ; DUAL Z M584 X0 Y1 Z2:4 E3 P3 ; set drive mapping ;M584 X0 Y1 Z2 E3 M671 X-90:490 Y200:200 S4 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis ;M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z560.00 E412.4137 ; set steps per mm ;M566 X1000.00 Y1000.00 Z800.00 E120.00 ; set maximum instantaneous speed changes (mm/min) ;M203 X18000.00 Y18000.00 Z900.00 E1200.00 ; set maximum speeds (mm/min) 1701ore 9:28 ;M201 X3000.00 Y3000.00 Z1000.00 E250.00 ; set accelerations (mm/s^2) ;M906 X1300.00 Y1300.00 Z1300.00 E1300.00 I35 ; set motor currents (mA) and motor idle factor in per cent ;M84 S30 ; Set idle timeout ; 1701ore 9:28 M566 X600 Y600 Z12 E120 ; Set maximum instantaneous speed changes (mm/min) M203 X18000 Y18000 Z180 E1500 ; Set maximum speeds (mm/min) M201 X3000 Y3000 Z100 E10000 ; Set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E1100 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 X325 Y325 Z400 S0 ; Set axis maxima ;M671 X10:290:290:10 Y290:290:10:10 P0.3; point1 (10,290), point2 (290,290), point3 (290,10), point4 (10,10) ; Endstops M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; BLTouch - Heaters M307 H7 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board. ; Z-Probe M950 S0 C"exp.heater7" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F100 T6000 A10 R0.5 S0.003 B0 ; set Z probe type to bltouch and the dive height + speeds ;M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds ;M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P25 X-45 Y-4 Z2.977 ;G31 P25 X-45 Y-4 Z3.200 ; set Z probe trigger value, offset and trigger height piano magnetico Tronxy ;G31 P25 X-45 Y-4 Z2.804 ;G31 P25 X-45 Y-4 Z3.086 ; Piano vetro M557 X10:300 Y20:300 S20 ;M557 X70:330 Y40:330 S14 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; 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 M303 H0 S70 ;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"e0temp" Y"thermistor" T100000 B4092 ; 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 ;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"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 T45 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H-1 T45 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; Automatic power saving M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss ; Custom settings are not defined T0 M116 M501
homex.g
; homex.g ; called to home the X axis ; G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-335 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X5 F6000 ; go back a few mm G1 H1 X-335 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 ; G91 ; relative positioning G1 H2 Z20 F6000 ; lift Z relative to current position G1 H1 Y-335 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y5 F6000 ; go back a few mm G1 H1 Y-335 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 ; ; Homez.g G91 ; Posizione relativa G1 Z10 F6000 H2 ; Alzo di 10 mm G90 ; Posizione assoluta G1 X165 Y165 F6000 ; Posiziono la sonda al centro del piatto G30 ; Sondo il piatto con il BLTouch ; Sondo il piatto con il BLTouch
homeall.g
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu Apr 02 2020 20:16:54 GMT+0200 (Ora legale dell’Europa centrale) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-335 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X5 F6000 ; go back a few mm G1 H1 X-335 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Y-335 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y5 F6000 ; go back a few mm G1 H1 Y-335 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning G1 Z10 F6000 H2 ; Alzo di 10 mm G1 X165 Y165 F6000 ; Posiziono la sonda al centro del piatto G30 ; Sondo il piatto con il BLTouch
config-override.g
; config-override.g file generated in response to M500 at 2021-01-12 21:44 ; This is a system-generated file - do not edit ; Heater model parameters M307 H0 R0.264 C620.819:620.819 D4.77 S1.00 V24.1 B0 M307 H1 R3.329 C183.057:183.057 D10.15 S1.00 V24.3 B0 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00 M486 S-1
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2 running on Duet WiFi 1.02 or later Board ID: 08DGM-917NK-F23T0-6J1FG-3SN6T-1H8WH Used output buffers: 3 of 24 (11 max) === RTOS === Static ram: 23460 Dynamic ram: 73628 of which 228 recycled Never used RAM 14764, free system stack 111 words Tasks: NETWORK(ready,183) HEAT(blocked,295) MAIN(running,452) IDLE(ready,19) Owned mutexes: WiFi(NETWORK) HTTP(MAIN) === Platform === Last reset 00:39:11 ago, cause: software Last software reset at 2021-01-29 20:18, reason: User, GCodes spinning, available RAM 15148, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 33.0, current 33.5, max 35.0 Supply voltage: min 24.3, current 24.4, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: position 6320, standstill, SG min/max 0/217 Driver 1: position 2480, standstill, SG min/max 0/191 Driver 2: position 4467, standstill, SG min/max not available Driver 3: position 0, standstill, SG min/max not available Driver 4: position 0, standstill, SG min/max not available Driver 5: position 0 Driver 6: position 0 Driver 7: position 0 Driver 8: position 0 Driver 9: position 0 Driver 10: position 0 Driver 11: position 0 Date/time: 2021-01-29 20:57:52 Cache data hit count 2885279093 Slowest loop: 10.30ms; fastest: 0.17ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 1.4ms, write time 0.0ms, max retries 0 === Move === DMs created 83, maxWait 223563ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 105, completed moves 105, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 Heater 1 is on, I-accum = 0.0 === 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 39.32ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.25 WiFi MAC address 84:0d:8e:b2:f6:33 WiFi Vcc 3.46, reset reason Turned on by main processor WiFi flash size 4194304, free heap 24048 WiFi IP address 192.168.1.67 WiFi signal strength -51dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 2 0 0 0 0 0 0
M98 P "config.g"
M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is enabled on port 23 Error: Heater 7 not found Error: heater 0 cannot be auto tuned while it is disabled Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 634C
-
@gdefranc said in 2 independent Z motors and limit switches on Zmax:
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
To be able to use endstops for Z you would need to define them here like they are for the other axis.
-
Thanks @Phaedrux
For the BL-Touch I used pin H7, for the 2 Z-max endstops can I use H4 and H5?
How can I specify them in the M574 command? -
You can learn more about how pin names are used here as well as a list of available pins.
https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_Pin_names
To make things easy for the endstops would you be able to use the actual endstop inputs? e0_stop e1_stop Z_stop?
-
Hello, I have 2 motors connected in Z (Z;E1) and connected to 2 drivers, but they drive at different speeds, it seems that they have different microsteps, what could be the problem?
; Drives M569 P0 S1 D3 H25 V25 ; physical drive 0 goes forwards X M569 P1 S1 D3 H25 V25 ; physical drive 1 goes forwards Y M569 P2 S0 D3 H25 V25 ; physical drive 2 goes backwards Z1 M569 P3 S0 D3 H25 V25 ; physical drive 3 goes backwards E M569 P4 S0 D3 H25 V25 ; physical drive 4 goes backwards Z2 M584 X0 Y1 Z2:4 E3 ; set drive mapping ; M671 X-20:220 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200 M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z400.00 E690.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E600.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z600.00 E7200.00 ; set maximum speeds (mm/min) M201 X2000.00 Y2000.00 Z100.00 E800.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z800 E850 I30 ; set motor currents (mA) and motor idle factor in per cent M572 D0 S0.02 ;pressure advance - you may need to finetune it M207 S1.5 F7200 Z0.2 ;firmware retraction M84 S30 ; Set idle timeout
-
@mr-lizard I don't see anything in your config to cause that. I suggest you start a new thread though.