Re: Recommendations for a Quadrature Decoder IC or MicroController



On Tue, 29 Jul 2008 23:18:06 -0700 (PDT), benn <benn686@xxxxxxxxxxx>
wrote:

I have an atmega16 that interfaces to a motor with a quadrature
encoder sensor. Turns out the frequency of the pulses are much more
than my little 4Mhz can handle (the micro does other things as well!)
As a result, the motor control isn't very accurate, nor does it react
very fast.

You haven't mentioned much about your situation, such as the motor's
rate, the number of A/B transitions per revolution, etc. You might be
okay with what you have, but just need to think more closely about the
details to make it work cleanly. Hard to do anything more than accept
your conclusion, though, without more info.

SO.. I'm looking for either a quadrature decoder IC that can take the
load off (will calculate position/velocity and interface to a host
micro via serial/parallel bus), OR, a beefy microcontroller with built-
in decoders (and pwm output). 32-bit with lots of GPIO is ideal if
going the microcontroller route.

There is (or was) an expensive HP part that I've used in the past, as
well, the HCTL-2020. It is designed for the purpose and works well,
but you pay for it when you find it. A separate micro would be
cheaper, I think, but you've have to code it up. I'll leave the
do-all micro recommendations to others.

Jon


P.S. I've handled motors running at 250 RPM (actually, I controlled
the motor speed, too, and 250 RPM was the max), coupled to optical
encoders with 10000 A/B transitions per rotation (medical pumps.)
There is a cam attatched to the motor, so there was also analog
conversion of that and a real time graphics display set up to display
the home and certain key pulses other than A and B, along with the cam
height, so that the workman could adjust the optical encoder relative
to the cam shaft to calibrate the motor while spinning (requirement.)
I mapped the timing in a hand-drawn paper diagram before attempting
the coding. By the time I was writing code (and I did use assembly
for some critical parts of it), I'd already resolved the mechanism to
use and knew it was sufficient.
.



Relevant Pages

  • Re: Timing pulses
    ... On Aug 12, 8:02 pm, "petrus bitbyter" ... about faulty timing when the pulses are near each other. ... micro has a instruction cycle time of let's say 0.2us. ... handled by ramp circuits that are then read out with an internal ADC. ...
    (sci.electronics.design)
  • Re: motion control / servos / robotics
    ... The position encoder in my system went on ... >The tach had to go on the motor shaft because of the annoyance/error ... slack or backlash in the geartrain, together with flexing, have the ... but then it doesn't read (and the loop doesn't ...
    (comp.arch.embedded)
  • Re: Homemade 2 spindle lathe preliminary results
    ... using a Gecko 320 servo drive I have the first test results. ... motor has a 500 line encoder mounted on it and the Gecko Drive reads ... As the speed of the master motor is varied the slave ...
    (rec.crafts.metalworking)
  • Re: How to turn the PID parameters of the motor driver when the speed is low
    ... So we don't know how to turn the PID parameters enven how to ... Your problem isn't really in controlling the motor itself, ... using the an encoder, whose output becomes insufficient as the speed gets ... The best bit of control system wisdom that I ever heard from ...
    (comp.arch.embedded)
  • Re: How to turn the PID parameters of the motor driver when the speed is low
    ... 1000cnts/s in the velocity model, the performance is much different from ... So we don't know how to turn the PID parameters enven how to ... Your problem isn't really in controlling the motor itself, it arises from using the an encoder, whose output becomes insufficient as the speed gets very low. ...
    (comp.arch.embedded)