找回密码
 立即注册
楼主: 梁工

使用PCA或高级PWM翻转输出脉冲驱动步进电机驱动器效果视频

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-1-7 21:00:52 | 显示全部楼层
神*** 发表于 2024-1-7 17:52
芯片没改版,能否提供一个简单的程序,证明有这个问题 ?
===然后我们验证后,再修改  ? ...

过去1年多了,要找找以前的测试记录
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-1-7 21:05:22 | 显示全部楼层
梁*** 发表于 2024-1-7 18:13
我认为是程序的问题。
PCA或PWM是一个数字外设,在时钟的驱动下按部就班的工作,不会乱的。数字外设都有 ...

当时只编了几十行汇编测试程序就测试出来了,用汇编测试,程序完全可控
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:99
  • 最近打卡:2025-06-16 09:28:47

733

主题

1万

回帖

1万

积分

管理员

积分
16635
发表于 2024-1-7 21:17:00 | 显示全部楼层
如不能及时提供测试出问题的程序来证明,请自行删除负面评论,望理解,否则新人会被误导,请删除
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-1-8 11:16:58 | 显示全部楼层
;测试程序1
        mov wr0,#word2 PWMB_ARRH
        mov wr2,#word0 PWMB_ARRH
        mov a,#0ffh
        mov @dr0,r11
        mov @dr0+1,r11
       
        mov wr2,#word0 PWMB_PSCRH
        mov a,#byte1 0        ;319
        mov @dr0,r11
        mov a,#byte0 0        ;319
        mov @dr0+1,r11
       
        mov wr2,#word0 PWMB_CCR1H
        mov a,#byte1 10000
        mov @dr0,r11
        mov a,#byte0 10000
        mov @dr0+1,r11
       
        mov wr2,#word0 PWMB_CCR2H
        mov a,#byte1 15000
        mov @dr0,r11
        mov a,#byte0 15000
        mov @dr0+1,r11
       
        mov wr2,#word0 pwmb_cr1
        mov a,#01h
        mov @dr0,r11
       
        mov wr2,#word0 PWMB_CCMR1
        mov a,#00h
        mov @dr0,r11
       
        mov wr2,#word0 PWMB_CCMR2
        mov a,#00h
        mov @dr0,r11
       
        mov wr2,#word0 pwmb_ccer1
        mov a,#11h
        mov @dr0,r11
       
        mov wr2,#word0 PWMB_bkr
        mov a,#80h
        mov @dr0,r11
       
        mov wr2,#word0 pwmb_eno
        mov a,#05h
        mov @dr0,r11
       
        mov r10,#100                        ;延时300个时钟
        djnz b,$
       
        mov a,#30h                        ;PWM输出设置为翻转模式
        mov wr2,#word0 PWMB_CCMR1
        mov @dr0,r11
        mov wr2,#word0 PWMB_CCMR2
        mov @dr0,r11                        ;设置完成后PWM输出为低电平
       
n1:        mov r10,#100                        ;延时300个时钟
        djnz b,$
       
        mov wr2,#word0 PWMB_CNTRH        ;以下程序保证不会再产生比较匹配
        mov r10,@dr0
        mov r11,@dr0+1
        add wr10,#1000
        mov wr2,#word0 PWMB_CCR1H
        mov @dr0,r10
        mov @dr0+1,r11
        mov wr2,#word0 PWMB_CCR2H
        mov @dr0,r10
        mov @dr0+1,r11
               
        sjmp n1
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-1-8 11:18:56 | 显示全部楼层
;测试程序2
        mov wr0,#word2 PWMB_ARRH
        mov wr2,#word0 PWMB_ARRH
        mov a,#0ffh
        mov @dr0,r11
        mov @dr0+1,r11
        
        mov wr2,#word0 PWMB_PSCRH
        mov a,#byte1 0        ;319
        mov @dr0,r11
        mov a,#byte0 0        ;319
        mov @dr0+1,r11
        
        mov wr2,#word0 PWMB_CCR1H
        mov a,#byte1 10000
        mov @dr0,r11
        mov a,#byte0 10000
        mov @dr0+1,r11
        
        mov wr2,#word0 PWMB_CCR2H
        mov a,#byte1 15000
        mov @dr0,r11
        mov a,#byte0 15000
        mov @dr0+1,r11
        
        mov wr2,#word0 pwmb_cr1
        mov a,#01h
        mov @dr0,r11
        
        mov wr2,#word0 PWMB_CCMR1
        mov a,#00h
        mov @dr0,r11
        
        mov wr2,#word0 PWMB_CCMR2
        mov a,#00h
        mov @dr0,r11
        
        mov wr2,#word0 pwmb_ccer1
        mov a,#11h
        mov @dr0,r11
        
        mov wr2,#word0 PWMB_bkr
        mov a,#80h
        mov @dr0,r11
        
        mov wr2,#word0 pwmb_eno
        mov a,#05h
        mov @dr0,r11
        
        mov wr2,#word0 PWMB_CNTRH        ;在PWM输出冻结模式下产生一次比较匹配
        mov r10,@dr0
        mov r11,@dr0+1
        add wr10,#25
        mov wr2,#word0 PWMB_CCR1H
        mov @dr0,r10
        mov @dr0+1,r11
        mov wr2,#word0 PWMB_CCR2H
        mov @dr0,r10
        mov @dr0+1,r11

        mov r10,#100                        ;延时300个时钟
        djnz b,$
        
        mov a,#30h                        ;PWM输出设置为翻转模式
        mov wr2,#word0 PWMB_CCMR1
        mov @dr0,r11
        mov wr2,#word0 PWMB_CCMR2
        mov @dr0,r11                        ;错误!设置完成后PWM输出为高电平
        
