
boost电路程序控制
STM32G474RBT3 HRTIME 与 TIM 相位差。
STM32G474 BOOST电路双环PID的用法
STM32G474RET6移相问题
怎么用HRTIM输出可变占空比的PWM?
STM32G474使用HRTIME完成两路180度移相问题
STSPIN32G4的AN5432文档资料去哪里找?
LIS2MDL X轴数据读取问题
motor profiler参数识别卡在7%是什么原因啊,电机只响不动,手动旋转有阻力,顿感
STEVAL-PTOOL4A开发板资料求助
[md]
这两个忘记在timb的设置里面使能了,没想到会引起这样的现象,感谢帮忙debug的佬们
紫色的是ta1,波形正常,黄色的是tb1,出现了一个pwm周期未被置位
你这个问题,可能要结合你具体代码来分析。
void HAL_HRTIM_RepetitionEventCallback(HRTIM_HandleTypeDef *hhrtim, uint32_t TimerIdx)//20kHz中断 { if (TimerIdx == HRTIM_TIMERINDEX_TIMER_A) { HAL_HRTIM_WaveformOutputStart(&hhrtim1,HRTIM_OUTPUT_TA1 | HRTIM_OUTPUT_TA2 | HRTIM_OUTPUT_TB1 | HRTIM_OUTPUT_TB2 | HRTIM_OUTPUT_TC1 | HRTIM_OUTPUT_TC2); //HAL_HRTIM_WaveformOutputStart(&hhrtim1,HRTIM_OUTPUT_TB1 | HRTIM_OUTPUT_TB2);
hhrtim1.Instance->sTimerxRegs[0].CMP1xR = SPWM_400[i]; hhrtim1.Instance->sTimerxRegs[0].CMP3xR =SPWM_400[399-i];
hhrtim1.Instance->sTimerxRegs[1].CMP1xR = SPWM_400[i]; hhrtim1.Instance->sTimerxRegs[1].CMP3xR = SPWM_400[399-i];
} }
一模一样的正弦表
排除其他软件误操作的可能。
用cubeMX试一下,配置好以后 在初始化的位置初始化HR TA TB三个定时器
然后初始化TA TB的引脚 再看看是否有问题,先排除开发平台的问题
cubemx配置完没问题以后,用cubemx生成的初始化代码和你自己写的代码做比较
看看哪个地方出了问题
我以前出过问题 丢波/波形不稳定的原因是为了动态调整占空比 把初始化带着数值设置部分一起放进了循环体 频繁的在循环体内去初始化就会导致问题发生,当时是用了延迟的方案给足时间去初始化
然后就是单纯调用设置数值的部分
试过了,还是丢波。a是正常的,b和c都丢波其他的没试过
我用的就是cubmx配置的,出现了这个问题,我试了,a是没问题的,但是b和c都有问题,其他的就没试了
[md]第一次见到这样的问题,我之前在用HRT和TA TB做移相的时候也没出过这种问题
查一下循环体,有没有什么重复初始化的东西 偶尔某一瞬间没跟上导致丢波的
有没有试过新建工程去配置 而不是在原来的工程去修改
我上传了两个附件 一个是利用HRT 和TA TB定时器所对应的引脚出了两个200khz 50占空比的波形,如图所示,看一下是否对你有帮助
HRTEST.zip
2025-7-9 18:02 上传
点击文件名下载附件
下载积分: ST金币 -128.21 MB, 下载次数: 0, 下载积分: ST金币 -1
[md]这个工程文件是基于STM32G474RET6芯片所使用的 不是ST的开发板 淘宝买的那种
可以在自己的工程文件看一下 看我的文件中TA TB引脚所在的位置是否和自己的一样 一样的话直接仿真就可以,单纯测测丢不丢波
如果还是丢波 那就是硬件问题了
[md]或者把问题和文件发邮箱给[email]mcu.china@st.com[/email] 会有人答复的 很快哈哈哈
已经解决了,timB的预装载和重复更新寄存器未在cubmx里面使能‘’