打印
[STM32F1]

STM32F103+CubeMX+ADC采集直流

[复制链接]
楼主: 4y1b3
手机看帖
扫描二维码
随时随地手机跟帖
21
4y1b3|  楼主 | 2023-7-28 16:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览

使用特权

评论回复
22
4y1b3|  楼主 | 2023-7-28 16:40 | 只看该作者
接着书写单次采集程序


HAL_ADCEx_Calibration_Start(&hadc1);   //ADC校准

HAL_ADC_Start(&hadc1);                 //启动ADC转换
  HAL_ADC_PollForConversion(&hadc1, 50); //等待ADC1转换完毕,这里最多等待50ms
  ADC_Value = HAL_ADC_GetValue(&hadc1);  //获取ADC的值,结果存放在ADC_Value里面
  printf("ADC value is %d\n", ADC_Value);
  printf("ADC actural value is %.2f\n", ADC_Value * 3.3 / 4095);

使用特权

评论回复
23
4y1b3|  楼主 | 2023-7-28 16:40 | 只看该作者
硬件连接

使用特权

评论回复
24
4y1b3|  楼主 | 2023-7-28 16:41 | 只看该作者
示例工程里,我加入了UART的初始化以及对应的串口重定向和DEBUG功能。

使用特权

评论回复
25
4y1b3|  楼主 | 2023-7-28 16:41 | 只看该作者

使用特权

评论回复
26
4y1b3|  楼主 | 2023-7-28 16:41 | 只看该作者

使用特权

评论回复
27
4y1b3|  楼主 | 2023-7-28 16:42 | 只看该作者
运行结果
烧录代码后如果没有设置下载后自动复位,记得给单片机硬件复位

使用特权

评论回复
28
4y1b3|  楼主 | 2023-7-28 16:42 | 只看该作者
ADC返回给单片机的数值是4095,我们转换到实际的电压值,对应着

使用特权

评论回复
29
4y1b3|  楼主 | 2023-7-28 16:42 | 只看该作者
练习
我们知道ADC精度有限,实际采集到的直流值会有波动,尝试使用取均值来提高测量精度,。对比10个数取平均,和1000个数取平均,测到的直流值之间的差别。

加深对均值滤波和精度的概念

使用特权

评论回复
30
4y1b3|  楼主 | 2023-7-28 16:42 | 只看该作者
如果你会定时器中断,尝试配合定时器中断实现一个100hz采样率的采样,也就是定义一个100hz的定时器中断,在每一次中断里面采集一次数据,这样去测量1hz的正弦信号,当测满100个点后,把数据打印出来,查看波形。

对采样率有一定的理解

使用特权

评论回复
31
4y1b3|  楼主 | 2023-7-28 16:42 | 只看该作者
在练习2的基础上,将采样率从100hz提高到1k,在提高到10k,观察效果。如果发现采样率比实际的低,思考为什么。答案会在后续采集交流的文章中揭晓。

对中断方式控制的采样率上限有一定的感受。对处理的速度有一定的概念,做了这个练习,相信你在学习采集交流部分的DMA操作,会有比别人更加深刻的感悟,领略硬件的速度与软件的灵活。

使用特权

评论回复
32
youtome| | 2023-9-9 17:21 | 只看该作者
在选择转换精度时,应根据所需的测量精度和系统性能来平衡。

使用特权

评论回复
33
mollylawrence| | 2023-9-9 17:51 | 只看该作者
在使用ADC之前,需要先进行初始化,包括设置ADC模式、初始化ADC参数、设置ADC中断等。

使用特权

评论回复
34
minzisc| | 2023-9-9 18:13 | 只看该作者
通过STM32向ADC发送采样命令,可以使用简单的算法,如按照一定的采样频率采样,或者使用更复杂的算法,如使用缓存和同步等方式实现。

使用特权

评论回复
35
timfordlare| | 2023-9-9 20:43 | 只看该作者
通过DMA模式,ADC可以直接将采样结果传输到内存中,而不需要通过CPU的干预。在配置DMA模式时,应考虑DMA通道的数量、优先级和触发方式等因素。

使用特权

评论回复
36
maqianqu| | 2023-9-9 21:19 | 只看该作者
在进行模拟输入的数据滤波时,需要注意滤波器的截止频率、滤波器的类型等参数。这将有助于减少输入信号的噪声,提高数据质量。

使用特权

评论回复
37
ccook11| | 2023-9-9 22:12 | 只看该作者
stm32f103rct6的adc有多少通道

使用特权

评论回复
38
juliestephen| | 2023-9-9 22:34 | 只看该作者
在进行ADC直流采集时,应选择合适的参考电压。

使用特权

评论回复
39
Henryko| | 2023-9-10 23:14 | 只看该作者
ccook11 发表于 2023-9-9 22:12
stm32f103rct6的adc有多少通道

18个

使用特权

评论回复
40
10299823| | 2023-9-12 15:57 | 只看该作者
最简单的方法就是用两个阻值相等分压

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则