2026-01-13 7:54 AM
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 Issue | Raw Value | 3.3V Ref EQ | 60V Full Scale EQ | Error vs Ideal (%) | Post Issue | Raw Value | 3.3V Ref EQ | 60V Full Scale EQ | Error vs Ideal (%) | |
| Average = | 1946.963 | 1.568598 | 28.51996 | 95.06653 | Average = | 2155.344 | 1.736483 | 31.57242 | 105.2414 | |
| High = | 2044 | 1.646777 | 29.94141 | 99.80469 | High = | 4095 | 3.299194 | 59.98535 | 199.9512 | |
| Low = | 1898 | 1.52915 | 27.80273 | 92.67578 | Low = | 0 | 0 | 0 | 0 | |
| Ideal = | 2047 | 1.65 | 30 | Ideal = | 2047 | 1.65 | 30 | |||
| 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
2026-01-13 8:22 AM
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
2026-01-13 8:27 AM
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
2026-01-13 8:30 AM
@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 ?