AnsweredAssumed Answered

ADC DC "crosstalk" between channels

Question asked by Mr_M_from_G on Jul 19, 2016
Latest reply on Jul 20, 2016 by Mr_M_from_G

I use STM32L152 on STs Nucleo board.
I created a small progtam to test ADC. It is mainly a state machine that steps forward every 100msec, repeating after 10 steps. In step 1 I start a conversion sequence consisting of channel 19 (PB13), 20 (PB14), internal temp sensor and internal reference voltage. Data is transfered to a uint32 array via DMA. In step 3 I read out data and send them over UART to a terminal program.
I have 9 cycles samling time for ch19 and ch20 and 384 cycles for temp and ref.
These are my results
Ch 19 and 20 produce around 500 and 1200 counts with +/- 60 noise when left floating, temp is 1355 +/- 5 and reference is 1480 +/- 4 counts.Now when connecting a 1,5V battery between ch19 and Agnd I can see a good value (1630 for 1,317V ) on Ch 19 but Ch 20 shows almost the same (because still floating), temp goes to 1380 and ref goes to 1480. When I short Ch19 to Agnd Ch20 goes to about 750, temp goes to 1280 and ref goes to 1455, and even worse when I short Ch 20 to AGnd: Ch19 is about 1000, temp is about 900 and ref is 1330.

Any idea about the reasons and what I can do?

Thanks a lot