• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32对一个正弦信号进行ad采样问题?

dadaxiu 2019-09-04 浏览量:1009
我设置的采样周期为3,对一个为50hz,峰峰值为2v,最高值为2v,最低值为0v的正弦信号进行采样,采样后转换的电压值在0-1v范围内,这是为什么呢?
        for(i=0;i<200;i++)
        {
                DelayUS(48);
   data[i]=Get_Adc(ADC_Channel_10);
                DelayUS(50);
                DataTemp[i]=data[i]*3.3/4096;
                printf("%d\n"data[i]);
                printf("%f\n"DataTemp[i]);
        }

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不知道你到底要问什么?

    1.感觉上你是说你ADC后DAC输出,只能输出到1V为峰值。

    2.或者说采样的结果在1V内?

    对于可能的1,这里没有输出函数,也没有你的DAC相关硬件信息,没有办法评说,

    对于2,这里也没有你ADC相应配置,采样电路的具体信息,也没有办法讨论啊。

    • 发布于 2019-09-04
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 可以设置成adc采集一般对采样电路需要进行分析然后进行电路分析采集
    • 发布于2019-09-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 因为你采集的是正弦信号,他的最高峰值2v只有一瞬间,如果你的采样点不在那个点上肯定不会出现2v,如果你的采样降低避开上半轴那么就是0到1v电压,你可以提升采样率加快输入看下结果
    • 发布于2019-09-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 不理解你说的采样周期3是什么意思,STM32采样时间为:

    ADC_SampleTime_1Cycles5、

    ADC_SampleTime_7Cycles5、

    ADC_SampleTime_13Cycles5、

    ADC_SampleTime_28Cycles5、

    ADC_SampleTime_41Cycles5、

    ADC_SampleTime_55Cycles5、

    ADC_SampleTime_71Cycles5、

    ADC_SampleTime_239Cycles5​​​​​​​

    首先你需要设置好ADC的时钟频率,和采样时间确保能够采样到你的峰值,然后再看采样得到的数据,2V对应的AD值大约为2482。

    • 发布于2019-09-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 先用几个固定的电压采样看看有没有偏差,有偏差就检查采样电路,没偏差就检查采样频率和处理程序。我通常都是用DMA连续转换多次,取平均值的。
    • 发布于2019-09-05
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32对一个正弦信号进行ad采样问题?