Maker Pro
Maker Pro

new a better DSP soluition.

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.
 
M

Martin Riddle

Jamie said:
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.

What about AVR32 ? or the DSPPIC. The C compilers also seem to be freely
available.
Either case it looks to be $ 7- 10 a device.

Cheers
 
J

Jamie

something like: LPC1758FBD80 ?

Don't know how good the ADCs are but it has plenty of horse power

-Lasse
Yes, it has plenty of power how ever, it is actually over kill.

But I do like the 100 Mhz clock, memory size and ADC bit depth.
I was thinking of something in the 20 pin or so package. I don't need
a lot of IO and I don't need a DMA controller.
I don't need anything network or USB host interfacing, But if the IO
lines can be used for something else, that's fine.

It is a very interesting uC in any case, any idea what the dev tools
run you for that? Software and programmer ? while we're on the subject?

I have done some older ARM coding, but this chip I know is not
supported with tools I have and I don't even know where I put that
material at the moment.
 
J

Jamie

Martin said:
What about AVR32 ? or the DSPPIC. The C compilers also seem to be freely
available.
Either case it looks to be $ 7- 10 a device.

Cheers
Over kill...
I was just looking at some uC's that has DSP in them with a lot fewer
supported features how ever, They same to have most of what I need..

I was also looking at the MPS430xxx line how ever, I didn't find one
that has a lot of data memory in it.

I may look into the newer DSP PIC family..

This application really only requires a good DSP or enough horse power
to process a FFT in memory, a long with, 12 bit+ ADC and some clock speed.

have a good day.
 
N

Nico Coesel

Jamie said:
Yes, it has plenty of power how ever, it is actually over kill.

Look into the LPC2103
But I do like the 100 Mhz clock, memory size and ADC bit depth.
I was thinking of something in the 20 pin or so package. I don't need
a lot of IO and I don't need a DMA controller.
I don't need anything network or USB host interfacing, But if the IO
lines can be used for something else, that's fine.

It is a very interesting uC in any case, any idea what the dev tools
run you for that? Software and programmer ? while we're on the subject?

Programmable through the serial port according to a long lasting NXP
tradition.
I have done some older ARM coding, but this chip I know is not
supported with tools I have and I don't even know where I put that
material at the moment.

Just use GCC (winarm) and you'll be fine. For Linux you can download
an ARM version of GCC compiler. The LPC1700 and/or LPC1300 series are
going to be available in smaller packages like 32 pins QFN.
 
Top