News:

  • April 16, 2024, 02:55:50 AM

Login with username, password and session length

Author Topic: H2-CTRIO(2) IBOX Load Profile Limit input  (Read 24797 times)

Dan R

  • Full Member
  • ***
  • Posts: 21
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #15 on: January 14, 2015, 11:56:59 AM »
I am using a trap + but have not yet made use of encoder feedback for positioning - just for readout

ATU

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 2121
  • YKPAIHA
    • ATU, Inc.
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #16 on: January 15, 2015, 02:42:30 PM »
I had just altered my inertia to a default of (1.0 x rotor inertia).

I was asking if you calculated the actual load inertia of what the motor sees.  That parameter you set tells the drive what the reflected inertia is. There are motor sizing programs that you can use to calculate this. If this mismatch is too great, you will see problems like this. That is why I had asked if you tried the moves with the motors disconnected from the load. If you have the same problem then I would say that it is probably a programming issue. If it disappears, then I would look at your motor to load inertia ratio and see if it could be reduced by using a gear reduction. If I had a photo of your setup, it may be more helpful. Sometimes also, micro stepping can be inaccurate. Basically it is a 200 step motor where there are 200 locations where the motor's holding torque is the greatest. They get the micro step positions by adjusting the current in the windings. If there is a force on the motor and it ends up at one of the weaker step positions, it might pull it back some and you loose steps. When the motor is first energized, it will jump to a stable position. Try to realign your end position on one of these stable points.

Dan R

  • Full Member
  • ***
  • Posts: 21
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #17 on: January 15, 2015, 05:39:51 PM »
I didn't have the opportunity to pull the motors to test like you suggested.  I'll try over this weekend.  My load inertia was calculated earlier and motor sizing software was used by the sales engineer who I ordered these NEMA23 steppers & belt drives from. I've changed the pick and place head design that I'm anchoring to the drives.  The weight has increased a little (from 15 oz to 23 oz) but my X dim reduced from 4" to 2.5" and my Y dim reduced from 2" to 0" (flush mounted on drive head).  I do see that I need to adjust my load inertia value entered into the motor setup software.  I'll test this too over the weekend as the machine is going through some guard work as we progress with the whole package.

It just seems strange that the offset is equal but in opposite directions.  I'm concerned about the stepper accuracy statement you made in your last message.

My top out position (top dwell) is only about 200 pulses from my travel limit switch that I use as max up travel (and Homing) that I could actually home it at top dwell every cycle.  The position at top dwell will never change in this machine and I might have enough dwell time to actuate a Homing profile before the down stroke is initiated.  Doing wouldn't stop the ~ 4 pulses being left but it would clear the cascading offset from cycle to cycle.

Thanks for your input.

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 5983
  • Yes Pinky, Do-more will control the world!
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #18 on: January 15, 2015, 05:57:26 PM »
For chuckles, would you please check your H2-CTRIO2 gate array and firmware versions?

And are you so far into this that changing to a Do-more controller is out of the question? I can't stress strongly enough how much easier this would be with Do-more...
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

ATU

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 2121
  • YKPAIHA
    • ATU, Inc.
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #19 on: January 15, 2015, 05:58:45 PM »
When the micro stepping first came out, the company I worked for ran some repeatability tests. If I remember, and it has been a while, the best repeatability that they saw was at best a half a step,no matter what the micros stepping was set to. Maybe the companies selling it can do better in perfect lab conditions, but we didn't see it. Any time I use them, I set the resolution at 400/rev and go from there.

If you can lock the tooling into the top stop dwell position, then loosen the coupling to the motor. Power it down and up. That should put it in a stable position. Then tighten the coupling.

Dan R

  • Full Member
  • ***
  • Posts: 21
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #20 on: January 16, 2015, 08:22:57 AM »
Bob O,
I'm not sure where to find the gate array info.  Here is other CTRIO info: firmware - H2CTRIO2_1_0_0,workbench version - 2.2.1, file version - 2.2.1.4, hardware rev - 4A.

I'd prefer not to change the controllers until I know if a stepper application can't do the job for me.  It seems that it should. I just need to eliminate the cascading error. I can live with about 0.015" swing either way at the end of travel but if the error causes by start point to get further away every cycle, it won't do the job.

MikeS

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 254
    • Host Engineering, Inc.
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #21 on: January 16, 2015, 09:55:59 AM »
in CTRIO Workbench, the Booter Version is the Gate Array version for the CTRIO2.
Good design costs a lot. Bad design costs even more.

