Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!unmvax!intvax!mack From: mack@intvax.UUCP (Michael J. McDonald) Newsgroups: comp.robotics Subject: Re: stepper motor sychronization: need help Message-ID: <3743@intvax.UUCP> Date: 30 Apr 91 01:07:45 GMT References: <2350@wet.UUCP> Organization: Sandia National Labs, Org. 1411, Albq, NM Lines: 30 > > I need help with a very standard problem in motion control. > (like a plotter or CNC XY table). > > [a] I want axis A to go 20000 steps. > [b] I want axis B to go 13000 steps in the same time as axis B so > that a straight line results. > [c] assume a constant acceleration rate of 1000 steps/s*s is given > > What would the algorithm look like during acceleration? > jj axis. That is, if axis A and B both accelerate at the same rates, then one of the axis will get to a constant speed before the other and thereby put your motions out of sync. Think about your problem thus: 1) axis B must always move at 13/20-ths the speed of axis b. 2) The velocity profiles of both axis will be a trapezoidal, i.e., the velocity will ramp up at a constant rate for t seconds then stay constant until the move gets within t seconds of terminating at which time it will ramp down for t seconds. 3) Compute the trapezoidal move velocity profile for axis A just as you would for making any linear move in A. 4) the velocity profile for axis B should then be 13/20ths of the move profile for axis A. I hope that this approach is useful