1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用STM32G4C驱动一个三相BLDC电机,定时器tiM1时钟170MHz,更新频率20KHz,配置OC4为trigo信号触发ADC1,ADC时钟频率为 170/4 MHz进行三相电压采样,采样顺序为CH1,CH2,CH3,并通过DMA读取ADC数据。当三个通道的采样时间小于247.5周期时,ADC不能完好地跟踪BLDC的相电压,表现为采样数据波形与相电压波形不一致。但当设置第一顺位的通道的采样时间为247.5,其他两个通道设置为较小的采样时间,例如6.5周期,三个通道均可以完好的跟踪BLDC的相电压,更换通道采样顺序也会得到同样的结果。感觉就像ADC收到触发信号后,需要一段等待时间的样子,请问是什么原因?
|
|
相关推荐
1个回答
|
|
在使用STM32G4 ADC时,当收到触发信号后需要一段等待时间的原因是为了允许ADC电路在开始采样之前达到稳定的工作状态。
具体而言,当ADC收到触发信号后,需要一定的时间来完成以下步骤: 1. 复位ADC电路,使其回到初始状态。 2. 配置ADC的时钟源和分频器,确保ADC时钟频率正确设置。 3. 配置ADC的采样通道和采样时间,包括设置通道顺序和每个通道的采样时间。在这个过程中,ADC需要一定的时间来调整内部MUX和采样保持电路,以确保准确的采样。 4. 启动ADC的DMA传输,以便将采样数据传送到目标存储器(如RAM)。 等待时间的长度取决于ADC电路和系统时钟的性能。在您的情况下,当采样时间小于247.5个时钟周期时,ADC无法完全跟踪BLDC的相电压,这可能是因为ADC电路需要更长的时间来达到稳定的工作状态。通过设置第一顺位的采样时间为247.5个周期,并将其他两个通道的采样时间设置为较小的值,可以确保ADC有足够的时间来完成稳定的采样。 此外,更换通道采样顺序可能会得到相同的结果,这是因为在每次采样之间,ADC电路有更长的时间来达到稳定的工作状态。 因此,为了确保ADC能够准确跟踪BLDC电机的相电压,您可以尝试增加等待时间,或者调整采样时间和顺序,以确保ADC有足够的时间来完成稳定的采样操作。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:34 , Processed in 0.692954 second(s), Total 75, Slave 58 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号