OpenEdv-开源电子网

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

求教驱动步进电机的问题!

[复制链接]

8

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2013-7-28
在线时间
0 小时
发表于 2013-8-12 21:25:39 | 显示全部楼层 |阅读模式
各位大神: 请问你们是怎么精确控制步进电机的速度的?听说用PWM控制+定时器精确一点 
我是用延时函数(系统时钟)来控制管脚高低电平实现的  (已实现)
不知道我这个方法是否老土  如果乃们还有虾米方法 贴上来最好 嘿嘿~~

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-12 22:11:15 | 显示全部楼层
知道步距,只要不失步,那速度几乎就是完全受控的啊.
不过步进电机快不起来,转的都很慢...快了就失步,而且无力.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2013-7-25
在线时间
0 小时
发表于 2013-8-12 23:23:32 | 显示全部楼层
回复【楼主位】yangze68:
---------------------------------
PWM的占空比控制
回复 支持 反对

使用道具 举报

8

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2013-7-28
在线时间
0 小时
 楼主| 发表于 2013-8-13 12:07:21 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
用延迟函数控制这个方法和定时器哪个更精确啊?
回复 支持 反对

使用道具 举报

8

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2013-7-28
在线时间
0 小时
 楼主| 发表于 2013-8-13 12:08:03 | 显示全部楼层
回复【3楼】RAY:
---------------------------------
怎么搞?还是不懂怎么用PWM控制 步 进 电 机
PWM不是控制直流电机么。。。
回复 支持 反对

使用道具 举报

4

主题

34

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2013-6-28
在线时间
0 小时
发表于 2013-8-13 12:53:22 | 显示全部楼层
根据脉冲的宽度来控制速度,脉冲宽度越窄,速度越快,但是会有一个极限值,再小电机就不转了,像我用的步进电机采用双四拍模式,脉冲宽度为4ms电机速度最快
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-13 13:00:51 | 显示全部楼层
回复【4楼】yangze68:
---------------------------------
定时器准一些。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2013-7-25
在线时间
0 小时
发表于 2013-8-13 14:07:38 | 显示全部楼层
回复【5楼】yangze68:
---------------------------------
我搞的是PWm控制直流减速电机
回复 支持 反对

使用道具 举报

8

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2013-7-28
在线时间
0 小时
 楼主| 发表于 2013-8-13 14:12:49 | 显示全部楼层
回复【8楼】RAY:
---------------------------------
我看出来了。。。
回复 支持 反对

使用道具 举报

10

主题

45

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
259
金钱
259
注册时间
2013-4-8
在线时间
1 小时
发表于 2013-8-13 20:41:15 | 显示全部楼层
回复【楼主位】yangze68:
---------------------------------
我最近刚研究步进电机来着,修改了下原子哥PWM程序实测可以精确控制步进电机的转速。比如TIM3的自动重装载值和预分频系数如下
TIM3_PWM_Init( 19, 35999 );系统时钟配置为72M,那么定时器自增频率就是72000000/36000=2000Hz;下面设置比较捕获寄存器
TIM_SetCompare2( TIM3, 9 );此后占空比为10/20=0.5,PWM输出周期为1/2000*20=0.01 s即100Hz;我用的步进电机步距1.8度
再用两秒的延时检测,确实是两秒钟转一圈,这是PWM控制转速的
对于要实现PWM精确控制步进电机转动角度,可以配置PWM的时候把溢出中断打开,那么每中断一次就是一个脉冲,计数中断次数可以实
现对脉冲数量的及转动角度的精确控制
每天奋斗一点点,终究会有成功的那一天
回复 支持 反对

使用道具 举报

8

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2013-7-28
在线时间
0 小时
 楼主| 发表于 2013-8-14 14:06:00 | 显示全部楼层
回复【10楼】k0becheng:
---------------------------------
呃 我还想问一下 你的意思是输出多路PWM 然后控制各个PWM相位差吗?
回复 支持 反对

使用道具 举报

10

主题

45

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
259
金钱
259
注册时间
2013-4-8
在线时间
1 小时
发表于 2013-8-14 19:41:43 | 显示全部楼层
回复【11楼】yangze68:
---------------------------------
我直接用的驱动器控制步进电机来着(手头刚好有一套驱动器+步进电机,所以没有自己设计驱动电路,过段时间尝试下)只要一路脉冲控制驱动器就行了
每天奋斗一点点,终究会有成功的那一天
回复 支持 反对

使用道具 举报

8

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2013-7-28
在线时间
0 小时
 楼主| 发表于 2013-8-15 08:08:45 | 显示全部楼层
回复【12楼】k0becheng:
---------------------------------
这样的呀
回复 支持 反对

使用道具 举报

6

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2015-3-30
在线时间
33 小时
发表于 2016-4-8 16:36:41 | 显示全部楼层
k0becheng 发表于 2013-8-13 20:41
回复【楼主位】yangze68:
---------------------------------
我最近刚研究步进电机来着,修改了下原子哥PW ...

很有用,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-12 23:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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