Posts made by Dizzwold
-
RE: TMC2160 StallGuard
Okay thank you for your advice.
The part in the documents that states;
"sqrt(2)"
Does this mean, the square root of 2, ie 1.41421356237, ?
Regards,
Darren.
-
TMC2160 StallGuard
Hi Guys,
I'm considering setting up StallGuard on a couple of Nema23 motors using TMC2160 drivers.
In the documents it states;
Hmin = full_steps_per_rev * rated_current * actual_current/(sqrt(2) * pi * rated_holding_torque)Is "sqrt(2)" the square root of 2, ie 1.41421356237, ?
Then x (multiplied) by pi,then x (multiplied) by holding torque?What's the best way to determine the actual motor current?
I think this is where the Duet3 will come in, or would I just be better off buying the TMC2160 evaluation kit?I'd be very grateful for your input, more so as it is rather Off-Topic/Forum.
-
RE: Storing temperature values to log file?
Hi Guys,
Thank you for that.
Ah, okay, so I'm taking the information for the sensor from the
S2
part of the config.g rather than the actual board input connection "Temp1".
Edit.
Which I beleieve means changing;
M118 S{"Message to Show: " ^ sensors.analog[1].lastReading ^ " C"} L1
to
M118 S{"Temp 2: " ^ sensors.analog[2].lastReading ^ " C"} L1
Thank you again for your help and advice.Dizzwold.
-
RE: Storing temperature values to log file?
Okay, thank you.
Hmm, It's working but seems to be reading the wrong sensor. Temp1, which is what it is reading and documenting, is this T1 in my config.g?
It's basically reading the nozzle temp in the log at around 203˚C. I have the sensor I want to read in-between the fan and the heatsink on my Matrix extruder, "(he chamber heater below). In the graph it shows as around 40 ish ˚C ?
I have the following in my config.g on my 6HC board;
; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 R0.187 K0.192:0.000 D1.89 E1.35 S1.00 B0 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"121.temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"121.out0" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 R2.498 K0.275:0.349 D6.79 E1.35 S1.00 B0 V24.0 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Sensors M308 S2 P"temp1" Y"thermistor" A"Chamber Temp"T100000 B4138
The very bottom "sensor" temp1 chamber heater is what I'd like to read.
But hey, I'm printing again and with my cast toolplate with pei sheet and mains heater. Hip-Hip-Hooray
It is printing so sweet.
It's not fully trammed yet, as I can't afford the new framework yet to enable doing so, but it's the best I can do for now.
![Screen Shot 2024-02-28 at 11.00.20.png](Request Entity Too Large)Dizzwold
-
RE: Storing temperature values to log file?
Hi Guys,
Thank you for your direction I'll give them a try.
I'd already promised previously to look into the BtnCMD, but I really just haven't had the time. This is actually going to be my first print with the Cast Toolplate I've been on about for the last 2 if not 3 years.
Daemon.g;
I know very little about this, but with a quick goggle I understand it's to do with running a clock from the MCU in the background.
So this has to be called "daemon.g in the /sys directory?
Can you have more than one daemon.g in the /sys directory as I've seen it mentioned before with something else I read, and would you just number them?
daemon1.g
daemon2.g
etcI don't even know if your need more than one to be fair, just asking?
-
RE: Storing temperature values to log file?
@stef @T3P3Tony @Adamfilip @engikeneer @jay_s_uk @whopping-pochard
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.4.6 (2023-07-21 14:11:38) running on Duet 3 MB6HC v1.01 (standalone mode)
Board ID: 0JD2M-999AL-D25SW-6J9D0-3SD6M-9PY70
Used output buffers: 1 of 40 (20 max)Hi Guys,
I appreciate this is an old thread and I'd like to do something similar, but not sure I fully understand it.
What I would like to do is take temperature readings every 20 seconds (or so), from a thermistor on (temp1), for the duration of a print and save them to a log/file or something like the heightmap.csv to look over at a later date. I only really need the temperatures.
I've tried putting both the suggested lines above in Config.g but all that seamed to do when I clicked save was immediately creat the file in /sys then start then stop a log.
Can I ask for your advice of what should actually go where or if there's another method to use?
Dizzwold.
-
Laser Engraving with the Duet Family
Hi Guys,
I'm relevantly new to the Duet 3 boards (a year or 2), and have a friend looking into purchasing a Laser Engraver mostly for etching images on wood.
He's had a bit of a bad experience with trying to purchase an American or Canadian unit, so it crossed my mind that between myself and my friend, we could build one use a duet board.I've had a little look around on the forum regarding laser engraving with the Duet series of boards, but there doesn't seem to be a great deal of people on the forum regarding this.
Would a Duet be a good choice of board for controlling a laser engraver?
-
DWC on Computer Screen RESET MACHiNE from Emergency Stop
Hi Guys,
This is following on from the end of my thread "Cast Toolplate Bed Progress ?", the last 8 posts within.
https://forum.duet3d.com/topic/34461/cast-toolplate-bed-progress/34?_=1704187570604I have a Duet 6HC with a NC Emergency Stop Mushroom type button switch. When I press the emergency stop button, it stops everything as is should, but when I disengage the switch I have to manually click the RESET MACHINE radio button on DWC on my computer screen.
I've tried various methods and combinations using the triggers, but nothing eliminates having to physically click the radio button on my computer screen.
The triggers and the switch have been tested and all function correctly.I now believe it's something in the actual program in C++;
@Dizzwold said in Cast Toolplate Bed Progress ?:https://github.com/Duet3D/RepRapFirmware/blob/3.4-dev/src/GCodes/GCodeInput.cpp
src/GCodes/GCodeInput.cpp
From line 144-219 is regarding the M112 command and how it is reset. I think?
Lines 188, 189, 205, 206 prevent a perpetual reset?@Dizzwold said in Cast Toolplate Bed Progress ?:
RepRapFirmware/src/GCodes/GCodes.cpp
Lines 866-872
Dizzwold.
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.6 (2023-07-21 14:11:38) running on Duet 3 MB6HC v1.01 (standalone mode) Board ID: 0JD2M-999AL-D25SW-6J9D0-3SD6M-9PY70 Used output buffers: 3 of 40 (13 max) === RTOS === Static ram: 153252 Dynamic ram: 97472 of which 44 recycled Never used RAM 99904, free system stack 194 words Tasks: NETWORK(ready,31.7%,165) ETHERNET(notifyWait,0.0%,567) HEAT(notifyWait,0.0%,321) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,798) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,349) TMC(notifyWait,7.5%,90) MAIN(running,60.5%,925) IDLE(ready,0.1%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:02:32 ago, cause: power up Last software reset at 2024-01-11 12:27, reason: User, GCodes spinning, available RAM 99904, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 127 MCU temperature: min 23.6, current 35.7, max 35.9 Supply voltage: min 24.1, current 24.2, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 8, reads 2389, writes 14 timeouts 0 Driver 1: standstill, SG min 0, mspos 8, reads 2389, writes 14 timeouts 0 Driver 2: standstill, SG min 0, mspos 8, reads 2389, writes 14 timeouts 0 Driver 3: standstill, SG min 0, mspos 8, reads 2390, writes 14 timeouts 0 Driver 4: standstill, SG min 0, mspos 8, reads 2390, writes 14 timeouts 0 Driver 5: standstill, SG min 0, mspos 8, reads 2393, writes 11 timeouts 0 Date/time: 2024-01-14 09:58:45 Slowest loop: 6.57ms; fastest: 0.05ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 3.5ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock 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 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === CAN === Messages queued 1391, received 3058, lost 0, boc 0 Longest wait 3ms for reply type 6053, peak Tx sync delay 177, free buffers 50 (min 49), ts 765/764/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 6.55ms; fastest: 0.03ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 = Ethernet = State: active Error counts: 0 0 0 0 0 0 Socket states: 2 2 2 2 2 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0```
-
RE: Cast Toolplate Bed Progress ?
Okay, posted as follows;
DWC on Computer Screen RESET MACHiNE from Emergency Stop
https://forum.duet3d.com/topic/34675/dwc-on-computer-screen-reset-machine-from-emergency-stop@deckingman
Going back to the toolplate bed, I'm going to use the following connector mounted to the bed frame. The idea being that I can disconnect the cables so I can remove the bed (the printer will be in a cupboard, tight on space, so less weight with moving the frame in and out).
Being that this is now a Mains 240Vac bed heater, and I have spare pins on the connector, I'm thinking on the grounds of safety and running some kind of signal loop (5/12v on a relay), so when the connector is disconnected, the break in the (5/12v) signal loop will disconnect the mains with the relay (if I've not already done so), so there is no loose Live Mains cable floating around.
At the moment I have a1 SSR controlling the 240Vac mains bed switched directly by the 24v O/P from the Duet 6HC.
So I'm looking for ideas.
Should I use a mechanical relay in series with the mains from the SSR, or is there a good chance this will weld closed?
Use another SSR, again in series with the switched mains;
Dizzwold. -
RE: Cast Toolplate Bed Progress ?
@dc42 @deckingman @Phaedrux @chrishamm @fcwilt
Hi guys,
I think with looking around I might be needing to change something in the following which is C++. I know a little C++ (and I mean a little), but I'm certain this is part of of why I need to physically press a Reset Machine radio button ;
https://github.com/Duet3D/RepRapFirmware/blob/3.4-dev/src/GCodes/GCodeInput.cpp
src/GCodes/GCodeInput.cppFrom line 144-219 is regarding the M112 command and how it is reset. I think?
Lines 188, 189, 205, 206 prevent a perpetual reset?I've more code (.cpp files), to read, but I think I'm on the right track. I've got some thing to do this afternoon, but will come back.
Dizzwold.
-
RE: Cast Toolplate Bed Progress ?
Hi Guys,
Again thank you for your support and input.
@fcwilt
Sorry you misunderstand me.
I'm not trying to send any line of code. I'm just stating what clicking the on screen "Reset Machine" Button possibly does (on my computer screen). I'm no programmer but I believe DWC is Javascript and it would probably be something likeonclick
to enable a function for M999.@deckingman
I've tried your suggestion with the following, but refreshing the browser makes no difference. If anything it makes it longer to reset the machine as your also reconnecting before resetting.
Also during the time after pressing the Emergency Stop Button, while the computer screen states and requests Reset Machine, the paneldue is Halted. It's either press Stop on the paneldue or click Reset Machine on the computer screen.
I think it's a case of getting into the software code for the GUI, to be able to enable this as a use, unless this plugin might help as previously mentioned by @Phaedrux in another post;
https://github.com/MintyTrebor/BtnCmd; Emergency Stop M950 J2 C"io3.in" M581 P2 T2 S1 R0 M581 P2 T3 S0 R0
;Trigger2.g Reset Emergency Stop Button M112 M999
;Trigger3.g Z Axis Limt Switch M98 P"config.g"
Then changed to;
; Emergency Stop M950 J2 C"io3.in" M581 P2 T0 S1 R0 M581 P2 T2 S0 R0
;Trigger2.g Reset Emergency Stop Button M112 M999
Then changed to;
;Trigger2.g Reset Emergency Stop Button M999
And then again with;
;Trigger2.g Reset Emergency Stop Button M98 P"config.g"
-
RE: Cast Toolplate Bed Progress ?
That's correct, I'm talking on the computer DWC interface.
If I clicking a button on screen with my cursor on my computer, I'm essentially sending a single line of code once to the Duet, so why can't a physical button do this?
I appreciate that DWC is an interface used both by the Paneldue and as it would suggest on mobile or computers (Duet 'Web' Control).I had looked at other options like for a filament run-out sensor, maybe this or like you've suggested with disabling/re-enabling the steppers are the only options.
-
RE: Cast Toolplate Bed Progress ?
@deckingman said in Cast Toolplate Bed Progress ?:
This is trigger 2
Hi Ian,
Hmm... I tried what you suggested above, and i worked as expected;
Trigger 2 when the E Stop Button is pressedS1
Trigger 3 when releasedS0
So I've then replaced Trigger 2 with
M112
M999
and Trigger 3 with
M98 P"config.g"
Same problem DWC on my computer needs a physical click on the RESET button displayed on the screen (paneldue states HALTED), so it would seem that the
M98 P"config.g"
is the issue.
Config.g;; Custom settings are not defined ; Emergency Stop M950 J2 C"io3.in" M581 P2 T2 S1 R0 ;M950 J2 C"io3.in" M581 P2 T3 S0 R0 ; Z Axis Limit Switch ;M950 J3 C"io2.in" ;M581 P3 T3 S0 R0
Trigger2.g;
;Trigger2.g Reset Emergency Stop Button M112 M999 ;M118 S"This is Trigger 2"
Trigger3.g
;Trigger3.g Z Axis Limt Switch ;M118 S"This is Trigger 3" M98 P"config.g"
Maybe it's not possible?
Dizzwold
-
RE: Cast Toolplate Bed Progress ?
Hi Ian,
Sadly the Trigger 2,
M98 P"config.g"
has no influance on restarting DWC. It still needs manually resetting.
Config.g; Custom settings are not defined ; Emergency Stop M950 J2 C"io3.in" M581 P2 T0 S1 R0 ;M582 T2 S0 M581 P2 T2 S0 R0
Trigger2.g
;Trigger2.g Reset Emergency Stop Button M98 P"config.g"
I've tried many variants with
M112, M999, M400
and tried changing theS0, S1, S-1
values, although I have it connected on a NC circuit soS1
on a non-inverted pin triggersT0
(M112 Emergency Stop), then releasing the
Emergency Stop ButtonS0
Triggers the same non-inverted pinT2, M98 P"config.g"
Have got something wrong somewhere? -
RE: Cast Toolplate Bed Progress ?
Hi Ian,
A quick question. Should the
M582
line be within thetrigger.g
or within the mainconfig.g
?Dizzwold.
-
RE: Cast Toolplate Bed Progress ?
Hi Ian,
@deckingman said in Cast Toolplate Bed Progress ?:
You could maybe do M98 P "config.g"
Now there's an idea, thank you for that.
-
RE: Cast Toolplate Bed Progress ?
@deckingman @droftarts @fcwilt @sebkritikel
Hi Guys,
I'm back with an update after much tinkering, finessing and frustration.
The following image show's a cold 9 point bed compensation. Again I've only used 9 points for quickness to test the flatness of the bed and to try and eliminate any tramming.
The point at the rear centre is now the only point that is out. The rest vary from +0.004 to -0.090.
Going back to the Emergency stop button I have (the mushroom type on a NC circuit).
Is it possible so when the switch is reset, it will reset the Emergency Stop in DWC?
I've tried using M999 in a variety of ways, in config.g as trigger 0 and in sys/trigger2.g and just can't figure this out.
Config.g; Custom settings are not defined ; Emergency Stop M950 J2 C"!io3.in" M581 P2 T2 S0 R0 ;M582 T0 S0 ; Z Axis Limit Switch M950 J3 C"io2.in" M581 P3 T3 S0 R0 ;M582 T2 S0
Trigger 2.g
;Trigger2.g Emergency Stop Button M112 ;stop all M582 T2 S0 M999 ;restart all
Trigger 3.g
;Trigger3.g Z Axis Limt Switch M112 ;stop all M582 T3 S0 M999 ;restart all
The Z Axis limit switch is a fail-safe for while I'm tinkering as I've already accidentally touched the paneldue after a M564 S0 and crashed the leadscrew nuts into the motor mounts.
Dizzwold.
-
RE: Cast Toolplate Bed Progress ?
With the washers and shims I currently have (1mm & 0.5mm), I think this is the best I'm going to get it.
Just ordered some 0.1 and 0.2mm shims, so can hopefully improve this in the new year 'while saving for a new frame'.
Dizzwold.