topic_solved Configuration of MPCNC with Duet Wifi2 & Duex2 on RRF3+
I'm struggeling with setting up my MPCNC as an 3D Printer / laser-cutter-engraver.
I'm using independent endstops.
So far i was reading and implementing the changes to the Axles from the following website:
I begun with the project under RRF2+ then switched to RRF3+. I noted the changes that were to be undertaken.
I also rearranged the drives different from the declaration:
X axle -> Drive 5 & 2 Remark: Drive 5 is on the Duex2
Y axle -> Drive 1 & 0
Z axle -> Drive 3
Extruder -> Drive 4
my current G-Code who only allows me to drive one stepper motor at the time and also dont stops at the endstop & neither performs the homing correctly.
i would be really happy if someone with a better understanding of RRF3+ than me could give me some hints what to look for.
; Drives M569 P2 S0 ; physical drive 1 goes backwards M569 P5 S1 ; physical drive 5 goes forwards M569 P1 S1 ; physical drive 0 goes backwards M569 P0 S0 ; physical drive 2 goes forwards M569 P4 S1 ; physical drive 3 goes forwards M569 P3 S1 ; physical drive 4 goes forwards M584 X5:2 Y1:0 Z3 E4 ; set drive mapping M350 X16:16 Y16:16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00:100.00 Y100.00:100.00 Z100.00 E420.00 ; set steps per mm M566 X900.00:900.00 Y900.00:900.00 Z900.00 E900.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00:12000.00 Y12000.00:12000.00 Z300 E12000.00 ; set maximum speeds (mm/min) M201 X500.00:500.00 Y500.00:500.00 Z20.00 E500.00 ; set accelerations (mm/s^2) M906 X800:800 Y800:800 Z800 E800 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 X720 Y420 Z390 S0 ; set axis maxima ; Endstops M574 X2 S1 P"e0stop+e1stop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"ystop+xstop" ; configure active-high endstop for low end on Y via pin null ; Z-Probe M950 S0 C"duex.gp1" ; create servo pin 0 for BLTouch M558 P9 C"zstop.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 S20 ; define mesh grid
G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-725 Y-425 F1800 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X5 Y5 F6000 ; go back a few mm G1 H1 X-725 Y-425 F360 ; move slowly to X and Y axis endstops once more (second pass) G1 H1 Z-395 F360 ; move Z down stopping at the endstop G90 ; absolute positioning G92 Z0 ; set Z position to axis minimum (you may want to adjust this) ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
M350 X16:16 Y16:16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00:100.00 Y100.00:100.00 Z100.00 E420.00 ; set steps per mm M566 X900.00:900.00 Y900.00:900.00 Z900.00 E900.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00:12000.00 Y12000.00:12000.00 Z300 E12000.00 ; set maximum speeds (mm/min) M201 X500.00:500.00 Y500.00:500.00 Z20.00 E500.00 ; set accelerations (mm/s^2) M906 X800:800 Y800:800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
Remove the duplicate values separated by
:as those settings are defined per axis rather than per driver. The only time you must define each driver is for extruders, which are independent axis.
This may be part of your issue.
Please provide the results of M122 and M98 P"config.g"
Hey Phaedrux, thaks for the support.
Here is the current status. This is before i changed anything you mentioned.
M98 P"config.g HTTP is enabled on port 80 FTP is disabled TELNET is disabled Warning: M950 command is not supported Warning: M308 command is not supported Warning: M950 command is not supported Warning: M950 command is not supported Warning: M950 command is not supported Error: M563: Tool creation: bad drive number Error: G10: Attempt to set/report offsets and temperatures for non-existent tool: 1 Error: G10: Attempt to set/report offsets and temperatures for non-existent tool: 1 Tool 2 offsets: X0.00 Y0.00 Z0.00
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later + DueX2 Board ID: 08DLM-996RU-N85T0-6J9FL-3SD6R-1SS3N Used output buffers: 3 of 24 (6 max) === RTOS === Static ram: 25680 Dynamic ram: 93952 of which 0 recycled Exception stack ram used: 164 Never used ram: 11276 Tasks: NETWORK(ready,796) HEAT(blocked,1236) DUEX(suspended,156) MAIN(running,4188) IDLE(ready,160) Owned mutexes: === Platform === Last reset 00:00:18 ago, cause: software Last software reset at 2021-02-27 21:47, reason: User, spinning module GCodes, available RAM 11240 bytes (slot 2) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0440f000 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 33.1, current 33.7, max 33.8 Supply voltage: min 0.3, current 0.3, max 0.4, under voltage events: 0, over voltage events: 0, power good: no Driver 0: ok, SG min/max not available Driver 1: ok, SG min/max not available Driver 2: ok, SG min/max not available Driver 3: ok, SG min/max not available Driver 4: ok, SG min/max not available Driver 5: ok, SG min/max not available Driver 6: ok, SG min/max not available Date/time: 2021-02-27 21:47:22 Cache data hit count 53191622 Slowest loop: 2.06ms; fastest: 0.06ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1 === GCodes === Segments left: 0 Stack records: 1 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: 15.53ms; 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 84:0d:8e:b2:f6:52 WiFi Vcc 3.33, reset reason Turned on by main processor WiFi flash size 4194304, free heap 24608 WiFi IP address 192.168.0.101 WiFi signal strength -36dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0
So I implemented your recomandation of deleting the additional ":" .
Thankfully the Y-Achsle now works flawlessly.
But there is a catch. I was not able to home the X-Achsle in the same mannor, even when i allocated the same switches to it (in the config). Thus i suspect i have a problem with the allocation of the drives.
Next time i plan to rearrange the drives to only use some of the ports on the duet board for the axle movement and use the duex only for extrusion. This might eliminate the problem, fingers crossed.
Thank you agian. Seeing the axle homing correctly was already eleviating my motivation
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03
Your firmware is 2.03 but your config is using syntax for RRF3. You should update your firmware.
If you still have access to DWC. Upload these 3 zip files, one at a time in the system tab. Don't extract them. Reboot after each. Use M115 to verify the firmware has been applied.
That will get your firmware and DWC up to date.
Finaly i got the time to continue.
I updatet the Firmware and made some small changes to the syntax (endstop flipping)
Now everything regarding the axles works fine.
Thanks again for helping me out. Now im confident i'll finish the Project soon.