News:

  • June 07, 2026, 11:13:53 AM

Login with username, password and session length

Author Topic: Motion sanity check...  (Read 194091 times)

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3607
  • Darth Ladder
Re: Motion sanity check...
« Reply #75 on: April 29, 2016, 12:24:50 PM »
Slick -- I predict that will get used a LOT!   :)

Thanks!
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6158
  • Yes Pinky, Do-more will control the world!
Re: Motion sanity check...
« Reply #76 on: May 03, 2016, 09:34:41 AM »
Due to some other discussions we've had, I now have a better understanding of camming, and it looks like we are going to add it. Only concern I have is that we will probably need to limit the number of cam points to 64 or less. We're using cubic interpolation, which produces a very nice sin wave in just 8 points, so hopefully 64 is enough for most stuff.

Comments?
"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

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3607
  • Darth Ladder
Re: Motion sanity check...
« Reply #77 on: May 03, 2016, 12:09:35 PM »
Wow -- even when I brought it up I didn't assume it would be practical for this platform -- that's amazing.

Not sure  whether you mean a limit of 64 cam points per slave axis or 64 total, but either way I think you're fine.  In the second case, it end up [slightly] limiting the number of slave axes, especially if they're complex, but you're still in the stratosphere relative to the size and cost of the PLC.

This (multi-axis camming) gets used on complicated sewing-machine type machines where there are a bunch of axes all working in synch but all doing different things.  Where in the old days, there'd have been one main shaft and a bunch of cams simultaneously proving motive power and timing to all the axes.  Here's the best example I could find in two minutes of looking on Youtube:  https://www.youtube.com/watch?v=IipB44kxXy8
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6158
  • Yes Pinky, Do-more will control the world!
Re: Motion sanity check...
« Reply #78 on: May 03, 2016, 12:33:47 PM »
Not sure  whether you mean a limit of 64 cam points per slave axis or 64 total, but either way I think you're fine.  In the second case, it end up [slightly] limiting the number of slave axes, especially if they're complex, but you're still in the stratosphere relative to the size and cost of the PLC.

It would be 64 X/Y pairs per AXCAM instruction. Since we're using cubic interpolation, the X values are equidistant. They would probably be entered as start/end values (although start may always be zero) and a count of internal points. You would then provide the Y values for each implied X. We would provide some kind of import/export facility so you could use a spreadsheet to manage the data. Also kicking around the idea of reading a profile definition from a file in the microSD.

I wasn't going to even think about this, until one of the motion guys at ADC sent me an example. After looking at it, it's just gearing, where Y = CERP(X) instead of Y = X*GearRatio. The only complication was what to do when initially enabled and Y != CERP(X). I think the easy answer is to say that X needs to be stationary and we'll do a trapezoidal move to CERP(X), after which you can start moving X. Since it is just gearing, there is no accel/decel except as provided by the X move. Stupid simple really.

You will be able to disable the pulse output of any axis, which essentially makes it a virtual master. You will also be able to use an encoder input as the master. If the encoder were driven by a pulse output from some other source you could do three coordinated slave axes on a $200 brick.
"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

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6158
  • Yes Pinky, Do-more will control the world!
Re: Motion sanity check...
« Reply #79 on: May 03, 2016, 03:31:27 PM »
One realization that is creeping into our thinking is that having a low cost brick capable of actual 'motion control' opens up huge opportunities for these to be components in larger systems. How many times do you need an axis or two distributed across a large system, and need a small amount of local control logic to handle initialization, or termination, or communications with other stuff, or whatever? Seems like that would be very useful and from a design perspective allows you to button those guys up into well-formed objects. Not an automation engineer so I may be wrong on this, but my years of software development tells me that well-formed objects are the foundation of robust complex system development. My gut tells me that this could be very useful in areas that we haven't been in before.
"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

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3607
  • Darth Ladder
