Sign in to follow this  
Followers 0
Mushu

PowerFlex 700 vector control - absolute encoder

4 posts in this topic

Hi all, We are installing a turntable with three positions; to control the three positions we are going to use a PowerFlex 700 vector control with an encoder feedback as an absolute encoder. It is not important the speed and the position could be +/- 5 degrees. It is important to "remember" the position and the home position. The PLC is a SLC500 and the VSD will be in DeviceNet. 1. How could I calculate the counts per unit? 2. In each position several tasks are done; once the task is finished, we move to the next position. How do I move from one step to another? Excuse me, I found that with P705 I can start the step. 3. Where could I find a brief explanation about how the VSD calculates the position (excuse me but it took me a while to understand that I didn't need anything at the motor shaft )? 4. As we want the system to work as an absolute encoder, Rockwell recomend it to use an encoder feedback. I haven't found much information about the encoder feedback; how does it work? Why "Units Traveled" is not enough? 5. Do you have an example that I could see? Thanks, Mushu Edited by Mushu

Share this post


Link to post
Share on other sites
I don't know what "units traveled" means. One of the biggest reasons for encoders is that they give you very high speed, high resolution indications of position. It would seem that even if you only had to move to say 4 positions (0, 90, 180, and 270 degrees), you'd just need 4 proximity switches. HOWEVER, the drive needs to know how to speed up and slow down to hit your target position. Speed (velocity really which is both speed and direction) needs pulses often enough for the drive algorithm to get a decent measurement of velocity. With just 4 inputs, the drive would have almost no knowledge of velocity. In addition, the acceleration information (first derivative of velocity) would be so crude as to be useless. In practice you need to specify the maximum velocity you plan to operate at and the accuracy such as so many degrees of rotation per second, +/-10%. Then you can calculate the required encoder resolution in pulses per revolution sufficient to give you that resolution. Calculating the velocity part is a bit more tricky but in practice you can simply multiply by a factor of 8 to get the required resolution. For example say I want to move at a rate of 30 degrees per second maximum velocity so I make a full circle in 12 seconds. If I know the diameter of the turntable, I can even translate this to linear velocity (angular velocity * diameter * PI / 360). If I want to measure this with 10% accuracy, then 10% of 30 degrees is 3 degrees, so I need 360 / 3 = 120 pulses per revolution. To make sure I have enough resolution for acceleration as well, I multiply by 8 to get 960 pulses per revolution (PPR) minimum for an encoder, so I'd usually pick a standard one such as 1024 PPR. And in practice that also defines roughly my positioning accuracy so the drive will probably work out to be able to stop pretty close to within +/-3 degrees. In practice you can't spec out a drive this tightly anyways...you need to make sure you have at least 10% reserve in terms of "velocity" because otherwise the drive will run into inertia problems when it comes to deceleration. With a slower maximum angular velocity obviously I could either go for tighter control over position or lower encoder resolution but these days a "low resolution" encoder is usually 1024 PPR, and a "high" resolution one is usually somewhere around 8192 PPR or more. If your encoder requirements get above 10,000 PPR, you might want to rethink things. A quick way by the way to improve this is to put the encoder on the motor instead of directly on the turntable. In this case, I get the multiplier of the gearbox improving things. The downside is that the gear "backlash" degrades the position control compared to direct mounting the encoder. Another issue to watch out for in terms of velocity is that if you push the encoder too far, the counter on the drive or the encoder itself might start losing the signal (bandwidth issues).

Share this post


Link to post
Share on other sites
Hi Paul, Thank you very much for your answer; it is very clear. I spoke with Rockwell technical support and the Rockwell guy that indicated all necessary equipment and I found that that I actually needed an encoder; they presumed that there was going to be an encoder and I presumed that they included all the necessary. Well, now I have my encoder: an ifm RB6029; it has 1000 RPM and it is qudrature incremental encoder. When I said: Pxxx, I meant parameters, no PowerFlex. You are right about that accelation and speed; they are important what I meant it is that I don't need to be very fast in this application (so it is good, I think). The counts per unit is a parameter of the VSD (Parameter 708); it is calculated from the encoder PPR, the gearbox ratio and another phisical measurements; I hope to have more info to calculated. I have been doing some test today; I receive the feedback from my encoder (I can see the direction). I am using Drive Executive (a Rockwell software) to configure the VSD; anybody familiar with it? At the moment I am doing test on a test rig, so I am focus on the "sequence"; could anybody help me how to do this? 1. Turn 90 degrees (f.i. to position 100) and stop 2. Wait until some tasks are perform 3. Turn -180 degrees (f.i. to position -100) and stop 4. Wait until some tasks are perform 5. Turn 90 degrees (f.i. to position 0 (home position) and stop Wait for next sequence Thanks again Paul, Mushu

Share this post


Link to post
Share on other sites
Hi All, We have been working on the system and finally we got the sequence; you have here a resume of the process, I hope it can help someone in the future: PowerFlex 700 VC with Encoder 1. Hardware: VSD: PowerFlex 700 VC – Firm. 7; AC drive PowerFlex 700, 400V, 3PH, 3.5A, 1.5KW, IP20, EMC, I/O; Cat. No. 20BC3P5A0AYNANC0Encoder Feedback: card added to the VSD: 20B-ENC-1 Ser. BBrake resistor kit, PowerFlex 700 frame 0, 380-480V, 115 Ohm: card added to the VSD: 20BD-DB1-0. Ser A.DeviceNet adapter for Powerflex 700: 20-COMM-D series B.Encoder: Efector 400 RB6029 – IFM electronicSLC500.1747-SDN: SLC devicenet scanner 2. Software: DriveExecutive. 3. Parameters: P196 [Param Access Level] = 1 Advance To set up use DriveExecutive wizards: Start up and Position Profile. P53 = FVC vector P80 = encoder P88 = Position/Speed Profile P190 = Bipolar P213 is Min Speed Limit; when the profile is running the message is Speed/Pos Prof. Dymamic Brake was chosen; it is internal resistor type. P707 need to be set to suit the application; please note that the units are “counts”. Note: in the wizard you can set the encoder and system parameters to get the counts per unit: Once P88 is set to Position/Speed profile Alarm 34 (Home not set) is set. See info about alarm: Alarm 034 [Home Not Set] Home Position Not Set § This alarm can be enabled or disabled using [Alarm Config 1]. Configurable alarm set in parameter 259, bit 17. When set to "1," this alarm is displayed when any of the following occur: · parameter 88 is set to "7" (Pos/Spd Prof) · on power up and parameter 88 = "7" · recall user sets and parameter 88 = "7" Alarm is cleared when: · setting parameter 88 to a value other than "7" · reset defaults · parameter 259, bit 17 is cleared · a digital input is configured as "Set Home" and input is True · parameter 705, bit 9 is "Enabled" · parameter 700, bit 13 (At Home) is "Enabled" - position regulator will set this bit if device is "home" Solution: parameter 705, bit 9 is "Enabled"; the alarm is cleared and P702 value is moved into P701 and the VSD can move. At this stage a homing sequence should be performed. Procedure: P705 – Set bit 10 – find homeStart VSD.Homing profile starts. VSD moves in the direction set by the polarity of the speed.When Home Limit is set (A digital input has to be configured as “Home Limit”) then the VSD would stop and bit 13: “at home” would be set in P700 and P702 value is moved into P701. We tried to move the motor to a home position based with Digital input 6 (configured as Home Limit). It worked for us several times, but then sometimes it was misbehaving. Problem 1: Homing sequence and Digital input 6 was on but the VSD didn’t stopped; so eventually we stopped the VSD manually with DriveExecutive. When we started the VSD again, P701 [units travelled] was reset to 0 and it didn’t move; even though we were receiving signals from the encoder in P414. Problem 2: Homing sequence and Digital input 6 was on but the VSD didn’t stopped; the VSD slowed down and then accelerated; eventually the VSD changed direction… and then it stopped at the point where the digital input has been set!!! But we don’t want this to happen, we want that as soon as it finds its home it stops. Solution (well or work around): Use a step with Digital input type. It does exactly the same as the homing (as far as I can see). And at the end: P705 – Set bit 9 – redefine position, so we set P701 with the home value. We need a sensor at the end of the movement. So when we need “homing” we will move in that direction (it is marked with the sign of Step Speed). We leave “Homing enable” so we get P211 – Bit 17 – Profile Set Home alarm; so we know homing is needed. It needs positive edge of “Home Limit” signal; so do not start homing (it is not needed) if the digital input is on. If you do it will run until it gets a positive edge of the digital input. Moving the turntable: encoder absolute steps. Depending on P701 (actual position) and Position the VSD will turn in one direction or another. f.i. if P701 = 50 and Position = 20: the VSD will move with negative Hz if P701 = 10 and Position = 50: the VSD will move with postitive Hz Dwell time? We thought it would hold on position for 10 seconds; but it moves around the Position!!! So it is not good for us (for this application). So to start: Set P705 bits 0-4 to give the step number in binary. Start VSD. The VSD moves to that step and does it. Once it finishes the VSD stops. If we stop prior Complete, you can restart the VSD and it will keep. To hold a step: Set P705 bit 8 to hold Start VSD if it is not running The profile will keep moving around the SP position. (Not good for us for this application; maybe for the future) To move to next step: Set P705 bit 13 to hold Start VSD if it is not running The profile will move to next step. To abort the profile: Set P705 bit 14 to abort Start VSD if it is not running The profile will stop. As you can see we have still some issues but we are hoping to solve them or to work around them... Thank you all. Regards, Mushu

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0