Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

What's the best way to set a Home position using an analog force feedback?

I'm currently moving the axis in velocity mode until the ADC channel reading meets or exceeds the desired analog value and then setting the position to zero.  Is there a better way to do this?  Is there any way to use the Find Reference vi with an analog feedback instead of an encoder feedback?  I'm using a PCI-7352, UMI-7772, and LabVIEW 8.5.
Thank you,
Kevin Hanson
0 Kudos
Message 1 of 6
(4,086 Views)
Hey Kevlar,
 
Thanks for contacting National Instruments.  It sounds like you are approaching this the correct way, however, I have found a couple of knowledge bases that should help you out.  The first one found here is a Knowledgebase that tells how to setup and configure a stepper motor.  The next Knowledgebase found here talks about how to configure a stepper to be used with Analog Feedback.  I hope these help you, particularly the second knowledgebase where it talks about setting the steps for the ADC.  Let me know if I can help clear anything up!
 
Take Care,
 
Evan D.
Installer R&D
National Instruments
0 Kudos
Message 2 of 6
(4,059 Views)

Evan,

Thanks for the response but unfortunately the stepper instructions won't help me since I've got a servo motion system (which I should have mentioned in the first post).

The rest of my system is a pneumatic cylinder with a linear resistive transducer for the primary analog position feedback on ADC1, a Textron pneumatic servovalve, and a load cell for the secondary analog force feedback on ADC3.  I've configured Axis 1 for a servo motor with external commutation and analog feedback, I've tuned the PID gains, and the motion system works fine so I'm looking for LabVIEW programming help as opposed to configuration help.

The Home position has to be with the test stack just barely closed with a low force applied so there is no strain in the system.  I'm first closing the stack at a velocity that results in a force higher than what I want, backing off slowly till the force goes to zero, then closing slowly till the force desired is reached, and then the axis is halted and the position reset to zero.  If I don't put a Wait vi in the while loops for reading the force feedback (ADC3) the program goes to the next sequence before the move is completed but if the Wait period is too long it overshoots the desired force.  I'm looking for example code or tricks that will give me a more repeatable Homing sequence in my test programs.

Thanks again for your help,

Kevin Hanson

0 Kudos
Message 3 of 6
(4,055 Views)
Hey Kevin,
 
Sorry about the earlier post. I assumed you were using stepper motors.  With servos and analog voltage feedback, you should be able to tune the servo to where it always knows where home is.  You did say that you have it configured right in MAX, now you're just looking for any tips or tricks.
 
Well, in looking over your problem, I went to the example finder and found several examples that demonstrate the find reference and the wait VI's.  Theoretically, these VI's should work with any type of feedback as long as it's configured correctly in MAX.  One VI in particular I found was "One-Axis Find Reference with Status.VI".  This shows how you could use the find reference vi to start the search for home and then use the wait to pause until home is found.

It sounds like the method you are using right now by setting the position to 0 after you find home is a good sound method, but I am unsure of why the Wait VI would cause the motor to overshoot it's home position sometimes.  I will do a little research and see if I can cause that to happen to me.
 
I hope the example helps you Kevin.  Have a great night.
 
Take Care,
 
Evan D.
Installer R&D
National Instruments
0 Kudos
Message 4 of 6
(4,038 Views)

Evan,

I think I'm confusing things here by using the term "Home" when I probably should just be calling it the Zero position.

Check me if I'm wrong, but to use the Find Reference vi don't you need an electrical switch wired to the Home terminal in the UMI, which I don't have.  My neo-Home or Zero position has to be with the test stack just barely closed with the actuator exerting a specific and repeatable force against a hard stop.

Or are you saying that I could connect the 0 -10 volt feedback from the load cell amplifier to the Home terminal in the UMI and the Find Reference move would be complete when it sensed a voltage feedback?  If so what voltage value would trigger that?

Or is my current method of approaching it (while reading ADC3), backing off, and then slowly approaching it again the most repeatable way to do this?

Thank you very much,

Kevin

0 Kudos
Message 5 of 6
(4,027 Views)
Hey Kevin,
 
I do apologize.  I had misunderstood you with your home terminology.  If you just want a home position where the force is close to equilibrium, then your current method of slowly finding this position and setting the position to 0 once it's there is the most efficient way.  By doing this, you give your system a point of reference that it shouldn't lose as long as it's powered.  You will probably have to do this everytime the machine is started, correct?  Again, I apologize for misunderstanding your wording. Smiley Happy

Take Care,

Evan D.
Installer R&D
National Instruments
0 Kudos
Message 6 of 6
(4,009 Views)