Re: Motion sanity check...
« Reply #80 on: May 03, 2016, 04:17:37 PM »
One realization that is creeping into our thinking is that having a low cost brick capable of actual 'motion control' opens up huge opportunities for these to be components in larger systems. How many times do you need an axis or two distributed across a large system, and need a small amount of local control logic to handle initialization, or termination, or communications with other stuff, or whatever? Seems like that would be very useful and from a design perspective allows you to button those guys up into well-formed objects. Not an automation engineer so I may be wrong on this, but my years of software development tells me that well-formed objects are the foundation of robust complex system development. My gut tells me that this could be very useful in areas that we haven't been in before.

Nope, you're right.  That's exactly the direction I go with a lot of stuff.  Little safety PLC instead of a burner controller, but still interfaced to the same non-safety PLC I used with the burner control, etc.  Or when there are accessory equipment modules that you sell either standalone or with your main equipment, then when you are bundling, still just use the stock standalone accessory unit rather than integrating the software into the main PLC, etc.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

ATU

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 2126
  • YKPAIHA
    • ATU, Inc.
Re: Motion sanity check...
« Reply #81 on: May 03, 2016, 06:29:39 PM »
Following error is critical in camming. Most times you'll have tooling interference if the axis don't track together. 

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6158
  • Yes Pinky, Do-more will control the world!
Re: Motion sanity check...
« Reply #82 on: May 03, 2016, 06:45:04 PM »
I guess it depends on your definition of following error. If you want to see the relationship between what the cam says we should be doing vs what the axis position actually is, that's easy, but since camming uses straight gearing, the only way the two ever fail to stay tight is if the cammed output tries to exceed the max freq of the axis.

Following error would make better sense in the follower mode where there is some expectation of the master and slave not tracking perfectly due to master freq changes or accel/decel/ freq limitations in the slave.

I can easily add the following error I described previously when using encoder feedback, but most don't use encoder feedback.

These are just pulse outputs, not drives with some loop closing mechanism. I'm not entirely sure I understand what you are wanting.
"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: 2126
  • YKPAIHA
    • ATU, Inc.
Re: Motion sanity check...
« Reply #83 on: May 03, 2016, 07:19:34 PM »
Yes,It would only make sense when you had encoders in the system. I just don't recall there was definitely going to be a following error check.

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6158
  • Yes Pinky, Do-more will control the world!
Re: Motion sanity check...
« Reply #84 on: May 03, 2016, 07:23:49 PM »
I think I would describe it more as a method of stall detection, but yes, I would still like to add that.
"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: 2126
  • YKPAIHA
    • ATU, Inc.
Re: Motion sanity check...
« Reply #85 on: May 03, 2016, 07:39:53 PM »
When you work with independent axis with single move motion, if the motor stalls and doesn't get there in a reasonable amount of time, its usually not a big deal. But if you have 2 or more axis that have to move in unison, like a pick & place, if one axis stalls and the other keeps moving, its motion is a path that it shouldn't be and  more than likely something is going to break. If you can fault closely on the following error for each axis, all axis should be able to stop before this happens. I apologize if this sounds quite obvious. 

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6158
  • Yes Pinky, Do-more will control the world!
Re: Motion sanity check...
« Reply #86 on: May 03, 2016, 07:45:36 PM »
I understand, it's coordinated for a reason.

The only counter point is that following error comes from the device with the encoder. That may be a servo drive. Not having it in the profile generator doesn't invalidate the function.
"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: 2126
  • YKPAIHA
    • ATU, Inc.
Re: Motion sanity check...
« Reply #87 on: May 03, 2016, 10:57:41 PM »
No it doesn't, I think it is a great feature for a low cost PLC, actually pretty amazing. The user just has to understand its limitations and it would be the perfect fit for applications that don't require tightly coupled coordinated motion. I am sure there are plenty of those type of applications out there.

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6158
  • Yes Pinky, Do-more will control the world!
Re: Motion sanity check...
« Reply #88 on: May 03, 2016, 11:10:05 PM »
Do servo drives typically have a following error parameter that can be read, or error output that can be triggered?
"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: 2126
  • YKPAIHA
    • ATU, Inc.
Re: Motion sanity check...
« Reply #89 on: May 03, 2016, 11:20:24 PM »
Most have an error output that can be configured. Drives with communications to read parameters are typically more advanced. Still waiting for AD to sell a servo drive with Ethernet.