Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Problems with drivers after a HW change

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    2
    9
    355
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Strider007undefined
      Strider007
      last edited by

      I am currently struggling with an issue that may be related to how I am using the M584 code. I use a Duet 2 Wifi with RRF3.1.1 firmware.

      I had this system fully functional as a Cartesian IDEX with a 2 Z motor system; I was using the double output of driver 2 and one single Chinese driver board for my E1, no problems worked like a dream. 6 drivers, the extra was a Chinese single driver board.

      I'm converting this to a triple Z drive and have added 2 additional single driver boards to my setup. Note I am not using a Duex 2 or Duex 5 but instead using 3 single Chinese driver boards with 8825s for my Z drivers, all now external as I did not want to mix driver types on an axis. These are not the problem, Z performs fine but I can not either Y or U to operate properly. One of the two will work fine, the other goes into hard chatter like a broken motor wire or motor miss plugged.

      Is there a problem with "M584 X0 Y1 Z5:6:7 U2 E3:4" ? This means the need to have all 3 Z drivers the same (8825s)

      Here is my config file

      ; Configuration file for Duet WiFi (firmware version 3.1.1)
      ; executed by the firmware on start-up
      ;
      ; generated by XXXXX 10-2022 rev C3d
      ;
      ; General preferences
      G90 ; absolute axis movement
      M83 ; relative extruder movement
      M550 P"IDEX C3d" ; set printer name
      ;
      ; Network
      M552 S1 ; enable network
      M586 P0 S1 : enable HTTP
      M586 P1 S0 ; disable FTP
      M586 P2 S0 ;disable Telnet
      ;
      ; Movement section
      ; Drives
      M569 P0 S0 ; Drive 0 goes reverse X
      M569 P1 S1 ; Drive 1 goes forward Y
      M569 P2 S0 ; Drive 2 goes reverse U
      M569 P3 S1 ; Drive 3 goes forward E0
      M569 P4 S1 ; Drive 4 goes forward E1
      M569 P5 S1 ; Drive 5 goes forward Z Rear center
      M569 P6 S1 ; Drive 6 goes forward Z Left front
      M569 P7 S1 ; Drive 7 goes forward Z Right Front
      M584 X0 Y1 Z5:6:7 U2 E3:4 ; Create U axis, assigns driver to axis, defines 3 Z motors that use an extension board (modified RAMP 1.4)
      M669 X1:0:0:0 Y-1:1:0:1 Z0:0:1:0 U0:0:0:1 ; Cartesian Kinematics mapping for G3D IDX specific printer
      M671 X-240:240:0 Y255:225:-225 ; Leadscrews at left-front(5), right-front(6), and rear-center (7)
      ;
      ; Endstops
      M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
      M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop
      M574 Z1 S1 P"zstop" ; configure active-high endstop for low end on Z via pin zstop
      M574 U2 S1 P"e0stop" ; configure active-high endstop for high end on U via pin ustop
      ;
      ; Drive
      M906 X1020 Y1200 U1020 E800:800 ; Set motor currents (mA) Z drivers are old school 8825s
      M84 S120 ; Enable motor idle current reduction after 2 minutes
      M201 X500 Y500 U500 Z100 E5000 ; Accelerations (mm/s^2)
      M203 X12000 Y12000 U12000 Z400 E9000 ; Maximum speeds (mm/min)
      M566 X900 Y900 U900 Z12 E120 ; Maximum jerk speeds mm/minute
      M350 X16 Y16 Z16 U16 E16:16 I1 ; configure microstepping with interpolation
      M92 X80 Y80 U80 Z1600 ; Set axis steps/mm
      M92 E691:691 ; Set extruder steps per mm
      ;
      ; Axis Limits
      M208 X-191:135 Y-200:195 U-125:196.8 Z0:450 ; sets U centering by changing U max (was 197.1) changed Y from Y-220:175
      ;
      ;
      ; Z-Probe
      M558 P1 ; Z probe active high
      G31 X20 Y-55 ; Set NPN inductive probe XY offset from Extruder
      ;
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" Q10 T0 ; create bed heater output on bedheat and map it to sensor 0, freq=10hz
      M307 H0 B1 S0.8 ; enable bang-bang mode for the bed heater and set PWM limit
      M140 H0 ; map heated bed to heater 0
      M143 H0 S110 ; set temperature limit for heater 0 to 110C
      ;
      M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; 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 S0.8 ; disable bang-bang mode for heater and set PWM limit
      ;
      M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; 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
      M307 H2 B0 S0.8 ; disable bang-bang mode for heater and set PWM limit
      ;
      ; Fans
      M950 F0 C"fan0" ; create fan 0 on pin fan0
      M106 P0 S0.0 ; set fan 0 value.
      M950 F1 C"fan1" ; create fan 1 on pin fan1
      M106 P1 S0.0 ; set fan 1 value.
      M950 F2 C"Fan2" Q25000 ; create MB Fan on pin fan2, and set freq
      M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper
      M308 S4 Y"drivers" A"DRIVERS" ; configure sensor 4 as temperature warning and overheat flags on the TMC2660 on Duet
      M106 P2 H3:4 L01 T35 ; set fan 2 value = ON if MCU of DRIVERS hits 30C
      ;
      ; Filament sensors
      ;M591 D0 P7 C"e1stop" L7.52 R75:150 E22 S0 ; T0 L=7.5mm, R=75-150% E=22mm, ON
      ;M591 D1 P7 C"exp.e2stop" L7.23 R50:175 E22 S0 ; T1 L=7.2MM, R=75-150% E=22mm, ON
      ;
      ; Tool configuration section of config.g
      ;
      ; Create a tool that uses the low end (X) carriage
      ; Tool 0 Left Extruder X only
      M563 P0 D0 H1 F0 ; tool 0 uses extruder 0, heater 1 and fan 0
      G10 P0 X0 Y0 Z0 S0 R0 ; set tool 0 offsets and temperatures X extruder is 0.1mm lower than U
      ;
      ; Create a tool that uses the high end (U) carriage
      ; Tool 1 Right Extruder U only
      M563 P1 D1 H2 X3 F1 ; tool 1 uses extruder 1, heater 2, fan 1, and maps X to U
      G10 P1 Y0 U0 Z0.1 S0 R0 ; set tool 1 offsets and temperatures X extruder is 0.1mm lower than U
      ;
      ; Create a tool that uses both (X) and (Y) carriages to duplicate 2 copies
      ; Tool 2 X & U Duplicate same 2 copies
      M563 P2 D0:1 H1:2 X0:3 F0:1 ; tool 2 uses both extruders, hot end heaters and fans, and maps X to both X and U
      G10 P2 X80 U-80 S0 R0 ; set tool offsets and temperatures
      M567 P2 E1:1 ; set mix ratio 100% on both extruders
      ;
      ; Create a tool that uses both (X) and (Y) carriages to mirror 2 copies
      ; Tool 3 X & U Duplicate mirror 2 copies
      M563 P3 D0:1 H1:2 X0:3 F0:1 ; tool 3 uses both extruders, hot end heaters and fans, and maps X to both X and U
      G10 P3 X80 U-80 S0 R0 ; set tool offsets and temperatures
      M567 P3 E1:1 ; set mix ratio 100% on both extruders
      ;
      ; Custom settings are not defined
      ;
      ; Miscellaneous
      M575 P1 S1 B57600 ; enable support for PanelDue
      M912 P0 S-5.5 ;calibration of mcu temp sensor
      ;
      M501 ; read stored parameters
      G21 ; Work in millimetres
      G90 ; Send absolute coordinates...
      M83 ; relative extruder moves

      Sorry if I didn't upload the file correctly. Please help. I know my motors are good and wires are fine, and I've tried 2 different MBs.
      Thanks, Glen

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Can you send M122 and M98 P"config.g" in the gcode console and copy and paste the results here?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • Strider007undefined
          Strider007
          last edited by

          OK, after several redundant checks of wiring, my axis are now functioning as expected. It seems power cycling the MB may be important.

          I live up north and the cold dry weather is causing potential problems. Any advice on having all 3 of my temp sensors now stuck a 2000C

          1 Reply Last reply Reply Quote 0
          • Strider007undefined
            Strider007
            last edited by

            @Phaedrux said in Problems with drivers after a HW change:

            M98 P"config.g"

            Here are the 2 requested files which now reflect the 2000C temp sensors which are plugged in and have ~120K ohm resistance.

            console (1).txt

            1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              You have a config.g for RRF3, but your installed firmware is only 2.03beta3. You must update your firmware.

              If you still have access to DWC. Upload these zip files, one at a time in the system tab. Don't extract them first. Reboot after each. Use M115 in the gcode console to verify the firmware has been applied.
              https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip
              https://github.com/Duet3D/RepRapFirmware/releases/download/3.0/Duet2and3Firmware-3.0.zip
              https://github.com/Duet3D/RepRapFirmware/releases/download/3.3/Duet2and3Firmware-3.3.zip
              https://github.com/Duet3D/RepRapFirmware/releases/download/3.4.3/Duet2and3Firmware-3.4.3.zip
              https://github.com/Duet3D/RepRapFirmware/releases/download/3.4.4/Duet2and3Firmware-3.4.4.zip

              That will get your firmware and DWC up to date.

              You can see the change logs here:
              https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x

              For your config, might be a good idea to run through the configurator tool and generate a fresh set for RRF3.
              https://configtool.reprapfirmware.org/Start

              Backup your existing config files in the sys folder in case you want to switch back to RRF2. It’s easy to switch back and forth, just upload the zip file for the version you want and then upload your config files.

              These documents will come in handy during the conversion.
              https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview
              https://docs.duet3d.com/en/User_manual/RepRapFirmware/Migration_RRF2_to_RRF3
              https://docs.duet3d.com/en/User_manual/Reference/Gcodes

              10/28/2022, 7:17:14 PM: Connected to 192.168.1.119
              10/28/2022, 7:17:45 PM: M122: === Diagnostics ===
              RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03beta3 running on Duet WiFi 1.02 or later
              Board ID: 0JD0M-9K662-MG5TD-6JKDA-3S06T-KBJUZ
              Used output buffers: 1 of 20 (13 max)
              === RTOS ===
              Static ram: 25632
              Dynamic ram: 94340 of which 0 recycled
              Exception stack ram used: 328
              Never used ram: 10772
              Tasks: NETWORK(ready,524) HEAT(blocked,1236) MAIN(running,3816) IDLE(ready,196)
              Owned mutexes:
              === Platform ===
              Last reset 00:01:40 ago, cause: power up
              Last software reset at 2022-10-28 14:11, reason: User, spinning module GCodes, available RAM 10536 bytes (slot 3)
              Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
              Error status: 0
              Free file entries: 10
              SD card 0 detected, interface speed: 20.0MBytes/sec
              SD card longest block write time: 0.0ms, max retries 0
              MCU temperature: min 17.3, current 22.7, max 22.9
              Supply voltage: min 23.9, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
              Driver 0: standstill, SG min/max not available
              Driver 1: standstill, SG min/max not available
              Driver 2: standstill, SG min/max not available
              Driver 3: standstill, SG min/max not available
              Driver 4: standstill, SG min/max not available
              Date/time: 2022-10-28 19:17:43
              Cache data hit count 350053483
              Slowest loop: 6.00ms; fastest: 0.07ms
              I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
              === Move ===
              Hiccups: 0, FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms
              Bed compensation in use: none
              Bed probe heights: 0.000 0.000 0.000 0.000 0.000
              === MainDDARing ===
              Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
              === AuxDDARing ===
              Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
              === Heat ===
              Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
              === GCodes ===
              Segments left: 0, aux move: no
              Stack records: 2 allocated, 0 in use
              Movement lock held by null
              http is idle in state(s) 0
              telnet is idle in state(s) 0
              file is idle in state(s) 0
              serial is idle in state(s) 0
              aux is idle in state(s) 0
              daemon is idle in state(s) 0
              queue is idle in state(s) 0
              autopause is idle in state(s) 0
              Code queue is empty.
              === Network ===
              Slowest loop: 16.08ms; fastest: 0.00ms
              Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
              HTTP sessions: 1 of 8
              - WiFi -
              Network state is running
              WiFi module is connected to access point 
              Failed messages: pending 0, notready 0, noresp 0
              WiFi firmware version 1.23
              WiFi MAC address d8:f1:5b:10:5f:23
              WiFi Vcc 3.42, reset reason Turned on by main processor
              WiFi flash size 4194304, free heap 25992
              WiFi IP address 192.168.1.119
              WiFi signal strength -41dBm, reconnections 0, sleep mode modem
              Socket states: 0 0 0 0 0 0 0 0
              10/28/2022, 7:20:35 PM: M98 P"config.g": HTTP is enabled on port 80
              FTP is disabled
              TELNET is disabled
              Warning: M308 command is not supported
              Warning: M950 command is not supported
              Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 241C.
              Warning: M308 command is not supported
              Warning: M950 command is not supported
              Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 683C.
              Warning: M308 command is not supported
              Warning: M950 command is not supported
              Warning: Heater 2 appears to be over-powered. If left on at full power, its temperature is predicted to reach 681C.
              Warning: M950 command is not supported
              Warning: M950 command is not supported
              Warning: M950 command is not supported
              Warning: M308 command is not supported
              Warning: M308 command is not supported
              Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 241C.
              Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 683C.
              Warning: Heater 2 appears to be over-powered. If left on at full power, its temperature is predicted to reach 681C.
              

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • Strider007undefined
                Strider007
                last edited by

                Thank you for the feedback. I'll get on it.

                Strider007undefined 1 Reply Last reply Reply Quote 0
                • Strider007undefined
                  Strider007 @Strider007
                  last edited by

                  @Strider007 Thanks, I had swapped MBs and did not check to see the status of the firmware. I'm now updated it to 3.4.4 as you described (yes WDC still worked) and all is working with my existing config.g file except for some minor issues.

                  I have not figured out how to make the config tool work for an IDEX system. When I attempt to add multiple drives, it will not until I add a Deux 2 or 5. Even when I do that, it still will not allow me to name one off the drives U. It only gives me the choices of X Y Z E0 E1 E2. There for I can not use that tool until someone explains to me how to get past this point of setting up the drives.
                  Thanks again,

                  1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by

                    Have you seen this for adding external drivers?

                    https://docs.duet3d.com/en/User_manual/Connecting_hardware/Motors_connecting_external

                    Z-Bot CoreXY Build | Thingiverse Profile

                    Strider007undefined 1 Reply Last reply Reply Quote 0
                    • Strider007undefined
                      Strider007 @Phaedrux
                      last edited by

                      @Phaedrux Yes I have researched that link and my drivers were (before HW change) working fine, but that firmware issue with my second board caused my problems. Now the drivers are fixed and working as I need them to.

                      I have found the auto config not useful at all with my specific design and HW implementation. I needed 8 driver to run 2 carriages and my new 3 motor driver Z axis. I added 3 add on polo drivers (8825s) for the Z. I moved the Z drivers to 5,6,and 7 to maintain common driver motor combos as recommended. With this implementation of drivers, the "auto config" can not compute. I can not make the old Z driver into my new U driver as that option is not allowed (as far as I can see).

                      Now my only issues relate to my new Z probe (NPN inductive) not working and having gone up to RRF 3.4 I need to figure out how to get 3 point leveling working (reference, pivot, roll) to sync to three motors/drivers but that is no longer a HW or wiring issue so I'll more to a different tread/forum.

                      Thanks for straightening out my firmware issue! Consider this solved.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA