servo motor - which times are important to set?

More
13 Nov 2012 05:54 #26516 by t1m0n
Hi, I read something about base_period und servo_period in the wiki and the help but I don't understand the main different.
In my case I want to controll a servo motor with linuxcnc by the shared memory with an own driver.
I read that these two parameters are important for step generator but I think I don't use step generator.
wiki.linuxcnc.org/cgi-bin/wiki.pl?IniFile
wiki.linuxcnc.org/cgi-bin/wiki.pl?Tweaki...ose_your_BASE_PERIOD
www.linuxcnc.org/docs/devel/html/config/emc2hal.html
What are good parameters in my case and where is a good definition?

Please Log in or Create an account to join the conversation.

More
13 Nov 2012 06:08 #26517 by PCW
Normally only the servo thread is needed for servo drives
For most systems the default 1 KHz servo thread rate is suitable

Exceptions would be where encoders are read directly
from a parallel port or other GPIO so a faster (base) thread is needed.
If PWM is generated in software, a base thread would also be needed.

If your hardware takes care of the high speed logic,
you should not need a base thread.

Please Log in or Create an account to join the conversation.

More
13 Nov 2012 16:38 - 13 Nov 2012 16:40 #26523 by t1m0n
I use a servo motor with own controll. I only send the desired value to the servo. Its not the job of LinuxCNC to controll the position and correct them.
Last edit: 13 Nov 2012 16:40 by t1m0n.

Please Log in or Create an account to join the conversation.

More
13 Nov 2012 20:15 #26530 by Todd Zuercher
If you are doing software step generation you will need a base thread. It all depends on how you have it set up. Tells us more about what you plan to use.

Please Log in or Create an account to join the conversation.

More
14 Nov 2012 00:35 #26537 by t1m0n
I want to use the shared memory patch from Michael Abel: bitmuster.org/projects/emc.html.
It enable to get the positions (for x,y,z) in a 3rd. party programm.

This 3rd. party programm is my project. It use a special API to communicate with the servo motor over sercos III (real time ethernet).
For real time I use PREEMPT_RT instead of RTAI. This works nice!

But now I want to optimize the INI-Files. I can set there times like "base_period" and "servo_period".
But I'am not sure which times are important for my case because linuxcnc has not to controll the motor directly (no servo card, no parallel port).
The motor is controlled by the external servo drive which is a part of the motor.
I only have to send the positions to the servo drive and it controlls the servo motor.

My meaning is that I am independent from step generator.
Only the time which is needed to generate the positions from nc code is important because it affects the cycle time of the real time ethernet sercos III.
But which are the times I have to set with cycle time of my real time ethernet and which time I have to set with zero (0).

I know that its a special case and this is the reason how i didn't find anything about it in wiki, forum or manual.

Please Log in or Create an account to join the conversation.

More
14 Nov 2012 01:08 #26538 by PCW
If you are only sending positions to a remote device you don't need a base thread

Please Log in or Create an account to join the conversation.

More
14 Nov 2012 01:12 - 14 Nov 2012 01:14 #26539 by t1m0n

If you are only sending positions to a remote device you don't need a base thread

No base thread means
BASE_PERIOD  =               0
But what is with
SERVO_PERIOD =               ...........
?
What is the different between these period times?

Do you have a link to a good definition which explain the differences?
Last edit: 14 Nov 2012 01:14 by t1m0n.

Please Log in or Create an account to join the conversation.

More
More
14 Nov 2012 04:22 #26550 by andypugh

I want to use the shared memory patch from Michael Abel: bitmuster.org/projects/emc.html.


There is now a complete repository of LinuxCNC that can be built for RTAI, Xenomai or RT-PREEMPT.

thread.gmane.org/gmane.linux.distributions.emc.devel/8147

You might want to begin with that.

Please Log in or Create an account to join the conversation.

More
14 Nov 2012 05:42 - 14 Nov 2012 05:58 #26556 by t1m0n

I want to use the shared memory patch from Michael Abel: bitmuster.org/projects/emc.html.

There is now a complete repository of LinuxCNC that can be built for RTAI, Xenomai or RT-PREEMPT.
thread.gmane.org/gmane.linux.distributions.emc.devel/8147
You might want to begin with that.

Very nice! Good job! But I use 3.4.9-rt17 with ubuntu 10.04 and it works :)
Is the Shared Memory a official part of the mainbranch from linuxcnc now???
I tried to download it with git clone git://git.linuxcnc.org/git/emc2.git emc2-dev but I don't find the integrated sharedmemory.

They are used by the motion component...
linuxcnc.org/docs/html/man/man9/motion.9.html
linuxcnc.org/docs/html/hal/tutorial.html#_stepgen_example
linuxcnc.org/docs/html/man/man9/threads.9.html
John

These links doen't given an answer for my question :(
Last edit: 14 Nov 2012 05:58 by t1m0n.

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.098 seconds
Powered by Kunena Forum