Help! Print starts opposite of home
Hi everyone, I recently installed the Duet 2 wifi board on my Modix Big-60 with a CR Touch (metal pin) and everything seems to be working fine. The X and Y endstops are located on the left in the back and the printer homes X, Y and Z as it should. However.. when I slice a print in Cura 4.8.0 or Simplify3D, the printer homes in the back left as expected and then rushes and crashes into the front. In order to make everything work I had to switch the X and Y on the board. To eliminate the problem I removed everything except G28 from the start-Gcode in Cura. Below my config.g, homeall.g, and everything else which could be of importance. Many thanks in advance for any input which could solve my problem. I'm getting an Akismet Spam error when trying to post so placing it all in a text file.
alankilian last edited by
; Endstops__________________________________________________________ M574 X2 S0 P"!xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y2 S0 P"!ystop" ; configure active-high endstop for high end on Y via pin ystop
This configures BOTH endstops at the high end (X2 and Y2).
Is that a problem?
Since I don't know your printer, I'm just suggesting something I noticed in your config.
- After homing, what do the current positions look like for the X and Y axis?
- After homing, does the X and Y axes move the right direction when you type in some G1 commands?
mrehorstdmd last edited by mrehorstdmd
@alankilian IRIC, Cura drops prints at the origin of the printer. If your printer is set up so that the origin is in a corner, that's a problem that requires custom gcode (in Cura) to fix. I often switch between Cura and PrusaSlicer and realized a long time ago that I could make my life easier by setting the origin of the printer to the center of the bed.
I explained how to set it up with Duet in my corexy printer (which doesn't matter- it applies to any printer) here.
Config.g: ;Modix Big-60 V2-V3, single printhead ;Written by Elad E. ; General preferences_______________________________________________ G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M111 S0 ; Debug off M555 P2 ; Set output to look like Marlin M575 P1 B57600 S1 ; Set auxiliary serial port baud rate and require checksum (for PanelDue) ; Network___________________________________________________________ M550 P"Big-60 V2-V3" ; Set machine name ;M551 P"MODIX3D" ; Set password (optional) M552 S1 ; Enable network M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives ;Main board_________________________________________________________ M569 P0 S1 ; Physical drive 0 goes forwards. X-Axis. M569 P1 S0 ; Physical drive 1 goes backwards. Y-Axis. M569 P2 S0 ; Physical drive 2 goes backwards. Z-Axis. M569 P3 S1 ; Physical drive 3 goes forwards. E0-Extruder. M569 P4 R-1 ; Physical drive 4 goes backwards. E1-Extruder. ;___________________________________________________________________ M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X200.00 Y100.00 Z2000.00 E418.500 ; Set steps per mm M566 X240 Y360 Z30.00 E120.00 P1 ; Set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z360.00 E1200.00 ; Set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z120.00 E250.00 ; Set accelerations (mm/s^2) M204 P500 T1000 ; Set print and travel accelerations (mm/s^2) M906 X1800.00 Y1800.00 Z2400.00 E1000.00 I40 ; Set motor currents (mA) and motor idle factor in per cent M84 S60 X Y E0 ; Set idle timeout - one minute ; Axis Limits_______________________________________________________ M208 X0 Y0 Z0 S1 ; set axis minima M208 X610 Y610 Z610 S0 ; Set axis maxima ; Endstops__________________________________________________________ M574 X2 S0 P"!xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y2 S0 P"!ystop" ; configure active-high endstop for high end on Y via pin ystop ; Z-Probe___________________________________________________________ M574 Z0 ; Configure Z-probe endstop on Z M307 H7 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch M558 P9 X0 Y0 Z1 H5 F120 T6000 ; Set Z probe type to bltouch and the dive height + speed ;G31 P50 X-25 Y38 Z1.5 ; Set Z probe trigger value, offset and trigger height G31 X-25 Y38 Z1.5 ; Set Z probe trigger value (without P50), offset and trigger height M557 X-30:568.5 Y21:606 S66.5:65 ; Define mesh grid. 100 Points M376 H10 ; Height (mm) over which to taper off the bed compensation ; Heaters___________________________________________________________ M140 H-1 ; Disable heated bed M307 H0 A-1 C-1 D-1 ; Disable heater on PWM channel ;E0_________________________________________________________________ M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S285 ; Set temperature limit for heater 1 to 285C ;M307 H1 A# C# D# V# S1.0 B0 ; PID calibration ; Fans______________________________________________________________ M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 I-1 ; Disable fan channel for LED M106 P2 I-1 ; Disable fan channel for LED ; Tools ;T0_________________________________________________________________ M563 P0 S"E0 Primary" D0 H1 F0 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S210 ; Set initial tool 0 active and standby temperatures to 0C ; Automatic power saving____________________________________________ M911 S22.5 R29.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss. Power Failure Pause ; Custom settings___________________________________________________ M591 D0 P1 C3 S1 ; Regular filament sensor for E0 M564 H0 S0 ; Negative movements are allowed
; called to home all axes M280 P7 S60 I1 G91 ; relative positioning G1 H2 Z5 F1000 ; lift Z relative to current position G1 H1 X-610 Y-610 F4000 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X10 F1000 ; X back a few mm G1 H2 Y10 F1000 ; Y back a few mm G1 H1 X-610 Y-610 F1000 ; move slowly to X and Y axis endstops once more (second pass) G1 H2 X40 F1000 ; X back a few mm G1 H2 Y40 F1000 ; Y back a few mm G90 ; absolute positioning G30 ; home Z by probing the bed G92 X0 Y0
; homex.g ; called to home the X axis G91 ; relative positioning G1 H2 Z5 F200 ; lift Z relative to current position G1 H1 X-610 F3000 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X50 F1000 ; go back a few mm G1 H1 X-610 F1000 ; move slowly to X axis endstop once more (second pass) G1 H2 X50 F1000 ; go back a few mm G1 H2 Z5 F3000 ; lower Z again G90 ; absolute positioning
; homey.g ; called to home the Y axis G91 ; relative positioning G1 H2 Z5 F200 ; lower Z relative to current position G1 H1 Y-610 F3000 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y50 F1000 ; go back a few mm G1 H1 Y-610 F1000 ; move slowly to Y axis endstop once more (second pass) G1 H2 Y50 F1000 ; go back a few mm G1 H2 Z5 F3000 ; lower Z again G90 ; absolute positioning
; homez.g ; called to home the Z axis M280 P7 S90 I1 G91 ; relative positioning G1 H2 Z5 F200 ; lift Z relative to current position G90 ; absolute positioning M401 ; Lower Z probe (BLTouch) G30 ; home Z by probing the bed M402 ; Retract Probe ;M375 ; Loads the grid matrix file (Heightmap)
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later Board ID: 08DGM-956GU-DJ3S0-7JKDG-3SJ6Q-TAGVF Used output buffers: 2 of 24 (16 max) === RTOS === Static ram: 25712 Dynamic ram: 93220 of which 0 recycled Exception stack ram used: 440 Never used ram: 11700 Tasks: NETWORK(ready,764) HEAT(blocked,1232) MAIN(running,3808) IDLE(ready,160) Owned mutexes: === Platform === Last reset 00:29:04 ago, cause: software Last software reset at 2021-08-23 11:45, reason: User, spinning module GCodes, available RAM 11904 bytes (slot 2) 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 33.7, current 34.1, max 34.4 Supply voltage: min 24.2, current 24.4, max 24.7, 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: 2021-08-23 12:14:56 Cache data hit count 4294967295 Slowest loop: 2.10ms; fastest: 0.07ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 160, MinFreeDm: 160, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 10, completed moves: 10, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1 === GCodes === Segments left: 0 Stack records: 2 allocated, 0 in use Movement lock held by null http is ready with "M122 B121" 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: 201.16ms; fastest: 0.07ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 2 of 8 - WiFi - Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 1 WiFi firmware version 1.26 WiFi MAC address f4:cf:a2:e3:29:c0 WiFi Vcc 3.32, reset reason Turned on by main processor WiFi flash size 4194304, free heap 26536 WiFi IP address 10.201.37.13 WiFi signal strength -47dBm, reconnections 0, sleep mode unknown Socket states: 0 0 0 0 0 0 0 0 === Filament sensors === Extruder 0 sensor: ok
M574 X2 S0 P"!xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y2 S0 P"!ystop" ; configure active-high endstop for high end on Y via pin ystop
There are a few things wrong here. First, you seem to be using RRF2 still, but there are a few commands in your config where it looks like you've tried to update to RRF3 syntax like using the pin names for the endstops.
The X and Y endstops are located on the left in the back and the printer homes X, Y and Z as it should.
If the X endstop is at the left, then your endstop definition is wrong. It is using X2, which means high end of travel. So @alankilian is correct, and even though the homing direction will be correct, when it reaches the endstop it will set the position to the maximum X position, not the minimum as it should, hence the weird motion.
You must change M574 X2 to M574 X1.
In order to make everything work I had to switch the X and Y on the board.
You'll need to rectify that as well.
Also, consider updating the firmware to RRF3. I know Modix hasn't released a full config file set for their printers yet, but RRF3 should work just fine if you create your own config file set using the online tool and customizing it to suit.
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.
You can see the change logs here:
For your config, might be a good idea to run through the configurator tool and generate a fresh set for RRF3.
Backup your existing config files in the sys folder in case you want to switch back to RRF3. 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.
@alankilian No actually homing goes ok. After homing the X and Y positions are both 0.0. After a G1 command both axes move in the right direction as well.
@phaedrux Thanks for your suggestions! Will try them out and get back to you with the results.