In order to get a micron-scale accuracy I'm using a precision tool sensor touch switch that has an internal resistance of around 3MOhms and a maximum internal current of 10mA. I think the duet is unable to tell the difference between open and closed switch as I can get the stop to trigger using a wire (just touching the sensor nodes to close the loop) but the switch itself doesn't affect the print. If there a value in the firmware for sensor sensitivity?
Latest posts made by LewisB
Using high impedance limit switches
Z axis end stop active low trigger
I'm setting up a active low trigger sensor that has a closed loop when unactivated and completely disconnects when it's activated (I'm not sure if this is standard, but I don't want to miss any important details). I though I set it up properly in the firmware but there seems to be no communication between motor controls and the switch, even though the light is turning on. Current set up has the sensor wired to the E0 switch, running V18.1 firmware. Firmware and test code shown below:
M574 Z1 S1 ; set endstop configuration (Z endstops at high end, active Low, probe)
M574 X1 Y1 S0 ; set endstop configuration (X and Y endstops at high end, active high)
; Z probe
M558 P4 I1 X0 Y0 Z1 ; Z probe used for Z stop. active low (inverted current?)
G31 X6 Y0 Z2 P500 ; offset 6mm from X and 2mm from Z
M561 ; clear any existing bed transform
G30 P0 X0 Y0 Z-99999 ;Probe 4 corners and one point in center
G30 P1 X0 Y70 Z-99999
G30 P2 X45 Y70 Z-99999
G30 P3 X45 Y0 Z-99999
G30 P4 X22.5 Y35 Z-99999 S0 ;probe bed center, and calculate compensation
G1 X0 Y0 Z4 ; move the head to the home corner
I also used a dummy code to just move back and forth with an S1 parameter and got no response. To note is that the switch has a 3 MOhm resistance when closed, which may be important. Any help is greatly appreciated.
Use of non-expansion board pins
I'm looking to have two controllable 24V pins on the DuetEthernet and was originally trying to reassign heaters 1 and 2 as the source through disabling them in the firmware using:
M307 H1 A-1 C-1 D-1
M307 H2 A-1 C-1 D-1
and then using
M42 P1 S255
M42 P2 S255
in the print G-code. It seems like I'm getting a millisecond of voltage spike when the M42 is encountered, but then it seems to instantly turn off. Are the original heater sources unable to be used as I/O pins or is the G-Code incorrect?
RE: Unconventional use of heater outputs
You can turn unused heater outputs into general purpose output pins with M307, then use M42 to control them. That might be easier. Or if you only want the solenoid on during extruding moves, use M571.
Remember to connect a flyback diode in parallel with the solenoid.
Thanks for the reply! It sounds like M571 is the most direct route, so I think I'll give that a spin first. To make the extruders on would I include something in the firmware like:
M571 E0 F0
I'm not sure how the PWM should behave or if I can exclude the F variable entirely in this case. Also, thanks for the heads up on the flyback diode. I totally overlooked that and will definitely be including that going forward.
Unconventional use of heater outputs
Hi guys! I'm using a Duet Ethernet to control a fluid printer that uses a solenoid valve to control air pressure. My initial thought was to use the extruder heater outputs as the control and essentially make a macro that would consist of "if-printing, turn on, if not, turn off" with no heat-up time. Is there anyone with experience around the manipulation of the heater output or who has done something similar?