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

【STC32G / STC8H 的2组硬件PWM支持 2组正交编码器】,有视频讲解

[复制链接]

该用户从未签到

7

主题

35

回帖

211

积分

中级会员

积分
211
发表于 2023-6-23 14:49:27 | 显示全部楼层
梁工 发表于 2023-6-19 11:28
ADC读15通道计算VCC,5V工作的话,低于4.5V就启动掉电保存EEPROM。
建议用1ms的间隔启动ADC,在ADC中断中 ...

谢谢!
回复 支持 反对 送花

使用道具 举报

该用户从未签到

0

主题

7

回帖

32

积分

新手上路

积分
32
发表于 2023-9-20 19:02:24 | 显示全部楼层
你好梁工我用了你的A7程序测试了编码器基本没问题,
不过发现一个小问题不知道这是BUG还是硬件的缺陷,
编码器前进1格的时候数据会加1这没问题可以,
这时候编码器退一格的时候数据没有变化,这时候再进
一格数据依然还是没有变化,从串口发回的数据看软件
的中断是响应了,可是PWMA_CNTR里的数据没发生变
化。
简单来说就是如果我的编码器在第1格和第2格之间来回动,
这个程序就无法识别,这是什么问题 ? 因为你的程序很简
单像是硬件自动判断的, 所以我也不知道这是缺陷还是BUG ?
请你帮忙解答一下  
回复 支持 反对 送花

使用道具 举报

该用户从未签到

0

主题

7

回帖

32

积分

新手上路

积分
32
发表于 2023-9-21 12:55:44 | 显示全部楼层
梁工你好  测试了你的编码器程序发现一个问题请教一下这是BUG吗? 编码器正转1格的时候PWM计数器会加2编码器反转1格的时候PWM计数器会减2这都正常 不过当当上一步是正转下一步是反转时PWM计数器只减1反之也是一样 这就导致在转换方向的那一格PWM数据除2以后没有变化 这个问题该怎么解决
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    开心
    2023-12-24 15:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    6

    回帖

    44

    积分

    新手上路

    积分
    44
    发表于 2023-12-24 15:30:28 | 显示全部楼层
    同时使用了两个组PWM A B 两组 正交编码器的时候,PWMA 和 PWMB 是不是都不能用来做为PWM输出来使用了???

    点评

    是,那你就用外部中断来做,或者 扩展个【RMB0.89的 STC8H1K08-36I-TSSOP20/SOP16】  详情 回复 发表于 2023-12-24 15:35
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9465

    回帖

    1万

    积分

    管理员

    积分
    14013
    发表于 2023-12-24 15:35:45 | 显示全部楼层
    康莫卑鄙 发表于 2023-12-24 15:30
    同时使用了两个组PWM A B 两组 正交编码器的时候,PWMA 和 PWMB 是不是都不能用来做为PWM输出来使用了?? ...

    是,那你就用外部中断来做,或者
    扩展个【RMB0.89的 STC8H1K08-36I-TSSOP20/SOP16】
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-24 15:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    6

    回帖

    44

    积分

    新手上路

    积分
    44
    发表于 2023-12-24 16:22:07 | 显示全部楼层
    哦哦
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-24 15:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    6

    回帖

    44

    积分

    新手上路

    积分
    44
    发表于 2023-12-24 16:26:22 | 显示全部楼层
    还有一个问题顺便请教一下,操作 PWM_CCR1  是等同于操作了 PWM_CCR1H 和 PWM_CCR1L 吗??在手册中 我只看到了 CCR1H  和 L  ,好像没看到 CCR1寄存器 ,但是例程中有直接操作 PWM_CCR1 的代码
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-5-8 21:05
  • 签到天数: 47 天

    [LV.5]常住居民I

    0

    主题

    24

    回帖

    278

    积分

    中级会员

    积分
    278
    发表于 2024-1-21 16:12:26 | 显示全部楼层
    BG5BTL 发表于 2023-9-21 12:55
    梁工你好  测试了你的编码器程序发现一个问题请教一下这是BUG吗? 编码器正转1格的时候PWM计数器会加2编码 ...

    我遇到跟你一样的疑问,为何进去一次中断会+2或者-2,我的理解是应该+1或者-1,不知道是不是这个中断的机制就是要读取到一个完整周期编码器才进入中断。我在官方文档里也没找到具体描述的细节。
    另外你现在如果一个脉冲就是+2或者-2,整除后,其实就只能识别一个完整周期脉冲,也没问题吧,你把PWAn_ARR里面值设置成奇数,就可以避免了。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 19:54
  • 签到天数: 59 天

    [LV.5]常住居民I

    2

    主题

    150

    回帖

    227

    积分

    中级会员

    积分
    227
    发表于 2024-2-21 14:47:03 | 显示全部楼层
    这下测量转速比较方便了
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9465

    回帖

    1万

    积分

    管理员

    积分
    14013
    发表于 2024-3-17 09:02:31 | 显示全部楼层
    PWMA组, 只能支持1组编码器;PWMB组, 只能支持1组编码器;
    PWMA组  只能用 PWMxP  的管脚做编码器检测输入
    STC32G 的 2组硬件PWM 支持 2组 正交编码器, 见视频讲解
    STC8H   的 2组硬件PWM 支持 2组 正交编码器, 见视频讲解


    PWMA 的【PWMxP,PWMxN】都可以单独输出,只能其一,或组合输出;
    ===如 PWMxP 单独输出PWMxN 不能单独输出, 但可做其他I/O使用
    ===如 PWMxN 单独输出PWMxP 不能单独输出, 但可做其他I/O使用
    PWMA 的PWM捕获功能检测输入,只能用 PWMxP 的管脚
    PWMA 的编码器检测输入只能用 PWMxP 的管脚

    ===免得 新人 硬件设计错了,再补充总结下

    截图202403170908352769.jpg

    截图202403170908498891.jpg


    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-17 13:42 , Processed in 0.073744 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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