Help implementing a unsynchronized continous axis
-
Hi, Im working on a project where i need to incorporate a continously rotating axis at a specific RPM. It is a Nema11 stepper motor mounted on the toolhead, on a modified E3D Toolchanger. I´ve seen several threads on multiple motions systems, but I cant seem to understand how i would implements this.
The XYZC will run regular gcode, but while that is running, i want to be able to have the NEMA11 running continously at a specified RPM.
I understand that this might be possible to implement with the Duet 3 boards, but im running Duet2 Wifi on all my machines. I talked to David during Formnext last year and got the impression that this could be possible to implement, but I did not get exactly how.
The rotation could be started manually before I start my printing gcode, with a simple macro where the RPM is defined, and I can manually turn it off with another script after my printing is done.
Im currently running it with a separate driver via a RPi, but i would be alot neater if I could just use one of my spare drivers on the Duet 2 WiFi or Duex5 board.
Thanks in advance!
-
@aze You should try to run the movement commands on a separate G-Code command queue within the daemon.g file. Should only work in RRF3.5
-
@aze My best guess is to define the motor as spindle and use an external stepper driver for it. You won't have acceleration/deceleration control and setting microstepping/motorcurrent must be done the old fashioned way with jumpers and potmeter.
You could connect the external driver via the expansion port or the EXP1/EXP2 connectors.
I'm not sure if RRFs spindle tool includes enable signal, but you can define pins for direction and speed. -
@aze this isn't easy to do on Duet 2 because multiple motion systems are only implemented on Duet 3 because of memory constraints. However, we plan to add a separate facility t support continuous un-synced motion in future, and we may support that on Duet 2 as well as Duet 3.