OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2252|回复: 5

有没有人遇到这种问题?直流电机驱动和霍尔编码器脉冲计数实现定位

[复制链接]

20

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2016-6-16
在线时间
56 小时
发表于 2020-3-25 11:14:46 | 显示全部楼层 |阅读模式
1金钱
背景:
直流电机驱动和霍尔编码器脉冲计数。
编码器捕获接PA1--定时器2的2通道捕获。电机驱动接PA8--定时器1的1通道PWM和PB8 --定时器4的3通道PWM。



目的:
实现对电机转动位置的定位。
思路:
两个IO驱动电机正反转,通过编码器捕获脉冲,通过脉冲数的对比,实现电机的正反转的定位。
问题:
[size=13.3333px]两种方式驱动电机:
[size=13.3333px]1 [size=13.3333px]不用pwm调速电机。只是IO高低电平驱动电机正反转,这个时候发现定时器2捕获的编码器脉冲在电机正反转的时候,是相当的,电机转的圈数也相当。但是有累积误差,循环正反转时间长了定位就不准了。

[size=13.3333px]2 用定时器1和定时器4的PA8 PB8两路单独的PWM驱动电机,对电机的正反转进行调速,以此试图消除正反转速度不一致造成的惯性影响。操作办法是正转的时候占空比100%。反转占空比50%。理论上正反转定时器2捕获的编码器脉冲应该都一样才对。但是发现,正转的时候正常,捕获脉冲10,电机转5圈,反转的时候,捕获的脉冲数量10,电机转1圈。明显捕获的脉冲不一样。
[size=13.3333px]这是为什么呢?
[size=13.3333px]我这个思路不知道合理不合理,有哪位大神做过这种应用,可否指点下。怎么消除误差,使得定位准确?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2016-6-16
在线时间
56 小时
 楼主| 发表于 2020-3-25 11:19:04 | 显示全部楼层
回复

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3625
金钱
3625
注册时间
2019-8-14
在线时间
1054 小时
发表于 2020-3-25 16:12:22 | 显示全部楼层
帮顶  
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2020-3-26 01:04:01 | 显示全部楼层
你确定你的脉冲捕获是正确的么?代码没bug吧?
回复

使用道具 举报

0

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
165
金钱
165
注册时间
2019-3-15
在线时间
30 小时
发表于 2020-3-26 08:48:32 | 显示全部楼层
用编码器就可以了
回复

使用道具 举报

4

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2019-12-24
在线时间
31 小时
发表于 2020-3-26 09:31:18 | 显示全部楼层
可以引入pid做一个数字差速器
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-23 15:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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