I will test the 3-wire interface tomorrow. Although, my VFD is as far away from the duet as possible in order to avoid EMI. This means running long wires through the whole the cabinet. But it is worth a test: 🙂
I realize this post is 3 months old but thought for other CNC users looking to isolate their NPN Axis End Stop switches this might be of use , protoboard and opto isolators cost $15 , this is for a duet2 wifi
opto isolator x 4 on my Delta , allows you to use what ever voltage the sensor works best with ( in my case 24volts) , isolates the high voltage from the low , decouples any kind of line noise from steppers etc and doesn't toast the board if you plug it in backwards
in config file use
M574 X2 S1 P"!xstop" ; configure active low endstop for high end on X via pin xstop !prefix
@droftarts I mentioned laser mode because Inkscape has some useful plugins for path finding and gcode generation. I can define which gcode is used for On/Off control.
I'm not sure if my plasma cutter can handle PWM on it's control input. In the end I'd be happy to cut out shapes without controller crashes.
I found EMI filters for mains voltage, then use shielded cable and probably snap-on ferrit cores.
My hopes are that my plasma cutters "B" classification (allowed to be used in residential areas) means it has lower EMI emission.
@baird1fa that is correct, the inches/mm setting is saved on entry to any macro and restored when it exits, along with some other parameters e.g. the feed rate and whether distances are absolute or relative. So you can safely use G20 or G21 at the start of your macro to ensure that movement commands in the macro are always interpreted the same way.
If you do need to detect whether inches or mm are being used, this is set separately for every input (so a job that changes the units to inches won't affect the behaviour of the jog commands in DWC or PanelDue). The current setting can be found in the object model as inputs[N].distanceUnit. The value of N for the input making the query is state.thisInput. So you would normally request inputs[state.thisInput].distanceUnit.
@MaxGyver it might be. But that requires extra circuitry, and additional cost. Also, it’s been reported by @jay_s_uk that the spindle speed can vary if the voltage wanders, I guess depending on the quality of the PWM to 0-10V conversion and maybe interference or wiring losses. RS485 and Modbus has been suggested as a better way to control spindles, and is under consideration.
@dc42 ran the same code a second time, this time on the start of the last segment:
Line 423: G1 X263.075 Y-0.997 Z-7.000 F300.0
it never started this line, instead went diagonally towards zero i guess.. so happend 3x in a row - i was lucky that it is plywood and it did not break anything important, but there seems to be a real problem with this latest RC..
It never reached the last line, Line 424: G1 X263.075 Y-0.997 Z10.000 F1200.0, (the Z-Lift)
I also have a second job, here: 4Holes.gcode It runs before the main cut, and never has any problems. I guess the lines are too short to have any effect with the segmentation.
Here my config.g in case that helps (there is also the M669 S10 command) config.g
@Italiano85 if the distance multiplier is set to 1 and the backlash to 0.45, then a movement of 0.05mm in the opposite direction to a previous large move (so that 0.45mm of backlash needs to be taken up) should apply a correction of (0.45 * 0.05/(0.45 * 1)) mm in that move. If you command further 8 moves of 0.05mm then after those moves the backlash should be entirely taken up.
I appreciate that in a CNC application this isn't ideal, and that if no other motors are moving then it would be possible to take up all the backlash in one go, at the expense of the move taking longer than planned.
@mae18 If you bought the rotary axis from Workbee, they should be able to help you with the wiring and configuration. Otherwise, we're going to need quite a lot of info:
Duet hardware and firmware version - send M115 in the console and post response
The config.g from the Duet
A picture of the Duet, so we can see if you have a spare stepper driver (you should do)
Post code as text, preferably using the code tags in your reply (the </> symbol in the text styles panel above where you write your post) to make the code more readable, rather than posting screenshots of code. For example:
This is a code block
You can always edit your reply to get it looking right. This will help people help you!
@mattyd to set X0 Y0 to set the bottom left and positive movement to be correct you should do the following:
Set the motor directions using the M569 commands in config.g (or in your case, probably in config-drives.g) so that positive X is to the right and positive Y is away from you.
Change the M574 commands to set the endstops to low-end (e.g. X1) instead of high end (e.g. X2).
Change your homing files to move in the negative direction instead of the positive direction.