Using closed loop with Maxxon drivers
- leonardo.calixto06
- Offline
- New Member
Less
More
- Posts: 1
- Thank you received: 0
26 Sep 2012 00:17 #24625
by leonardo.calixto06
Using closed loop with Maxxon drivers was created by leonardo.calixto06
Hey guys,
I'm trying to use Maxxon drivers in closed loop with CNCLinux, but I am having trouble in the configuration. Does the CNCLinux have the option to work in closed loop throught the parallel port (using encoders) with a non-Mesa driver ?
Thanks !
I'm trying to use Maxxon drivers in closed loop with CNCLinux, but I am having trouble in the configuration. Does the CNCLinux have the option to work in closed loop throught the parallel port (using encoders) with a non-Mesa driver ?
Thanks !
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17899
- Thank you received: 4774
26 Sep 2012 00:44 #24626
by PCW
Replied by PCW on topic Re:Using closed loop with Maxxon drivers
Please Log in or Create an account to join the conversation.
- jmelson
- Away
- Moderator
Less
More
- Posts: 816
- Thank you received: 150
26 Sep 2012 01:20 #24627
by jmelson
Replied by jmelson on topic Re:Using closed loop with Maxxon drivers
leonardo.calixto06 wrote:
read encoder position. You would have to add at least one additional parallel port
set for input to get the encoder signals into the CPU. But, the speed at which the
software encoder component can read encoder counts may be too low.
You can calculate the rate. Motor RPM / 60 * encoder line count * 4 (for quadrature)
will be the quadrature counts/second rate. You need to have somewhat more than
this number of base thread dispatches/second, or encoder counts will be missed.
In the .ini file, there will be a line that reads BASE_PERIOD = xxxxxx
this is the dispatch period in ns, so that number / 1000000000 = time in seconds,
then 1/x that is BASE rate in seconds. So, a BASE_PERIOD of 20000 would be
20 us or 50,000 per second, which might reliably read an encoder count rate
of 30,000/second.
Unless your encoder resolution is low, or your speed is kept low, you may
exceed the ability of the software encoder component to keep up. Exceeding
this will cause a servo runaway, which is not a good thing.
So, a better way is to use external hardware to do this. The Pico Systems
Universal Stepper Controller can do this, and there are Mesa and other
products as well.
Jon
If you are sending step/dir signals out the parallel port, there are very few pins left toHey guys,
I'm trying to use Maxxon drivers in closed loop with CNCLinux, but I am having trouble in the configuration. Does the CNCLinux have the option to work in closed loop throught the parallel port (using encoders) with a non-Mesa driver ?
Thanks !
read encoder position. You would have to add at least one additional parallel port
set for input to get the encoder signals into the CPU. But, the speed at which the
software encoder component can read encoder counts may be too low.
You can calculate the rate. Motor RPM / 60 * encoder line count * 4 (for quadrature)
will be the quadrature counts/second rate. You need to have somewhat more than
this number of base thread dispatches/second, or encoder counts will be missed.
In the .ini file, there will be a line that reads BASE_PERIOD = xxxxxx
this is the dispatch period in ns, so that number / 1000000000 = time in seconds,
then 1/x that is BASE rate in seconds. So, a BASE_PERIOD of 20000 would be
20 us or 50,000 per second, which might reliably read an encoder count rate
of 30,000/second.
Unless your encoder resolution is low, or your speed is kept low, you may
exceed the ability of the software encoder component to keep up. Exceeding
this will cause a servo runaway, which is not a good thing.
So, a better way is to use external hardware to do this. The Pico Systems
Universal Stepper Controller can do this, and there are Mesa and other
products as well.
Jon
Please Log in or Create an account to join the conversation.
Moderators: PCW, jmelson
Time to create page: 0.079 seconds