Can I acquire motor shaft position using my motor and VFD?

Status
Not open for further replies.

belae1ka

Member
Location
mt pleasant, mi
The project I am working on is to design the control system for a shock dynamometer. The shock dyno will look a little something like this;
attachment.php


So one of the main objectives in my project is to produce a plot as seen below;
attachment.php


The force will be data coming from a load cell.

The Displacement will be the linear displacement of the shock being tested (the compression/rebound). To clarify what I mean, I have included the figure below;
attachment.php


My question is: Do you think I would be able to acquire the shaft position from my motor using my VFD?

I called AutomationDirect (the manufacturer of the VFD) and asked them this question and they told me no considering the motor I am using (3 phase) is not a servo motor but I just wanted to double check with the forums to make sure. I tried reading the encoder feedback registers through Modbus and moving the shaft by hand to see if any values changed but no luck. I'm guessing I may have to implement some kind of proximity sensor in order to acquire the data for displacement. Due to the design of the dyno, I don't think I would be able to attach an external rotary encoder to the shaft of the motor. Any suggestions?

In case it helps, below is a picture of the nameplate on the motor and also the link and model of the VFD I am using.
attachment.php


VFD: DURApulse GS3-21P0 AC Drive
VFD Manual: https://cdn.automationdirect.com/sta.../gs3m/gs3m.pdf

Thank you.

-Kevin
 
Your images are not coming through....

The site you are linking to requires a login before viewing those pages.

Try hosting the files somewhere else or uploading the images to this Forum if they are small enough.
 
If there is an encoder like you mention then there should be a way to read from it unless it has failed. There is no way I know of to
get any meaningful data out of an asynchronous motor (your motor) without an encoder. If you had a servo and controller then yes
you could do it. Your best bet is to learn your encoder and use that.
 
Are you looking for shaft position to the level of degrees, or are you essentially counting whole shaft revolutions?
The answer will narrow down the possibilities.

Without some kind of encoder, the best you could get from sensing the motor coil voltages and currents will be rough idea of the slip ratio of the motor at any point in time.

And if the motor is being externally driven by whatever load is connected to the shaft while it is not being powered, there is nothing accessible on the motor leads that could alert you to that motion.
 
]My question is: Do you think I would be able to acquire the shaft position from my motor using my VFD?

Nope. The VFD does not "know" the absolute position of the shaft. It only needs to read the shaft's speed, and perhaps the relative "position" of the stator field compared to the rotor field.

I tried reading the encoder feedback registers through Modbus and moving the shaft by hand to see if any values changed but no luck.

Now that doesn't make sense. Can't see your images, but I get the impression this encoder is pre-existing and is used for some other purpose? Is it working for its intended purpose? If so, then the data must be available. If not, then fixing the encoder problem should give you a stream of position data you can use.
 
170324-1430 EDT

belae1ka:

Is this a school class project or sponsored research?

There are major problems in coupling your drive mechanism to the shock and what you want to measure about the shock. Force is probably not a problem, displacement can be. How does motor position relate to the information you want to obtain?

Is linear motion applied to the shock, or is the shock directly driven from a point on a rotating disk?

Your loadcell axis needs to be concentric with the axis of the shock absorber.

.
 
It appears to have encoder feedback available as an option so it is quite possible that you could read the motor shaft position. I doubt you will be able to get a straight answer to this question from the run of the mill phone answerer at their tech support line.

If nothing else you could get a motor with an absolute encoder on it and tie that encoder to some kind of device that would let you read the shaft position.

This is not a difficult control problem to solve but I sense you have little or no experience in such things which can make it a lot harder.
 
The DRIVE has an encoder INPUT option. That means it has the ability to accept a signal from an encoder (but you must buy an option card for the VFD and mount it). The data registers you are looking at is where the encoder data WOULD BE, if the encoder option card was added, AND there was an encoder mounted to the motor (or load shaft). You said your motor does NOT have an encoder, nor is there room to add one.

No encoder on the motor, no signal to the encoder input option card of the VFD even if it were there, ergo no data for the encoder data registers.

So your answer is NO.

A few of the very high quality VFDs that offer an "Encoderless" Flux Vector Control option could give you an approximation of shaft position, but anything you can buy from AutomationDestruct is not going to get you there, they sell shaft turners. Still as mentioned, even that would still only be a relative position, as in relative to wherever it was just before you looked. It cannot tell you exactly where it is when you first turn it on. In theory, you might be able to cobble up a system of sensing and detecting a "home" position for the motor drive unit using a prox sensor or something, then every time you want to begin a routine, you would have the drive move to that Home position. Then it could tell you ROUGHLY where it moves to from there, but the accuracy would be not great, maybe +-10%? I'm not even sure of that. What you want is to know an "absolute" position, for which you will need what's called an "absolute encoder". There is no way to do this without it and there is no absolute encoder that doesn't need to be mounted to the shaft of the motor.

There are however things called "string encoders" that could attach to your moveable component and then to the base. With that you could get the total deflection, which I think is what you are after, is that right?
 
Status
Not open for further replies.
Top