找回密码
 立即注册
楼主: 32G12K128

【 32G / 8H 系列的2组硬件PWM支持 2组正交编码器】,有视频讲解

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:18:51

9

主题

44

回帖

333

积分

中级会员

积分
333
发表于 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以后没有变化 这个问题该怎么解决
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-11-22 19:34:36

1

主题

8

回帖

81

积分

注册会员

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

点评

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

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

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-11-22 19:34:36

1

主题

8

回帖

81

积分

注册会员

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-11-22 19:34:36

1

主题

8

回帖

81

积分

注册会员

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2024-12-14 14:52:56

0

主题

23

回帖

300

积分

中级会员

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:246
  • 最近打卡:2025-04-30 10:10:32

3

主题

155

回帖

537

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15611
发表于 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, 2025-5-1 22:17 , Processed in 0.149632 second(s), 117 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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