cancel
Showing results for 
Search instead for 
Did you mean: 

ADC values suddenly erratic and highly variable when previously stable (Nucleo-F446RE)

FM96
Associate

I am working on an isolated monitoring system for currents, voltages, and heatsink temperatures, and am using the ADCS on the Nucelo-F446RE to take the readings. Initially testing was going well demonstrating good linearity and accuracy across a range of set-values. However, after having reworked one of my temperature channels, and making minor adjustments to the configuration of the Nucleo board to configure it to read a different ADC channel, the values collected by the ADC suddenly became very erratic (inaccurate) and imprecise (larger range). 

For example, in the attachments I have included x2 sets of values collected before and after the issue started to occur. A quick summary of the full results can be seen the the table below 

Pre IssueRaw Value3.3V Ref EQ60V Full Scale EQError vs Ideal (%)Post IssueRaw Value3.3V Ref EQ60V Full Scale EQError vs Ideal (%)
Average = 1946.9631.56859828.5199695.06653 Average = 2155.3441.73648331.57242105.2414
High =20441.64677729.9414199.80469 High =40953.29919459.98535199.9512
Low = 18981.5291527.8027392.67578 Low = 0000
Ideal = 20471.6530  Ideal = 20471.6530 
           
           
Total Full Scale EQ range (V) = 2.138672    Total Full Scale EQ range (V) = 59.98535   

 

 

 

Vin Full scale = 0 - 60V

Vin Scaled (potential divider) = 0 - 3.3V 

Expected Raw Value  = 2047 (+/- 6%) (Using a linear optocoupler for isolation which can have a max offset of approx. 6%)

 

ADC Clk = 0.6 MHz = (PCLK2 = 4.8 MHz / 8) 

Sampling time 480 Cycles. 

 

The issues exists across all channels, even when using multimeter and oscilloscope does not reveal any signs of instability, making me think I may have somehow damaged the Nucleo board. During testing it has been powered via USB connection and used off board with flying leads connecting the Nucleo board to the relevant pin on the hardware PCB. 

I have uploaded circuit diagrams for reference. 

What may I have unknowingly done to damage the or alter the ADC performance, and can this be corrected without a new Nucleo board? The only "abuse" or "mistreatment" I can recall it being subject to is that I have unplugged the board from the USB connection to my computer whilst debugging. Can that really cause this sort of issue?

Thanks

Thanks

3 REPLIES 3
KnarfB
Super User

The "after" values in the .xlsx increase almost linearly over time? Something charging?

You may do periodic V_REFINT channel measuements or use some known good external V source for cross checking accuracy.

hth

KnarfB 

Hi KnarfB, 

Sorry I should've mentioned but those values were sorted from smallest to largest, so not in chronological order. 

I will try to check the V_REFINT value to ensure it is at its expected value to see if this could be causing the unstable ADC behaviour. 

Thanks

Andrew Neil
Super User

@FM96 wrote:

making me think I may have somehow damaged the Nucleo board.


So what happens if you re-load the software from before your changes?

If that still operates as it did before, then the hardware must still be OK ... 

 


@FM96 wrote:

flying leads connecting the Nucleo board to the relevant pin on the hardware PCB. 


Have you checked all those carefully for loose/broken connections - including grounds ?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.