Forum Rule: Always post complete source code & details to reproduce any issue!
-
Quick update, playing with noise. In the two below images the humps are noise to/from the LCD, the frequency of the LCD updates is 10Hz. The large downward spike is me touching the screen. In the second photo I ran separate grounds to both my pots and the LCD, along with powering the LCD separately with 3.3V and 5V. Powering the LCD alone made no discernible impact, moving the GND's was major. The LCD got the ground closest to the USB plug and the Pots got the GND next to pin 13.
I used the internal 1.2V reference and the values are 16 bit, serial transmit rate is 28. The sample size for the data is 32(ADC0) and 64(ADC1) samples, averaging is also set for 4 so (32x4) and (64x4). Sample rate is around 280KSPS per ADC. The 2 blue lines represent ADC0 and 1 sampling separate pots set at the same voltage, same for Red and Green.
Keep in mind this is on a solder-less breadboard using 8" DuPont jumpers, its a real spaghetti monster. The Teensy is also powered from USB, so I'm sure that adds noise.
Determining the cause of the spike during touch could be fun, not sure if its code or noise related.


I also found an issue with my temperature measurements, I was forced to change the 2K5 resistor to 1K5 and swap its location. The NTC is now connected to 3V3 instead of GND. This gives the desired range, the other way around the readings would have maxed out around 50-55C
Edits... Made some math corrections and added more info.
Last edited by Donziboy2; 10-10-2017 at 04:20 PM.
-
Regarding the noise on ADC, please bear in mind on single ended mode you can achive only 12/13bit resolution effectivly.
See also https://www.pjrc.com/teensy/K66P144M180SF5V2.pdf , page 44/45.
So in an other project I ended up with an external ADC.
-

Originally Posted by
larry_berlin
Regarding the noise on ADC, please bear in mind on single ended mode you can achive only 12/13bit resolution effectivly.
See also
https://www.pjrc.com/teensy/K66P144M180SF5V2.pdf , page 44/45.
So in an other project I ended up with an external ADC.
Yep I've read the spec and informed others in the past of it. Averaging and system noise play a role, all the specs are also listed using the 3.3V supply, you might as well throw darts at the wall if your doing any high speed switching like I'm doing. I'm using the internal 1.2V ref but I'm not sure how clean it is, I need to get my external reference in place.
Much of the noise in those pictures right now is from the test system. Most of which I need to resolve, the sample sizes are so large that it should not matter for random noise. The data in those 2 pictures has data points provided from 128 and 256 samples each respectively and those samples are added to the previous average and divided by 2 again.
-

Originally Posted by
larry_berlin
Regarding the noise on ADC, please bear in mind on single ended mode you can achive only 12/13bit resolution effectivly.
See also
https://www.pjrc.com/teensy/K66P144M180SF5V2.pdf , page 44/45.
So in an other project I ended up with an external ADC.
Which external ADC (and or module) did you wind up using. I may have a need for something similar.
-

