@chrishamm That worked, thanks.
Posts made by Piet
-
RE: Failed Duet3 & SBC firmware update (again)
That definitely helps! Updating to 3.4 takes around 30min I'd say
-
RE: Failed Duet3 & SBC firmware update (again)
Good to hear, I'm not sure i had the same error message coming from a clean image (Invalid protocol version 6). Read somewhere on the forum that it had to do with dissimilair versions on the pi and duet but I'm not sure.
-
RE: Failed Duet3 & SBC firmware update (again)
@rushmere3d I had the same thing with a fresh DuetPi installation.
Can you check what it posts if you type sudo journalctl -u duetcontrolserver into putty.
For me i think it had to do with dissimilair firmware versions on the RPi and duet but i'm not sure. When i updated to the newest stable release (3.4) it started working again. -
Skip desktop view in SBC mode
Hi all,
I was wondering if there is a way to skip the desktop screen when starting up my printer using an RPi. Right now when it boots up it shows the desktop screen off the RPi for a couple seconds before starting DWC.
Thanks in advance,
Piet. -
Website DWC does not work
Hi all,
I'm running in SBC mode.
Yesterday i accidentally deleted a directory from my SD card which made it so the UI wouldn't show on the rpi screen. I opted to go for a new install so I flashed a new image of duetpi and updated RRF to 3.4RC2.
Now it does not show the web interface in the browser (I am using the right IP). I can connect to it using SSH and it does show the interface on the rpi screen just not in the browser. Strange thing is normally when i scan for IPs using advanced IP scanner I can see a dropdown arrow which shows the webpage however now that's not the case.
I've uploaded the new 3.3 DWC files to the /www folder but it's still not working.
Does anyone have any idea?
Thanks in advance, Piet.
-
RE: Mesh bed leveling without M557
For future reference, this works.
The probe file can be adjusted to allow for different types of probing.if !exists(param.X) || !exists(param.Y) ;if parameter X and Y are given echo "Make sure parameter X and Y are given (C and S optional). Aborting probe move." ;notify user G1 X{param.X} Y{param.Y} Z{sensors.probes[0].diveHeight} F6000 ;move to given X and Y coordinates and predefined diveheight M400 ;wait for moves to finish M98 P"waitForHeaters.g" H01 M568 P0 A0 ;turn the extruder heater off (interference changes sensor reading) G4 S1 ;wait 1 second M98 P"preprobe.g" ;call macro to determine triggervalue and see if it is okay to proceed probing ;M291 R"Probing." P" " S1 if global.proceedProbe = true ;if its okay to proceed probing if exists(param.C) ;if parameter C is given if exists(param.S) ;if parameter S is given G30 X{param.X} Y{param.Y} P{param.C} S{param.S} Z-9999 ;probe move else ;otherwise G30 X{param.X} Y{param.Y} P{param.C} Z-9999 ;probe move elif exists(param.S) ;if parameter S is given G30 X{param.X} Y{param.Y} S{param.S} Z-9999 ;probe move else ;otherwise G30 X{param.X} Y{param.Y} Z-9999 ;probe move elif (global.proceedProbe = false) ;if it isnt okay to proceed probing echo "Aborting probe move" ;notify user ;M292 M568 P0 A1 ;set the extruder heater to standby
if global.bedLeveled == 0 G32 M98 P"probe.g" X525 Y250 echo >"heightmap.csv" "Height map file generated at", state.time echo >>"heightmap.csv" "xmin,xmax,ymin,ymax,radius,xspacing,yspacing,xnum,ynum" echo >>"heightmap.csv" global.xMin,",",global.xMax,",",global.yMin,",",global.yMax, ", -1 ,",global.xSpacing,",",global.ySpacing,",",global.xNum,",",global.yNum var y = global.yMin var i = 0 G90 while var.i < global.yNum var x = global.xMin var j = 0 while var.j < global.xNum M98 P"probe.g" X{var.x} Y{var.y} S-1 M400 if var.j == 0 set global.meshLine = sensors.probes[0].lastStopHeight - sensors.probes[0].triggerHeight else set global.meshLine = global.meshLine ^ "," ^ sensors.probes[0].lastStopHeight - sensors.probes[0].triggerHeight set var.x = var.x + global.xSpacing set var.j = var.j + 1 echo >>"heightmap.csv" global.meshLine set var.y = var.y + global.ySpacing set var.i = var.i + 1
-
Writing M122 to file
Dear users,
I'm wondering if there is a way to write the diagnostics output of the M122 command to a text file using meta Gcode.
Thanks in advance, Piet.
-
RE: Mesh bed leveling without M557
@t3p3tony Smart! I don't have a heightmap saved, do you by any chance have an example so i can see how it's formatted?
-
Mesh bed leveling without M557
Dear users,
I noticed there is a possibility to create a mesh.g file and I'm wondering if i can use it to do the following. (I'm not totally sure how to use it so please enlighten me)
I have some hysteresis in my Z-probe. This means that if I run the G29 command and automatically probe all the predefined points, the value starts to shift to a point that the mesh is unusable. Normally before probing I measure the analog value of the probe and set a new threshold by adding a value to that measured value. Is there a way I can set a new threshold to trigger before every probe move in the mesh.g. I already have this code set up for regular bed leveling but I'm assuming I can't use the G30 command to do mesh bed leveling. Is this correct?
This is the code i already use:
probe.gif !exists(param.X) || !exists(param.Y) ;if parameter X and Y are given echo "Make sure parameter X and Y are given (C and S optional). Aborting probe move." ;notify user G1 X{param.X} Y{param.Y} Z{sensors.probes[0].diveHeight} F6000 ;move to given X and Y coordinates and predefined diveheight M400 ;wait for moves to finish M291 R"Waiting for extruder." P" " S1 M116 P0 S2 ;wait for extruder to reach temperature M568 P0 A0 ;turn the extruder heater off (interference changes sensor reading) G4 S1 ;wait 1 second M98 P"preprobe.g" ;call macro to determine triggervalue and see if it is okay to proceed probing M292 M291 R"Probing." P" " S1 if global.proceedProbe = true ;if its okay to proceed probing if exists(param.C) ;if parameter C is given if exists(param.S) ;if parameter S is given G30 X{param.X} Y{param.Y} P{param.C} S{param.S} Z-9999 ;probe move else ;otherwise G30 X{param.X} Y{param.Y} P{param.C} Z-9999 ;probe move elif exists(param.S) ;if parameter S is given G30 X{param.X} Y{param.Y} S{param.S} Z-9999 ;probe move else ;otherwise G30 X{param.X} Y{param.Y} Z-9999 ;probe move elif (global.proceedProbe = false) ;if it isnt okay to proceed probing echo "Aborting probe move" ;notify user M292 M568 P0 A1 ;set the extruder heater to standby
preprobe.g
if !exists(global.proceedProbe) ;if variable doesnt exist yet global proceedProbe = false ;initialize variable if exists(global.triggerVal) ;if a triggervalue has been defined if sensors.probes[0].value[0] <= 922 && sensors.probes[0].value[0] >= 200 ;if the sensorvalue is within acceptable range var measuredVal = {sensors.probes[0].value[0]} ;measure the sensor value G31 P{var.measuredVal + global.triggerVal} ;set the triggervalue to the measured value + the triggervalue ;echo "Measured sensor value is", {var.measuredVal}, ". Triggervalue has been set to", {sensors.probes[0].threshold}, "." ;notify user set global.proceedProbe = true ;set variable so probing can proceed else ;otherwise echo "Measured sensor voltage is out of range at ", {(var.measuredVal * 5)/1024}, "V." ;notify user set global.proceedProbe = false ;set variable so probing wont proceed else ;otherwise echo "The variable triggerVal has not been declared in the config.g file (default = 100)" ;notify user set global.proceedProbe = false ;set variable so probing wont proceed
So instead of using the G30 command to probe i use M98 P"probe.g".
-
RE: Problem when turning on printer
@chrishamm Thanks for reporting back! I actually also had the problem of another chromium window opening over DWC, that is fixed. Will check if the config loading is fixed too.
-
RE: Trouble with heating up using a toolboard
@t3p3tony It's an 80W heater with a custom heater block about the size of a supervolcano and full aluminium. It's not insulated so it probably is losing quite a bit of heat, I'm going to look into that in the future.
However regarding this issue. It seems the toolboard is limiting the amount of current for some reason if I'm thinking correctly. Do you agree or should I look elsewhere? -
RE: Trouble with heating up using a toolboard
how much current does the heater draw if you connect it (briefly) directly to the power supply. Leave the temp sensor connected to the duet so you can monitor the temperature and cut the power before it gets too high.
I attached the heater to a seperate 24V supply. It draws 3.33A and it gets up to, albeit pretty slow, to 300C. However measuring using the thermocouple it only gets to about 285C.
-
RE: Trouble with heating up using a toolboard
@t3p3tony I'm guessing this was an error on my part, see my reply to gixxerfast.
how much current does the heater draw if you connect it (briefly) directly to the power supply. Leave the temp sensor connected to the duet so you can monitor the temperature and cut the power before it gets too high.
I'm going to try this now.
-
RE: Trouble with heating up using a toolboard
You Vin is very low I think.
I noticed this and actually already turned the supply up, that's why there is such a big difference in voltage.
I also run AWG20 to the toolboard, but maybe you should check the wiring to make sure all is connected as it should. and that you really have thick enough wire 0.5mm2 (double check )*
Yup double checked it.
I actually measured the current wrong, it shows 3A now. The voltage across the heater is 22.8V so I'm approximately 10W short. (22.8 * 3 = 68.4W)
-
RE: Trouble with heating up using a toolboard
@gixxerfast I set the max temperature to 300C, forgot to include that.
M143 H1 S300 ; set temperature limit for heater 1 to 300C
Btw. Do a m122 B20 for some diagnostics. They usually want that
m122 B20 Diagnostics for board 20: Duet TOOL1LC rev 1.1 or later firmware version 3.4.0beta5 (2021-10-12 13:59:06) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) Never used RAM 2484, free system stack 2789 words Tasks: Move(notifyWait,0.0%,153) HEAT(notifyWait,0.3%,115) CanAsync(notifyWait,0.0%,64) CanRecv(notifyWait,0.0%,77) CanClock(notifyWait,0.0%,64) ACCEL(notifyWait,0.0%,61) TMC(delaying,3.0%,57) MAIN(running,91.8%,350) IDLE(ready,0.0%,27) AIN(delaying,4.9%,142), total 100.0% Last reset 00:33:35 ago, cause: power up Last software reset data not available Driver 0: pos 0, 348.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 11, reads 24700, writes 11, timeouts 0, DMA errors 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 0/5, peak Rx sync delay 215, resyncs 0/0, no step interrupt scheduled VIN voltage: min 21.6, current 21.6, max 24.4 MCU temperature: min 32.5C, current 49.8C, max 51.8C Last sensors broadcast 0x00000006 found 2 36 ticks ago, loop time 0 CAN messages queued 41092, send timeouts 0, received 18096, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Accelerometer detected: yes, status: 00 I2C bus errors 0, naks 3, other errors 0 === Filament sensors === Interrupt 5726621 to 0us, poll 2 to 773us Driver 0: no data received
Btw2, you are taking 24V directly from the PSU I assume
YesBtw3, I print mainly ASA and I rarely go above 260C, but that's another question
True i was just about to run some temperature testing when I noticed it doesn't reach temperatures it should. -
Trouble with heating up using a toolboard
Dear users,
I'm trying to start printing ASA for which i ran PID tuning at 280C. After some time i got the error that it didn't reach the desired temperature. It only reached about 270ish. This confused me as i have an identical printer, with a different control board (not duet), with the same extruder that can easily reach 300C (and faster too).
To make sure the temperature reading was correct I measured using a thermocouple inside the heater block. The other printer's temperature reading was basically spot on while the duet with a pt1000 was about 15C higher than the actual temperature (maybe i did something wrong here because that seems like alot).
I'm using a duet3 + sbc connected to a toolboard. The PT1000 is connected to temp0, the voltage i measured going to the toolboard is 24V and the voltage to the heater when it's on is ~21.8V. The heater is supposed to be 80W which is correct as i measured 7 Ohms over the heater.
Is this a power issue? The power wiring to the toolboard is 2x0.5mm, i assumed this was thick enough for the 3.3A (should be good to about 5A i thought).
At the moment I'm seeing if there is a difference if i use bangbang instead of PID but that doesn't seem to be the case.
The config of the heater and temperature sensor:
M308 S1 P"20.temp0" Y"pt1000" A"Extruder" ; configure sensor 1 as thermistor on pin 20.temp0 M950 H1 C"20.out0" T1 ; create nozzle heater output on 20.out0 and map it to sensor 1 ;M307 H1 B0 R1.821 C159.8:143.3 D6.60 S1.00 V21.8 ; disable bang-bang mode for heater and set PWM limit M307 H1 B1
Any help would be appreciated!
Piet.
Edit: Just measured the current going to the toolboard and it's only 1.8A. So it makes sense it doesn't heat up very fast as that is only 40W (21.8*1.8). Not sure where the problem lies.
-
RE: Problem when turning on printer
@t3p3tony Excuse me, i saw a bookmark next to my message and wondered what it was and clicked it and it disappeared. I accidentally reported myself after... Woops
-
RE: Problem when turning on printer
@t3p3tony alright thank you. I guess as a workaround for now I'll check with daemon.g if the config is run and otherwise I'll run it again
-
RE: Problem when turning on printer
I ran it twice, initally it just loaded the config, the second time it threw some errors because it tried to redefine some variables.
In DWC it also says DSF Version: 3.4-b5.