Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

CMRR problem on ADC Silabs F8051F040

Status
Not open for further replies.

Chrisvan

Newbie level 2
Joined
Feb 2, 2011
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,302
Hi,

I'm using the 12 bit ADC on a Silabs C8051F040 processor (pdf on Silabs site) to measure temperatures via a series of thermistors.
The thermistors are 10K at 25C ntc and they are each wired in series with a resistor of 10K and fed from a fixed reference source of 2.4V . (at 25C pd will be 1.2v to ADC)
The software is based on the demo ADC software on the Silabs site.
I have 8 channels - single ended, and the ADC measures the voltage across each thermistor in turn wrt 0v. i.e. all sensors are common to ground.
The probes with short lengths of cable work fine, but I am getting severe 50Hz ripple on the ones with long cables. Now - I know I can probably filter this out by capacitors, but this will reduce the speed of response.
Is there anything else I can do? Can I use the differential inputs and still have a common ground, or must I raise the pd of the sensor by inserting another resistor? Anyone any ideas? I dont really wish to change the pcb too much!!
Thanks Chris
 

The best approach is synchronize the measurements to the 50Hz noise - if you have some input from the line you can start the measurements always in the same moment relatively to the noise. Once sinchronized with the line the noise will completely disappear.

Other approach is to make the measurements every 20ms (self synchronization) - in this case you'll get "beating" noise between line frequency and your measuring pace rate.

Other approach is also to average more values - the integral of the noise is always zero. Actually you can get even higher resolution if you have more samples and there is line noise (see in Google "oversampling")


I would recommend the first approach if possible
 

Thanks, but unfortunately I have no reference with the 50 Hz and the averaging will increase the sample time. I have around 100mV of noise pk to pk and 1 degree corresponds to about 50mV . If I modify the pcb so that I use the differential inputs of the ADC, will I still be able to solve the problem and also attach the -ve ADC differential input to 0v?
(**broken link removed**)
I am hoping this will also get rid of any other noise as well.
Thanks Chris
 

Differential measurements will reduce the line noise for sure.

If case you don't have line sync source, try to do measurements on 20ms x N rate. Internal uP oscillators are precise and can help a lot.
 

The answer is - yes it does!

I have used the differential input connected to 0v at the sensor and noise has been eliminated.

Thanks everyone for the suggestions.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top