Re: following error question




Dale

I was thinking of step and direction amps that run servos.  I have 
a setup like that almost working here with smdromod with the encoder 
signal fed to both the amp and the dro card.

Your question about following error leads to the whole issue of tuning.  
There are quite a few amps that can run without direct velocity feedback 
but I haven't tried to tune such a beast.  There are some open autotuning 
procedures that should help you guess at values for the loop.  

Dave Engval wrote two little C routines that will work on a log file.  
One turns the ordinary file into difference between actual position and 
commanded position during the ramp.  The other computes a speed plot that 
shows how well the axis accelerates.  I've seen data run through these 
and the plots display tuning changes very well.   Perhaps we can get Dave 
to post copies of these and a description of how they work to the 
dropbox. <hint>

I'd add a bit of deadband so that the loop can relax a bit when it gets 
near position.  In this case I believe that I'd make it as big as one or 
two pulses of feedback from your encoder.

If you can run with ferror and min_ferror where they are, I have the 
impression that you're bragging! <g>  That's about 1/20th of the default.

I can understand why you want to make input_scale large.  It will 
integrate to a voltage better but with any EMC stepper module you quickly 
run up against the max pulse rate that your PC can spit out.  I'm certain 
that I don't understand the relationship but it seems to me that In this 
case, a max_velocity of four units per second and 40K pulses per unit 
means that your PC will need to spit out 160KHz for a rapid. 

Interesting stuff.  Good luck and keep me (us) posted.

Ray

BTW when you add Y and Z with smdromod, Z won't initialize.  Paul found 
the problem and checked a fix into sourceforge.  You may have to upgrade 
your EMC because he has added a dro_base_address to the ini file.  It 
trips up a BDI 2.16 compile unless I bring the whole thing up to date.

On Friday 04 October 2002 02:00 am, you wrote:
>   Ray Henry wrote:
> >Hi Dale
> >
> >You've got my curiosity aimed at your test bench!  Are you trying to
> > run real servos with step and direction from smdromod?  If so, and
> > you can talk about it, how
>
> I'm not sure what you mean by real servos.  Servo refers to the
> command/feedback loop,  a servo motor without feedback is just a motor.
>  I've been testing the electronics running different motors. The first
> is a Speed-O-Matic (Emerson Elec.) 1/2 HP 1750 RPM 180 V Permanent
> Magnet DC motor that was pulled from scrap,  and looks like it.  The
> second is a Leeson 1 HP,  all other specs are the same.  The third
> motor is a new Bodine 1/4 HP 2500 RPM 130 V gearmotor used in a
> different project.  And last is another new Bodine motor same as above
> without the gear reduction.  Tuning has been successful with the 1/2 HP
> junk motor as well as the new Bodine 1/4 HP non reduction.  Wired as a
> stand alone speed control my drive worked great with the Bodine
> gearmotor. Since motors like these are available with mounting hardware
> for encoders and tachs that would qualify them as servo motors.  For
> the bench testing I've made adapters to mount the US Digital E6S
> 2000cpr encoders to the face of the motors.  The US Digital encoders
> work great.
>
> Step pulse freq. is converted to a voltage with a National
> Semiconductor LM2907/LM2917.  This output voltage determines the pulse
> width and the direction signal determines which side of the Hbridge
> gets the pulse. This leads to your second question.
>
> >My second question deals with womething that we call pulse rate
> >granularity.  My understanding of what is going on with freqmod is
> > really limited.  I think that freqmod has to operate at divisions of
> > the maximum pulse rate.  If you lower the feedrate just a bit, you
> > should see the frequency generator hopping between 31250 and 15625. 
> > If you get a chance, could you do just a bit of experimenting with
> > this and share your findings?
> >
> >Ray
>
> I am using an antique HeathKit Oscope that I built many moons ago.
>  Exact calibration would be questoinable but it still works.  Watching
> the step and direction lines I don't see the granularity you describe.
>  There's more going on with pulse rate than simply doubling or halving
> it.  I do see the jitter and it seems to have little if any effect on
> the F to V conversion.  I had already started this project and wondered
> if the idea would work at all when I first heard of the granularity
> thing.  I'm not a C programmer so the code still doesn't make much
> sense to me but if I look at it enough it'll sink in.  Jumping from
> full speed down to half speed or from half to full would have to drive
> any stepper crazy.  Wouldn't make for a very good accel/deccel ramp. 
> One thing of interest is that during a move EMC seems to be attempting
> to brake the motor by throwing in some opposite direction pulses.  It's
> time to figure out how to use the logging and plotting so I can analyze
> what's going on.  With my scope it's there then it's gone, it seems to
> ramp up and down nice enough for my application. Also worth noting, 
> for manual incremental jogging smdromod will output a series of pulses
> and I can feel the shaft move and watch the display update in
> increments of  0.0001"
>
> Next round of testing will be the addition of tach feedback to my
> controller and something I just kind of stumbled on, a regenerative
> drive.  That should be interesting!  BTW I use Eagle PCB and
> Circuitmaker simulator.  It was with circuitmaker that I discovered how
> to build a regenerative drive.
>
> Attached is my ini file.  The last changes were setting default & max
> velocity to 4.0  and increasing default & max acceleration from 8 to
> 10. Acceleration at 10 did introduce some growling in a band of the
> upper speed range. Any comments or suggestions on tuning parameters are
> welcome.
>
> What would be good respectable settings for following error?



Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact