Problems with drivers after a HW change
-
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 movesSorry 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 -
Can you send
M122
andM98 P"config.g"
in the gcode console and copy and paste the results here? -
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
-
@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.
-
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.zipThat 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.xFor your config, might be a good idea to run through the configurator tool and generate a fresh set for RRF3.
https://configtool.reprapfirmware.org/StartBackup 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/Gcodes10/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.
-
Thank you for the feedback. I'll get on it.
-
@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, -
Have you seen this for adding external drivers?
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Motors_connecting_external
-
@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.