標題: PUAY32 adc采集和PWM輸出是采樣為什么會失真 [打印本頁]

作者: yslsdas    時間: 2025-5-23 17:06
標題: PUAY32 adc采集和PWM輸出是采樣為什么會失真
我在進行adc采樣時開啟pwm adc采集到的數(shù)據(jù)會被拉大不知道是什么原因有人能指點一下么
  1. /**
  2. * @brief  獲取12位ADC值
  3. * @param  無
  4. * @note          無
  5. * @retval uint16_t
  6. */
  7. uint16_t GetAdc12Bit(uint32_t channel)
  8. {

  9.   ADC1->CR |= (1 << 4); // 停止 ADC

  10.   ADC1->CHSELR = (1 << channel); // 選擇通道

  11.   ADC1->CR |= (1 << 0); // 使能 ADC

  12.   ADC1->CR |= (1 << 2); // 啟動 ADC, 同HAL_ADC_Start();
  13.        

  14. //  delay_us(500); // 等待電壓穩(wěn)定
  15.         HAL_Delay(1);
  16.   Heart_C210(0);

  17.   while (!(ADC1->ISR & ADC_ISR_EOC))
  18.     ; // 等待轉(zhuǎn)換完成,同HAL_ADC_PollForConversion();
  19.   
  20.   if (heat936==1)
  21.   {
  22.     Heart_C210(pid.output);
  23.   }

  24.   return ADC1->DR; // 返回采樣值,同HAL_ADC_GetValue();
  25. }
復制代碼




作者: yslsdas    時間: 2025-5-23 17:49
原理圖


作者: rundstedt    時間: 2025-5-24 18:54
PCB布線不好被干擾了。
作者: yslsdas    時間: 2025-5-26 09:16
rundstedt 發(fā)表于 2025-5-24 18:54
PCB布線不好被干擾了。

我在進行adc采集的時候把pwm關斷了 然后進行平滑濾波 能穩(wěn)定一點點 我感覺和布局關系沒多大
作者: Y_G_G    時間: 2025-5-26 12:00
HAL_Delay(1);延時時間是多少?
PWM頻率是多少?
c15換成100Pf的試一下,電容太大會振蕩




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1