cancel
Showing results for 
Search instead for 
Did you mean: 

Mysterious noise on ADC

MAndr.233
Associate III

Hello everyone,

I’m currently developing a device that collects surface electromyography (EMG) signals in the abdominal region. The device works as follows:

  • Uses the AD8232 IC to collect the EMG data.

  • Connects the output EMG signal to our MCU's internal ADC. We are using an STM32L4 series MCU.

  • The power of the AD8232 is controlled by a power switch, with the aim of reducing the power consumption of the device.

  • The device can output the data to users through streaming via Bluetooth or logging into an SD card.

Generally, the quality of the collected signal is excellent. However, we've encountered an issue where the signal sporadically presents an unnatural baseline noise. This anomaly occurs irrespective of whether the data is being streamed via Bluetooth or stored on the SD card. After testing, we've deduced that the ADC is the likely source of the problem, as the noise appears and disappears when just starting and stopping acquisitions (without touching the device at all):
plots.png

I started digging deeper into this, trying to remove variables out of the equation. The power-switch is now turned on at the device’s boot (i.e., it is not turned off nor turned on when starting / stopping acquisitions), we’ve removed the ADC calibration at the start of the acquisition, and the noise keeps appearing sometimes. The only thing we do at the start and stop of an acquisition is the following:

void EmgHandler::StartAcquisition() {     
    HAL_ADC_Start_DMA(&hadc1, (uint32_t*)m_TestFifo, TESTMODE_EMGBUFFERSIZE * 2);      
    HAL_TIM_Base_Start(&htim6);
}
void EmgHandler::StopAcquisitions() {
     HAL_ADC_Stop_DMA(&hadc1);
     HAL_TIM_Base_Stop(&htim6);
} 

On a final note, I have noticed that, if the signal has noise and we connect the EMG output / ADC input to ground, the noise disappears in the ground signal (and then that the noise returns to the EMG signal once we disconnect the ground). Can it be any impedance configuration of the ADC?

Do you have any idea of what might be causing this issue? Any suggestions on how to solve it?

1 REPLY 1
LCE
Principal

Hardware:

Self-made board?

Is there a capacitor at the ADC input?

Power supply decoupling for the AD8232 and the STM32?

Any noise from neighbouring PCB tracks / components?

Schematics and PCB layout pics might help.