Originally Posted by
SharpEars
Which external ADC (and or module) did you wind up using. I may have a need for something similar.
I used ADS 1115 for following reasons:
- 16 bit resolution
- no need to be very fast
- progammable PGA
see: http://www.ti.com/product/ADS1115
also a lot of prefabricated modules on the market.
-
I think I have pretty much hit the limit of what can be done on a solderless breadboard. The SPI transactions, even with the wires removed adds a significant amount of noise onto the ADC readings. Noise between SPI transactions averages around 300-800uV and during transactions it jumps into the 3-10mV range. Its hard to tell how much of the noise I can get ride of using a proper PCB. I did find using an external 3.3V supply was quieter than using the Teensy onboard regulator. And using an external Reference also was slightly better than the on board 1.2V reference. I will probably add a footprint for an external 3.3V regulator and a few extra caps on the PCB in case I need them.
-
ADS8688 caught my eye. Might make a breakout and see what I can do with one or two
They also have an 18Bit series.
Edit.
The ADS8332 also looks nice, it does lack PGA and Internal Ref.
Add some SPI DMA and your good to go
Last edited by Donziboy2; 10-12-2017 at 11:41 PM.
-
-
-
The ADC probably not really 18b unless the op amp and the reference choices are re-considered.
To get at least 16b of useful data, my stuff typically uses a 24b ADC and low-noise/lo-Vos/low-Ib op amps; not to mention decent resistor specs. Same with the Vref - you need low noise and low tempco where something more than 12b required.
-
Most 24b ADC's have just an input and a Mux, most have no internal filters, PGA, reference or oscillator. Many of those 24b ADC's also have 24b ratings at very low sample rates, 1.5KSPS or less.
I used the LM324 because its a part I have handy, I could always remove it and place something better, at-least the op-amp industry for the most part stay pin compatible. Its not to hard to replace a $0.36 LM324 with a $3-5 precision amp. I may even order some nicer amps and do a comparison to see where the noise actually ends up.
BJB, i'm always looking for advice on making things better. The Teensy 3.6 DMA ADC's do a pretty decent job of providing 13b and even 14b values, but the minute you turn on any other peripherals it goes to crap. Which is the sole reason I am going with an external ADC for current and voltage measurements. I want my ADC's, my TFT and maybe even PC comm's or Datalogging with my Cake
-
Ordered the (10)ADS8698 test boards on Tuesday. Should be here within 2 weeks which gives me time to order parts and start looking at creating some test code for the IC. Hopefully I get it working on the first try, I don't fancy having to buy a replacement IC....
-
Been fairly quit as of late, the weather got cool here in south Florida so I took the opportunity to get my Electric Go-kart going (Teensy controlled). Got to 27MPH the other day. Going to make some gearing reduction changes and then figure out what the max range is.
The ADS test boards came in yesterday, I will solder it up in the next few days if I have ambition (work is such a killjoy sometimes).
-
12+ bit resolution in the challenging so-called "real world"
To get even 12 bit real-world performance with a 2.5V input range, that is about 600 uV per count. I'm just using those values as examples. With 1.2V ref its 300 uV per count. To achieve that is non-trivial in my limited experience. 16 bit 2.5V = about 40 nV per count! We've had to use very low noise analog power supplies, 4-layer boards (so we could have a very low impedance analog ground plane, guard traces, etc), and filtering on any digital signals to the ADC since fast edge rates will leak into nearby analog. We usually have a digital ground plane too and tie it to analog at one point. The 4-layer board is essential, even with grounded copper pours on the top and bottom too. There are lots of app notes out there on these issues and usually the vendor dev boards use them all. Then there is post-processing of the data to try to average out or filter the noise a bit.
Let us know how it goes!
Last edited by bboyes; 11-08-2017 at 07:04 PM.
-
Reading this thread reminds me that dummy loads were simpler in the 1970s and 80s. You bought a heathkit Cantenna, you added some oil, you fired it up.
http://beachpackagingdesign.com/boxv...thkit-cantenna
-
Just a quick update, its taken me a few hours to get this ADS8698 to play nice, soldering 0.5mm pitch pins is a SOB. Took me a few tries to get all the pins to actually solder without bridging to China. Or looking like they were soldered but not really 
With the inputs all tied to ground and the ADS8698 setup to measure +/- 10.24V at 18bit i'm seeing good single value measurements that are only at most 15 apart. A buffer should clear up the noise pretty well.
Here is a picture of Channel 0, reading a Channel every 50uS so getting a CH0 value every 400uS.
-
Just realized I never posted the latest schematic for the ADS8698 breakout board. I only had 2 major issues with the PCB. The first was I got the 3.3V regulator pins mixed up so I had to clean some mask off the 5V plane and solder the SOT23 on an angle. The second was the ADS8698 as I mention in my previous post was a SOB to solder the first time around, I have learned how to do it now(most likely will be a long time before I need to remember how lol).
-
-
Been pretty quite the last few months on this, work has been keeping me extremely busy along with life in general.
I significantly reworked the design a few weeks back and added Isolation between the analog and digital sections. Then I ran the BOM and added up the costs, as it stands right now without the heatsink or housing the unit will cost around $180 for someone to make. This and the lack of time have pretty much pushed me away from really spending any time working on the other technical hurdles(SD card data-logging) I wanted to solve before actually building one of these things.
-
See https://forum.pjrc.com/threads/53173...ith-the-Teensy
I get 16 bits, no problem. I use an instrumentation grade front end with some specific circuit design to deal with the Teeny's ADC and some additional measures in the PCB design.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules