Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. tekstyle
    3. Posts
    • Profile
    • Following 0
    • Followers 0
    • Topics 56
    • Posts 253
    • Best 11
    • Controversial 0
    • Groups 0

    Posts made by tekstyle

    • RE: TCRT5000 IR sensor with M591

      @dc42 said in TCRT5000 IR sensor with M591:

      @tekstyle if you don't have a daughter board plugged into the DueX then you can also use the cs5 thru cs8 pins on the DueX daughterboard connector for filament monitors.

      does that allow for pulse monitoring?

      I was able to reassign all my endstops but just for my knowledge in the future if I want to use the daughter board for filament sensing as I might want to implement a switch in addition to pulse sensing to differentiate filament runout vs jam or clog.

      posted in Duet Hardware and wiring
      tekstyleundefined
      tekstyle
    • RE: TCRT5000 IR sensor with M591

      @dc42

      damn. i think i found my issue.
      https://docs.duet3d.com/User_manual/Connecting_hardware/Sensors_filament

      so i have to move my endstops for XYZ and probe (my probe uses the Z end stop) to the duex.e[2-6]stop and reassign all the zstop,xstop, ystop, e0stop and e1stop for my filament sensors?

      posted in Duet Hardware and wiring
      tekstyleundefined
      tekstyle
    • RE: TCRT5000 IR sensor with M591

      @tekstyle

      interesting enough, it works fine when i change duex.e3stop to e0stop. below is copy and pasted from console.

      9/9/2023, 2:26:24 PM	M591 D3
      Pulse-type filament monitor on pin e0stop, disabled, sensitivity 5.000mm/pulse, allowed movement 5% to 1000%, check every 20.0mm, no data received
      9/9/2023, 2:26:20 PM	M591 D3 P7 C"e0stop" S0 R5:1000 L5 E20 A0
      9/9/2023, 2:26:07 PM	M591 D3
      Extruder 3 has no filament sensor
      9/9/2023, 2:20:45 PM	M591 D3 P7 C"duex.e3stop" S0 R5:1000 L5 E20 A0
      Error: M591: unsuitable pin
      
      posted in Duet Hardware and wiring
      tekstyleundefined
      tekstyle
    • RE: TCRT5000 IR sensor with M591

      @dc42

      thank you for looking into this, really appreciate it. the sensor monitor the movement of a bondtech gear. when I push a filament through pass the gear, I can see the monitoring led on both the sensor and the duex board light up and off just like an optical sensor would with an encoder wheel. I figured the normal 591 P7 would work because of that. that's all I know. I unfamiliar with latency in regards to how it relates to the sensor.

      this is the sensor I am using:
      https://amzn.to/3qXuh9q

      posted in Duet Hardware and wiring
      tekstyleundefined
      tekstyle
    • RE: TCRT5000 IR sensor with M591

      @dc42 duet2 with duex5

      duex.e2stop is the pin I am using.

      posted in Duet Hardware and wiring
      tekstyleundefined
      tekstyle
    • TCRT5000 IR sensor with M591

      is it possible to use this sensor as a filament sensor? ERCF filament sensor uses this method to sense movement of filament similar to a encoder wheel I assume. I tried all the P1 to 7 and it is giving me a "error: unsuitable pin" in console.

      any help or insight would be greatly appreciated.

      posted in Duet Hardware and wiring
      tekstyleundefined
      tekstyle
    • RE: BD (bed distance) sensor

      @dc42 sweet!!! crossing my fingers! thank you!

      posted in Third-party add-ons
      tekstyleundefined
      tekstyle
    • RE: BD (bed distance) sensor

      @jay_s_uk

      Interesting. that is ultra fast bed scanning. will this be a feature for duet2 as well?

      posted in Third-party add-ons
      tekstyleundefined
      tekstyle
    • RE: BD (bed distance) sensor

      @jay_s_uk

      Interesting. that is ultra fast bed scanning. will this be a feature for duet2 as well?

      posted in Third-party add-ons
      tekstyleundefined
      tekstyle
    • BD (bed distance) sensor

      is it possible for duet to use the BD sensor for bed leveling/probing? I was in contact with the creators' FB group to ask what software it currently works with, and so far it's just marlin and Klipper. this new probe looks very promising so I was wondering if there is anything in future firmware updates for duet 2 and 3 to incorporate this feature.

      what is the bd sensor?
      https://github.com/markniu/Bed_Distance_sensor

      for developers:
      https://github.com/markniu/Bed_Distance_sensor/wiki/Data-Protocol?fbclid=IwAR06UnsmUyoISg_g354nkd2SpSjh8fO2C4F_ASIejirLGrbCH_h5WDgjNn8

      posted in Third-party add-ons
      tekstyleundefined
      tekstyle
    • RE: correct bed temp at start of print with no tool selected

      @OwenD
      I have my bed temp for each filament type set in the filament config file. I use a conditional code that will run a start heating bed macro if the firmware sees that there is a current print job. however, I have not attempted dual extruding prints yet.

      what would be a good object model to check for as a condition so the firmware knows it is heating the bed for the first layer of any given print?

      I will put this into the tpost#.g file so it will check to make sure that the following layer is the first layer for a print before applying the bed temp and evoking a start heating bed macro. otherwise of the conditions aren't met, it will ignore that portion of the tpost#.g script and move on to only heating tool to the mounted filament's config.

      below is my tpost:

      m703
      G4 s1
      if {job.file.fileName != null} && {job.build.currentObject = -1}															
      	M98 P"/sys/PRINTCODE/startbedtemp.g"							;evoke startbedtemp.g to warm bed
      	m568 P2 A2														;then set T2 to active temp
      	g4 s5
      	M116 P2                      									; Wait for set temperatures to be reached
      																	;	if file name exist amd no current object
      
      posted in Tuning and tweaking
      tekstyleundefined
      tekstyle
    • RE: correct bed temp at start of print with no tool selected

      @OwenD said in correct bed temp at start of print with no tool selected:

      @tekstyle

      Best I can think of is this.
      Most slicers will have a placeholder or token for "next filament " or similar
      In prusa slicer it looks like
      initial_filament_type

      In your start G code use that to work out what the next filament will be.
      Use that to call a macro with the filament as a parameter

      M98 P"0:/macros/loadConfig.g" A"{initial_filament_type}"
      

      In that macro use something like

      M98 P{"0:\filaments\" ^ param.A ^ "\config.g"}
      

      This would run everything just as if M703 had been called.
      It's untested and you'll have to alter it according to your slicer.

      Why is it important to heat the bed before selecting a tool?
      Could you not select a tool, use M568 to set the tool heater to inactive and use M116 to wait for the bed to reach temp?

      based on your 2 scripts, would I need to select the filament type in the slicer first? and if I were to switch to a different type of filament, would I need to edit the gcode file?

      posted in Tuning and tweaking
      tekstyleundefined
      tekstyle
    • RE: correct bed temp at start of print with no tool selected

      @OwenD said in correct bed temp at start of print with no tool selected:

      @tekstyle

      Why is it important to heat the bed before selecting a tool?
      Could you not select a tool, use M568 to set the tool heater to inactive and use M116 to wait for the bed to reach temp?

      i can have it select a tool first but the only issue is I put my wait for bed temp commands in my start gcode script. this script runs after the Tn command. what happens is it will end up heating my hotend first to active temp, and then wait for the bed to heat up. I don't want my active temp heated to print temperature and just sit there because I end up getting jams.

      this is why I try to have all my bed temp done before it does anything with the tools. however, the way I have my machine setup to load filament configuration based on what filament is preloaded in Tn does not allow the bed temp settings ( which is located in filament/config.g ) to be applied to the M190 command prior to tool selection.

      i can try to put something like M568 Pn A0 in the TpostN.g but i dont know how to implement this for tools that's not the first tool to be used. for example, if i use PLA for the bottom layer with bedheat of 60C, it would wait for bed temp to reach 60C before starting to heat up the tool. but what if lets say it switches to another tool that extrudes ABS, I dont want it to wait for ABS's bedtemp (which is higher than PLA) before heating that tool to active temp because it will melt my first layer which is PLA.

      I tried to use meta commands with conditional codes but there is nothing in the ojbection modelling page that corresponds to allowing the machine to know it WILL be starting to print the first layer.

      posted in Tuning and tweaking
      tekstyleundefined
      tekstyle
    • force cancel print after a M190 P0 S60 command?

      sometimes, I mess up and forget things the moment i started a print and I need to cancel it altogether. the only problem is it won't let me interrupt the bed heating up to target temperature. i would have to wait until the target bed temp is reached. the only want to break out of this is to do an emergency stop in DWC which means I end up having to reboot, and home everything again. Is there a way to break out of waiting for bed temp to reach target temp?

      posted in Firmware wishlist
      tekstyleundefined
      tekstyle
    • RE: correct bed temp at start of print with no tool selected

      @OwenD

      I can't quite wrap my head around this. looking at the gcode documentation, I don't see A as a parameter for M98. i am not understand how this works.

      A"{initial_filament_type}" and ^ param.A ^ "\config.g"}
      

      i will try to investigate further. thank you.

      posted in Tuning and tweaking
      tekstyleundefined
      tekstyle
    • correct bed temp at start of print with no tool selected

      I have a tool changer where my start gcode will try to heat up the bed first before it picks up the first tool. the only problem is, the M703 command will only work after the tool is selected. is there any way to force the firmware to automatically select the bed temp of the filament currently loaded in the tool to be used before the tool is picked up without MANUALLY EDITTING the gcode file everytime I need to use a different filament for the same gcode?

      posted in Tuning and tweaking
      tekstyleundefined
      tekstyle
    • RE: inconsistent tool changer first layer nozzle height

      @tekstyle

      config.g

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Mon Feb 24 2020 22:39:52 GMT-0800 (Pacific Standard Time)
      
      ; General preferences
      G90                                                 ; send absolute coordinates...
      M83                                                 ; ...but relative extruder moves
      M550 P"CXY"                                      ; set printer name
      
      ;Paneldue settings
      M575 P1 B57600 S1									; paneldue connected through serialport baudrate 57600 checksum enabled
      M667 S1                                             ; select CoreXY mode
      
      ; Network
      M552 S1                                             ; enable network
      M586 P0 S1                                          ; enable HTTP
      M586 P1 S0                                          ; disable FTP
      M586 P2 S0                                          ; disable Telnet
      
      ; Drives
      M569 P0 S0                                                          ; physical drive 0 goes backwards X connector
      M569 P1 S0                                                          ; physical drive 1 goes backwards Y connector
      M569 P2 S0                                                          ; physical drive 2 goes backwards Z connector  Z0
      M569 P3 S0                                                          ; physical drive 3 goes backwards E0 connector Z1
      M569 P4 S0                                                          ; physical drive 4 goes backwards E1 connector Z2
      M569 P5 s0 D2                                                       ; physical drive 5 goes backwards expE2 connector. spread cycle mode
      M569 P6 S0 D2                                                       ; physical drive 6 goes backwards expE3 connector. spread cycle mode
      M569 P7 S0 D2                                                       ; physical drive 7 goes backwards expE4 connector. spread cycle mode
      M569 P8 S0 D2                                                       ; physical drive 8 goes backwards expE5 connector. spread cycle mode
      ;M569 P9 S0 D2   ;extruder 5 on duex5 not used. disabled for PWM CPAP blower    ; physical drive 9 goes backwards expE6 connector. spread cycle mode
      M569 P10 S1                                                         ; physical drive 10 goes forward CONN LCD #10 (tool changer)
      M584 X0 Y1 Z2:3:4 E5:6:7:8:9 U10                                    ; set drive mapping. 
      																	; P0-P4 as movement drives.
      																	; P5-9 as extruders. 	
      																	; M563 will reference D0 as the first extruder in the series which is the motor connected to P5.
      																	; set drive mapping U axis as CONN LCD #10 tool changer. uses E0 endstop by default
      
      M350 X16 Y16 Z16 E16:16:16:16 I1                                    ; configure microstepping with interpolation
      ;M350 U4 I1															; configure U 4x microstepping with interpolation. uncommented due to external stepper driver
      M92 X80 Y80 Z1600 E415:655:415:415 U30.578         					; set steps per mm
      M566 X2000 Y2000 Z500 U50 E3000:300:3000:3000           			; set maximum instantaneous speed changes (mm/min) jerk
      M203 X30000 Y30000 Z800 U8000 E8000:3600:8000:8000 					; set maximum speeds (mm/min)
      M201 X900 Y900 Z100 U800 E1250:600:1250:1250          				; set accelerations (mm/s^2)
      M906 X1000 Y1000 Z1700 E680:500:680:680 I30                         ; set motor currents (mA) and motor idle factor in percent
      																	; does not include toolchanger motor because it is set via external stepper driver
      M84 S30                                                             ; Set idle timeout
      
      ;lead screw position
      M671 X271.7:0:-246 Y-269:232:-269 s20 p4:4								; Z leadscrews are at (11,20), (411,141.7), (11,400). max correction 20mm
      
      ; Axis Limits
      M208 X-198.7:214 Y-244:196 Z0:365 u0:141                            ; set axis minima
      
      ;bed mesh grid
      M557 X-190:190 Y-180:196 s30                          				; define mesh grid
      
      ; Endstops
      M574 X1 S1 P"duex.e3stop"                                 ; configure active-high endstop for low end on X via pin xstop
      M574 Y1 S1 P"duex.e4stop"                                 ; configure active-high endstop for low end on Y via pin ystop
      ;M574 Z1 S1 P"duex.e2stop"   								; Z min active high endstop switch
      M574 U1 S1 P"^duex.e5stop"								; configure active-high endstop for low/high end on U via pin e0stop
      
      ; Z-Probe											;https://forum.duet3d.com/topic/2671/precision-piezo-z-probes-guide-for-duet-users-reference
      ;M574 Z0 P"nil" 										; no Z endstop switch, free up Z endstop input
      M558 P5 C"duex.e2stop" H5 F50 A1 T3000 S0.02 			; NC switch Z probe connected to Z endstop input
      													; P(effector type)
      													; R(delay in second)
      													; C(invert,pin name)
      													; H(dive height mm)
      													; F(probe speed)
      													; T(travel speed)
      													; A(max #tap)
      													; S(tolerance) 
      
      ;M558 K0 P9 C"nil"									;This is automatically applied to reassign probe to a 
      ;M558 K0 P5 C"!^zprobe.in" F200 H50					;P5 zprobe.in and zprobe.gnd for ZTATP.py
      
      ;G31 K0 X0 Y0 Z0        ; Set the limit switch position as the  "Control Point."
                              ; Note: the switch free (unclicked) position is 7.2mm,
                              ; but the operating position (clicked) is 6.4 +/- 0.2mm. 
                              ; A 1mm offset (i.e: 7.2-6.2 = 1mm) would be the 
                              ; Z to worst-case free position, but we add an extra 1mm
                              ; such that XY travel moves across the bed when z=0
                              ; do *not* scrape or shear the limit switch.
      
      ;Heater BED********************************************************
      ;M950 H7 C"nil" ; disable heater 7 on duetx5 and free up the associated pin for PWN  (used with CPAP)
      
      
      ; Bed0 (H0), Bed1 (H5), Bed2 (H6), Bed3 (H7)
      ;BED0
      M308 S0 P"bedtemp" Y"thermistor" A"Bed0 M190 P0" T100000 B3950      ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0                               				; create bed heater output on bedheat and map it to sensor 0
      M143 H0 S120                                        				; set temperature limit for heater 0 to 120C
      M140 P0 H0															; map heatedbed1-RL to heater 0
      ;BED1
      M308 S1 P"e0temp" Y"thermistor" A"Bed1 M190 P1" T100000 B3950       ; configure sensor 1 as thermistor on pin e1temp
      M950 H5 C"fan1" T1                                ; create heater output on fan1 and map it to sensor 1
      M143 H5 S120                                        ; set temperature limit for heater 1 to 120C
      M140 P1 H5 					  					    ; map heatedbed2-RR to heater 1                                          
      ;BED2
      M308 S2 P"e1temp" Y"thermistor" A"Bed2 M190 P2" T100000 B3950       ; configure sensor 2 as thermistor on pin e0temp
      M950 H6 C"fan2" T2									;create heater output on fan2 and map it to sensor 2
      M143 H6 S120                                        ; set temperature limit for heater 2 to 120C
      M140 P2 H6  									    ; map heatedbed3-FL to heater 2
      ;BED3												;https://duet3d.dozuki.com/Wiki/Connecting_PT100_temperature_sensors
      M308 s3 P"spi.cs1" Y"rtd-max31865" A"Bed3 M190 P3"					;create sensor 3 as PT100 temperature sensor on RTD1 of daughtboard
      M950 H7 C"e0heat" T3                                ; create heater output on e0heat and map it to sensor 3
      M143 H7 S120										;set temperature limit for heater 3 to 120C
      M140 P3 H7											;map heatedbed4-FR to heater 3
      
      ;HEATER EXTRUDER*******************************************************************************************************************************************
      ;EXTRUDERS TOOL 0 TO 4
      
      ;T0
      
      ;T1
      M308 S4 P"duex.e2temp" Y"thermistor" T100000 B3950                                      ; configure sensor 4 as thermistor on pin duex.e3temp
      M950 H1 C"duex.e2heat" T4                                                               ; create nozzle heater output on duex.e3heat and map it to sensor 4
      M143 H1 S280                                                                            ; set temperature limit for heater 4 to 280C
      M307 H1 B0 S1.00                                                                        ; disable bang-bang mode for heater  and set PWM limit
      
      ;T2
      M308 S5 P"duex.e3temp" Y"thermistor" T100000 B3950                                      ; configure sensor 5 as thermistor on pin duex.e4temp
      M950 H2 C"duex.e3heat" T5                                                               ; create nozzle heater output on duex.e4heat and map it to sensor 5
      M143 H2 S280                                                                            ; set temperature limit for heater 5 to 280C
      M307 H2 B0 S1.00                                                                        ; disable bang-bang mode for heater  and set PWM limit
      
      ;T3
      M308 S6 P"duex.e4temp" Y"thermistor" T100000 B3950                                      ; configure sensor 6 as thermistor on pin duex.e5temp
      M950 H3 C"duex.e4heat" T6                                                               ; create nozzle heater output on duex.e5heat and map it to sensor 6
      M143 H3 S280                                                                            ; set temperature limit for heater 6 to 280C
      M307 H3 B0 S1.00                                                                        ; disable bang-bang mode for heater  and set PWM limit
      
      ;T4
      M308 S7 P"duex.e5temp" Y"thermistor" T100000 B3950                                      ; configure sensor 7 as thermistor on pin duex.e5temp
      M950 H4 C"duex.e5heat" T7                                                               ; create nozzle heater output on duex.e5heat and map it to sensor 7
      M143 H4 S280                                                                            ; set temperature limit for heater 7 to 280C
      M307 H4 B0 S1.00                                                                        ; disable bang-bang mode for heater  and set PWM limit
      
      ; Fans****************  M950 F(fan#) C(pin name on board). M106 P(#corresponse to Fan#) S(speed) H(thermostatic control on/off. H-1 disable. H1 or above is the heater# it controls)
      ;Cpap vacuum fan
      ;M950 F9 C"!exp.heater7" Q6000                                                              ; 24V create fan 9 on pin expheater7 PWM pin and set its frequency to 6000hz
      M950 F9 C"!duex.pwm5" Q6000                                                              ; 24V create fan 9 on pin expheater7 PWM pin and set its frequency to 6000hz
      M106 P9 S0 H-1 c"CPAP Vac"                                                                        ; S0 set fan9 0% . H-1 Thermostatic control is turned off
      
      ;LED 
      M950 F0 C"fan0" Q1000
      M106 P0 S0 H-1 c"LED"
      
      ;Parts cool Fan
      M950 F8 C"duex.fan8" Q500                                                                ; create fan 8 on pin duex.fan3 and set its frequency
      M106 P8 S0 H-1 B0.1 C"Parts Cool"                                                      	 ; set fan 8 value. Thermostatic control is turned off
      
      ;T0
      ;T1																						;thermostatic fan(F) tool#(P) thermostatic mode(s1) heater(H#) temp threshold Celcius(T45)
      M950 F3 C"duex.fan3" Q500                                                               ; create fan 3 on pin duex.fan4 and set its frequency
      M106 P3 S1 H4 T45                                                                       ; set fan 3 value. Thermostatic control is turned on
      
      ;T2
      M950 F4 C"duex.fan4" Q500                                                               ; create fan 4 on pin duex.fan4 and set its frequency
      M106 P4 S1 H5 T45                                                                       ; set fan 4 value. Thermostatic control is turned on
      
      ;T3
      M950 F5 C"duex.fan5" Q500                                                               ; create fan 5 on pin duex.fan5 and set its frequency
      M106 P5 S1 H6 T45                                                                       ; set fan 5 value. Thermostatic control is turned on
      
      ;T4	
      M950 F6 C"duex.fan6" Q500                                                               ; create fan 6 on pin duex.fan6 and set its frequency
      M106 P6 S1 H7 T45                                                                       ; set fan 6 value. Thermostatic control is turned on
      
      ; Tools**********************************************************************************************************************************************
      ;EXTRUDER TOOLS M563 P(tool) D(extruder) H(heater) F(fan)
      ;T0
      M563 P0	s"blank"
      ;T1
      M563 P1 D0 H1 F3 s"Yellow"                                                              ; tool1 (P1), extruder0 (D0) heater4(h4) cooling Fan9(F3)
      G10 P1 R0 S0                                                                            ; set initial tool 0 active and standby temperatures to 0C
      
      ;T2
      M563 P2 D1 H2 F3 s"Green"         		                                           		; define tool 1
      G10 P2 R0 S0                                                                            ; set initial tool 1 active and standby temperatures to 0C
      
      ;T3
      M563 P3 D2 H3 F3 s"Red"                                                                 ; define tool 2
      G10 P3 R0 S0                                                                            ; set initial tool 2 active and standby temperatures to 0C
      
      ;T4
      M563 P4 D3 H4 F3 s"Blue"                                                                ; define tool 3
      G10 P4 R0 S0                                                                            ; set initial tool 0 active and standby temperatures to 0C
      
      ;ACCELERATOR SENSOR
      M955 P0 C"spi.cs4+spi.cs3" I20															; connected to daughterboard
      M593 P1 F27  																			; ZVD input shaper at 27Hz (RRF 3.3+)
      
      ;FILAMENT SENSOR
      M591 D3 P7 C"e1stop" S0 R1:1000 L3 E20 A0											; extruder drive (D)= refer to M563 Dnnn under extruder tools of this config.g 
      																						; pulse-generating (P)=7
      																						; Mode (S)=1=enable for all prints
      																						; R=min and max percentage limit
      																						; L= length in mm per pulse
      																						; E= length in mm before measured comparison is done
      																						; A0=check extrusion motion of print moves only
      
      ;Power Failure protocol
      ;M911 S10.0 R11.0 P"M906 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
      m570 H0 T10 P300 S1440			; cancel print after 24 hours from heater fault
      m570 H1 T10 P300 S1440			; cancel print after 24 hours from heater fault
      m570 H2 T10 P300 S1440			; cancel print after 24 hours from heater fault
      m570 H3 T10 P300 S1440			; cancel print after 24 hours from heater fault
      m570 H4 P60 T20 S1440			; cancel print after 24 hours from heater fault
      m570 H5 P60 T20 S1440			; cancel print after 24 hours from heater fault
      m570 H6 P60 T20 S1440			; cancel print after 24 hours from heater fault
      m570 H7 P60 T20 S1440			; cancel print after 24 hours from heater fault
      ;M911 S10.5 R11.0 P"G91 M83 G1 Z3 E-5 F1000"		;trigger powerfailure resurrect if VIN below 10.5V. resume at 11V. relative mode g91. relative extrusion m83. move Z up 3mm. retractt 3mm
      ;M916					; save to resurrect.g after a pause due to power failure or any pause
      
      ;PID BED SETTINGS: https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control
      M307 H0 B0 R0.076 C766.9 D5.73 S1.00 V24.0
      M307 H5 B0 R0.108 C953.2 D5.14 S1.00 V24.0
      M307 H6 B0 R0.143 C815.6 D5.40 S1.00 V24
      M307 H7 B0 R0.139 C901.0 D45.54 S0.70 V24.1
      
      ;PID TOOL SETTINGS: https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control#Section_Firmware_3_2_and_later
      M307 H1 B0 R3.084 C201.7 D6.18 S1.00 V24.0						;T0 disable bang-bang mode and set PWM limit
      M307 H4 B0 R1.959 C222.2:219.6 D4.36 S1.00 V24.1				;T3 disable bang-bang mode and set PWM limit
      
      ;Pressure advance
      M572 D0:2:3 S0.05													;tool 0,2,3 to 0.05 sec 
      M572 D1 S0.02														;tool 1 to 0.02 sec
      
      M376 H5														;bed comp
      
      M98 P"/sys/PRINTCODE/GLOBAL.g"
      M98 P"/sys/PRINTCODE/TOOLOFFSET.g"
      M929 P"eventlog1.txt" S1 ; start logging to file eventlog.txt
      
      posted in Tuning and tweaking
      tekstyleundefined
      tekstyle
    • inconsistent tool changer first layer nozzle height

      I have a little issue were I am having a very hard time setting up my Z tool offset. first, I would level my bed the usual way with the first probe in the center of the bed. then it would go to each of the 3 lead screws and do the same. My bed has already been mesh compensated as well. Next, I would mount the tool and manually jog Z until the nozzle barely touches the bed. whatever value=n this is , I enter it into my tooloffset.g file in this format G10 Pn Z-n.

      Upon every power up, i call tooloffset.g to set all my tools to the right offset. however, during print, my nozzle always crashes into the bed. I would have to use babysteps to bring it back up, usually about 1-2mm before the first layer even looks right. I have tried multiple times to adjust the Z-n by the amount of baby steps, apply the new offset, reset babysteps to 0mm and it still has issues, either too high or too low from the bed. I am not sure where these inconsistent Z height is coming from.

      below are my files.

      TOOLOFFSET.g

      ;TOOL OFFSET
      G10 P1 X3.3 Y37.5 Z-7.6                                                                 ; set tool 1 axis offsets
      G10 P2 X0 Y0 Z-9.15                                                           		    ; set tool 2 axis offsets
      G10 P3 X5.6 Y38.73 Z-9.15                                                               ; set tool 3 axis offsets
      G10 P4 X-.2 Y38.9 Z-8.12                                                      ; set tool 4 axis offsets . with 0.4mm offset
      

      tfree4.g

      ; tfree4.g
      G91                          ; Relative Mode.
      G1 Z2                        ; Pop Z up slightly so we don't crash while traveling over the usable bed region.
      G90                          ; Absolute Mode.
      m564 s0
      G53 G1 x-38.8 Y191 F20000      ; Rapid to the back of the post. Stay away from the tool rack so we don't collide with tools.
                                   ; This position must be chosen such that the most protruding y face of the current tool
                                   ; (while on the carriage) does not collide with the most protruding y face of any parked tool.
      G53 G1 x-38.8 Y244 F5000            ; Controlled move to the park position with tool-0. (park_x, park_y)
      M98 P"/macros/01_MAINTENANCE/tool_unlock.g" ; Unlock the tool
      G53 G1 Y191 F6000            ; Retract the pin.
      m564 s1						 ;limit movement outside boundaries
      
      

      tpost4.g

      set global.PTOOL={state.currentTool}
      
      m703
      G4 s1
      if {job.file.fileName != null} && {job.build.currentObject = -1}	;if file name exist amd no current object
      	M98 P"/sys/PRINTCODE/startbedtemp.g"							;evoke startbedtemp.g to warm bed
      	m568 P4 A2														;then set T4 to active temp
      	g4 s5
      	M116 P4                      									; Wait for set temperatures to be reached
      
      G90                          ; Ensure the machine is in absolute mode before issuing movements.
      m564 s0						 ;allow movement outside boundaries
      G53 G1 x-38.8 Y246 F5000		 ; Move to pick up position for tool-4.
      
      M98 P"/macros/01_MAINTENANCE/tool_lock.g"   ; Lock the tool
      
      G1 R2 Z0                     ; Restore prior Z position before tool change was initiated.
                                   ; Note: tool tip position is automatically saved to slot 2 upon the start of a tool change.
                                   ; Restore Z first so we don't crash the tool on retraction.
      g1 y209
      m564 s1						 ;limit movement outside boundaries
      G1 R0 Y0                     ; Retract tool by restoring Y position next now accounting for new tool offset.
                                   ; Restoring Y next ensures the tool is fully removed from parking post.
      G1 R0 X0                     ; Restore X position now accounting for new tool offset.
      M106 R2                      ; restore print cooling fan speed
      m564 s1						 ;limit movement outside boundaries
      

      tpre4.g

      ; tpre4.g
      G90                  ; Ensure the machine is in absolute mode before issuing movements.
      G53 G1 x-38.8 y209 F20000  ; Rapid to the approach position without any current tool.
      G60 S0               ; Save this position as the reference point from which to later apply new tool offsets.
      

      bed.g

      M561 						; clear any bed transform
      g29 s2						; disable bed height map
      g91							; relative position
      g1 z10						; drop bed 10mm
      G90							; absolute position
      g1 X-191.5 Y-172 F30000
      G30 P0 X-191.5 Y-172 Z-9999 	; probe front left leadscrew
      G30 P1 X4.5 Y200 Z-9999 		; probe back leadscrew
      g1 X4.5 Y200 f30000
      G30 P2 X204.5 Y-172 Z-9999 S3 	; probe front right leadscrew and calibrate 3 motors
      g1 X204.5 Y-172 f30000
      G29 S1   					; Enable Mesh Bed Compensation
      

      homez.g

      Home Z Axis
      
      ; In case homez.g is called in isolation, ensure 
      ; (1) U axis is homed (which performs tool detection and sets machine tool state to a known state) and 
      ; (2) X&Y axis is homed (to prevent collisions with the tool posts)
      ; (3) No tools are loaded.
      ; (4) Endstop is not already triggered (in case of damaged endstop)
      ; Ask for user-intervention if any case fails.
      
      if !move.axes[3].homed
        M291 R"Cannot Home Z" P"U axis must be homed before Z to prevent damage to tool. Press OK to home U or Cancel to abort" S3
        M98 P"homeu.g"
      
      ; RRF3 does not permit Z homing without x&y being homed first. Popup window for convenience.
      if !move.axes[0].homed || !move.axes[1].homed
        M291 R"Cannot Home Z" P"X&Y Axes must be homed before Z for probing. Press OK to home X&Y or Cancel to abort" S3
        M98 P"homey.g"
        M98 P"homex.g"
      
      if state.currentTool != -1
        M84 U
        M291 R"Cannot Home Z" P"Tool must be deselected before homing. U has been unlocked, please manually dock tool and press OK to continue or Cancel to abort" S3
        M98 P"homeu.g"
      
      if sensors.probes[0].value[0] != 0
        M291 R"Cannot Home Z" P"Z Probe is already triggered!" S2
        abort "Z Probe was triggered before homing."
      
      M98 P"probepickup.g"	;pick up probe
      
      M561 ; Disable any Mesh Bed Compensation
      G90 G1 X4.5 Y0 F10000 ; Move to the center of the bed
      M558 F500 ; Set the probing speed
      G30
      M558 F50 ; Set a slower probing speed
      G30
      ;G92 z0   ; set z0 as min Z
      G32                         ; Run 3-point bed calibration defined in bed.g
      
      M98 P"probedropoff.g"	;pick up probe
      G1 X4.5 Y0 F20000
      
      G29 S1   ; Enable Mesh Bed Compensation)
      

      startgcode.g (this script gets ran at the start of every print)

      m98 p"0:/sys/PRINTCODE/TOOLOFFSET.g"
      M929 P"0:/sys/LOG/printlog.txt" S1 ; start logging to file
      M929 P"0:/sys/LOG/printlog.txt" S2 ; start logging to file 
      M929 P"0:/sys/LOG/printlog.txt" S3 ; start logging to file 
      g4 s2
      echo "Started print at" , state.time
      g4 s2
      M929 P"0:/sys/LOG/printlog.txt" S0 ; stop logging to file 
      
      M106 F0 S1			;turn on LED
      G31 K0 X0 Y0 Z0
      
      posted in Tuning and tweaking
      tekstyleundefined
      tekstyle
    • RE: Kiln thermocouple?

      @droftarts

      hmm. ok. i shall give it a try. thank you.

      posted in General Discussion
      tekstyleundefined
      tekstyle
    • Kiln thermocouple?

      wondering if the duet controller can use these probes?
      https://www.amazon.com/Temperature-Thermocouple-Ceramic-connector-CR-02/dp/B01N0YA9ZR

      They are type K sensors just like the ones commonly used for our printers. Thanks

      posted in General Discussion
      tekstyleundefined
      tekstyle