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

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

[复制链接]

该用户从未签到

1

主题

110

回帖

617

积分

高级会员

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

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

使用道具 举报

该用户从未签到

1

主题

110

回帖

617

积分

高级会员

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

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

使用道具 举报

该用户从未签到

550

主题

9234

回帖

1万

积分

管理员

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

使用道具 举报

该用户从未签到

1

主题

110

回帖

617

积分

高级会员

积分
617
发表于 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

主题

110

回帖

617

积分

高级会员

积分
617
发表于 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

主题

110

回帖

617

积分

高级会员

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

点评

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

使用道具 举报

该用户从未签到

45

主题

2920

回帖

6564

积分

超级版主

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

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

使用道具 举报

该用户从未签到

1

主题

110

回帖

617

积分

高级会员

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

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

使用道具 举报

该用户从未签到

1

主题

110

回帖

617

积分

高级会员

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

使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-11 16:24
  • 签到天数: 52 天

    [LV.5]常住居民I

    13

    主题

    42

    回帖

    331

    积分

    中级会员

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

    后面解决问题没
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-29 02:50 , Processed in 0.069504 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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