n1:        mov r10,#100                        ;延时300个时钟
        djnz b,$
        
        mov wr2,#word0 PWMB_CNTRH        ;以下程序保证不会再产生比较匹配
        mov r10,@dr0
        mov r11,@dr0+1
        add wr10,#1000
        mov wr2,#word0 PWMB_CCR1H
        mov @dr0,r10
        mov @dr0+1,r11
        mov wr2,#word0 PWMB_CCR2H
        mov @dr0,r10
        mov @dr0+1,r11
               
        sjmp n1
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-1-8 11:27:19 | 显示全部楼层
两个测试程序都是设置为翻转模式后从没产生比较匹配,然而设置为翻转模式后PWM输出电平却不一样。后果就是比如在PWM输出翻转为低电平后切换为冻结模式禁止翻转,等下次再设置为翻转模式时,PWM输出可能继续保持低电平,也可能变为高电平,而此时并没有产生比较匹配,如果电平发生变化就会多发出1个脉冲

点评

原来你是这种切换不翻转、翻转的情况,我以为是连续输出脉冲。 连续翻转输出是不会有问题的,但是你切换不翻转、翻转时,要注意同步的问题。 你禁止翻转了,但是PWM模块继续运行,再允许翻转时,就要注意这个情况。  详情 回复 发表于 2024-1-8 15:46
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:94
  • 最近打卡:2025-06-16 11:51:06

74

主题

6089

回帖

1万

积分

超级版主

积分
12721
发表于 2024-1-8 15:46:41 | 显示全部楼层
zxcv*** 发表于 2024-1-8 11:27
两个测试程序都是设置为翻转模式后从没产生比较匹配,然而设置为翻转模式后PWM输出电平却不一样。后果就是 ...

原来你是这种切换不翻转、翻转的情况,我以为是连续输出脉冲。
连续翻转输出是不会有问题的,但是你切换不翻转、翻转时,要注意同步的问题。
你禁止翻转了,但是PWM模块继续运行,再允许翻转时,就要注意这个情况。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-1-9 16:23:57 | 显示全部楼层
梁*** 发表于 2024-1-8 15:46
原来你是这种切换不翻转、翻转的情况,我以为是连续输出脉冲。
连续翻转输出是不会有问题的,但是你切换 ...

输出脉冲控制步进电机难道不停止吗,停止后再输出脉冲时是不是会有多产生一个脉冲的可能
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-1-9 16:28:46 | 显示全部楼层
上面说的很清楚,停止输出脉冲要靠切换为冻结模式,而再切换为翻转功能输出脉冲时PWM输出电平可能会立即发生变化,而此时并没有达到翻转的匹配条件,这就有可能会多输出1个脉冲
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2024-05-20 05:47:02

13

主题

45

回帖

345

积分

中级会员

积分
345
发表于 2024-2-4 13:09:23 | 显示全部楼层
zxcv*** 发表于 2024-1-9 16:28
上面说的很清楚,停止输出脉冲要靠切换为冻结模式,而再切换为翻转功能输出脉冲时PWM输出电平可能会立即发 ...

后面解决问题没

点评

我也想知道,解决了否?  发表于 2024-6-7 11:38
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-16 13:01 , Processed in 1.039967 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表