Thanks for that.
Posts made by handyandy
-
Set decimal places
Hi,
I would like to echo the value of 'heat.heaters[1].current' in the following line of code as an integer (i.e. no decimal places). Currently it always displays it with to two decimal places.echo "Heating the nozzle to " ^ global.filamentTemp ^ ", it's currently " ^ heat.heaters[1].current ^ "°C"
It must be easy but I'm feeling a bit thick today!
-
RE: Sensorless homing
@jay_s_uk Hi, I've not uploaded files here before so I hope I'm doing it right!
config.g
homex.g
homey.g
homez.g
homeall.g
Whilst you are looking at these I also can't get the PanelDue to display.
Any Ideas? -
Sensorless homing
Hi, I had been getting on fine with sensorless homing with my duet3mini5 board. Both the X & Y axis were homing almost silently and ultra-repeatable with just one contact needed to work.
However, I was getting an error message with the X-axis, it came up as...
"Error: Pin name needed for switch type end stop on X-axis ". I don't understand this homex.g is identical to home.y (except X's and Y's! of course). Why is it asking for a pin name when it's sensorless ? -
RE: RepRapFirmware Configuration Tool results printout
@chrishamm thanks I tried that but the printout does not show all the details in the original web page. I could not find the PDF option anywhere. Where is it?
-
Split long program lines
Hi, I have asked this before but didn't really get a reply.
Is it possible to split long lines of code, typically M291 lines over 2 (or more) lines of code?
These lines can easily stretch to 150 columns or more. When comparing files in 2 side by side windows it can make reading the code difficult.
I would like to be able to split these lines at some point so they are physically spread over 2 (or more) lines in my text editor ( I use sublime). -
RE: RepRapFirmware Configuration Tool results printout
@chrishamm I was actually looking to be able to have a hard copy (printout)
-
RepRapFirmware Configuration Tool results printout
Hi, Just a quick one.
Is it possible to get a full printout of the results from the Reprap configuration tool?
If I click on the open file and select print I only get parts of it printed. I really want a good print with all the alterations I've made.
I presume this because its a webpage not a text file as such.
Is this possible? -
LED nozzle light?
Hi, I have a few 5V LED blades designed to fit into USB ports that I think are fabulous.
I would like to use one to illuminate the nozzle and surrounding area on my printer.
I am using a Duet 3 mini 5+ running with a 24 V supply.
How could I connect this, ideally being able to control it with gcode?
Any ideas would be very welcome, especially with with some coding suggestions. -
RE: Panel Due 7 from Duet 2 WIFI to Duet 3 mini5+
@handyandy Hi, I have just spotted the solution to this at the end of the 'Getting Started' document. I should RTFM more!
-
Panel Due 7 from Duet 2 WIFI to Duet 3 mini5+
Hi, I replacing my Duet2 WIFI board with a Duet 3 mini 5+ board. Previously my Panel Due 7 connected with a 4 wire connection. I don't want to use the ribbon cable method. I can't see anywhere on the new board for this to work Can anyone help please?
-
Fan1 Stuck on!
Hi, I am working through a new build printer and have another problem.
Using my Duet 2 WIFI board I have Fan0 connected as the print cooling fan and Fan1 as the extruder fan as you would expect with the following lines in my config.g file.M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8
; Configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; Create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; Disable bang-bang mode for heater and set PWM limit
M307 H1 R4.153 K0.495:0.000 D3.20 E1.35 S1.00 B0 V24.3 ; Results from act PID tuning
M143 H1 S290 ; Set temperature limit for heater 1°C to 290°C
;
Fans.....
M950 F0 C"fan0" Q500 ; Create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; Set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; Create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; Set fan 1 value. Thermostatic control is turned on at 45°C
;
Tools.....
M563 P0 S"Extruder" D0 H1 F0 ; Define tool 0 (extruder)
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0°CThe problem is that whenever I turn the printer on fan1 is on full speed and will not turn off.
I Have a spare fan and have tried it in all 3 fan positions. In fan0 and fan3 it works perfectly. The speed can be altered as required or switch off by sending the M106 commands directly to the dashboard. In fan1 the fan will only run at full speed and can not be turned off. This is a simple test but seems to pinpoint a now faulty board.
None of this happened before the rebuild as is always the case!!
I think it was during PID tuning that something happened? I completed the bed fine, but the nozzle seemed to be working as expected until nearly over then the red graph line suddenly became extremely erratic with wild fluctuations in the stated temperatures as well. I also briefly saw a warning for (I think) an open circuit.
Do you think a heater/thermistor fault in the Hemera Revo extruder has fried one of the mosfets on the Duet?
The only solution I can see at the moment is to replace the board (with what?) and the Revo heater/thermistor block?
-
RE: Homing X&Y moves Z leadscrews differently?
@droftarts
Hi, reducing the feed rates for the Z axis looks to be the solution. Anything below F1200 seems to work well. Thanks for your help.
Just one more question... you mention setting M204 P2000.0 T2000.0 in config.g
Are your values for P & T rather high? If M204 is there to limit the maximum accelerations shouldn't the values be equal or only slightly greater the the values in M201? -
RE: Homing X&Y moves Z leadscrews differently?
@droftarts
Hi I think you may be right with Z being to fast. I have run Z from F500 insteps up to F1300 with the noises or uneven movement. Above that it's bad. So I was going to alter the config.g file M203 to limit Z to between 1000.00 to 1250.00 - what do you think?
Here is the config.g as it was with M203 Z2400.00!!!!; =========================================================================================================m18 ; Part of the 'sys' folder ; config.g - Main configuration file executed by the firmware (v3.4) automatically on start-up. ; Generated largely by the RepRapFirmware Configuration Tool v3.3.10 on Wed 23rd Feb 2022 12:43:28 ; Modified - Andy Taylor May 2024 ; ; ========================================================================================================= ; General & Network settings ; ========================================================================================================= ; M669 K0 ; Printer kinematics type is 'Cartesian' M550 P"Bear/Hemera Revo" ; Set the printers name ; M552 S1 ; Enable networking as a client M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet M575 P1 S1 B57600 ; Set serial comms parameters to support the PanelDue ; ; ========================================================================================================= ; Drives ; ========================================================================================================= ; M569 P0 S0 F10 ; Physical (X) drive 0 direction is backwards M569 P1 S1 F10 ; Physical (Y) drive 1 direction is forwards M569 P2 S0 F5 ; Physical (Z) drive 2 direction is backwards M569 P3 S1 F14 ; Physical (E) drive 3 direction is forwards M584 X0 Y1 Z2 E3 ; Set drive mapping ; M350 X16 Y16 Z16 E16 I1 ; Configure micro stepping with interpolation, and turn it on M92 X200.00 Y200.00 Z1600.00 E397.00 ; Set axis steps/mm ; ; Settings copied from Prusa MK4 values... M201 X2500.00 Y2500.00 Z200.00 E2500.00 ; Set maximum acceleration (mm/s^2) M203 X12000.00 Y12000.00 Z2400.00 E6000.00 ; Set maximum feedrate (mm/min) M204 P2000.0 T2000.0 ; Set printing and travel accelerations (mm(s^2)) ;M205 X8.0 Y8.0 Z2.0 E10.0 ; Set maximum instantaneous (jerk) speed changes (mm/sec) - alternative to M566 M566 X480.0 Y480.0 Z120.0 E600.0 ; Set maximum instantaneous (jerk) speed changes (mm/min) ; M906 X1260 Y1260 Z1000 E1050 I30 ; Set 75% motor currents (mA) and motor idle factor in percent M84 S30 ; Set idle timeout to 30 seconds M564 S0 H0 ; Limit axes - Allow movement outside boundaries and for non-homed axes ; ; ========================================================================================================= ; Axis Limits ; ========================================================================================================= ; M208 X-1 Y-4 Z0 S1 ; Set axis minima (allows for safety & purge line placement) M208 X245 Y220 Z220 S0 ; Set axis maxima (final set on assembly and first running) ; absolute maximum axis travels are X250 Y225 Z225 ; but working maximums are reduced due to homing requirements ; ========================================================================================================= ; X&Y Endstops ; ========================================================================================================= ; M574 X1 S3 ; Configure sensorless endstop for low end on X-axis M574 Y1 S3 ; Configure sensorless endstop for low end on Y-axis M574 Z1 S2 ; Configure Z-probe endstop for low end on Z-axis ; ; ========================================================================================================= ; Z-Probe (superPINDA) ; ========================================================================================================= ; M558 P5 C"^zprobe.in" H1.5 F600 T8000 A3 S0.03 ; Set Z probe to be SuperPINDA G31 P500 X21.318 Y4.25 Z1.55 ; Set Z probe trigger value, offset and trigger height. ; 1.55 is the calculated Set Z probe trigger value, offset and ; trigger height. The larger the number the closest it gets to ; the bed. ; i.e. 1.60 puts the nozzle closer to the bed than 1.20 M557 X10:235 Y10:210 P4:3 ; Define mesh grid min:max positions and number of probe points in X & Y directions ; ; ========================================================================================================= ; Heated Bed ; ========================================================================================================= ; M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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 M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit M307 H0 R0.283 K0.275:0.000 D10.59 E1.35 S1.00 B0 ; Results from actual PID tuning M140 H0 ; Map heated bed to heater 0 M143 H0 S110 ; Set temperature limit for heater 0 to 110°C ; ; ========================================================================================================= ; Extruder/Nozzle ; ========================================================================================================= ; M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; Configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; Create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; Disable bang-bang mode for heater and set PWM limit M307 H1 R4.153 K0.495:0.000 D3.20 E1.35 S1.00 B0 V24.3 ; Results from actual PID tuning M143 H1 S300 ; Set temperature limit for heater 1°C to 290°C ; ; ========================================================================================================= ; Fans (F0=Part cooling fan, F1=extruder/nozzle fan) ; ========================================================================================================= ; M950 F0 C"fan0" Q500 ; Create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; Set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; Create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 ; Set fan 1 value. Thermostatic control is turned on at 45°C ; ; ========================================================================================================= ; Heater Fault Scenario ; ========================================================================================================= ; M570 H0 S180 ; Bed heater fault if <temperature in 180 seconds M570 H1 S100 ; Nozzle heater fault if <temperature in 100 seconds ; ; ========================================================================================================= ; Tools (T0=extruder) ; ========================================================================================================= ; M563 P0 S"Extruder" D0 H1 F0 ; Define tool 0 (extruder) G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0°C M302 S190 R190 ; Allow extrusion starting from 190°C and retractions already from 190°C ; ; ========================================================================================================= ; Miscellaneous Settings ; ========================================================================================================= ; M501 ; Read stored parameters in 0:/sys/config-override.g G21 ; Work in millimetres G90 ; Absolute XYZ positioning... M83 ; Relative extruder positioning ; ; ========================================================================================================= ; M143 H1 S300 ; Set temperature limit for heater 1°C to 290°C ;
-
RE: Homing X&Y moves Z leadscrews differently?
@droftarts
Hi, As well as the different leadscrew movement in the homing routines I also get...
In general Z axis movements (=/- 25mm) I get a 'squeal' from the Z motors with no movement then the uneven movement of 5-8mm. If I command 5mm or under it does not 'squeal' but at 5mm you see the uneven movement. Small commander moves of 1mm seem to work ok!
I hope you can help, it's driving me crazy! -
RE: Homing X&Y moves Z leadscrews differently?
@droftarts
Hi, more...; ========================================================================================================= ; Part of the 'sys' folder ; homex.g - Sensorless home the X-axis. ; Written or Modified by Andy Taylor May 2024 ; ========================================================================================================= ; M98 P"0:/sys/SubMacros/CurrentSenseHoming" ; Call macro/subprogram ; G91 ; Relative XYZ positioning M564 S0 H0 ; Limit axes - allow movement outside of boundaries and of non-homed axes M17 X Z ; Energise X & Z motors to ensure they're not stalled G4 P100 ; Wait 100ms ; G0 Z5 F1000 ; Lift Z relative to current position G0 H2 X5 F6000 ; Move X relative to current position G0 H1 X-300 F6000 ; Move quickly to ensure X-axis endstop contact and stop there (first pass) G0 H2 X5 F1000 ; Move slowly back a few mm G0 H1 X-300 F2000 ; Move slowly to X-axis endstop once more (second pass) G0 H2 X5 F1000 ; Move slowly back a few mm G0 H2 X0 F6000 ; Move to X0 home position G0 Z-5 F1000 ; Lower Z back again M400 ; Wait for current moves to finish ; G4 P200 ; Wait 200ms M564 S1 H1 ; Limit axes - limit movement to within boundaries and only for homed axes G90 ; Absolute XYZ positioning ; G0 X5 F6000 ; Move here... G92 X0 ; and make this position X home ; M98 P"0:/sys/SubMacros/CurrentSenseNormal" ; Call macro/subprogram ; ; ========================================================================================================= ;
; ========================================================================================================= ; Part of the 'sys' folder ; homey.g - Sensorless home the Y-axis. ; Written or Modified by Andy Taylor May 2024 ; ========================================================================================================= ; M98 P"0:/sys/SubMacros/CurrentSenseHoming" ; Call macro/subprogram ; G91 ; Relative XYZ positioning M564 S0 H0 ; Limit axes - allow movement outside of boundaries and of non-homed axes M17 Y Z ; Energise Y & Z motors to ensure they're not stalled G4 P100 ; Wait 100ms ; G0 Z5 F1000 ; Lift Z relative to current position G0 H2 X5 F6000 ; Move Y relative to current position G0 H1 Y-300 F6000 ; Move quickly to ensure Y-axis endstop contact and stop there (first pass) G0 H2 Y5 F1000 ; Move slowly back a few mm G0 H1 Y-10 F2000 ; Move slowly to Y-axis endstop once more (second pass) G0 H2 Y5 F1000 ; Move slowly back a few mm G0 H2 Y0 F6000 ; Move to Y0 home position G0 Z-5 F1000 ; Lower Z back again M400 ; Wait for current moves to finish ; G4 P200 ; Wait 200ms M564 S1 H1 ; Limit axes - limit movement to within boundaries and only for homed axes G90 ; Absolute XYZ positioning ; G0 Y0 F6000 ; Move here... G92 Y0 ; and make this position Y home ; M98 P"0:/sys/SubMacros\CurrentSenseNormal" ; Call macro/subprogram ; ; ========================================================================================================= ;
; ========================================================================================================= ; Part of the 'sys' folder ; homez.g - Home the XY&Z axes in turn. ; Written or Modified by Andy Taylor May 2024 ; ========================================================================================================= ; M98 P"0:/sys/SubMacros/CurrentSenseHoming" ; Call macro/subprogram ; G91 ; Relative XYZ positioning M564 S0 H0 ; Limit axes - allow movement outside of boundaries and of non-homed axes M17 X Y Z ; Energise X, Y and Z motors to ensure they're not stalled G4 P100 ; Wait 100ms ; ; Sensorless home the X-axis... =========================================================================== ; G0 Z5 F1000 ; Lift Z relative to current position G0 H2 X5 F6000 ; Move X relative to current position G0 H1 X-300 F6000 ; Move quickly to ensure X-axis endstop contact and stop there (first pass) G0 H2 X5 F1000 ; Move slowly back a few mm G0 H1 X-300 F2000 ; Move slowly to X-axis endstop once more (second pass) G0 H2 X5 F1000 ; Move slowly back a few mm G0 Z-5 F1000 ; Lower Z back again M400 ; Wait for current moves to finish ; G4 P200 ; Wait 200ms ; ; Sensorless home the Y-axis... =========================================================================== ; G0 Z5 F1000 ; Lift Z relative to current position G0 H2 Y5 F6000 ; Move Y relative to current position G0 H1 Y-300 F6000 ; Move quickly to ensure Y-axis endstop contact and stop there (first pass) G0 H2 Y5 F1000 ; Move slowly back a few mm G0 H1 Y-300 F2000 ; Move slowly to Y-axis endstop once more (second pass) G0 H2 Y5 F1000 ; Move slowly back a few mm G0 Z-5 F1000 ; Lower Z back again M400 ; Wait for current moves to finish ; G4 P200 ; Wait 200ms ; ; Use the SuperPINDA to home the Z-axis... =============================================================== ; G90 ; Absolute XYZ positioning G0 X30 Y30 Z20 F10000 ; Move quickly to a safe probing position with the Pinda above the print plate G30 ; Home Z by probing the bed G0 Z2 F6000 ; Make a small Z movement G90 ; Absolute XYZ positioning G0 X0 Y0 Z0 F6000 ; Move to final XYZ home position G0 Z2 ; Lift Z for safety/convenience M400 ; Wait for current moves to finish ; G4 P200 ; Wait 200ms M564 S1 H1 ; Limit axes - limit movement to within boundaries and only for homed axes ; G0 X5 Y5 F6000 ; Move here... G92 X0 Y0 ; and make this position X & Y home ; M98 P"0:/sys/SubMacros/CurrentSenseNormal" ; Call macro/subprogram ; ; ========================================================================================================= ;
; ========================================================================================================= ; Part of the 'sys/SubMacros' folder ; CurrentSenseHoming - Set the current and sensitivity for homing and non-printing routines. ; Written or Modified by Andy Taylor May 2024 ; ========================================================================================================= ; M915 X S2 F0 H400 R0 ; Configure X motor stall detection M915 Y S2 F0 H400 R0 ; Configure Y motor stall detection M913 X50 Y40 Z60 ; Set the XYZ motors to reduced % current for non-print moves... ; (this is set 100% initially in config.g) ; ; ========================================================================================================= ;
; ========================================================================================================= ; Part of the 'sys/SubMacros' folder ; CurrentSenseNormal - Set the current and sensitivity for normal routines. ; Written or Modified by Andy Taylor May 2024 ; ========================================================================================================= ; M915 X S3 F0 H200 R0 ; Configure X motor stall detection M915 Y S3 F0 H200 R0 ; Configure Y motor stall detection M913 X100 Y100 Z100 ; Set the XY motors back to 100% of their normal config.g values ; ; ========================================================================================================= ;
-
RE: Homing X&Y moves Z leadscrews differently?
@droftarts
Hi, here is the information you requested...M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.1 (2024-04-19 14:40:46) running on Duet WiFi 1.02 or later Board ID: 08DGM-917NK-F2MS4-7J9F4-3S46K-1GSSD Used output buffers: 3 of 26 (26 max) === RTOS === Static ram: 23256 Dynamic ram: 72760 of which 0 recycled Never used RAM 14152, free system stack 126 words Tasks: NETWORK(2,nWait 6,15.2%,215) HEAT(3,nWait 5,0.1%,328) Move(4,nWait 5,0.0%,298) MAIN(1,running,84.6%,759) IDLE(0,ready,0.0%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:01:45 ago, cause: power up Last software reset at 2024-05-20 15:12, reason: User, Gcodes spinning, available RAM 13528, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 MCU temperature: min 24.4, current 25.6, max 26.0 Supply voltage: min 23.7, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/8/8, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0 Driver 1: standstill, SG min 0 Driver 2: standstill, SG min 0 Driver 3: standstill, SG min n/a Driver 4: standstill, SG min n/a Driver 5: Driver 6: Driver 7: Driver 8: Driver 9: Driver 10: Driver 11: Date/time: 2024-05-20 18:05:29 Cache data hit count 3762969277 Slowest loop: 15.45ms; fastest: 0.16ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 0.9ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 5, maxWait 51363ms, 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 33, completed 33, 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 === GCodes === Movement locks held by 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Q0 segments left 0 Code queue 0 is empty === Network === Slowest loop: 21.51ms; fastest: 0.07ms Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address b4:e6:2d:53:15:f2 Module reset reason: Turned on by main processor, Vcc 3.46, flash size 4194304, free heap 42932 WiFi IP address 192.168.1.109 Signal strength -49dBm, channel 9, mode 802.11n, reconnections 0 Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
20/05/2024, 18:04:56 G28 Z Error: Must home axes [Y] before homing [Z]
-
RE: Homing X&Y moves Z leadscrews differently?
@handyandy
Hi Administrator, Please resend your post I think I deleted it (by accident - honestly!)