I've been busy the past few weeks with a new project. This one has been fun.
As usual, no details about the intended application, but here is the hardware:
PIC18F65k22 at 8Mhz
TI ADS1242 24 bit delta-sigma A/D, PGA=128, 30 samples per second, Vref=2.5V
The code takes the 30 samples per second, runs them through an IIR with a 32 stage feed-forward and 2 stage feed-backward, followed by a 3 sample per second decimation filter.
In IEEE floating point!!!.
Total computation time per sample -- about 3ms**.
Result: 50nV* rock solid DC resolution at 3 readings per second. Step response settling time about 4 seconds.
Totally awesome.
*Total peak-to-peak noise is about 75nV measured over a 1 minute period.
** Measured by shaking my head.
Oh! And it runs for about 150 hours on 2 'AA' batteries with a bluetooth radio in active connect mode.
And all the code written in .asm, of course.
As usual, no details about the intended application, but here is the hardware:
PIC18F65k22 at 8Mhz
TI ADS1242 24 bit delta-sigma A/D, PGA=128, 30 samples per second, Vref=2.5V
The code takes the 30 samples per second, runs them through an IIR with a 32 stage feed-forward and 2 stage feed-backward, followed by a 3 sample per second decimation filter.
In IEEE floating point!!!.
Total computation time per sample -- about 3ms**.
Result: 50nV* rock solid DC resolution at 3 readings per second. Step response settling time about 4 seconds.
Totally awesome.
*Total peak-to-peak noise is about 75nV measured over a 1 minute period.
** Measured by shaking my head.
Oh! And it runs for about 150 hours on 2 'AA' batteries with a bluetooth radio in active connect mode.
And all the code written in .asm, of course.
Last edited by a moderator: