J
Jamie
We have a piece of equipment that has 2 optical potentiometers mounted
on a process machine, which generates an oscillation effect up to 100 hz
from the second pot. This causes the first Pot to also get effected by
this movement. Thus, we needed to remove this oscillating component from
the first pot so that the final PID loop wouldn't see this component, to
regulate the position of the first pot. More or less like and averaging
output effect. Using the analog approach is very tedious with null
balancing and amplitude problems so, we went with a DSP solution..
I won't bore you with the details of the equipment this is on
because it's a special designed machine for doing a specific job.
We experimented with a ATmega using 2 ADC inputs to capture the 2
pots. Coded a basic 8 bit FFT/DFT algo on both inputs, used the second
input as the frequency domain to remove from the first pot reference.
The final is then processed back through a IFFT/IDFT where it recreates
the original POT 1 reference with the POT 2 reference removed..
I know we could of also done this via a analog dampening circuit how
ever, POT 1 also works independently at times and needs a fast response
time at any band point from 0..100hz.
It works fine how ever, the problem that crops up is that the cheap
ADC's in the ATmega are low res and not very linear, at least it appears
they're not. Also, the uC isn't quite fast enough to handle the
additional speed they want to experiment with very soon.
Does any one have a suggestion for a faster chip with a higher bit
depth ADC? Or maybe, a dedicated DSP processing chip that has 2 ADC's
with at least one DAC output that can be programmed to use a input as a
freq domain reference to be removed from the other input?
I suppose a uC with DSP already in it could also be a suggestion.
Any one have a suggestion for a fast programmable uC that can handle
this 2 ADC and one DAC.
I don't want an over kill uC, just one that fits my requirements. I
have no other plains to expand the project in this area. If I have to
learn another family of processors, I guess that won't be so bad either.
on a process machine, which generates an oscillation effect up to 100 hz
from the second pot. This causes the first Pot to also get effected by
this movement. Thus, we needed to remove this oscillating component from
the first pot so that the final PID loop wouldn't see this component, to
regulate the position of the first pot. More or less like and averaging
output effect. Using the analog approach is very tedious with null
balancing and amplitude problems so, we went with a DSP solution..
I won't bore you with the details of the equipment this is on
because it's a special designed machine for doing a specific job.
We experimented with a ATmega using 2 ADC inputs to capture the 2
pots. Coded a basic 8 bit FFT/DFT algo on both inputs, used the second
input as the frequency domain to remove from the first pot reference.
The final is then processed back through a IFFT/IDFT where it recreates
the original POT 1 reference with the POT 2 reference removed..
I know we could of also done this via a analog dampening circuit how
ever, POT 1 also works independently at times and needs a fast response
time at any band point from 0..100hz.
It works fine how ever, the problem that crops up is that the cheap
ADC's in the ATmega are low res and not very linear, at least it appears
they're not. Also, the uC isn't quite fast enough to handle the
additional speed they want to experiment with very soon.
Does any one have a suggestion for a faster chip with a higher bit
depth ADC? Or maybe, a dedicated DSP processing chip that has 2 ADC's
with at least one DAC output that can be programmed to use a input as a
freq domain reference to be removed from the other input?
I suppose a uC with DSP already in it could also be a suggestion.
Any one have a suggestion for a fast programmable uC that can handle
this 2 ADC and one DAC.
I don't want an over kill uC, just one that fits my requirements. I
have no other plains to expand the project in this area. If I have to
learn another family of processors, I guess that won't be so bad either.