IO*.out Pin Assignment to gpOut with M950
-
It would be interesting to know how that will be done Correctly,
after Startup of the Board (DUET3MB6HC 1.01)
the Pins are constanly at 3.3V (IO2.out and IO5.out<=>GND).afterwards when i assign Port 5 and 6 to these Pins using M950
the Output pins are still at 3.3Vif i set M42 P5, P6 S0 then the Pins turn off (0V)....
is that behavior normal, or do i need to turn off the pin with M42 after Assignment w. M950 in
the config.g file?i don't want these Pins to come on until i want it...
-
@neueklasse you can try to invert the function with a "!" in config M950.
e.g.M950 J1 C"!^e1stop"
-
@neueklasse the MCU has built-in pullup resistors on most pins that are enabled by default. You can defeat them by adding 10K pulldown resistors.
-
@dc42
OK, thanks for the hint@cosmowave
i tried to invert it, nothing changes,
even after:M950 P5 C"io2.out" ; Assign Port 5 to io2.out (Laser ON/OFF) M42 P5 S0 M950 P6 C"io5.out" ; Assign Port 5 to io2.out (Laser ON/OFF) M42 P6 S0
the Pins come on half a second after startup of the Board... this should be done with the 10K pulldownresistors.
another Problem i've encoutered:
M452 C"!out9" F20000 ; Enable Laser mode, on out9 and a PWM frequency of 20000Hz M571 P"io5.out" S1 ; set Output on while extruder is commanded, frequency and value
Afer the M452 Line the PWM Output is at 5V, shouldn't it be at 0V???
the Same with the M571 Line... io5.out is at 3.3V (ON) after it...If i delete the M452 and M571 Line and configure a Fan with M950 and M106 like:
M950 F4 C"!out9" Q20000 ; Assign PWM Output out9 to Laser Power Supply on Port 4 M106 P4 C"Laserpower" S0 X150 H-1 ; set Laser Power Supply name and maximum PWM value
The Duty Cycle is set to M106 S0... but the PWM Output (out9) is at 5V Constant... at it doesn't change...
-
@neueklasse
is it possible that out9 is always high PWM (5V)?
The other Fan PWM Outputs (Out4-6) are at 0V (no Duty Cycle) if the configured Fans are set to 0%.. -
@neueklasse I figured it out, the Invertation was a Problem... otherwise it works,
one Thing to point out: The M452 Command:M452 C"out9" R255 S0 F20000
is it Possible to Change that Command so a "Max Value" can be Programmed?
For Example the X Command within M106 to set the Max Value that will be used.for The M571 Command.. When no Extruder or E Axis is defined in config.g
Does it still work? For Example G1 E100 F100 S100
(Move to X100 (and Control the specified output within M571) with 100mm/min and a Laser Power of 100/255 (40%) -
@neueklasse said in IO*.out Pin Assignment to gpOut with M950:
is it Possible to Change that Command so a "Max Value" can be Programmed?
since M452 allows you to set this power with the R parameter, does that not work, i.e. M452 R100, G1..., do you have a gcode generation tool that uses the E value to specify the laser power? if so which one?
-
yes i use that Parameter, in my case it's 255.
the R Parameter corresponds to Max Laser Power so in case it would be 100
on S100 the Laser Powersupply has a 100% ON PMW SignalA Max Value / Restriction Parameter would be good in M452!!!
I wanted to use a normal Slicer, in my Case Prusaslicer with a Normal Printerprofile.
the Only Thing that needs to be done is to wipe the Platform before every Layer,
to Add the Powder. and a Gcode Edit need to be done.
for example, to Convert "G1 X100 Y200 E0.055" into "G1 X100 Y200 E1 S100"It should be A Gcode with a E1 Signal to Enable the Laser and a S*** Signal to
set the Laserpower for each specific G1 move.i'm developing a special GCode Editor (Windows and Mac based) to set Laserpower for Raft, Supports, Infill, Shell's.
I Want to make it as easy as possible if the Printer is Ready for a potential Fan Out in the Future.and i don't want anyone to use a Overpriced Slicer for that purpose....
(for Printers without Galvo Head)