From: Chris R. <ch...@ti...> - 2010-07-25 22:11:02
|
On Sun, Jul 25, 2010 at 06:44:31PM +0100, John Prentice wrote: > For an 8 position turret you have a ratchet with 8 teeth and a spring-loaded > pawl. Assuming you know where you are now (say tool 2) and each click needs > 100 steps. > > To move to tool 5 you output 330 steps. You now know that ratchet is about > 30 steps after a "click". Send 40 reverse steps. The stepper stalls, as you > say, but you are in the known position for tool 5. Next move to say tool 6 > just outputs 130 steps forward and 40 back. OK, that's kind of what I was afraid of. Sounds like you need a position mode stepgen, so you can issue the particular number of steps you want. But when you are done with your +130 and -40, your position mode stepgen doesn't know the position anymore because the motor has stalled. The position commands for the next tool change would then have to be slipped by 10 steps worth of position to make up for the lossage (which you assume is 10 but probably isn't exactly.) I don't see a good way to do this with the stock stepgen. Maybe a totally different component is needed. You still have the problem of not knowing what position it's in when you start up (or even if it's in a valid position). If it starts between positions, it won't correct itself. Now let me continue on with what I'd do in this position: If you add an encoder with index, all these problems are solved. Upon startup you can seek the index position. Once you have done that, you have exact position information forever, no matter what the stepper does. You can use velocity mode stepgen then, and you know exactly when (at what position) you have to reverse to find the pawl. You know whether the tool change has completed successfully because the turret will be in the correct position. Then the tool change procedure would look like: 1. If you have not yet found index this run, do that, then continue on 2. Turn forward until the reversal position for the requested tool 3. Turn backward until the lock position for the requested tool 4. Tell stepgen to stop 5. If still at the lock position, report that the tool change is OK Note that between 4 and 5, the stepgen will decelerate to a stop, so extra steps will be issued. If the pawl didn't lock for some reason, step 5 will fail and you won't go on to crash with an unlocked turret. While you can manage without feedback, I think adding it would change this troubled design into a system that works reliably and safely. After typing all that I see that neither configuration is going to be very simple to set up. Chris |