12-15-2008 08:40 AM
Hi,
I would like to have an information...
Here is the situation :
I am using NI Softmotion Dev. Module.
I'm using ball screw table
I'm presently using an axes in positionning mode and in torque mode. When I'm using it in torque mode I'm desactivating the positionning loop on the FPGA and I'm sending a command to the analog output directly (-32xxx to 32xxx), to simply push against a rotating brush.
The problem is that it's really hard to push at a precise force because of friction and that I have presently no feedback... I'm only pushing at around 1000 on a word of 32000. The axes is sometimes pushing to hard and the engine of the brush is dying..
The other problem is also that the part that is on the axes and that the axes push on the brush is not always the same weight (so I have to change the analog output each time the part change to compensate for the friction added to the axes)
My idea is to take the 0-10v signal (load of motor) from the brush motor drive to have a feedback of how much the axes is pushing on the brush.
My question :
What is the best way to program this? I'm thinking of leaving the axis in position mode and then go forward / go backward / or stop, depending on analog INPUT value.
But is there a way to use a torque PID in this situation? How will it work... ?
I need some idea please?
Thanks,
Patrick
12-16-2008 06:21 PM
12-16-2008 07:23 PM
I'm not using a 9505, I'm using an NI 9263 and a NI 9411... (but there is no difference for my question)
My question is maybe not clear but ... I'm able to move all the axis with the PIDs, timing between FPGA and RT etc...everything work perfectly.
My question is that I want to press against a rotating brush and control that force (felt by the engine of the brush) via a cell. (in this case the cell is the amperage of a motor)
I wanted to know what is the best way to do that : Control a force with a "force cell"
ex: setpoint will be a value from the 0-10v of the motor drive (0= 0% of the load and 10v = 100% of the load) I want to reach a certain value felt by the brush motor (ex. 70% so 7v) by pressing on the rotating shaft (brush) via an analog ouput of the ballscrew table (servo motor)...
( I'm out of the positionning loop for that step) exept if I want to move on the object and stop if I reach the value from the analog (amp) of the brush motor (0-10v)....
As I said, I'm doing positionning and force control... positionning can be done with the exemple given.. but for force control... I do not find a lot of information of people that have done that.
I'm presently pushing with no feedback of how the brush felt this force... nothing is constant....
Patrick
12-17-2008 03:59 PM - edited 12-17-2008 04:00 PM
It sounds like you want there to be feedback. The force cell sounds like what you are trying to use for feedback. How are you reading that value in? Or, if I understood that wrong, then maybe you want the amperage to be the feedback. Are you able to read in current using your 9263 or 9411? Whatever you want to be the feedback value has to be read back in. How do you intend to do that?
You are trying to do a closed loop control with an open loop. That is not possible. Once you determine how to close the loop you will be golden.
12-17-2008 06:22 PM
seVEMes,
Thanks for helping.
I'm reading the value of the motor load in 0-10v with a NI 9201 +-10v analog input.
I'll try to activate a closed torque control PID loop with the load cell (process variable) and the analog output of the axes (pid output). I will desactivate the control positionning loop when the torque control loop will be active.
I'll give you news...
Patrick