打印

GD替换ST后PWM工作异常

[复制链接]
1539|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gdszzyq|  楼主 | 2022-4-3 11:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的控制板原来一直是用STM32F103VBT6的,但现在太贵了就想替换成GD32F103VBT6,我是直接将原用于ST的程序修改了几个超时参数后就下载进去,在一款产品上进行测试,我这款产品用了5路步进电机,用定时器2及4输出5路控制这5个电机,已经用了几年的了。但在用GD的芯片板子上却出现问题,当多个电机同时运转时有个别电机会丢步,而且是空载情况下。昨天还专门写了个测试程序,什么都不干,只有4个电机往复运转的动作,测试发现当2个电机同时运转没有问题,当3个电机同时运转时偶尔会出现丢步,当4个电机同时运转时马上丢步。用ST的芯片都带过7个电机都没有出过问题。也找过代理的FAE,把工程都发给他了,也查不原因。我怀疑是定时中断出问题,有时没有响应中断导致PWM信号断续,请问有遇到这种问题的吗?请高手们指点一下,到底是哪里出问题,谢谢。

使用特权

评论回复
沙发
gdszzyq|  楼主 | 2022-4-6 12:45 | 只看该作者
Green_Apple 发表于 2022-4-6 10:15
加WX: MCU10000,发一下移植文档给你

谢谢你,那个文档我有,我现在就是想直接用原ST库开发的程序,只是改几个参数就行了,全部用GD的库改动太多了,而且要考虑兼容性。

使用特权

评论回复
板凳
koala889| | 2022-4-7 10:29 | 只看该作者
临时用就简单修改吧
批量走产品的话,个人感觉还是需要用GD的底子

使用特权

评论回复
地板
lvben5d| | 2022-4-25 16:09 | 只看该作者
其实很多时候看到这种问题, 不太明白,花几天时间,去替换下库函数,了解下GD32 多好。  前面STM32既然已经写好了常规的C代码,只要把库替换下,结合硬件。  常规这些串口 SPI  又不像USB 那么特殊 和难。    虽然STM32F103跟GD3232F103 寄存器地址一毛一样  但想直接烧录完事,步知道通不通

使用特权

评论回复
5
gdszzyq|  楼主 | 2022-4-26 10:52 | 只看该作者
lvben5d 发表于 2022-4-25 16:09
其实很多时候看到这种问题, 不太明白,花几天时间,去替换下库函数,了解下GD32 多好。  前面STM32既然已 ...

已经全部用GD库替换了也一样,你看我另一个帖子代码都帖出来了

使用特权

评论回复
6
kiwis66| | 2022-5-6 11:30 | 只看该作者
单纯点搞一搞pwm,别急着移植捏

使用特权

评论回复
7
海滨消消| | 2024-8-16 16:24 | 只看该作者
GD32的时钟配置与STM32不同?

使用特权

评论回复
8
豌豆爹| | 2024-8-16 19:23 | 只看该作者
检查GD32生成的PWM信号的占空比、频率和相位是否与STM32中的完全一致。PWM信号的任何微小差异都可能导致电机性能的变化。

使用特权

评论回复
9
tax2r6c| | 2024-8-31 10:48 | 只看该作者
从STM32F103VBT6切换到GD32F103VBT6时,虽然两者在硬件上兼容,但由于GD32是基于STM32的克隆产品,可能在某些细节上存在差异,特别是在时序和定时器处理上。你遇到的问题可能是由于时钟配置差异引起的

使用特权

评论回复
10
b5z1giu| | 2024-8-31 10:58 | 只看该作者
GD32的时钟树可能与STM32有所不同,导致定时器的时钟频率或分频设置不正确。

使用特权

评论回复
11
cen9ce| | 2024-8-31 11:22 | 只看该作者
确保你的时钟配置(如HSE、PLL配置)与STM32的配置一致,或者根据GD32的数据手册进行调整

使用特权

评论回复
12
d1ng2x| | 2024-8-31 12:31 | 只看该作者
检查定时器中断的优先级设置,确保它们足够高,以避免被其他中断抢占

使用特权

评论回复
13
g0d5xs| | 2024-8-31 13:30 | 只看该作者
确认定时器的预分频器、计数器周期等参数设置是否正确

使用特权

评论回复
14
kaif2n9j| | 2024-8-31 14:14 | 只看该作者
检查电源管理设置,确保GD32的电源模式和节能设置不会影响定时器的正常工作

使用特权

评论回复
15
lamanius| | 2024-8-31 14:58 | 只看该作者
虽然GD32与STM32在硬件上兼容,但在某些情况下可能存在细微的差异。检查硬件电路,确保所有外设(如电机驱动器)与GD32的接口兼容

使用特权

评论回复
16
l1uyn9b| | 2024-8-31 15:33 | 只看该作者
优化你的代码,减少中断服务程序(ISR)中的处理时间,确保ISR能够快速响应。可能需要对代码进行性能分析,找出可能导致中断延迟的瓶颈

使用特权

评论回复
17
ex7s4| | 2024-8-31 16:15 | 只看该作者
如果你使用的是固件库或HAL库,确保你使用的是适用于GD32的库版本。可能需要根据GD32的库文档进行相应的调整。

使用特权

评论回复
18
t1ngus4| | 2024-8-31 17:17 | 只看该作者
是不是因为你的GD的主频变快了导致的呢?

使用特权

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

本版积分规则

46

主题

322

帖子

3

粉丝