Help picking mesa board redcaps/bldc component
- gmouer
- Offline
- Elite Member
Less
More
- Posts: 224
- Thank you received: 7
02 Sep 2015 19:38 - 02 Sep 2015 19:39 #62054
by gmouer
Of course that prompted another question. The more I learn the more I realize what I don;t know.
Wouldn't setting it to 5khz from the normal 50khz also slow the motion planning part down also? There is only one base thread, we can set it to floating point and define its speed but there still is only a single base thread, correct? I must be missing something here.
Replied by gmouer on topic Help picking mesa board redcaps/bldc component
I realize the question is intended for Pete but it prompted a question from me. I was not aware that more than one servo thread could be used, can you explain that a bit? All the HAL's I have seen (used) had a single base and servo thread.
Typically motmod starts two threads as you describe
www.linuxcnc.org/docs/html/man/man9/motion.9.html
It is quite common to not define the base thread for a Pico / Mesa / General Mechatronics setup, as it is not needed.
If you look at the manpage there, you can see that there is an option "base_thread_fp=1" to enable floating-point calculations in the base thread (which you would then set to 5kHz rather than the normal 50kHz)
There is no point running bldc at 5kHz unless the inputs and outputs are also updated at that rate, so the hm2 read and write functions also need to be in the fast thread.
Of course that prompted another question. The more I learn the more I realize what I don;t know.
Wouldn't setting it to 5khz from the normal 50khz also slow the motion planning part down also? There is only one base thread, we can set it to floating point and define its speed but there still is only a single base thread, correct? I must be missing something here.
Last edit: 02 Sep 2015 19:39 by gmouer.
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23559
- Thank you received: 4858
02 Sep 2015 19:40 #62055
by andypugh
A typical Mesa config has absolutely nothing running in the base thread.
Motion runs in the servo thread.
Replied by andypugh on topic Help picking mesa board redcaps/bldc component
Wouldn't setting it to 5khz from the normal 50khz also slow the motion control part down also? There is only one base thread, we can set it to floating point and define its speed but there still is only a single base thread, correct? I must be missing something here.
A typical Mesa config has absolutely nothing running in the base thread.
Motion runs in the servo thread.
Please Log in or Create an account to join the conversation.
- gmouer
- Offline
- Elite Member
Less
More
- Posts: 224
- Thank you received: 7
02 Sep 2015 19:49 - 02 Sep 2015 19:50 #62056
by gmouer
Replied by gmouer on topic Help picking mesa board redcaps/bldc component
I am going to have to digest this for a while and do some more reading. We can still get the hardware decided and ordered, the software comes later anyways.
Last edit: 02 Sep 2015 19:50 by gmouer.
Please Log in or Create an account to join the conversation.
- gmouer
- Offline
- Elite Member
Less
More
- Posts: 224
- Thank you received: 7
04 Sep 2015 21:25 #62123
by gmouer
Replied by gmouer on topic Help picking mesa board redcaps/bldc component
Ok, so I have been pondering this stuff a bit and have some questions.
My assumption is the default base thread is run at 50khz, and is not normally used with a mesa board setup, and the idea is to lower that base thread to 5khz and use that base thread to handle the mesa read/write cycles. Correct?
I go back to Petes statement that a Atom computer stresses out at anything over 2khz and wouldn't be up to the job of the required 5khz thread speed. Is Pete talking about the thread running in the servo thread in that case? I am confused why something like the atom, if it can handle software step generation at the default base thread speed of 50khz then why couldn't it run at a much reduced base thread of 5khz and handle the commutation tasks in that base thread?
I am thinking Petes statements of the processor horsepower needed to run a 5khz thread is talking about the servo thread, not the base thread. Andy's comments were talking about using the unused base thread for the commutation task. Have I got this right?
I am thinking the processor horsepower requirements vary widely depending on which thread the commutation tasks are handled in.
No doubt you guys can slap my thinking back onto the correct road.
My assumption is the default base thread is run at 50khz, and is not normally used with a mesa board setup, and the idea is to lower that base thread to 5khz and use that base thread to handle the mesa read/write cycles. Correct?
I go back to Petes statement that a Atom computer stresses out at anything over 2khz and wouldn't be up to the job of the required 5khz thread speed. Is Pete talking about the thread running in the servo thread in that case? I am confused why something like the atom, if it can handle software step generation at the default base thread speed of 50khz then why couldn't it run at a much reduced base thread of 5khz and handle the commutation tasks in that base thread?
I am thinking Petes statements of the processor horsepower needed to run a 5khz thread is talking about the servo thread, not the base thread. Andy's comments were talking about using the unused base thread for the commutation task. Have I got this right?
I am thinking the processor horsepower requirements vary widely depending on which thread the commutation tasks are handled in.
No doubt you guys can slap my thinking back onto the correct road.
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17904
- Thank you received: 4774
04 Sep 2015 21:36 - 04 Sep 2015 21:36 #62124
by PCW
Replied by PCW on topic Help picking mesa board redcaps/bldc component
Normally I would run everything in a single servo thread at its just just simpler and less chance for
order problems that way, also unless you are running drives with tachometer feedback
you are in torque mode which will need a high servo thread rate for best performance
order problems that way, also unless you are running drives with tachometer feedback
you are in torque mode which will need a high servo thread rate for best performance
Last edit: 04 Sep 2015 21:36 by PCW.
Please Log in or Create an account to join the conversation.
- gmouer
- Offline
- Elite Member
Less
More
- Posts: 224
- Thank you received: 7
04 Sep 2015 21:38 - 04 Sep 2015 21:39 #62125
by gmouer
Going to use AMC brushless drives, in velocity mode, using encoder feedback to the drives (BE25a20 drives have encoder feedback inputs or tach). The positioning PID loop will be in Linuxcnc. (encoder also feeds into 7i77 encoder input)
Replied by gmouer on topic Help picking mesa board redcaps/bldc component
Normally I would run everything in a single servo thread at its just just simpler and less chance for
order problems that way, also unless you are running drives with tachometer feedback
you are in torque mode which will need a high servo thread rate for best performance
Going to use AMC brushless drives, in velocity mode, using encoder feedback to the drives (BE25a20 drives have encoder feedback inputs or tach). The positioning PID loop will be in Linuxcnc. (encoder also feeds into 7i77 encoder input)
Last edit: 04 Sep 2015 21:39 by gmouer.
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17904
- Thank you received: 4774
04 Sep 2015 21:44 #62126
by PCW
Replied by PCW on topic Help picking mesa board redcaps/bldc component
OK that helps but I still think using multiple threads for this is inadvisable
Please Log in or Create an account to join the conversation.
- gmouer
- Offline
- Elite Member
Less
More
- Posts: 224
- Thank you received: 7
04 Sep 2015 21:48 #62127
by gmouer
I understand. Splitting the I/O between the 2 threads opens up the potential for timing issues. We certainly don't need to look for that kind of trouble. Troubleshooting it would get very nasty.
A quick question.... for a initial bench test, with one motor, the commutation in and out signals would be 5V, what do you think of using the 5i25's spare db25 connector as GPIO for this? Its only for a bench test to prove the motor/drive/bldc commutation functionality.
Replied by gmouer on topic Help picking mesa board redcaps/bldc component
OK that helps but I still think using multiple threads for this is inadvisable
I understand. Splitting the I/O between the 2 threads opens up the potential for timing issues. We certainly don't need to look for that kind of trouble. Troubleshooting it would get very nasty.
A quick question.... for a initial bench test, with one motor, the commutation in and out signals would be 5V, what do you think of using the 5i25's spare db25 connector as GPIO for this? Its only for a bench test to prove the motor/drive/bldc commutation functionality.
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23559
- Thank you received: 4858
04 Sep 2015 22:07 #62129
by andypugh
A normal base-thread runs a very few very simple tasks with no floating-point calculations. Everything that runs in the stepgen / pwmgen base thread functions is pared down to take the minimum CPU time.
If you are commutating in the fast thread then you have to enable floating-point calculations in that thread, and there is some trigonometry involved which takes a bit of CPU power.
Replied by andypugh on topic Help picking mesa board redcaps/bldc component
, if it can handle software step generation at the default base thread speed of 50khz then why couldn't it run at a much reduced base thread of 5khz and handle the commutation tasks
A normal base-thread runs a very few very simple tasks with no floating-point calculations. Everything that runs in the stepgen / pwmgen base thread functions is pared down to take the minimum CPU time.
If you are commutating in the fast thread then you have to enable floating-point calculations in that thread, and there is some trigonometry involved which takes a bit of CPU power.
Please Log in or Create an account to join the conversation.
Moderators: PCW, jmelson
Time to create page: 0.103 seconds