One thing I did was collect all the old and torn silicone socks I had lying around and made a wipe.
I just sliced off the sides and kept the face, then alternated them with washers. Used RTV on the bottom to bind them.
One thing I did was collect all the old and torn silicone socks I had lying around and made a wipe.
I just sliced off the sides and kept the face, then alternated them with washers. Used RTV on the bottom to bind them.
@JayJay said in PT100 with a Duet-3-6HC & Tool-Board-LC1 ?:
@Veti said in PT100 with a Duet-3-6HC & Tool-Board-LC1 ?:
i would suggest getting a pt1000 sensor
Thats not happening, if the supposed best control board cant accept an analog input from a P100 amplifier thats a pretty poor show.
I would rather rip out the Duet-3 , install the 32bit GTR PRO V1.0 and run Klipper/Octoprint with the dwc2-for-klipper-socket, a board I know is going to accept an analog signal.
The way you've responded comes off more as a troll than someone with an actual issue. So I'm clear, you're asking (demanding) that the TOOLBOARD support a PT100 sensor, but if it can't and won't, you're going to rip it out, buy new hardware, and HAVE to route wires from the head to the main board anyway, something that was a plausible solution with using the Duet3. You then say you're not willing to use a PT1000 because you'd have to buy additional hardware, and wait for it's delivery, so instead, that too is why you'd rip out a Duet3 and buy (and wait) for an entire new controller and hardware. Because why spend more money when you have parts.
I wanted to make sure I understand this logic.
The one thing that I used quite often and rely on for several reasons was the gviewer in octoprint. I have seen the fork of the viewer that has been done by someone who's name I can't remember at the moment, but it's not the same tool as in octoprint. It may seem to get relegated as a nonsense or convenience tool at times on the forum here, but the combination of slider to view future layer pathing, and also (near) real time indication of what the print head is doing and intended to do has saved my prints and lowered my blood pressure more often than not. Even if a DWC plugin that would mimic that as close as possible would be fantastic - the code is open, and iirc in python. If there's a plug-in API, I would even try and migrate that somehow. Personally I'd love to see it as part of DWC.
@dc42 any chance that a future version of the toolboard could/would have the accelerometer baked into it, or an expansion header to work with say the adafruit board?
I have mine working on my BLV with the duet3. It’s actually easier than it was with the duet2. I can share details and pictures in a bit if you’re interested.
This is the only thing I was missing from octoprint. Having the gcode viewer would close the door on my need for it. .
@gtj0 I had to change it to make sure it backs off of the endstops first, since the issue seems to be that it will error out if it's too close. Here are my files. While they work, I still at times will get the error. A few tries will eventually get it to "home", or worst case I disable the motors and manually move it away a bit. I also had to slow down the speed of approach to the endstops.
I have a BLV cube, so the Y axis is a max, not a min, fyi...
; homex.g
; called to home the X axis
;
G91 ; relative positioning
G1 Z5 F1000 S2 ; lift Z relative to current position
G1 H1 X-355 F4000 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X5 Y5 F3000 ; go back a few mm
G1 H1 X-355 F360 ; move slowly to X axis endstop once more (second pass)
G90 ; absolute positioning
; homey.g
; called to home the Y axis
;
G91 ; relative positioning
G1 Z5 F2000 S2 ; lift Z relative to current position
G1 H1 Y355 F4000 ; move quickly to Y axis endstop and stop there (first pass)
G1 H2 Y-5 F4000 ; go back a few mm
G1 H1 Y355 F360 ; move slowly to Y axis endstop once more (second pass)
G90 ; absolute positioning
; homez.g
; called to home the Z axis
;
G91 ; relative positioning
G1 Z5 F1000 S2 ; lift Z relative to current position
G90 ; absolute positioning
G1 X162.5 Y162.5 F6000 ; go to first probe point
G30 ; home Z by probing the bed
G91 ; relative positioning
G1 S2 Z5 F100 ; lift Z relative to current position
G90 ; absolute positioning
; homeall.g
; called to home all axes
;
G91 ; relative positioning
G1 Z5 F2000 S2 ; lift Z relative to current position
G1 H1 X-355 Y355 F4000 ; move quickly to X or Y endstop and stop there (first pass)
G1 H1 X-355 ; home X axis
G1 H1 Y355 ; home Y axis
G1 H2 X5 Y-5 F3000 ; go back a few mm
G1 H1 X-355 F360 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y355 F360 ; then move slowly to Y axis endstop
G90 ; absolute positioning
G1 X152 Y166.4 F4000 ; go to first bed probe point and home Z
G30 ; home Z by probing the bed
G32 S2
G91 ; relative positioning
G1 S2 Z5 F100 ; lift Z relative to current position
G90 ; absolute positioning
I would add one more item - for those that run just one toolboard tied to a duet, or in general, a jumper to set the terminator resistor/last toolboard in the chain, instead of having to wire one in.
ok, I split the difference and put a 2.49k pullup resistor between 3.3v and the stop. all is well now!
Thanks to everyone.
Sorry about that. I messed up on the catagory selection.
Looking over my Misumi rails, there's a recommended amount of cumulative movement distance before lubricating. It made me think how would I even know that, then figured that may be a nice and useful feature to have as part of an overall printer utility. This way I can review the aggregate distance traveled by a rail guide, and lubricate accordingly. Maybe even have an editable trigger value that then sends a custom reminder message upon start of the machine or a print.
This has been happening with large surface prints, and while not directly repeatable, it always seems to happen with prints that cover a larger footprint.
Running 3.3beta2
Duet3 w/ SBC, Toolboard 1.0.
When it happens, I get a message on the screen saying system needs resetting, and that's my only option other than turning it off. I accept the message and then go to console and pull an M122 for the main board and toolboard.
Here's the M122 for both the duet3 and toolboard immediately after.
Toolboard Diagnostic:
4/18/2021, 8:21:47 PM M122M122 B20
Diagnostics for board 20:
Duet TOOL1LC firmware version 3.3beta2 (2021-03-10 10:06:22)
Bootloader ID: SAMC21 bootloader version 2.1 (2020-11-03b2)
Never used RAM 4072, free system stack 0 words
Tasks: Move(notifyWait,152) HEAT(delaying,77) CanAsync(notifyWait,63) CanRecv(notifyWait,79) CanClock(notifyWait,67) TMC(delaying,63) MAIN(running,348) AIN(delaying,69)
Last reset 00:25:34 ago, cause: software
Last software reset time unknown, reason: OutOfMemory, available RAM 15440, slot 1
Software reset code 0x01c0 ICSR 0x00000000 SP 0x20003638 Task MAIN Freestk 796 ok
Stack: 20000d10 00012407 20000d10 0001e7d9 00000000 00004008 20000d10 0001e74d 20000d0c 00004000 a5a5a5a5 a5a5a5a5 00000000 0001e615 00004000 000193a1 a5a5a5a5 000193bd a5a5a5a5 00012255 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5
Driver 0: position 0, 1299.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 46, reads 46253, writes 13, timeouts 0, DMA errors 0, steps req 0 done 0
Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
Peak sync jitter 8, peak Rx sync delay 205, resyncs 0, no step interrupt scheduled
VIN: 23.5V
MCU temperature: min 43.2C, current 43.2C, max 53.7C
Ticks since heat task active 110, ADC conversions started 1534312, completed 1534311, timed out 0
Last sensors broadcast 0x00000002 found 1 115 ticks ago, loop time 0
CAN messages queued 1694, send timeouts 1512, received 166, lost 0, free buffers 36, min 36, error reg 110000
Last cancelled message type 4512 dest 127
dup 0, oos 0, bm 0, wbm 0
Duet3 Diagnostic:
4/18/2021, 8:21:43 PM M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.3beta2 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)
Board ID: 08DJM-956L2-G43S4-6J1F2-3SJ6T-1A6QH
Used output buffers: 1 of 40 (10 max)
=== RTOS ===
Static ram: 148476
Dynamic ram: 60900 of which 532 recycled
Never used RAM 128284, free system stack 200 words
Tasks: Linux(ready,153) HEAT(delaying,330) CanReceiv(notifyWait,907) CanSender(notifyWait,374) CanClock(delaying,353) TMC(notifyWait,94) MAIN(running,923) IDLE(ready,19)
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:00:13 ago, cause: software
Last software reset at 2021-04-19 01:23, reason: User, GCodes spinning, available RAM 125476, slot 2
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task Linu Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Aux1 errors 0,0,0
MCU temperature: min 32.3, current 32.9, max 33.0
Supply voltage: min 23.3, current 23.3, max 23.3, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Driver 0: position 0, standstill, reads 9232, writes 14 timeouts 0, SG min/max 0/0
Driver 1: position 0, standstill, reads 9232, writes 14 timeouts 0, SG min/max 0/0
Driver 2: position 0, standstill, reads 9232, writes 14 timeouts 0, SG min/max 0/0
Driver 3: position 0, standstill, reads 9232, writes 14 timeouts 0, SG min/max 0/0
Driver 4: position 0, standstill, reads 9232, writes 14 timeouts 0, SG min/max 0/0
Driver 5: position 0, standstill, reads 9235, writes 11 timeouts 0, SG min/max 0/0
Date/time: 2021-04-19 01:23:37
Slowest loop: 0.47ms; fastest: 0.05ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP* is doing "M122" in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger* is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
SBC is idle in state(s) 0
Daemon is idle in state(s) 0
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== CAN ===
Messages queued 121, send timeouts 0, received 106, lost 0, longest wait 2ms for reply type 6049, peak Tx sync delay 216, free buffers 49 (min 48)
=== SBC interface ===
State: 4, failed transfers: 0
Last transfer: 1ms ago
RX/TX seq numbers: 368/368
SPI underruns 0, overruns 0
Number of disconnects: 0, IAP RAM available 0x2d4fc
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.3-b2
Code buffer space: 4096
Configured SPI speed: 8000000 Hz
Full transfers per second: 34.97
Codes per second: 5.94
Maximum length of RX/TX data transfers: 2636/552
4/18/2021, 8:21:37 PM Endstop configuration:
X: low end switch connected to pin 20.io1.in, min interval 30ms
Y: high end switch connected to pin (io2.in,i2c0.clk)
Z: low end Z probe
A little aggravating, as it stops with the nozzle in the print.
@nmsmith89 btw I’m running on 3.3b2, so ignore the comments about which version it’s for
@nmsmith89
In the meantime, since our setup isn’t too dissimilar, here are all my “g” files to compare to yours.
code_text
; bed.g
M291 P"Probing mesh grid process started" R"Probing.." S1 T2
M561 ; clear any bed transform
M557 X30:300 Y30:300 S40 ; Define mesh grid
G90 ; absolute positioning
G1 H2 Z20 F1000 ; Making sure we're not going to hit the side of glass
M400 ; Wait for move to finish
G30 P0 X30 Y192.5 Z-99999 ; probe near leadscrew one
G30 P1 X300 Y282.5 Z-99999 ; probe near leadscrew two
G30 P2 X300 Y69.5 Z-99999 S3 ; probe near leadscrew three and calibrate.
G30 S-3 ; Probe and set Z=0
G1 H2 Z20 F1000 ; Making sure we're not going to hit the side of glass
G29 ; Probe the bed and save height map to file
M402 ;Retract probe
M291 P"Probing mesh grid process finished !" R"Probing.." S1 T2
G1 X0 Y0 F10000
*****************************************************************************************************
*****************************************************************************************************
*****************************************************************************************************
; Configuration file for Duet3 (firmware version 3.1.0 Stable)
; executed by the firmware on start-up
;
; --------------- Pin/connection Mapping Legend -------------------
; 0.out0 - Bed heater
; 0.out1
; 0.out2
; 0.out3
; 0.out4 - Radiator cooling fan - WC heatsink
; 0.out5
; 0.out6
; 0.out7
; 0.out8
; 0.out9 - Duet board cooling fan
; 0.out4.tach - Radiator cooling fan rpm wire - WC heatsink
; 0.out5.tach
; 0.out6.tach
; 0.io0.in
; 0.io1.in - Emergency stop switch
; 0.io2.in - Y max active low endstop switch
; 0.io3.in
; 0.io4.in
; 0.io5.in
; 0.io6.in
; 0.io7.in
; 0.io8.in
; 0.io0.out
; 0.io1.out
; 0.io2.out
; 0.io3.out
; 0.io4.out
; 0.io5.out
; 0.io6.out
; 0.io7.out
; 0.io8.out
; 0.servo, out10 (only on v0.5, not on v0.6)
; 0.pson
; 0.spi.cs0
; 0.spi.cs1
; 0.spi.cs2
; 0.spi.cs3
; 0.temp0 - Bed Thermistor
; 0.temp1
; 0.temp2
; 0.temp3 - Coolant Temp Sensor
; 0.mcu-temp - MCU sensor
;
;----------Toolboard 1 (CAN ID#20)
; 20.out0 - Hotend Heater
; 20.out1
; 20.out2 - Parts cooler on printhead
; 20.out1.tach
; 20.out2.tach
; 20.io0.in - Z probe type to bltouch current - Piezo future
; 20.io1.in - X min active low endstop switch
; 20.io0.out - GPIO port 0 on toolboard io0, servo mode - BLTouch Z-Probe
; 20.temp0 - Extruder Thermistor
; 20.temp1
; 20.button0
; 20.button1
;
; -----------------------------------------------------------------
;
; General preferences
M81 ; Turn on the Power (inverted for Meanwell)
G4 P2000 ; Hold your Horses.
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
G21 ; Set units to Millimeters
M550 P"DUET3" ; set printer name
M575 P1 S1 B115200 ; Set things up for the PanelDue
M584 X0.3 Y0.2 Z0.0:0.1:0.4 E20.0 ; set drive mapping to each axis
M669 K1 ; Select CoreXY mode - New format
; Network
; M552 S1 ; enable network
; M586 P0 S1 ; enable HTTP
; M586 P1 S0 ; disable FTP
; M586 P2 S0 ; disable Telnet
; Drives
M569 P0.0 S0 ; physical drive 0 goes backwards - Z Axis Left (1)
M569 P0.1 S0 ; physical drive 1 goes backwards - Z Axis Right Back (2)
M569 P0.2 S0 D3 ; physical drive 2 goes backwards - Y Axis, activate Stealthchop
M569 P0.3 S0 D3 ; physical drive 3 goes backwards - X Axis, activate Stealthchop
M569 P0.4 S0 ; physical drive 4 goes backwards - Z Axis Right Front (3)
M569 P20.0 S1 D3 ; physical drive 5 goes forwards - Extruder 1
; Set up three Z-axis location
M671 X-10.2:359:359 Y172.5:291.5:49.5 S5 ; Pivot Points at 1 - left, 2 - rear right and 3 - front right
M92 X199.27 Y199.27 Z1600 E1704.5 ; set steps per mm
M350 X16 Y16 Z16 E16 I1 ; configure micro-stepping with interpolation
M566 X800.00 Y800.00 Z200.00 E240.00 ; set maximum instantaneous speed changes (mm/min)
M203 X12000.00 Y12000.00 Z800.00 E1200.00 ; set maximum speeds (mm/min)
M201 X6000.00 Y6000.00 Z200.00 E800.00 ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E1000 I30 ; set motor currents (mA) and motor idle factor in percent*100
M84 S30 ; Set idle timeout
; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X320 Y320 Z350 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"20.io1.in" ; X min active high endstop switch
M574 Y2 S1 P"0.io2.in" ; Y max active high endstop switch
; Z-Probe - BLTouch - *CURRENT*
M574 Z1 S2 ; set endstops controlled by probe
M558 P9 C"^20.io0.in" H5 F2000 T12000 ; set Z probe type to bltouch and the dive height + speeds (bltouch NEEDS pullup)
G31 P100 X0 Y-20 Z3.43 ; set Z probe trigger value, offset and trigger height - 0.40MM NOZZLE FIXED Kv1
G30 ; Probe Z
; Configure Heaters and Sensors
M308 S0 P"0.temp0" Y"thermistor" T100000 B3950 ; Configure bed temperature sensor
M950 H0 C"0.out0" T0 ; Define heater 0 (bed heater) - bed_heat pin and Temp Sensor 0
M143 H0 S120 A2 ; set temperature limit for heater 0 to 120c
M140 H0 ; Map heated bed to heater 0
M308 S1 P"20.temp0" Y"thermistor" T500000 B4723 C1.196220e-7 ; Configure extruder 1 temperature sensor - Mosquito
M950 H1 C"20.out0" T1 ; Define heater 1 (hot-end E0) to use the "20.out0" pin and Temp Sensor 1
M143 H1 S265 A2 ; set temperature limit for heater 1 to 265C
M308 S2 P"mcu-temp" Y"mcu-temp" A"Duet Board" ; Configure MCU sensor
M308 S3 P"temp3" Y"thermistor" T10000 B3988 A"Coolant" ; Configure coolant sensor
; Configure Fans
M950 F0 C"20.out2" Q100 ; Define Fan_0 for use - Parts Cooler on Printhead - 5015 fan
M950 F1 C"0.out9" Q25000 ; Define Fan_1 for use - Duet board cooling fan
M950 F2 C"!0.out4+^0.out4.tach" Q25000 ; Define Fan_1 for use - Radiator cooling - WC heatsink. - PWM fan
M950 S0 C"20.io0.out" ; Define GPIO port 0 on IO0, servo mode - BLTouch Z-Probe - *CURRENT*
M950 J0 C"^!0.io1.in" ; Input 0 uses 0.io1.in pin, pullup enabled
; Fans
M106 P0 S0 ; set fan 0. Parts Cooler on Printhead
M106 P1 T45:50 H2 ; Set fan 1. Manages Duet board fan.
M106 P2 T20:40 H3 ; Set fan 1. Manages Radiator fan for water-cooled loop.
;Set PID values
M307 H0 A289.6 C634.8 D0.9 V23.3 B0 ; disable bang-bang mode for the bed heater and set PWM limit
M307 H1 A745.2 C193.6 D3.0 V23.2 B0 ; disable bang-bang mode for the extruder heater and set PWM limit
; Pressure Advance
M572 D0 S0.1 ; Set pressure advance to offset elasticity
; Tools
M563 P0 S"Extruder 1" D0 H1 F0 ; define tool 0. Fan 0 operates with an active hot-end
G10 P0 X0 Y0 Z0 R0 S0 ; set tool 0 axis offsets active and standby temperatures to 0C
; Emergency Stop
M574 S1 P"^!0.io1.in" ; Define Emergency endstop - emergency stop switch condition
M581 P0 S1 T0 ; Define action to be taken with activation of emergency stop switch
; Miscellaneous
T0 ; select first tool
*****************************************************************************************************
*****************************************************************************************************
*****************************************************************************************************
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool on Tue Oct 09 2018 13:27:56 GMT+0300
G91 ; relative positioning
M98 P"homex.g" ; Home X
M98 P"homey.g" ; Home Y
M98 P"homez.g" ; Home Z
G90 ; absolute positioning
*****************************************************************************************************
*****************************************************************************************************
*****************************************************************************************************
; homex.g
; called to home the X axis
;
G91 ; relative positioning
G1 H2 Z3 F1000 ; Drop Z 3mm
G1 H2 X5 Y5 F10000 ; move X away a little so the switch is not pressed
G1 H1 X-400 F8000 ; move left 400mm, stopping at the endstop
G1 X5 F8000 ; move away for second pass
G4 P500 ; wait 500msec
G1 H3 X-300 F300 ; (second pass)
G1 X15 F8000 ; move away from end
G1 H2 Z-3 F1000 ; Raise z back
G90 ; back to absolute positioning
G4 P100 ; wait 400ms
*****************************************************************************************************
*****************************************************************************************************
*****************************************************************************************************
; homey.g
; called to home the y axis
;
G91 ; use relative positioning
G1 H2 Z3 F1000 ; Drop Z 3mm
G1 H2 X5 Y5 F10000 ; ensure gantry is clear
G1 H1 Y400 F8000 ; move to the front 400mm, stopping at the endstop
G1 Y-5 F5000 ; move away for second pass
G4 P500 ; wait 500msec
G1 H3 Y400 F300 ; (second pass)
G1 Y-15 F8000 ; move away from end
G1 H2 Z-3 F1000 ; Raise Z back
G90 ; back to absolute positioning
G4 P100 ; wait 400ms
*****************************************************************************************************
*****************************************************************************************************
*****************************************************************************************************
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool on Tue Oct 09 2018 13:27:56 GMT+0300
G91 ; relative positioning
G1 H2 Z10 F1000 ; Drop Z relative to current position
G90 ; absolute positioning
G1 X162.5 Y162.5 F10000 ; go to first probe point
G30 ; home Z by probing the bed
; Uncomment the following lines to lift Z after probing
G91 ; relative positioning
G1 H2 Z10 F1000 ; lower Z a bit more
G90 ; absolute positioning
*****************************************************************************************************
*****************************************************************************************************
*****************************************************************************************************
I’m running my bltouch on my toolboard; can you take a picture of your wiring?
@alex-cr said in Potential firmware issue - bltouch:
M558 P9 C"0.io7.in" H5 A3 S0.005 F120 T9000 K0
This should have the pull up resistor enabled. It’s a commonly overlooked issue with bltouch installations.
Try this instead. Note the caret.
M558 P9 C"^0.io7.in" H5 A3 S0.005 F120 T9000 K0
BLTouch config:
M558 P9 C"121.io0.in" H10 F600 T6000
There’s your probable problem. You’re not enabling the pull up resistor on the bltouch.
Change your line to read M558 P9 C”^121.io0.in” H10 F600 T6000
@o_lampe hmmm, can you modify the motor on the fly like that? if so, then I think that would work.
I was hoping (looking) for a way to effectively create a virtual variant of a drive, so that the same motor could operate under different settings, but be used as effectively as a different, addressable drive. for instance, if we had in our config.g file the following:
...
M584 E0.6
M569 P0.6 S0
M563 P0 S"main filament" D0 H1 F0
...
that I could also then make a shadow version of the one motor to for all intents and purposes be driven as a different motor when associated with another tool (printhead), like so...
...
M584 E0.6:0.6!
M569 P0.6 S0
M569 P0.6! S1
M563 P0 S"main filament" D0 H1 F0
M563 P1 S"support filament" D1 H1 F0
I'm looking for a way to design something to use one motor, but operate in reverse when set to be a "different" head.
@cncmodeller given my liquid cooled head which is not what I’d call light, the 2-5 grams I’m adding is t something I’m going to fuss over, and I plan on just leaving it on the head. I have a toolboard on the back of the print head, so the wiring is short and sweet.
@aprz This is how/where I'm mounting mine...