找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 289|回复: 4
打印 上一主题 下一主题
收起左侧

PUAY32 adc采集和PWM输出是采样为什么会失真

[复制链接]
回帖奖励 5 黑币 回复本帖可获得 5 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
我在进行adc采样时开启pwm adc采集到的数据会被拉大不知道是什么原因有人能指点一下么
  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); // 等待电压稳定
  15.         HAL_Delay(1);
  16.   Heart_C210(0);

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

  24.   return ADC1->DR; // 返回采样值,同HAL_ADC_GetValue();
  25. }
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1066795 发表于 2025-5-23 17:49 | 只看该作者
原理图

回复

使用道具 举报

板凳
ID:879809 发表于 2025-5-24 18:54 | 只看该作者
PCB布线不好被干扰了。
回复

使用道具 举报

地板
ID:1066795 发表于 2025-5-26 09:16 | 只看该作者
rundstedt 发表于 2025-5-24 18:54
PCB布线不好被干扰了。

我在进行adc采集的时候把pwm关断了 然后进行平滑滤波 能稳定一点点 我感觉和布局关系没多大
回复

使用道具 举报

5#
ID:401564 发表于 2025-5-26 12:00 | 只看该作者
HAL_Delay(1);延时时间是多少?
PWM频率是多少?
c15换成100Pf的试一下,电容太大会振荡
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表