Need help to make my IDEX printer work



  • Hello!

    My name is Martin and i'm french newbie, so don't focus on my written english 😉

    I built my printer and i consider it to be the easy part! So, i try to make it work since 2 week, but nothing work. My understanding of G-code is really limited.

    So, I have a Duet 2 Ethernet with a Duex2 Expansion board, Paneldue and a BLTouch 3.1

    I used the configuration tool, but it's not really working for IDEX printer, so i followed the step of this page: https://duet3d.dozuki.com/Wiki/ConfiguringMultipleIndependentXcarriagesCartesian and i modified my G-Code.

    The problem i have is that the printer start, but i can't move any axis since they are not homed. When I push home, the Z axis move down a little bit and go back from where it came.

    I plug the BLtouch (White and Black on the duet2, and use the pwm3 from the duex2 for the other 3 cables.

    I also install a filament sensor that i plug in the duex2 pwm4 socket, but i don't know how to configure it...

    I share with you the actual G-code, but i will need a lot of help to make it work!

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up

    ; General preferences
    G21 ;Work in millimetres
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Imprimante IDEX" ; set printer name

    ; Network
    M552 P192.168.1.14 S1 ; enable network and set IP address
    M553 P255.255.255.0 ; set netmask
    M554 P192.168.1.1 ; set gateway
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S1 ; physical drive 0 goes forwards X
    M569 P1 S1 ; physical drive 1 goes forwards Y
    M569 P2 S1 ; physical drive 2 goes forwards Z
    M569 P3 S1 ; physical drive 3 goes forwards U
    M569 P4 S0 ; physical drive 4 goes backwards E0
    M569 P5 S0 ; physical drive 5 goes backwards E1
    M584 X0 Y1 Z2 U3 E4:5 ; set drive mapping
    M350 X16 Y16 U16 Z16 E16:16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E582.00:582.00 ; set steps per mm
    M566 X1200.00 Y700.00 U1200.00 Z24.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X15000.00 Y9000.00 U15000 Z300.00 E2100.00:2100.00 ; set maximum speeds (mm/min)
    M201 X1500.00 Y500.00 U1500.00 Z400.00 E250.00:250.00 ; set accelerations (mm/s^2)
    M906 X1200 Y1800 U1200 Z1400 E900:900 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X-65 Y0 U30 Z0 S1 ; set axis minima
    M208 X355 Y380 U455 Z400 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y2 S0 P"ystop" ; configure active-low endstop for high end on Y via pin ystop
    M574 U2 S1 P"duex.e2stop" ; configure active-high endstop for low end on X via pin e2stop
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z

    ; Z-Probe
    M950 S0 C"duex.e2heat" ; 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 P500 X23 Y-34 Z2.5 ; set Z probe trigger value, offset and trigger height
    M557 X30:400 Y0:400 S30 ; define mesh grid

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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 P1 R4700 H0 L0 ; Dyze design Hotend
    M308 S1 P"e0temp" Y"thermistor" T4606017 B5848 R4700 H0 L0 ; 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 S493 ; set temperature limit for heater 1 to 400C
    M307 H1 A580.4 C256.6 D6.4 S0.50 ; disable bang-bang mode for heater and set PWM limit
    M308 P2 R4700 H0 L0 ; Dyze Design Hotend
    M308 S2 P"e1temp" Y"thermistor" T4606017 B5848 R4700 H0 L0 ; 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 S493 ; set temperature limit for heater 2 to 400C
    M307 H2 A580.4 C256.6 D6.4 S0.50 ; 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 S1 H1 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 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 S1 H2 T45 ; set fan 2 value. Thermostatic control is turned on
    M950 F3 C"duex.fan3" Q500 ; create fan 3 on pin duex.fan3 and set its frequency
    M106 P3 S1 H2 T45 ; set fan 3 value. Thermostatic control is turned on

    ; Tools
    M563 P0 S"Extrudeur Gauche" 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
    M563 P1 S"Extrudeur Droit" D1 H2 F1 ; define tool 1
    G10 P1 U30 Y0 Z0 ; set tool 1 axis offsets
    G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

    ; Custom settings are not defined

    ; Miscellaneous
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

    [0_1589030896787_Config MS.zip](Uploading 100%)
    I someone can tell me what is the problem, apart from my knowledge 😉

    Thanks

    homeall.g homeu.g homex.g homey.g homez.g



  • @Martin-Simard said in Need help to make my IDEX printer work:

    I do not know much about IDEX, but I know about BLTouch.
    If you are using pwm3 for the BLTouch, I think your line in config.g needs to look like this.

    M950 S0 C"!duex.e4heat," ; create servo pin 0 for BLTouch
    

    Regards
    Paul



  • @PaulHew Thanks you! I change it in my config.g
    Do you always have to use the ''!'' to use before the duex.xxx??

    Because i also refer to a duex.e2stop command for my endstops and i will use pwm4 to install a filament sensor...

    Thanks



  • I always have this pop-up: Fail to enable endstops
    See the pop-up here: http://martinsimard.net/photo/share/WmJWd0Qj/photo_496d7072696d616e7465_6572725f656e6473746f702e6a7067

    All the endstop works when i push the switches, the red light show up on the duet2 and duex2



  • @Martin-Simard Bien Sur.
    From what I understand, I might be wrong, anything to do with a Duex needs inverting.
    I was playing with lights connected to the duex5 and I found that I had to use the '!' to get them to work correctly. I have seen a lot of posts in regards to Duex and the !

    This page is helpful on your DWC.
    491a62ae-92f0-42d9-b445-06606e611cea-image.png
    The box on the right, labelled 'Endstops' is a good way of making sure your endstops are working.

    If the axis's are away from the switches, they should be 'No', on my Ender3 this is.
    If you press the switch it should change to yes to indicate that the switch is pressed, same as if you were homing an axis.
    If they are 'Yes' and you press a switch and it goes to 'No' you need to reverse the logic. "!"
    The printer will not 'Home' an axis if they are 'Yes' and will move a short distance only without homing.

    Regards,

    Paul.



  • @Martin-Simard said in Need help to make my IDEX printer work:

    M574 U2 S1 P"duex.e2stop" ; configure active-high endstop for low end on X via pin e2stop

    Try it like this.

    M574 U2 S1 P"!duex.e2stop" ; configure active-high endstop for low end on X via pin e2stop
    

    Paul.



  • Thank you Paul, your help is appreciated!

    I found that it was the U endstop on my duex that was always ON. So I tryed with the ''!'' before, it was now OFF. But the trigger didn't work anymore. So I try with ''^'' The Endstop, when i push it change from No to Yes, but stay there. I tryed with ''^!'' but didn't work.... Finally plug my endstop to Extruder 0 of the main Duet2 and everything work.

    I think that on the Firmware 2.X, you could do it like that: M574 S0 P''^duex.e2stop'' ; ''S0'' to invert the signal and ''^'' for pullup resistor

    In firmware 3.X, the S0 Command is no more supported, so maybe you cannont combine pullup and invert anymore.... don't know

    So my working code is: M574 U2 S1 P"!e0stop"

    Have a nice day!

    Martin



  • @Martin-Simard Glad you got it working.
    Have you printed anything yet?


  • Moderator

    @Martin-Simard said in Need help to make my IDEX printer work:

    I tryed with ''^!'' but didn't work

    Pullup + invert is supported, so that should work.


Log in to reply