Modix Big meter in duplicate or mirror mode
-
Hello,
The business that I work for purchased a Big Meter from Modix about a year ago. Now we have a part that we could use a bunch of. I know that there is a mirror/duplicate mode. I started to do a little research and one response online mentioned that he couldn't get it to work. Our machines gantry is rotated 90 degrees from most setups that I've seen. So when your standing at the front of the machine T0 is directly in front of you and T1 parks at the back of the machine, Can you run the duplicate/ mirror along the Y axis instead of the X axis? Has anyone ever done this?
Thanks so much
Loren
-
@lorenjz I'm sure it's possible.
I have built a 4-head printer and tested mirror mode on all 4 tools.
IDK if I used the official way of doing it, but by juggling with:- redefining the endstops,
- reversing some steppers direction,
- modifying the printer kinematic-definitions and
- setting tool offsets,
I had a working solution.
-
@lorenjz Have you contacted Modix support? They may have a better idea on how to resolve this quickly, otherwise you're going to need to start from first principles; supply us with your configuration files, firmware version, images of the machine etc, plus an invest in time getting yourself up to speed understanding the machine and configuration.
Ian
-
@droftarts I did and the response that they gave me was that the configuration was accomplished in the slicing software. After more reading on Duets documentation it appears as though that isn't completely true.
-
@lorenjz If the machine was purchased with dual print heads the configuration should already be there for that and the rest would be in the slicer.
Do you have two tools that you can switch between in DWC?
-
@Phaedrux Yes there are two heads in the DWC, however when I looked through the config.g file I didn't see any listings for duplicate or mirror.
-
@lorenjz Can you post the config.g file?
For IDEX setup, including examples of duplicate and mirror tools, see https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_IDEX#configuring-tools
Ian
-
@droftarts Below is the config.g for our machine. T2 is my attempt to copy the suggestions from the link you provided. I have not had a chance to test it though.
; Modix Big-Meter, Duex Expansion, IDEX ; Configuration file for Duet WiFi (firmware version 3.4.5) ; Generated by Modix - Version 3.4.5 Config C global config_version = "Version 3.4.5 Config C" global generation = 4 ; generation 4 printer global printhead = 1 ; Griffin printhead global printheads = 2 ; dual extruder global expansion = 1 ; Duex expansion board is installed global idex = 1 ; idex setup ; for macro commands global pausetime = 0 ; record pauzing time global fan_0_speed = 0 ; Used to store the fan0 speed global fan_1_speed = 0 ; Used to store the fan1 speed global filamentswitch = 0 ; filament switch disabled (edited) global changer_count = 0 ; Counter for tool changer continous. global toolstate = 0 ; used for pauses ; General preferences_________________________________________________________ G90 ; send absolute coordinates... M83 ; ...but relative extruder moves 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 Meter V4 - IDEX" ; set printer name ;M551 P"MODIX3D" ; Set password (optional) M98 P"config_networking.g" ; enable network G4 P300 ; wait 300ms ;M552 P0.0.0.0 ; Uncomment this command for using Duet Ethernet board ; Drives_________________________________________________________________________ ;Main board______________________________________________________________________ M569 P0 S1 ; Physical drive 0. X-B-M M569 P1 S0 ; Physical drive 1. X-F-M M569 P2 S0 ; Physical drive 2. U Secondary M569 P3 S1 ; Physical drive 3. E0-Extruder. M569 P4 S0 ; Physical drive 4. E1-Extruder. ;Duex5 board_____________________________________________________________________ M569 P5 S0 ; Physical drive 5. Y M569 P6 S1 ; Physical drive 6. Z-Back-Left (ZBL) M569 P7 S1 ; Physical drive 7. Z-Front-Left (ZFL) M569 P8 S1 ; Physical drive 8. Z-Front-Right (ZFR) M569 P9 S1 ; Physical drive 9. Z-Back-Right (ZBR) ;Settings_________________________________________________________ M584 X0:1 Y5 U2 Z6:7:8:9 E3:4 P4 ; Driver mapping M671 X-185:-185:1068:1068 Y1068:-46:-46:1068 S30 ; Anticlockwise ;___________________________________________________________________ M350 X16 Y16 Z16 U16 E16:16 I1 ; Configure microstepping with interpolation M92 X80 Y80 U80 Z2000 E417.1:415 ; Set steps per mm M566 X500 Y500 U500 Z30 E3000:3000 P1 ; Set maximum instantaneous speed changes (mm/min) M203 X18000 Y18000 U18000 Z400 E6000:6000 ; Set maximum speeds (mm/min) M201 X3000 Y3000 U3000 Z240 E1000:1000 ; Set accelerations (mm/s^2) M204 P1000 T3000 ; Set print and travel accelerations (mm/s^2) M906 X1800 Y1800 U1800 Z1800 E1000:1000 I50 ; Set motor currents (mA) and motor idle factor in per cent M84 S100 ; Set idle timeout - 100 seconds ; Axis Limits M208 X0 Y0 U0 Z-2 S1 ; set axis minima M208 X980 Y1000 Z930 S0 ; set axis maxima M98 P"config_probe_offset_U.g" ; Load secondary axis offsets ; Endstops M574 X1 S1 P"duex.e5stop + duex.e6stop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin e5stop + e6stop M574 Y1 S1 P"duex.e4stop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin e4stop M574 U2 S1 P"duex.e3stop" ; configure switch-type (e.g. microswitch) endstop for low end on Secondary via pin e3stop ; Automatic Z Offset Calibration____________________________________ M574 Z1 S1 P"!duex.e2stop" ; configure switch-type for Automatic z-offset ; Z-Probe M558 P9 C"zprobe.in" H4 F180 T12000 A1 R0.5 ; BLTouch probing settings M950 S0 C"duex.pwm5" ; sets the BLTouch probe M376 H100 ; Height (mm) over which to taper off the bed compensation G31 P500 X0 Y32.4 ; BLTouch X and Y offset M557 X{move.axes[0].min + sensors.probes[0].offsets[0] + 1, move.axes[0].max + sensors.probes[0].offsets[0] - 1} Y{move.axes[1].min + sensors.probes[0].offsets[1] + 1, move.axes[1].max + sensors.probes[0].offsets[1] - 1} P30:10 ; The M557 is used to define the mesh grid area. It uses the P parameter to set the amount of probing points. P10:10 would be a 10x10 grid. Supports up to a 21x21 grid. M98 P"config_probe.g" ; Load the Z-offset from the config_probe.g file ; The Z_offset value is now set in config_probe.g, not in config.g ; Adjust the values there, do not adjust anything here. ; Heaters___________________________________________________________ M140 H-1 ; disable heated bed (overrides default heater mapping) ; Modified Heaters for interfacing with duet controller___________________________________________________________ ;M308 S4 P"duex.e4temp" Y"thermistor" T100000 B3950; configure sensor 0 as thermistor on pin temp0 ;M308 S4 P"duex.e4temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin temp0 ;M950 H4 C"duex.pwm3" T4 ; create bed heater output on out0 and map it to sensor 0 ;M307 H4 B1 ; disable bang-bang mode for the bed heater and set PWM limit ;M140 H4 S4 ; map heated bed to heater 0 ;M143 H4 S120 ; set temperature limit for heater 0 to 120C ;E0_________________________________________________________________ ;M308 S0 P"e0temp" Y"thermistor" T100000 B4725 ; configure sensor 0 as thermistor on pin e0temp ;M308 S0 P"spi.cs1" Y"rtd-max31865" ; Configure sensor 0 as PT100 via the daughterboard M308 S0 P"e0temp" Y"pt1000" ; Configure sensor 0 as PT1000 on pin e0temp M950 H0 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0 M98 P"PID_tune_E0.g" R1 ; PID calibration M143 H0 S300 ; set temperature limit for heater 0 to 285C ;E1_________________________________________________________________ ;M308 S1 P"e1temp" Y"thermistor" T100000 B4725 ; configure sensor 1 as thermistor on pin e1temp ;M308 S1 P"spi.cs2" Y"rtd-max31865" ; Configure sensor 1 as PT100 via the daughterboard M308 S1 P"e1temp" Y"pt1000" ; Configure sensor 1 as PT1000 on pin e1temp M950 H1 C"e1heat" T1 ; create nozzle heater output on e1heat and map it to sensor 1 M98 P"PID_tune_E1.g" R1 ; PID calibration M143 H1 S300 ; set temperature limit for heater 1 to 285C ; Fans______________________________________________________________ M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 C"Primary blower fan" ; 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 S0 H-1 C"Secondary blower fan" ; set fan 1 value. Thermostatic control is turned on M950 F3 C"duex.fan5" Q500 ; create fan 3 on pin fan5 and set its frequency M106 P3 S255 H0 T45 ; set fan 3 value. Thermostatic control is turned on M950 F4 C"duex.fan6" Q500 ; create fan 4 on pin fan6 and set its frequency M106 P4 S255 H1 T45 ; set fan 4 value. Thermostatic control is turned on ; LED______________________________________________________________ M950 F2 C"duex.fan7" Q500 ; create LED on pin fan7 and set its frequency M106 P2 S0 H-1 C"LED Primary" ; Disable fan channel for LED M950 F5 C"duex.fan8" Q500 ; create LED ENC on pin fan8 and set its frequency M106 P5 S0 H-1 C"LED ENC" ; Disable fan channel for LED M950 F6 C"duex.fan4" Q500 ; create LED Secondary on pin fan4 and set its frequency M106 P6 S0 H-1 C"LED Secondary" ; Disable fan channel for LED M106 P5 S255 ; Enclosure LED on by default M106 P2 S255 ; Secondary LED on by default M106 P6 S255 ; Primary LED on by default ; Tools______________________________________________________________ ;T0_________________________________________________________________ M563 P0 S"E0 Primary" D0 H0 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 S210 R180 ; set initial tool 0 active and standby temperatures to 210 and 180c by default ;T1_________________________________________________________________ M563 P1 S"E1 Secondary" D1 H1 F1 Y3 ; define tool 1 G10 P1 X0 Y0 Z-3 ; set tool 1 axis offsets M98 P"config_probe_secondary.g" ; Set secondary Z-Offset M98 P"config_probe_offset_X.g" ; Set secondary Z-Offset G10 P1 S210 R180 ; set initial tool 1 active and standby temperatures to 210 and 180c by default ;T2_________________________________________________________________ LZ M563 P7 S"E3" D0:1 H1:2 Y0:3 ;F1:1 ; tool 2 uses both extruders and hot end heaters, maps X to both X and U, and uses both print cooling fans G10 P7 X50 Y0 U-50 S0 R0 ; set tool offsets and temperatures for tool 2 M567 P7 E1:1 ; set mix ratio 100% on both extruders ; Automatic power saving____________________________________________ M911 S22.0 R23.5 P"M913 X0 Y0 U0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss. Power Failure Pause ; Primary hotend Clog detector__________________________________________________ M591 D0 P7 C"e0stop" S1 L3.14 E10 R10:300 ; Clog Detector E0 [Add-On] ;Secondary hotend Clog detector__________________________________________________ M591 D1 P7 C"e1stop" S1 L3.14 E10 R10:300 ; Clog Detector E1 [Add-On] ; Crash detector__________________________________________________ M98 P"setup_crash_detector.g" ; Emergency stop button__________________________________________________ M950 J3 C"ystop" ; create Input Pin 3 on pin ystop to for M581 Command. M950 J4 C"xstop" ; create Input Pin 4 on pin xstop to for M581 Command. M581 P3 T0 S1 R0 ; Emergency stop [Add-On] M581 P4 T0 S1 R0 ; Emergency stop [Add-On] M955 P0 C"spi.cs2+spi.cs1"