Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Which Compact RIO Chassis and Controlleur for 3 axis control

2 views
Skip to first unread message

paubine

unread,
Jul 14, 2008, 2:40:15 PM7/14/08
to
I don't know what to do!
 
Should I invest in NI SoftMotion...?
It's my first project as a mechanical engineer junior ... lots of money to invest...I prefered NI to all other motion controller till the beginning because of the "custom" but now, if I have an other software to buy... I will have to do a part of my career in controling robots :)
NI Softmotion look simplier to control motion but... what will be the result of not using NI Softmotion? I'm doing gearing from a master encoder...(kind of contour move, no need of Softmotion, I think), other then that, straight line move...
 
gearing:
slave 1 = blablabla * cos(theta_master)
slave 2 = blablabla * cos(theta_master)
 
I return the 9102 and the 9012 and asked for the cRIO-9074 in case I have to use NI Softmotion. (it's 575$ more expensive, not too bad)
 
What do you think?
 
Thanks again,
Patrick

paubine

unread,
Jul 16, 2008, 3:10:13 PM7/16/08
to
What exactly mean "coordinated"? (setpoint of each axis has to be coordinated?)
Also, what would you do to implement these equations to NI Softmotion, you would give the setpoint from the equations to which fonction (straight line move?)  or where would you write the equations?
Thanks again
Patrick

paubine

unread,
Jul 18, 2008, 9:40:10 AM7/18/08
to
Jochen,
Yes, you answered my question for the "coordinated" move. thanks!
As for the gearing with NI Softmotion? My 2 slaves axes displacement depend on the counts of the master...
master counts in -> (black box of equations) -> position of the 2 slaves (slave count)
So each count of the master give a new position for the two slaves with acceleration and speed not constant for all the trajectory, which last 1 sec. (with accelaration and speed "ok" for the positionning tables and ratio of 3:1)
The master is a 2000 counts encoder, so labview will give 2000 positions targets to the slaves in 1 sec (master shaft is 1rps)... the master encoder resolution is enought? 2KHz ?
Everything should work with a simple PID, but I was wondering if NI Softmotion could help me.... and now... :) if my encoder has enough counts/revolution
Thanks,
Patrick

paubine

unread,
Jul 18, 2008, 11:10:14 AM7/18/08
to
Jochen,
 
The higher frequency control loop is not necessarly the best for controlling? why do you suggest 500Hz instead of 2KHz?
Any theories on that subject?
 
Thank,
Pat

paubine

unread,
Jul 24, 2008, 5:40:11 PM7/24/08
to
Thanks Jochen!
I will try at 500Hz but I have an other question...?
I have to stop the movement of the slaves when the MASTER do 1 revolution. I have to verify with the RT controller each count to see if it reaches " the value".
If the loop is at 500Hz, the RT controller will miss "the value" and the slaves won't stop...
What do you think...
Thanks a lot again
Patrick

Jochen

unread,
Jul 25, 2008, 3:40:12 AM7/25/08
to
Patrick, there is much more about stopping a DC motor exactly at a certain position than just the PID rate. Even if you would do the position compares at a much higher rate, this wouldn't allow you to stop the motor immediately and these are the reasons and things to consider:- The mechanical system has some inertia. As long as you don't decelerate smoothly to the target position there will always be some overshot.
- What do you plan to do when you reach the target position? Do you want to set the current position as the new setpoint for the PID controller and keep it? Again: This will generate some overshot.
- Another method could be to set the analog output to the maximum negative value (when moving into forward direction), to make the motor decelerate with maximum torque. This will be the fastest method to stop the motor from going forward, but it might become quite tricky to prevent the motor from accelerating into the negative direction.
The best method is to decelerate the motor to a stop, but I don't know if this is possible in your application. If absolutely no overshot is allowed and if you can't decelerate in a controlled way, the PID rate is your least problem, as in this context inertia and the mechanical response times typically have a much more significant impact on the system than the PID rate.Jochen

paubine

unread,
Jul 25, 2008, 10:10:17 AM7/25/08
to
Jochen,
My plan was to decelerates smoothly to a stop after reaching a particular value. (example : when you see count 35 000, decelerate to a stop) ...(I can use "if over 35000", decelerate to stop, it's not critical)
But, I will also have to start a movement when the master encoder will be at a particular value. (example : when master is at count 2000, start the 2 slave) ... i don't want to approximate this time, I have to start the 2 slaves when the master is at 2000... and every axes has to be coordinated.... (it's like, if I want to reset the position value with the index pulse, but in the software instead of the fpga, RT is fast enough)
I'm aware of intertia etc... the problem is that I want that the Real Time, be fast enought to detect those counts or find a way to not miss count read in RT...
not sure if i'm clear? :)
Thanks
Patrick

paubine

unread,
Jul 25, 2008, 5:10:11 PM7/25/08
to
The encoder is already ordered and unfortunatly not refundable!
 
I will figure in the testing part of the project if I have to change or not the encoder for a higher resolution one... I think I won't have choice but... the good thing is that I know it can be the problem!
 
A big thank again for your help
 
Patrick
0 new messages