Spindle nema 34 duet 2 wifi
-
@paolozampini1973 I’d think you want a proper spindle for milling and drilling, not a NEMA17, even at 3:1. Most operations would be at high rpm that stepper motors are just not designed for. You would have to use a second Gcode stream to control it, otherwise the spindle would turn at the feedrate of the current move, and be coordinated with it.
Ian
-
@droftarts said in Spindle nema 34 duet 2 wifi:
@paolozampini1973 I’d think you want a proper spindle for milling and drilling, not a NEMA17, even at 3:1. Most operations would be at high rpm that stepper motors are just not designed for. You would have to use a second Gcode stream to control it, otherwise the spindle would turn at the feedrate of the current move, and be coordinated with it.
Ian
For sure. Much easier to configure and control, too.
-
@paolozampini1973 in your original question, is the NEMA34 for the main lathe spindle/chuck? Because you will have the same problem there; coordinating the stepper motor for continuous rotation for normal lathe operations. I don’t know if there is a stepper or servo controller than you can switch from step control to continuous rotation.
Ian
-
@droftarts
If I understood him right, the NEMA34 chuck is for thread cutting. One of the rare usecases where a stepper is superiour to a spindle motor; he don't need a gearbox with the right ratio to match spindle RPM with thread pitch. -
@o_lampe You're right, if it's just for thread cutting then a stepper would work well. For more general lathe use, either an indexing DC motor, or a servo motor with step and continuous operation (if such a thing exists) would be better.
Ian
-
@droftarts said in Spindle nema 34 duet 2 wifi:
@o_lampe You're right, if it's just for thread cutting then a stepper would work well. For more general lathe use, either an indexing DC motor, or a servo motor with step and continuous operation (if such a thing exists) would be better.
Ian
My basic understanding is that the 1HCL driver has two similar modes to what is being suggested above, traditional step mode for open loop and then it drives the stepper in a pseudo torque mode as if it was a brushless motor when in closed loop. I may have misunderstood but I'm sure @dc42 would be able to confirm or deny.
If that's true then Duet may already have a hardware solution that could be repurposed with a new firmware build.
Interested as I hav a Denford CNC lathe to convert some time in the future...
-
@CNCModeller No, not really. Both open and closed loop modes of the 1HCL use step-and-direction-based inputs, coordinated with other axes. Open loop mode is just like 'normal' stepper drivers. Closed loop mode is still coordinated with other Gcode based movements, just with feedback and, as you say, is a pseudo torque mode, ie will try to get to the position commanded, or generate an error if it doesn't. It's not acting like a spindle, which is turned on, runs at a given speed (usually rpm) while other axes control the coordinated movement, and then stops when commanded.
Though perhaps such a 'spindle' mode for stepper drivers could be added to the firmware wishlist? I'm still not sure if it is an ideal use of a stepper motor, though.
Ian
-
@droftarts said in Spindle nema 34 duet 2 wifi:
such a 'spindle' mode for stepper drivers could be added to the firmware wishlist?
I believe, we've asked infinite rotation as FW feature before.
But there was a good reason, why it's complicated to implement. Can't describe it with my own words. Brain is frozen -
@o_lampe said in Spindle nema 34 duet 2 wifi:
@droftarts said in Spindle nema 34 duet 2 wifi:
such a 'spindle' mode for stepper drivers could be added to the firmware wishlist?
yesI believe, we've asked infinite rotation as FW feature before.
But there was a good reason, why it's complicated to implement. Can't describe it with my own words. Brain is frozen -
Firmware organizes all axis movements in time frames (X moves n mm in 0.1 seconds, Y m mm in the same time etc.). A continuous movement doesn't have a time frame (because it's infinity time), so it's a problem.
A solution could be to add a separate FreeRTOS task which makes the continuous movement for a (stepper-)motor by generating own stepper signals without any time frame planning. It would run isolated from all other movements, but this needs to be added to the firmware, something for the wishlist.
-
@JoergS5
Even that solution wouldn't work for thread cutting. Just switching on the isolated pulse generator wouldn't happen in sync with acceleration of the other axis.
That way, you can only cut a thread in one go, but AFAIK you need several runs and always have to find the same starting point... -
@JoergS5 said in Spindle nema 34 duet 2 wifi:
Firmware organizes all axis movements in time frames (X moves n mm in 0.1 seconds, Y m mm in the same time etc.). A continuous movement doesn't have a time frame (because it's infinity time), so it's a problem.
A solution could be to add a separate FreeRTOS task which makes the continuous movement for a (stepper-)motor by generating own stepper signals without any time frame planning. It would run isolated from all other movements, but this needs to be added to the firmware, something for the wishlist.
thank you
-
@dc42
firmware from what I understood from the various posts it seems that it is not possible to have with a stepper motor the same functionalities of the vfd motor because the firmware cannot handle it is it possible to implement this function please -
@o_lampe said in Spindle nema 34 duet 2 wifi:
have to find the same starting point...
my proposal is to implement it step by step and start with a continuous axis in a separate task. This allows to gather experience wheter e.g. performance is sufficient.
In longer perspective
- FreeRTOS trasks are able to inter-process-communicate, i.e. tell each others the status, i.e. synchronize tasks
- the tasks could be delegated to separate cards then, so step signals don't disturb each other
- the tasks could execute different kinematics, so multiple kinematics become possible
- a synchronzation process for all boards through CAN can make sure that a global job scheduler can manage the movements. E.g. by synchronizing the system tick numbers
-
@JoergS5 said in Spindle nema 34 duet 2 wifi:
FreeRTOS
thanks for the answer But honestly I don't want to start writing a program to make a function that in my opinion was a very very very simple function
-
@paolozampini1973 no, no, I don't mean that you do it, but one of the developers of RepRapFirmware. I meant this with wishlist: there is a list somewhere what features are wished to be added to future versions.
A simple requirement, a single continuous axis without synchronization, which is useful for many users have a much higher chance to be implemented than the other ideas I wrote.
-
@JoergS5 said in Spindle nema 34 duet 2 wifi:
@paolozampini1973 no, no, I don't mean that you do it, but one of the developers of RepRapFirmware. I meant this with wishlist: there is a list somewhere what features are wished to be added to future versions.
A simple requirement, a single continuous axis without synchronization, which is useful for many users have a much higher chance to be implemented than the other ideas I wrote.
now i understand in the function wishlist But where is this list where you have to make the request?
-
@paolozampini1973 @CNCModeller if there is enough interest then I can look at providing the option to run a stepper motor as a spindle in a future version of RRF. However, it's likely to be a Duet 3 feature only because of lack of flash memory on Duet 2.
-
@dc42 it would be a good use case for the 1HCL boards. maintaining a certain RPM with feedback
-
@jay_s_uk
That would make sense, if the feedback loop would control the spindle/stepper current. Or do you want to reduce XYZ-speed, when the stepper skips steps due to overload?