@jay_s_uk I do not want to argue but then then power to the LED strip is just one lead. It will only join on the AC side. I do not understand... ahhh negative to negative between the PSU's
But I have an answer how to connect things, thank you!
@jay_s_uk I do not want to argue but then then power to the LED strip is just one lead. It will only join on the AC side. I do not understand... ahhh negative to negative between the PSU's
But I have an answer how to connect things, thank you!
When using an external PSU for led strip how is it supposed to be connected?
If +/- of the LED PSU goes directly to LED strip will it work connecting the single LED strip signal wire to a Mini5 board LED parts signal pin?
In my limited knowlege of these things I would think thar the duet board need at last two wire to send a signal. Like signal.and ground, so the pixies/electrons has somewhre to go... 🥴
@chrishamm Thank you, it may be possible then, with some luck
I will do some experiments to see how far I get.
@chrishamm Can you explan the issue with having it in stand alone mode? Is it not a just a webserver serving files?
A blazor site can be compleatly clientside. In this case it is my understanding that the only thing the DuetBoard needs to do is serve the files?
I got the idea to white a util in Blazor and put it on the duet board. In a sub or parallel folder to the DWC.
I am thinking a blazor page, without any server side parts, querying the json structure and sending some G-Codes.
Is this possible withe current firmware and are there any limitations I should be aware of?
I am trying to write an application interacting with a DuetBoard.
I have got a Working example, a .Net c# console application using DuetHttpClient.
I have two questions:
How do I get hold of an updated model after connection is established? In my code example a command must be sent ("G31") to get a populated model.
Are there any pattern/thoughts on monitoring changes in the model? Looping with a delay and sending "G31" seems crude...
I have not found any info or code on this, there probably is. So some help pointing me in the right direction would be much appreciated.
/Tomas
using DuetHttpClient;
var options = new DuetHttpOptions
{
ObserveObjectModel = true,
ObserveMessages = true,
};
var session = await DuetHttpSession.ConnectAsync(new Uri("http://192.168.0.117"), options);
await session.SendCode("G31");
var model = session.Model;
foreach (var a in model.Move.Axes)
{
Console.Write(a.Letter);
Console.Write(": ");
Console.WriteLine(a.UserPosition);
}
Console.ReadLine();
@jay_s_uk Great tip, thank you. i will look into that.
Both that wiki and the GCode Dictionary explains thing with the term "Z leadscrews" which is correct in some hardware configurations. But it fooled me, maybe reading too quickly and not fully comprehending tings.
I propose a change to the use of "pivot point" or equivalent to make things a bit less likely to misunderstand.
@dc42 I have made some corrections and tests. A second G32 now results in a much smaller correction compared to before.
And the first layer is so much better than before. Things went a big step away from black magic towards science. Thank you!
I am guessing since the two Z-Motors may be more or less off for each start and the result of correction by G32 varied from each start (due to incorrectly configured M671). This would make the compensation by the mesh bed leveling more or less successful. If so that would explain my intermittent problem with a good first layer, and mostly on the side of the bed making the G32 correction.
During some re-calibration and reading the G-Code dictionary I think the leveling points a defined wrong in my Core-XY printer. (Board: Duet 3 Mini 5+ Firmware: 3.4.0 )
M671 X-19:316 Y146:146 S10.0
(print area is 290 x 290)
I have two independent Z-axis motors (see image) and so far I have set the leveling points to the center of the lead screws. Reading the instructions for M671 I know believe that the M671 should have the coordinates where the yellow lines cross in the picture. This is where height correction screws are positioned and where the bed pivots. Correct?
A a second bed leveling, done after each other, should not result in any correction, right? Can this be used as way to verify correct vales for the M671 command?
Doing a bed mesh leveling after a bed leveling should also result in the same height near the pivot points (see purple circles in heightmap below)?
image url)
@droftarts I think you misunderstood. This is regarding the configtool, in the configuration tool forum.
/Tomas
Went trough all steps wit default settings except these settings:
Start
RepRapPro Fisher
General
Board: Duet2WiFi
Firmware Version: 3.3 or later (stable)
Network
WiFi Access Point Name ...
WiFi Password ...
Finish
Unchecked DWC firmware and latest stable firmware
Error in browser console:
vue.runtime.esm.js:3020
TypeError: Cannot read properties of null (reading 'output_pin')
at Template.js:410:37
at Array.forEach (<anonymous>)
at Object.validatePins (Template.js:409:20)
at a.goToNextPage (App.vue:182:1)
at click (App.vue:1:2431)
at Ln (vue.runtime.esm.js:2988:30)
at n (vue.runtime.esm.js:1786:20)
at link.js:181:19
at Array.forEach (<anonymous>)
at a.onClick (link.js:180:12)
This is my mount for a Hemera on a CoreXY with toolboard and part cooling.
I have a PTFE tube sticking out through the bracket, guiding the filament..
I have threaded brass inserts for mounting the toolboars end the fan shroud.
There is just enough room for my index finger to operate the lever on the hemera.
The fan shroud can be adjusted up/down by oval mounting holes in the shroud.
Lastly my BL-Touch bracket, mounted on the opposite side with the hemera bolts. The long part is a cable guide.
I have some makeshift wiring in place since my toolboard partly gave up on me.
I hope you will find some inspiration by this.
Never used them, can not reach them with my fingers when mounted on my printer.
@jay_s_uk Ah.. sorry
Connected the thermistor to the toolboars temp1 connector, the beside IO2,
changed config.g as listed below:
;M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1
M308 S1 P"121.temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin 121.temp1
;M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin 121.temp0
M950 H1 C"out2" T1 ; create nozzle heater output on out2 and map it to sensor 1
;M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C
And got:
I have dome my best to verify that the wiring is not the problem but I get the same message with the thermistor disconnected.
for those who have not read the whole thread:
The Hotend heater connection (OUT0) does not function either but all the other stuff works:
I am starting to think that my toolboard is broken in some way.
What else can I try?
@jay_s_uk Maybe I was not clear in my explanation. After this happened I added four wires from the Mini 5+ to the heater and thermistor, That have worked fine, but partly defeats the purpose of havinga toolboard.
After upgrading both the toolboard an main board to firmware 3.4 I switched back to using the toolboard for the thermistor and the issue still remains. In other words the firmware upgrade and bringing the toolboard to the same firmware version as the main board did not help.
I have picked up this problem again after upgrading my printer to firmware 3.4.
Both my 5+ Mini board and Toolboard run firmware 3.4.
To overcome this issue temporarily I have cameld from the 5+ mini direct to the thermistor and heater.
What I did now was upgrade to 3.4 and reconnected the thermistor to the toolboar again and changed back to my previous config:
;M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ;
M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ;
Unfortunately the issue remains and I have no clue what to do next ?!!
M122 B121
Diagnostics for board 121:
Duet TOOL1LC rev 1.1 or later firmware version 3.4.0 (2022-03-15 09:00:04)
Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1)
All averaging filters OK
Never used RAM 2804, free system stack 88 words
Tasks: Move(notifyWait,0.0%,153) HEAT(notifyWait,0.1%,115) CanAsync(notifyWait,0.0%,65) CanRecv(notifyWait,0.0%,76) CanClock(notifyWait,0.0%,65) ACCEL(notifyWait,0.0%,61) TMC(notifyWait,3.0%,57) MAIN(running,92.0%,351) IDLE(ready,0.0%,26) AIN(delaying,4.9%,142), total 100.0%
Last reset 00:05:30 ago, cause: software
Last software reset data not available
Driver 0: pos 0, 840.0 steps/mm,standstill, SG min 0, read errors 0, write errors 1, ifcnt 25, reads 34192, writes 12, timeouts 0, DMA errors 0, CC 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 -2/10, peak Rx sync delay 205, resyncs 0/0, no step interrupt scheduled
VIN voltage: min 24.5, current 24.5, max 24.5
MCU temperature: min 35.7C, current 37.9C, max 38.0C
Last sensors broadcast 0x00000002 found 1 89 ticks ago, 0 ordering errs, loop time 0
CAN messages queued 5312, send timeouts 0, received 2989, lost 0, free buffers 37, min 37, error reg 110000
dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
Accelerometer: LIS3DH, status: 00
I2C bus errors 0, naks 3, other errors 0
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.4.0 (2022-03-15 18:59:15) running on Duet 3 Mini5plus WiFi (standalone mode)
Board ID: DL70G-S396U-D65J0-40KMW-2303Z-HP9WR
Used output buffers: 11 of 40 (23 max)
=== RTOS ===
Static ram: 103684
Dynamic ram: 110360 of which 28 recycled
Never used RAM 27640, free system stack 190 words
Tasks: NETWORK(ready,14.1%,255) HEAT(notifyWait,0.0%,367) Move(notifyWait,0.0%,363) CanReceiv(notifyWait,0.0%,772) CanSender(notifyWait,0.0%,372) CanClock(delaying,0.0%,346) TMC(notifyWait,0.7%,105) MAIN(running,84.3%,428) IDLE(ready,0.1%,29) AIN(delaying,0.8%,264), total 100.0%
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 00:06:55 ago, cause: software
Last software reset at 2022-03-19 20:03, reason: User, GCodes spinning, available RAM 27592, slot 1
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
MCU revision 3, ADC conversions started 415196, completed 415194, timed out 0, errs 0
Step timer max interval 1065
MCU temperature: min 34.4, current 36.6, max 36.6
Supply voltage: min 24.4, current 24.4, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 1 queued, 1 completed
Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 24, reads 21825, writes 11, timeouts 0, DMA errors 0, CC errors 0
Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 26, reads 21824, writes 12, timeouts 0, DMA errors 0, CC errors 0
Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 19, reads 21827, writes 9, timeouts 0, DMA errors 0, CC errors 0
Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 25, reads 21823, writes 12, timeouts 0, DMA errors 0, CC errors 0
Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 24, reads 21825, writes 11, timeouts 0, DMA errors 0, CC errors 0
Driver 5: not present
Driver 6: not present
Date/time: 2022-03-19 20:10:28
Cache data hit count 788041111
Slowest loop: 27.07ms; fastest: 0.13ms
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 22.5MBytes/sec
SD card longest read time 3.3ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, 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, chamber heaters -1 -1 -1 -1, ordering errs 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 3755, received 6679, lost 0, boc 0
Longest wait 5ms for reply type 6024, peak Tx sync delay 251, free buffers 18 (min 17), ts 2076/2075/0
Tx timeouts 0,0,0,0,0,0
=== Network ===
Slowest loop: 16.85ms; fastest: 0.00ms
Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8
- WiFi -
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 0
WiFi firmware version 1.26
WiFi MAC address f0:08:d1:02:ef:4b
WiFi Vcc 3.40, reset reason Power up
WiFi flash size 2097152, free heap 25200
WiFi IP address 192.168.0.117
WiFi signal strength -48dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 4 0 0 0 0 0 0 0
@oliof that is exactly what i did, see comment at the top of config.g
I have just upgraded an DuetWiFi controlled Cetus3D printer from RRF 2.x to 3.4.0-rc2.
It has a panel due version 1.0 (separate control board connected with a 40 pin ribbon cable) connected that I have flashed with firmware 1.25.
My problem is that the Cetus3D do not have a heated bed and on the paneldue there are only values below the bed column, not the hotend column.
It this even possible with my setup? If so how?
config.g below
; Configuration file for Duet WiFi (firmware version 3.3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Mar 08 2022 19:58:56 GMT+0100 (Central European Standard Time)
; General preferences
M575 P1 S1 B57600 ; enable support for PanelDue
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"NAME" ; set printer name
; 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 forwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M92 Y88.68 X88.68 Z79.72 E932.00 ; Set steps per mm; used to be E127, 118 for CETUS; Hemera E409; HIQU H2 932
M566 X600.00 Y600.00 Z150.00 E800.00 ; Set maximum instantaneous speed changes (mm/min)
M203 X28000.00 Y28000.00 Z15000.00 E10000.00 ; Set maximum speeds (mm/min)
M201 X1000.00 Y1000.00 Z100.00 E1500.00 ; Set accelerations (mm/s^2)
M906 X800 Y800 Z600 E500 I50 ; set motor currents (mA) and motor idle factor in per cent
M84 S10 ; Set idle timeout
M350 X256 Y256 Z256 I0 ; configure microstepping without interpolation
;M350 E16 I1 ; configure microstepping with interpolation
; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X180 Y180 Z183 S0 ; set axis maxima
; Endstops
M574 X1 S3 ; configure sensorless endstop for low end on X
M574 Y1 S3 ; configure sensorless endstop for low end on Y
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
M915 X Y R0 F0 S4 ;sensroless homing
; Z-Probe
M558 P1 C"zprobe.in" H6 F400 T6000 ; set Z probe type to unmodulated and the dive height + speeds
G31 P515 X-31 Y0 Z1.35 ; set Z probe trigger value, offset and trigger height
M557 X5:180 Y5:180 S30 ; define mesh grid
G29 S1 ; Load stored mesh grid from SD Card
; Heaters
M140 H-1 ; disable heated bed (overrides default heater mapping)
M308 S0 P"e0temp" Y"thermistor" ; configure sensor 0 as Thermistor on pin e0temp
M950 H0 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0
M307 H0 R1.787 K0.292:0.000 D6.79 E1.35 S1.00 B0 V19.4
M143 H0 S280 ; set temperature limit for heater 0 to 280C
; Sensors
M308 S10 Y"mcu-temp" A"MCU"
; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S1 H10 T34 ; set fan 0 value. Thermostatic control is turned on, using sensor 10
M950 F1 C"fan2" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S0 H0 T50 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"fan1" Q500 ; create fan 2 on pin fan2 and set its frequency
M106 P2 S0 H-1 F12 L110 X190 C"Part Cooling" ; set fan 2 value. Thermostatic control is turned on
; Tools
M563 P0 S"Hotend" D0 H0 F2 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
; Miscellaneous
T0 ; select first tool