Dan R

  • Full Member
  • ***
  • Posts: 21
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #22 on: January 16, 2015, 10:16:36 AM »
Gate Array - 1.5.0
OS Ver - 1.0.3

Dan R

  • Full Member
  • ***
  • Posts: 21
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #23 on: January 19, 2015, 05:03:54 PM »
A few questions:
1) What is the difference between Trapezoid Plus & Dynamic Positioning Plus profiles?  They look to be the same with the exception to the "Target position is specified at run time through Parm 3."

2) I'm now configuring my input in Workbench for a Quad Counter. My output is Pulse (step/dir) as stated earlier in this thread. I already have my Trapezoid Plus profile programmed but now I'm going to click on the Use Encoder for Position option. This is then looking at my Quad encoder I set up in Config Input section.  So if there is backlash (overshoot) will the stepper reverse direction to the encoder value I desire?  I guess that's what a servo is for.

3)Up to this point (no encoder used yet for position - just reading pulses counted), when my indexer heads travel downward they count to 100,000 pulses as desired.  When they move upwards on command, the pulses count down toward zero. But this is where I see the 4 pulses left over and my CW turning motor inches up and CCW motor inches down (cascading error). If it's a logic problem, how would the encoder as an input be anymore accurate than a preset pulse train output of 100,000 pulses?

Any thoughts upon reviewing my program?

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 5983
  • Yes Pinky, Do-more will control the world!
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #24 on: January 19, 2015, 05:26:22 PM »
1) What is the difference between Trapezoid Plus & Dynamic Positioning Plus profiles?  They look to be the same with the exception to the "Target position is specified at run time through Parm 3."

Dynamic positioning allows multiple target positions. The trapezoid is a single move. DynaPos is a poor man's axis.

2) I'm now configuring my input in Workbench for a Quad Counter. My output is Pulse (step/dir) as stated earlier in this thread. I already have my Trapezoid Plus profile programmed but now I'm going to click on the Use Encoder for Position option. This is then looking at my Quad encoder I set up in Config Input section.  So if there is backlash (overshoot) will the stepper reverse direction to the encoder value I desire?  I guess that's what a servo is for.

It closes the loop on the encoder position, within the specified deadband. It will reverse if needed.

3)Up to this point (no encoder used yet for position - just reading pulses counted), when my indexer heads travel downward they count to 100,000 pulses as desired.  When they move upwards on command, the pulses count down toward zero. But this is where I see the 4 pulses left over and my CW turning motor inches up and CCW motor inches down (cascading error). If it's a logic problem, how would the encoder as an input be anymore accurate than a preset pulse train output of 100,000 pulses?

It doesn't sound like a logic issue to me...just a gravity issue. When you enable encoder feedback, the module closes the loop on the encoder so there is no cumulative error. We added the feature for exactly this issue...to prevent small amounts of slippage or mechanical lash from accumulating.

Any thoughts upon reviewing my program?

Greg has it. I haven't heard if he reached any conclusions.
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

Greg

  • HostTech
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 676
  • Hmmm...
    • Host Engineering, Inc.
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #25 on: January 19, 2015, 05:39:32 PM »
Dan, I looked over your program and your CTRIO2 configuration and I don't see any obvious programming issues. I believe, like BobO pointed out, you simply need to use the Trapezoid Plus Pulse Profile with encoder feedback. This wouldn't require any programming changes. It is inherent in the Pulse Profile itself.

BTW, I gave you a call Monday, 19-Jan-2015 after 5pm Eastern time. Sorry I missed you. I'll try calling you in the morning (Tuesday, 20-Jan-2015).
« Last Edit: January 19, 2015, 05:43:17 PM by Greg »
There are two types of people in the world; those that can extrapolate from incomplete data sets.

Greg

  • HostTech
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 676
  • Hmmm...
    • Host Engineering, Inc.
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #26 on: January 20, 2015, 10:46:32 AM »
For those browsing this thread, I talked to Dan R on the phone and he is going to try the CTRIO2's Trapezoid Plus Pulse Profile with encoder feedback enabled to see if this takes care of his accumulating error he is seeing on his machine. I also recommended that he experiment with moving his encoder to some place on his machine that it will indicate actual distance traveled instead of just having it connected directly to his stepper motor.
There are two types of people in the world; those that can extrapolate from incomplete data sets.

