RepRapFirmware 3.0 is released!
-
The documentation for converting M558 to RRF3 is a bit confusing in regards to the "I" parameter. In particular, it doesn't say anything about it (in that section)
https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_M558
As well, the gcode wiki page also seems to imply that "M558 I1" is valid (https://duet3d.dozuki.com/Wiki/Gcode#Section_M558_Set_Z_probe_type)
"All of the above for RepRapFirmware 2.x relates to RepRapFirmware 3, except the following:" (and nothing that follows makes mention of the I param.)
Yet, from reading this thread, I get the impression that RRF2:
M558 P8 I1 R0.4 F300 H3does not work in RRF3 as:
M558 P8 R0.4 I1 C"zprobe.in" H3 F300and instead should be written as:
M558 P8 R0.4 C"!zprobe.in" H3 F300 ; I1 removed, ! prepended to zprobe.in
Edit: I accidentally left the "I1" in my 558 after converting, and had the ! before the pin. The result apparently was a double inversion. Removing the I1 and leaving the "!" made everything seem to work.
So ... which is the proper way?
-
Duet2 wifi h/w version 1.04
Printer is a normal delta (with 0.9 degree steppers)
Firmware is the first general release of RRF3After starting my first print with RRF3 on a Duet2 WiFi, I'm seeing a LOT of hiccups using an identical configuration to what I used with RRF2 (where I only rarely saw a hiccup.)
For example, 45 seconds after sending "M122", I sent M122 again and saw "Hiccups: 423(0)"
Measuring it at one point, I got 161 hiccups for a travel move of around 80mm.
The hiccups seem to be only after travel moves which are configured at 200mm/sec in my slicer. Yes, I could slow this down and probably get rid of the hiccups, but the point is that I did NOT get hiccups with RRF2.0.5 with the exact same gcode file.
The speed related lines in my config.g are directly copied from my RRF2 config.g, as well as the stepper config. I've included them below:
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X199.50 Y199.50 Z199.50 E837.50 ; set steps per mm M566 X1200.00 Y1200.00 Z1200.00 E2400.00 ; set maximum instantaneous speed changes (mm/min) M203 X21000.00 Y21000.00 Z21000.00 E10000 ; set maximum speeds (mm/min) (severely limited by slicer) M201 X1500.00 Y1500.00 Z1500.00 E1000.00 ; set accelerations (mm/s^2) (limited by M204) M204 P500 T1200
The delta parameters are:
M665 L360.260:360.260:360.250 R215.476 H415.377 B140.0 X0.426 Y0.176 Z0.000 M666 X0.298 Y-0.635 Z0.337 A-0.31 B0.33
A random M122 is also shown in case there's some information that might diagnose an issue:
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.0 running on Duet WiFi 1.02 or later Board ID: 08DGM-9T6BU-FG3SN-6JKD6-3S46P-KUYVD Used output buffers: 3 of 24 (23 max) === RTOS === Static ram: 30516 Dynamic ram: 91248 of which 96 recycled Exception stack ram used: 544 Never used ram: 8668 Tasks: NETWORK(ready,640) HEAT(blocked,1240) MAIN(running,104) IDLE(ready,156) Owned mutexes: === Platform === Last reset 01:32:22 ago, cause: software Last software reset time unknown, reason: User, spinning module GCodes, available RAM 8940 bytes (slot 1) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 14.1ms, max retries 0 MCU temperature: min 36.0, current 36.6, max 37.0 Supply voltage: min 23.3, current 23.5, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: ok, SG min/max 0/990 Driver 1: ok, SG min/max 0/267 Driver 2: ok, SG min/max 0/403 Driver 3: ok, SG min/max 0/1023 Driver 4: standstill, SG min/max not available Date/time: 2020-01-09 22:39:36 Cache data hit count 4294967295 Slowest loop: 13.92ms; fastest: 0.10ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 621(0), FreeDm: 153, MinFreeDm: 101, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves: 119268, completed moves: 119228, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 Heater 0 is on, I-accum = 0.3 Heater 1 is on, I-accum = 0.5 === GCodes === Segments left: 1 Stack records: 2 allocated, 0 in use Movement lock held by null http is idle in state(s) 0 telnet is idle in state(s) 0 file is doing "G1 X-14.161 Y69.007 E0.00898" in state(s) 0 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon is idle in state(s) 0 queue is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 200.45ms; fastest: 0.09ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(1) HTTP sessions: 1 of 8 - WiFi - Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 23 WiFi firmware version 1.23 WiFi MAC address 84:f3:eb:83:42:fc WiFi Vcc 3.41, reset reason Turned on by main processor WiFi flash size 4194304, free heap 24224 WiFi IP address 192.168.7.10 WiFi signal strength -50dBm, reconnections 0, sleep mode modem Socket states: 2 0 0 0 0 0 0 0
-
I am totally confused ( not hard to do)
I have a part fan connected to board Fan0
I have an extruder fan connected to board Fan1
I have a system fan connected to board Fan2I have made changes to the config file for RRF3 but the fans are not working properly, the extruder fan is on all the time, the system fan is not working and the part fan comes on if I move the sliders on part or system.
Very frustrating.RepRapFirmware 2 settings
; Thermistors and heaters
M305 P0 R4700 B3950 S"Bed Heater" ; bed thermistor R and B values
M305 P1 R4700 B4388 H23 S"Hot end" ; nozzle 1 thermistor R and B values
M307 H0 A104.6 C986.0 D1.9 ;B0 ; Auto tune PID for bed heater
M307 H1 A669.8 C253.0 D4.5 ;B0 ; Auto tune PID for extruder 0
; Fan settings
M106 P1 T45 H1 ; Fan 1 to run when H1 is above 45Celsius
M106 P2 H100:101 T35:50 L0.3 ; electronics cooling fanall of the above works correctly.
RepRapFirmware 2 settings
; Thermistors and heaters
M950 H0 C"bed_heat" T0 ; create bed heater output on bedheat and map it to sensor 0
M308 S0 P"bed_temp" Y"thermistor" T4700 B3950 ; configure sensor 0 as thermistor on pin bedtemp
M143 H0 S70 ; set temperature limit for heater 0 to 70C
M307 H0 A104.6 C986.0 D1.9 B0 S1.00 ; Auto tune PID for bed heaterM950 H1 C"e0_heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M308 S1 P"e0_temp" Y"thermistor" T4700 B4388 ; configure sensor 1 as thermistor on pin e0temp
M143 H1 S230 ; set temperature limit for heater 1 to 230C
M307 H1 A669.8 C253.0 D4.5 B0 S1.00 ; Auto tune PID for extruder 0M308 S100 Y"mcu-temp" A"CPU" ; CPU temp sensor
M308 S101 Y"drivers" A"Duet_drv" ; drivers temp sensor; Fan settings
M950 F0 C"fan0" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P0 C"PartFan" ; set Part fan.
M950 F1 C"fan1" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P1 S0 H1 T45 C"Extruder" ; set Extruder Fan. Thermostatic control is turned on
M950 F2 C"fan2" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P2 H100:101 T35:55 L40 C"System" ; set System fan. Thermostatic electronics cooling fan -
Hello @dc42
why i get G28 error when i want to home my locking actuator?; Home U Axis G91 ; Set relative mode G1 U-360 F9000 H1 ; Big negative move to search for home endstop G1 U4 F600 ; Back off the endstop G1 U-10 F600 H1 ; Find endstop again slowly G90 ; Set absolute mode
Here is code from homeu.g
and here is from homeall.g
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v2.0.4 on Sat Oct 12 2019 15:44:24 GMT+0200 (Srednjeevropski poletni čas) T-1 ;remove tool befor probing G91 ; relative positioning G1 Z5 F3000 H2 ; lift Z relative to current position G1 H1 X-435 Y-388 F1800 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X-435 ; home X axis G1 H1 Y-388 ; home Y axis G1 X5 Y5 F3000 ; go back a few mm G1 H1 X-435 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y-388 ; then move slowly to Y axis endstop G90 ; absolute positioning G1 X210 Y200 F3000 ; go to first bed probe point and home Z G30 ; home Z by probing the bed M98 P"homeu.g" ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 H2 Z5 F50 ; lift Z relative to current position ;G90 ; absolute positioning
Matej
-
@matej1006 said in RepRapFirmware 3.0 is released!:
Hello @dc42
why i get G28 error when i want to home my locking actuator?What is the error message?
-
@dc42 G28 Failed to enable edstops
-
@appjaws said in RepRapFirmware 3.0 is released!:
I have made changes to the config file for RRF3 but the fans are not working properly, the extruder fan is on all the time, the system fan is not working and the part fan comes on if I move the sliders on part or system.
If you run M98 P"config.g", do you get any error messages?
Some problems I can see:
- The M308 command to create a sensor should come before the M950 command that uses it (twice in your config.g)
- Your M308 commands include T4700, which means you have 4.7K thermistors. Remove that parameter
- Max sensor number is 63, so you can't use sensor numbers 100 and 101
-
@dc42 said in RepRapFirmware 3.0 is released!:
M98 P"config.g"
if i send M98 P"config.g" there is no error
-
@matej1006 said in RepRapFirmware 3.0 is released!:
@dc42 G28 Failed to enable edstops
Sounds like a problem with M574 commands. Please post your config.g file.
-
@dc42
and why i can't see in extra temperature for water; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2.0.4 on Sat Oct 12 2019 15:44:24 GMT+0200 (Srednjeevropski poletni čas) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M80 ; force the PS_ON line to 0V/GND; causing a voltage over relay, thus enabling it. ; With the relay active, it close the circuit of the Live wire, taking over to supply the Power Supply. M550 P"Toolchange printer" ; set printer name M667 S1 ; select CoreXY mode ; Network M552 S0 M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Debugging M111 S0 ; Debug off M929 P"eventlog.txt" S1 ; Start logging to file eventlog.txt ; Drives ;X and Y motors M569 P5 S0 ; Drive 5 direction | Y Stepper M569 P6 S0 ; Drive 6 direction | Y Stepper ;Z motors M569 P7 S0 ; Drive 7 direction | Front Right Z M569 P8 S0 ; Drive 8 direction | Back Z M569 P9 S0 ; Drive 9 direction | Front Left Z ;Extruders M569 P1 S0 ; Drive 1 direction | Extruder0 M569 P2 S0 ; Drive 2 direction | Extruder1 M569 P3 S0 ; Drive 3 direction | Extruder2 M569 P4 S0 ; Drive 4 direction | Extruder3 ; Toolchanger actuator M569 P0 S1 ; Drive 0 direction | Toolchanger Actuator M584 X6 Y5 Z9:8:7 U0 E1:2:3:4 ; set drive mapping M671 X-28:172:458 Y146:402:146 S15 ; leadscrews at front left, rear middle and front right M350 X16 Y16 Z16 E16 U4 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E420.00 U20 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120.00 U750 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z1500.00 E1200.00 U10000 ; set maximum speeds (mm/min) M201 X800 Y800 Z20 E1000 U1500 ; set accelerations (mm/s^2) M906 X900 Y900 Z900 E800 U1000 I60 ; set motor currents (mA) and motor idle factor in per cent ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X420 Y380 Z480 S0 ; set axis maxima ; Endstops M574 U1 S1 ; Set homing switch configuration for toolchange lock. Both switches should be wired NC and in series. M574 X1 Y1 S1 ; set active low and disabled endstops ; Z-Probe M574 Z1 S2 ; Set endstops controlled by probe M558 P1 C"zprobe.in+zprobe.mod" H5 F120 T3000 ; Set Z probe type to modulated and the dive height + speeds G31 P467 X0 Y40 Z1.0 ; Set Z probe trigger value, offset and trigger height ; Heaters ; Bed Heater 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 M143 H0 S120 ; set temperature limit for heater 0 to 120C M307 H0 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit ; Tool1 Heater ;M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as thermocouple via CS pin spi.cs1 M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin duex.e2temp M950 H1 C"duex.e2heat" T1 ; create nozzle heater output on duex.e2heat and map it to sensor 1 M143 H1 S280 ; set temperature limit for heater 1 to 280C M307 H1 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit ; Tool2 Heater ;M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 2 as thermocouple via CS pin spi.cs2 M308 S2 P"duex.e3temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin duex.e3temp M950 H2 C"duex.e3heat" T2 ; create nozzle heater output on duex.e3heat and map it to sensor 2 M143 H2 S280 ; set temperature limit for heater 2 to 280C M307 H2 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit ; Tool3 Heater ;M308 S3 P"spi.cs3" Y"rtd-max31865" ; configure sensor 3 as thermocouple via CS pin spi.cs3 M308 S3 P"duex.e4temp" Y"thermistor" T100000 B4138 ; configure sensor 3 as thermistor on pin duex.e4temp M950 H3 C"duex.e4heat" T3 ; create nozzle heater output on duex.e4heat and map it to sensor 3 M143 H3 S280 ; set temperature limit for heater 3 to 280C M307 H3 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit ; Tool4 Heater ;M308 S4 P"spi.cs4" Y"rtd-max31865" ; configure sensor 4 as thermocouple via CS pin spi.cs4 M308 S4 P"duex.e5temp" Y"thermistor" T100000 B4138 ; configure sensor 4 as thermistor on pin duex.e5temp M950 H4 C"duex.e5heat" T4 ; create nozzle heater output on duex.e5heat and map it to sensor 4 M143 H4 S280 ; set temperature limit for heater 4 to 280C M307 H4 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit ; Tool definitions M563 P0 S"TOOL1" D0 H1 F3 ; Define tool 1 G10 P0 Z-3.75 ; Set tool 1 offset from the bed G10 P0 R170 S190 ; Set tool 1 operating and standby temperatures(-273 = "off") ;M572 D0 S0.1 ; Set pressure advance on Extruder Drive 0 M563 P1 S"TOOL2" D1 H2 F4 ; Define tool 2 G10 P1 Z-3.75 ; Set tool 2 offset from the bed with tool-0 as a reference. G10 P1 R170 S190 ; Set tool 2 operating and standby temperatures(-273 = "off") ;M572 D1 S0.1 ; Set pressure advance on Extruder Drive 1, M563 P2 S"TOOL3" D2 H3 F5 ; Define tool 3 G10 P2 Z-3.75 ; Set tool 3 offset from the bed G10 P2 R170 S190 ; Set tool 3 operating and standby temperatures(-273 = "off") ;M572 D2 S0.1 ; Set pressure advance on Extruder Drive 2 M563 P3 S"TOOL 4" D3 H4 F6 ; Define tool 4 G10 P0 Z-3.75 ; Set tool 4 offset from the bed G10 P0 R170 S190 ; Set tool 4 operating and standby temperatures(-273 = "off") ;M572 D3 S0.1 ; Set pressure advance on Extruder Drive 3 ;Water temp M308 S5 P"e1temp" Y"thermistor" T100000 B4138 ;configure sensor 5 as thermistor on pin e1temp ; disable bang-bang mode for the nozzle heater and set PWM limit ; Fans M950 F0 C"!Fan0+exp.pb6" Q25000 ; fan 0 is a 4-wire PWM fan so invert it, use high PWM frequency, tacho connected to PB6 on expansion connector M106 H0 S1 T25 ; set fan 0 value. Thermostatic control is turned on ; Custom settings are not defined ; Miscellaneous T-1 ; select first tool
-
@dc42 i figurit out for homing u axe i stiil have problem with showing temp on graph and extra temp for water and MCU temp
-
@matej1006 If a sensor is not bound to a heater it needs to be given a name to show up in the UI. That's done with the
A
parameter forM308
. -
@garyd9 said in RepRapFirmware 3.0 is released!:
Duet2 wifi h/w version 1.04
Printer is a normal delta (with 0.9 degree steppers)
Firmware is the first general release of RRF3After starting my first print with RRF3 on a Duet2 WiFi, I'm seeing a LOT of hiccups using an identical configuration to what I used with RRF2 (where I only rarely saw a hiccup.)
A follow up on this: I wanted to test things in a controlled environment without a print going. So, with no heaters/fans/extrusion going on, I performed the following commands (while in absolute positioning mode):
G1 X0 Y-50 Z50
M122 // just to clear the hiccup count
M122 // just to make sure the hiccups were really at 0
G1 Y+50 F12000
M122The second M122 showed 188 hiccups.
Is this normal for 0.9 degree steppers, 16 microsteps, and movements of only 100mm across the center of the bed at only 200mm/sec?
Same test, but with a F param of 10000 showed 20 hiccups. Slowing it down to 9000mm/min showed 2 hiccups.
(I didn't see these kinds of hiccups with RRF2 on the same config with moves this slow.)
@dc42? Is RRF3 ready for Duet2 boards controlling deltas?
-
@garyd, I'll do some tests on maximum step rates in RRF3. I noticed that on my delta, I had to reduce the max speed to 200mm/sec when it was previously higher.
-
@dc42
Updated done for DUET3 Standalone from 3.0RC2 to 3.0 without trouble.
Now going to do some prints to see if everything runs...Great Job!
-
@dc42 said in RepRapFirmware 3.0 is released!:
M98 P"config.g"
thanks dc42,
I am almost there now but I think you should know that the gcode documentation under M950 has a note "M950 needs to be before M106, M308 etc in config.g file" -
Nearly there.
My bed isn't heating up at allRRF 2 old -- worked
M307 H0 A104.6 C986.0 D1.9 ;B0 ; Auto tune PID for bed heater
M305 P0 R4700 B3950 S"Bed Heater" ; bed thermistor R and B valuesRRF 3 new -- not working
; Thermistors and heaters
M308 S0 P"bed_temp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bed_heat" T0 ; create bed heater output on bedheat and map it to sensor 0
M143 H0 S70 ; set temperature limit for heater 0 to 70C
M307 H0 A104.6 C986.0 D1.9 B0 S1.00 ; Auto tune PID for bed heaterThanks for any help
-
@appjaws this is how my Heater section is configured on my delta with a Duet2 WiFi only difference is that I Use PT100's for my temp sensors so you will have to allow for that hop it helps.
; Heaters M143 S300 ; Set maximum heater temperature to 300C ;M305 P0 X201 ; Set thermistor + ADC parameters for heater 0 and remap it to channel 201 ;M305 P1 X200 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 200 M308 S0 P"spi.cs2" Y"rtd-max31865" F50 M308 S1 P"spi.cs1" Y"rtd-max31865" F50 M950 H0 C"bed_heat" T0 M950 H1 C"e0_heat" T1 ;M307 H0 A199.0 C962.6 D5 B0 ;M307 H1 A409.7 C232.2 D4.5 B0 ;M307 H0 A161.6 C1109.8 D5.8 S1.00 V24.4 B0 M307 H0 A449.1 C783.3 D9.8 S1.00 V24.4 B0 M307 H1 A544.9 C280.1 D4.2 S1.00 V24.4 B0
Can't see anything wrong in yours mind may be worth just double checking that the Zero's are Zero and not O
Doug
-
I found something odd, or it is just to late at night.
This is my heater and fan definition:
M308 S3 Y"mcu-temp" A"MCUTemp" ; configure sensor 3 as MCU Temperature
M308 S4 Y"drivers" A"DriverTemp" ; configure sensor 4 as Dirver Temperature; Fans
M950 F1 C"out8" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P1 S1 H1 T45 C"Tool Fan" ; set fan 0 value. Thermostatic control is turned on
M950 F0 C"out7" Q500 ; create fan 1 on pin out8 and set its frequency
M106 P0 S0 H-1 C"Part Fan" ; set fan 1 value. Thermostatic control is turned off
M950 F2 C"!out4" ; create fan 2 on pin out4 and set its frequency
M106 P2 H3:H4 T48:60 C"MCU FAN" ; set fan 2 value. Thermostatic control is turned onI have noticed that in this config the bedtemp drives the MCU fan....like the "drivers" is using the bed temp...and not the drivers temp.
Can somebody please check?Am I missing something?
Btw. how do I activate the tacho and get and on DWC?
I have a DUET3 6HC with RRF3.0 in use
-
To use a 4-wire fan including the tacho, create the fan like this:
M950 F2 C"!out4+out4.tach" Q25000
Check your config by running M98 P"config.g" to see if there are any error messages. You can also send M308 S2, M308 S3 and M106 P2 to check that the settings for the electronics cooling fan and associated sensors are correct.