@bearer that looks easier than I was expecting it to be.
Basically I just send echo M300 S2000 P2000 > /dev/ttyACM0 , then ,for instance, echo G28 > /dev/tryACM0 to home it?
Yes, I’ll be using cron to schedule tasks.
@bearer that looks easier than I was expecting it to be.
Basically I just send echo M300 S2000 P2000 > /dev/ttyACM0 , then ,for instance, echo G28 > /dev/tryACM0 to home it?
Yes, I’ll be using cron to schedule tasks.
This is unrelated to 3d printers in general and maybe unrelated to duet boards in general but helpful for a project of mine in which I’ll be using a duet wifi board. Maybe someone already does this and can help.
I want to send a certain gcode sequence to the board to be executed at a certain hour every day/ week et.
I understand I would need a raspberry pi or some other mean to send the code but I don’t know where to start . Ideally the board will be wired to the pi via usb because the board will be turned on before sending the gcode with a relay and sometimes the wifi doesn’t connect.
So my question is, how do I schedule sending gcode to duet?
Thanks.
@CanDo415 yes , my bad. You need to move in relative position with g91.
G1 U34 F500
G91 ;relative pos
G1 A+14 B+14 F3600
G1 A+1 B+1 F300
G90 ; absolute position
Probably you can do it without a homeA.g file by hiding the false axis using the P parameter in M584. then you'd have to unhide it each time you need to extrude without a tool using something like :
M584 P6 ;show the false axis
g92 A0 ; home the false axis
g1 a30 ; move the extruder
M584 p5 ;hide the false axis
Create the false axis using the two extruder drivers if using the same parameters on both (steps/mm) or two false axis ( A & B) and move them with G1 A30 B30
The way I'm dealing with that is by defining a false axis (A in my case) with same parameters as E axis . Instead of retracting with G1 E30 you'll use G1 A30. That way you can have extruder movement without a tool selected.
You will also have to create a homeA.g file to home it - just need to have G92 A0 in it.
Is there a way to assign a filament to tools? Slicer side I have to use M702 M701 S"***" M703
every tool change, even if I have the same filament in two different tools for example.
Not a big deal, just a cosmetic issue, all 5 tools showing the loaded filament even if they're actually different ,the reason I have to "unload" the filament with M702 each tool change (load.g /unload.g in filament folder are empty) is to load different parameters specific to other filaments with M703.
Can't you just substract 20mm form your Axis maxima ?
I redid the wiring that way and it works now. I left both the positive and negative 12cm short.Thank you.
I’m redoing all the wiring just in case. How short the wires from diet to duex should be?
Github is for people smarter than me . Here's a link for MMU running on RRF 3.01 for a cartesian printer . Easy to modify it to work on other motion systems. Someone may be able to put that on github.
@Ntrack said in External trigger wired on duex5:
M115 doesn't show the Duex and also console reports random weird over temperature warnings on drivers when I try to home the printer .
In single mode it works until current is sent to the bed.I mean that I can set it as active and it will not reset, but it resets in multi as soon as I set a temperature and the bed starts heating.Once it resets in multi M115 does not show the duex and over temp warnings show up if I try to home the printer .
I can also home only X axis (Z and Y being connected on duex, U and W won't home even if they are on duet wifi and configured as sensorless). Also I noticed that M999 does work somewhat - X axis appears as not homed after it - but it stays in multi mode.
M115 doesn't show the Duex and also console reports random weird over temperature warnings on drivers when I try to home the printer .
In single mode it works until current is sent to the bed.I mean that I can set it as active and it will not reset, but it resets in multi as soon as I set a temperature and the bed starts heating.Once it resets in multi M115 does not show the duex and over temp warnings show up if I try to home the printer .
Yes, everything is working as intended. It is still not working...
Same as before, it restarts, in /multi folder and , after that M999 doesn't do anything. I have to power off/on manually.
Yes, it was that short wire. I forgot to connect one end to the duet board.
@dc42 I canged the PSU some time ago.I’ll check that wire, I might have forgot about it.
I did some tests to rule out wiring issues. I deleted all M581 commands from /sys/config.g and started the printer in “single” folder. Now it is heating the bed without restarting the board but the switch is not triggering even if it is defined in /sys/single/config.g . So it’s not a roblem with the wiring.
I’ve had weird issues with endstops on duex5 before (X,Y hiting endstops during homing but continue movement)so I moved all endstops on the duet board. I will have to try that to make sure my files are correct.
The complete folder structure and files from my /sys folder can be found here.
I have an small rocker switch wired to the duex.e2stop which I'm using to load config.g from different folders.
Also, in the working folder, it is used to trigger an M999 command to restart the board and swap the folders.
The current structure of /sys/ folder is : config.g, trigger2.g, trigger3.g, folders "multi" and "single" which contains all the actual files needed to run.
The intended process is this: at powering the machine it should load the files from either "single" or "multi" according to the position of the rocker. This works as intended.
If the rocker changes position at any time it should send M999 command, load config.g from /sys folder and, depending of the new position of the switch, load the config from the working folder. This also works.
These are the config.g from the /sys folders :
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
M581 P"duex.e2stop" T2
M581 P"!duex.e2stop" T3
M582 T3
M582 T2
trigger2.g
M581 P"nil" T2 C0
M581 P"nil" T3 C0
M505 P"single"
M98 P"config.g"
trigger3.g
M581 P"nil" T2 C0
M581 P"nil" T3 C0
M505 P"multi"
M98 P"config.g"
The problem starts when printer is in "single" mode. If I try to heat up the bed the printer will restart and load the "multi" folder as if I switched the rocker. It basically changes polarity as soon as I try to heat the bed up. Once it restarts in "multi" mode , the rocker won't restart the printer anymore, I have to send m999 from console. Worth mentioning that the bed is connected to the duet board , not the duex. And also , heating the hotend will not switch the polarity of the trigger.
In "multi" mode it works as intended
For the sake of simplicity, I'll copy here only relevant parts from the /sys/single/config.g :
M550 P"Duet Single" ; 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 R-1 ; physical drive 0 disabled for single mode (U)
M569 P1 R-1 ; physical drive 1 disabled for single mode (W)
M569 P2 R-1 ; Z drive disabled (I burnt the driver)
M569 P3 Y3:3:1 F12 S1 ; physical drive 3 disabled for single mode (E)
M569 P4 S1 ; physical drive 4 goes forwards X axis (X)
M569 P5 Y3:3:1 F2 S1 ; physical drive 5 goes forwards Z axis (Z1)
M569 P6 Y3:3:1 F2 S1 ; physical drive 6 goes forwards Z axis (Z2)
M569 P7 S0 ; physical drive 7 goes backwards Y axis (Y)
M569 P8 R-1 ; physical drive 8 disabled for single mode (V)
M584 E3 A3 X4 Z5:6 Y7 P3 ; set drive mapping
; Endstops
M574 X1 S1 P"e1stop" ; configure active-high endstop for low end on X
M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
M574 A2 S1 P"!e0stop" ; configure false extruder A axis endstop
M581 P"!duex.e2stop" T3 C0 ; configure external button to change modes (single -> multi)
; Heaters
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
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; 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
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
/sys/single/trigger3.g contains only a M999 command for now (eventually will contain some conditions to warn if the printer is in a job and rocker is pressed.