Dan R

  • Full Member
  • ***
  • Posts: 21
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #27 on: January 20, 2015, 02:23:37 PM »
After the encoder hookup, I'm experiencing issues. When I cycle my Trap + profiles for the downward travel, the heads (indexer - belt heads)travel beyond their desired travel length. They proceed to the max travel proximity switches and stop.  When I change my ratio in the encoder option under the Trap + profiles, I still exceed desired travel length but the rate of the heads change (speed up).  This I believe is just the Accel taking less time to reach top speed per the profile.

What I did was since I have just the one encoder hooked up, I'm using it for both channels (1 & 2). So my encoder input "A" and "B" wires feed into the H2-CTRIO(2) at 1A & 1B. In Workbench under Config IO for Ch1/Fn1 & Ch2/Fn1 I have Quad Counter, Position Scaled selected. I have the Count In multiplier in 1x (but have tried 2x & 4x). I'm in BCD and left the default values in the scaling wizard for the Raw values: min raw value = 0cts, max rv = 10000cts, min scaled value = 0, max sv = 100.  For my two parallel Trapezoid + profiles, I selected the "Use Encoder for Position" option and selected Encoder Input as Channel 1 for both of these profiles because I want just the one encoder hooked up to handle the control for now.  My pulse count entry for both outputs is through Parameter 3.

Must be a scaling thing or units.

Greg

  • HostTech
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 676
  • Hmmm...
    • Host Engineering, Inc.
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #28 on: January 20, 2015, 04:34:38 PM »
After the encoder hookup, I'm experiencing issues.

Does this mean you moved the encoder from being directly connected to the stepper motor to some other location on your machine that indicates travel distance?

When I cycle my Trap + profiles for the downward travel, the heads (indexer - belt heads)travel beyond their desired travel length. They proceed to the max travel proximity switches and stop.  When I change my ratio in the encoder option under the Trap + profiles, I still exceed desired travel length but the rate of the heads change (speed up).  This I believe is just the Accel taking less time to reach top speed per the profile.

This is most likely caused by not getting the "Scale Factor" parameter not set properly. You indicated to me on the phone that your motor was 200 ppr and your encoder was 500 ppr. If they were directly connected together that would be Output/Input = 200/500 or 0.4 as a "Scale Factor". However, if you moved your encoder to some other location on the machine then all the mechanical linkages and their gear ratios must be taken into account. I recommend you either calculate this or empirically derive it by moving the motor one rotation manually and see how far your encoder moves.

If calculating and it is belt-driven, then, for example, the diameter of the driven pulley vs the diameter of the driving pulley needs to be taken into account.

What I did was since I have just the one encoder hooked up, I'm using it for both channels (1 & 2). So my encoder input "A" and "B" wires feed into the H2-CTRIO(2) at 1A & 1B. In Workbench under Config IO for Ch1/Fn1 & Ch2/Fn1 I have Quad Counter, Position Scaled selected. I have the Count In multiplier in 1x (but have tried 2x & 4x). I'm in BCD and left the default values in the scaling wizard for the Raw values: min raw value = 0cts, max rv = 10000cts, min scaled value = 0, max sv = 100. For my two parallel Trapezoid + profiles, I selected the "Use Encoder for Position" option and selected Encoder Input as Channel 1 for both of these profiles because I want just the one encoder hooked up to handle the control for now.  My pulse count entry for both outputs is through Parameter 3.

Must be a scaling thing or units.

Doing Position Scaling has to be taken into account as well.

Can you technically describe what your stepper is connected to and what your encoder is connected to and how one drives the other on your machine?
There are two types of people in the world; those that can extrapolate from incomplete data sets.

Dan R

  • Full Member
  • ***
  • Posts: 21
Re: H2-CTRIO(2) IBOX Load Profile Limit input
« Reply #29 on: January 20, 2015, 05:02:45 PM »
The encoder is fixed to the motor. For now I intend to keep there until I see how an encoder input controls my position.
I did make use of the 200/500 ratio as well as the 2000/500 ratio to see how they affect the process.  The the travel length still maxes out for both ratios (and others that I experimented with).
This package consists of (in this order) a brake, an encoder, motor, coupling, belt drive. 
Are you saying I must make use of the scaling wizard?  I did set to position but didn't change anything with the min raw value, max raw value, etc. as they are relatively close to the parameters I'm working with.