CNC router with stepper motors and linear magnetic scales
-
Hello,
I'm currently considering adding linear magnetic scales to a large CNC router with stepper motors and currently running with a Duet2Wifi board. There are two reasons for this modification:
- Avoiding issues step losses (not happening often but currently holding me back using more aggressive feed rates).
- Absolute precision: While the repeatability (relative precision) is already satisfying 0.01-0.02mm I'm sometimes struggling with the absolute precision i.e. what is the precision of two features machined like 2m apart. Here I can achieve <0.2mm which is satisfying to me. However the calibration process (some axis rack & pinion, some tooth belt) is quite annoying and it basically has to be re-checked every time I need that precision.
So I was considering replacing the current Duet2 board with a Duet3 plus 1HCL expansion boards. However so far I have only seen rotary encoders used with the 1HCL. Is the use of linear encoders also supported by the software?
Regards,
Marc -
@mwinterm Yes, some linear scales are supported. Note that you need an encoder on the stepper motor as well as the linear encoder. See 'Linear composite encoder' under https://docs.duet3d.com/Duet3D_hardware/Duet_3_family/Duet_3_Expansion_1HCL#compatible-encoders
If you have a specific linear magnetic scale in mind, please provide a link and we'll check compatibility.
Ian
-
@droftarts Thank you very much for your feedback. I'm looking at quadrature linear encoders that should be easy to connect to the 1HCL quadrature input. However I still have two questions:
- Why is a rotary encoder needed as well?
- There is only 1 quadrature input on the 1HCL. Does this mean the rotary encoder needs to be a magnetic encoder to be connect over the SPI encoder input?
Regards,
Marc
-
@mwinterm said in CNC router with stepper motors and linear magnetic scales:
- Why is a rotary encoder needed as well?
The shaft encoder handles motor commutation (ie turning the motor phases on and off), the linear encoder is used to close the loop. As the motor is being driven more like a servo than a stepper motor, this feedback is needed.
It may be possible to use the linear encoder only in 'Assisted open loop mode'; I'll have to check with @dc42. In this mode the motor is operated as if in open loop mode, but whenever it is detected that the error between desired and actual position is getting too high, the motor current is automatically increased until the error is reduced.Sorry, this won't work, because assisted open loop mode still uses the shaft encoder to detect slippage.
- There is only 1 quadrature input on the 1HCL. Does this mean the rotary encoder needs to be a magnetic encoder to be connect over the SPI encoder input?
Yes. Another advantage of magnetic encoders is that they have a much higher resolution than Quadrature encoders. Connecting encoders is covered here, under : https://docs.duet3d.com/Duet3D_hardware/Duet_3_family/Duet_3_Expansion_1HCL#encoders
Ian