6HC+1LC where connect filament sensor?
-
After reading the documentation I'm confused -- with my combination, do I have to connect the filament sensor to the 1LC (where my extruder is connecter)?
I do not want to add weight on the toolhead so was planning on having the filament sensor on the frame instead, connected to the 6HC. Surely this must be possible?
I have both the Duet and Dyze sensor if it makes a differens.
-
@Reine at the moment its not possible to add a filament sensor on another board other than where the extruder is (although it has been requested by myself and others). You could run a separate wire from the filament sensor to the 1LC to get it to work but sort of defeats the purpose of CAN-FD.
-
@jay_s_uk that's an interesting design choice. I don't know what the bandwidth is on the can interface, maybe there some limits there?
However for a simple binary switch, that only senses filament or no filament I can't see the need for having it on the same board as the extruder.
Too bad it's not possible at the moment and as you say, another wire defeats the purpose of CAN-FD.
-
@Reine If you're only detecting the presence of filament you are supposed be able to wire a simple switch type monitor (1&2) to any board. Not positive if it was really implemented in 3.4+ or not. But I remember seeing some traffic on the subject.
-
@Nurgelrot not possible currently
m591 d0 p1 c"e0stop" Error: M591: Filament monitor port must be connected to same CAN board as extruder driver
https://docs.duet3d.com/en/User_manual/RepRapFirmware/CAN_limitations#permanent-limitations
-
@jay_s_uk Thank for checking I could have sworn that they added an exception for the the simple switches. Might be able to reproduce the same functionality with a trigger? M581.
Or do what I do and mount the filament monitor to the frame and run the wire down with the boden tube. Sucks but its the best I could come up with.
-
@Nurgelrot M581 should work although segmentation
M669 S1 T1
may also have to be used -
@Nurgelrot said in 6HC+1LC where connect filament sensor?:
Thank for checking I could have sworn that they added an exception for the the simple switches.
This is planned but not yet implemented.
-
@dc42 any idea when this will be implemented?
-
@Reine it's already implemented in the 3.5 source code, but untested.
-
@dc42 said in 6HC+1LC where connect filament sensor?:
but untested.
Can I use it already, or it needs to be tested and then released?
-
@zambz2016 simple switches were implemented in the 3.5.1 release
-
@jay_s_uk Sorry for picking up on this thread again, but I'm on the 3.5.1 release testing this
I have this in my config.g, for a filament sensor connected to the Duet 3 (5 Mini+)M591 D0 S1 P2 C"^io1.in"
The extruder (and all other stuff for the toolhead) is on a 1LC Expansion Board
When I enter:M591 D0
I get this result:
Simple filament sensor on pin 121.io1.in, enabled when printing from SD card, output high when no filament, filament present: no
It still seems like it wants to use 121.io1.in instead of the Duet board io1.in, or am I missing something?
-
@Christophe said in 6HC+1LC where connect filament sensor?:
It still seems like it wants to use 121.io1.in instead of the Duet board io1.in, or am I missing something?
Check your config to see if you've defined it elsewhere already.
-
@Phaedrux I've double checked my config but I only define the filament sensor on one place
config.g
; General preferences G4 S2 ; wait for CAN G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M669 K1 ; coreXY G21 ; set units to millimeters M98 P"network.g" ; configure network settings ; Drives M569 P0.0 S1 D2 ; physical drive 0.0 goes forwards, no stealthchop, spreadcycle for extruder M569 P0.1 S1 D3 ; physical drive 0.1 goes forwards M569 P0.2 S1 D3 ; physical drive 0.2 goes forwards M569 P0.3 S0 D3 ; physical drive 0.3 goes forwards M569 P0.4 S0 D3 ; physical drive 0.4 goes forwards M569 P121.0 S1 D3 ; physical drive 0.5 goes forwards M584 X0.4 Y0.3 Z0.0:0.1:0.2 E121.0 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation ; Motor settings M92 X80.00 Y80.00 Z800.00 E832.0 ; set steps per mm M906 X1800 Y1800 Z1500 E800 I30 ; set motor currents (mA) and motor idle factor in percent M84 S30 ; set idle timeout M915 P3:4 S20 R0 F0 H400 ; setup for stall detection ; Speed settings M566 X600.00 Y600.00 Z100.00 E3000.00 P1 ; set maximum instantaneous speed changes (mm/min) M203 X30000.00 Y30000.00 Z1000.00 E3600.00 ; set maximum speeds (mm/min) M201 X9000.00 Y9000.00 Z100.00 E5000.00 ; set accelerations (mm/s^2) ; Axis Limits M208 X-5:505 Y-10:502 Z0:500 ; set axis minima and maxima ; Endstops M574 X1 S3 ; configure sensorless endstop for x-axis M574 Y1 S3 ; configure sensorless endstop for y-axis M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Tramming M671 X-4.5:250:470 Y-4.52:485:-4.52 S5 ; define positions of Z leadscrews or bed levelling screws M557 X3:470 Y0:485 P10 ; define 10x10 mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out1" T0 ; create bed heater output on out5 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M307 H0 B0 R0.195 C128.4 D1.80 S1.00 ; pid tune 330W ; Fans M950 F0 C"121.out2" Q500 ; create fan 0 on pin out3 and set its frequency M950 F1 C"!121.out1+out1.tach" ; create fan 1 on pin out4 and set its frequency M106 P0 C"Hotend Fan" S255 ; temporary spin up the tool fan M106 P1 C"Layer Fan" S255 H-1 B0.35 L0.20 X0.40 ; set fan 1 name and value. Thermostatic control is turned off G4 S1 ; wait two seconds to turn them back off M106 P0 C"Hotend Fan" S0 H1 T45 L255 ; set fan 0 name and value. Thermostatic control turned on for Hotend M106 P1 S0 ; turn off part fan ; Tools M563 P0 D0 H1 F1 S"MainTool" ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R25 S0 ; set initial tool 0 active and standby temperatures to 0C M950 H1 C"121.out0" T1 ; create nozzle heater output on out2 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set the maximum temperature in C for heater ; Filament Sensor M591 D0 S1 P2 C"^io1.in" ; configure switch filament monitor ; Ambient (DHT) Sensor M308 S10 P"io0.out+io0.in" Y"dht22" A"AmbientTemperature" ; configure pins for DHT sensor (temperature) M308 S11 P"S10.1" Y"dhthumidity" A"AmbientHumidity" ; configure pins for DHT sensor (humidity) ; Hotend thermistor M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.060000e-8 A"Hotend" ; Z-Probe M558 P8 C"^121.io0.in" H6.0 F400:200 T30000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X-30 Y-15 Z0.000 ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed ; Filament settings M404 N1.75 D0.8 ; filament width and nozzle diameter M207 S1.0 F3600 T1200 Z0.27 ; retraction settings used by M10 & M11 T0 ; activate tool 0 ; Triggers M950 J1 C"!121.button0" ; button0 toolboard M581 P1 S0 T2 R0 ; trigger2.g M950 J2 C"!121.button1" ; button1 toolboard M581 P2 S0 T3 R0 ; trigger3.g ; Accelerometer M955 P121.0 I10 ; specify orientation of accelerometer on Toolboard 1LC with CAN address 121 ; Global Variables if exists(global.state) set global.state = "Started" else global state = "Started" if exists(global.printer_type) set global.printer_type = "V-CORE_3.1" else global printer_type = "V-CORE_3.1" if exists(global.printer_config) set global.printer_config = "0.1.1" else global printer_config = "0.1.1" M501
M122
M122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.1 (2024-04-19 14:41:25) running on Duet 3 Mini5plus Ethernet (standalone mode) Board ID: 3YN4S-4867A-G65J0-401GQ-1Q82Z-73P7R Used output buffers: 3 of 40 (32 max) === RTOS === Static ram: 103232 Dynamic ram: 116316 of which 0 recycled Never used RAM 19012, free system stack 194 words Tasks: NETWORK(1,ready,918.8%,138) ETHERNET(5,nWait 7,8.4%,562) HEAT(3,nWait 6,4.5%,326) Move(4,nWait 6,0.5%,341) CanReceiv(6,nWait 1,8.1%,774) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,1.2%,348) TMC(4,nWait 6,225.3%,102) MAIN(1,running,224.7%,647) IDLE(0,ready,0.0%,30) AIN(4,delaying,134.0%,256), total 1525.5% Owned mutexes: === Platform === Last reset 17:41:20 ago, cause: software Last software reset at 2024-05-30 14:47, reason: User, Gcodes spinning, available RAM 29824, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU revision 3, ADC conversions started 63680215, completed 63680215, timed out 0, errs 0 MCU temperature: min 32.4, current 34.2, max 38.4 Supply voltage: min 24.4, current 24.5, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/6, heap memory allocated/used/recyclable 2048/1000/920, gc cycles 1 Events: 4 queued, 4 completed Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 32, reads 61500, writes 3, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 32, reads 61500, writes 3, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 32, reads 61500, writes 3, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 40, reads 61497, writes 5, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 40, reads 61498, writes 5, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 0, ifcnt 20, reads 61503, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 0, ifcnt 20, reads 61502, writes 0, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-05-31 09:47:16 Cache data hit count 4294967295 Slowest loop: 21.72ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 13.4ms, write time 5.7ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.0 Heater 1 is on, I-accum = 0.0 === GCodes === Movement locks held by null, null HTTP is idle 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000803 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === Filament sensors === check 0 clear 0 Extruder 0 sensor: ok === CAN === Messages queued 570615, received 1299700, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6048, peak Tx sync delay 277, free buffers 26 (min 25), ts 316973/316973/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 30.28ms; fastest: 0.04ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 2 of 8 = Ethernet = Interface state: active Error counts: 0 0 10976 0 0 0 Socket states: 2 2 2 2 2 0 0 0
M122 B121
M122 B121 Diagnostics for board 121: Duet TOOL1LC rev 1.1 or later firmware version 3.5.1 (2024-04-19 14:42:41) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) All averaging filters OK Never used RAM 3956, free system stack 122 words Tasks: Move(3,nWait 7,0.2%,121) HEAT(2,nWait 6,44.8%,107) CanAsync(5,nWait 4,0.0%,55) CanRecv(3,nWait 1,1.8%,71) CanClock(5,nWait 1,2.8%,59) ACCEL(3,nWait 6,0.0%,53) TMC(2,delaying,461.4%,53) MAIN(1,running,176.7%,315) IDLE(0,ready,0.0%,27) AIN(2,delaying,623.0%,112), total 1310.8% Owned mutexes: Last reset 17:41:59 ago, cause: software Last software reset time unknown, reason: AssertionFailed, available RAM 3392, slot 2 Software reset code 0x0120 ICSR 0x00000000 SP 0x2000415c Task Freestk 129 bad marker Stack: 00000544 00022ffc 00019b65 20003134 00016cff 20003134 000163d1 20000ed0 00000000 00000001 00008275 200071c8 200071c8 200071e0 00000000 20000f50 00011647 000223b8 00022474 00021ac8 00019b05 200071c8 200071c8 20000f50 000083ed 200071d8 000009c7 Driver 0: pos 0, 832.0 steps/mm, standstill, SG min 0, read errors 0, write errors 0, ifcnt 41, reads 13426, writes 3, timeouts 10, DMA errors 0, CC errors 0, failedOp 0x6a, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00 Peak sync jitter -5/10, peak Rx sync delay 214, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 24.4, current 24.5, max 24.5 MCU temperature: min 39.2C, current 46.1C, max 46.4C Last sensors broadcast 0x00000002 found 1 131 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 1301180, send timeouts 0, received 571258, lost 0, errs 0, boc 0, free buffers 18, min 18, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Accelerometer: LIS3DH, status: 00 I2C bus errors 0, naks 0, contentions 0, other errors 0 === Filament sensors === Interrupt 5726621 to 0us, poll 4 to 976us Driver 0: no filament
-
@Phaedrux Same behaviour on 3.5.2 RC1
I start off by not configuring the filament sensor at all in the config.g
M591 D0 Extruder 0 has no filament sensor
I then enter
M591 D0 S1 P2 C"^io1.in" ; which gives the following result when reading it out M591 D0 Simple filament sensor on pin 121.io1.in, enabled when printing from SD card, output high when no filament, filament present: no
It always changes the pin from io1.in to 121.io1.in
-
@Christophe although a simple switch on a board different to where the extruder connected was in the release notes as being included in 3.5, I don't think it works currently
-
Alright @jay_s_uk, gonna try a quick fix with M581 and segmentation. Hit me up if you need a hand testing stuff later, happy to help! Cheers!