OpenEdv-开源电子网

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

做点胶机里步进电机的仿真,怎么控制三个步进电机联动啊?

[复制链接]

0

主题

2

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-4-26
在线时间
7 小时
发表于 2021-4-28 11:08:10 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 颠倒梦想 于 2021-4-28 11:09 编辑

如题,使用的是STM32F103C6仿真,点胶机的步进电机工作方式和3D打印机相似,希望大佬能给个思路

最佳答案

查看完整内容[请看2#楼]

若你部进电机频率一样,可以用同一个定时器(主)四路PWM控制4个电机。然后再用4个其他定时器做(从)模式。用于控制脉冲个数。至于联动,可以在主任务内,不同命令下打开主定时器的哪一路运动,并设置好从定时器计时的脉冲个数。 从定时器的时钟,就不要用系统时钟了,用主定时器的PWM做为时钟,这个从定时器就可以记录主定时器PWM的脉冲个数了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11741
金钱
11741
注册时间
2013-3-8
在线时间
1252 小时
发表于 2021-4-28 11:08:11 | 显示全部楼层
颠倒梦想 发表于 2021-4-29 10:47
意思是一个定时器用四通道控制一个步进电机,然后三个定时器互相协调时间吗?

若你部进电机频率一样,可以用同一个定时器(主)四路PWM控制4个电机。然后再用4个其他定时器做(从)模式。用于控制脉冲个数。至于联动,可以在主任务内,不同命令下打开主定时器的哪一路运动,并设置好从定时器计时的脉冲个数。
从定时器的时钟,就不要用系统时钟了,用主定时器的PWM做为时钟,这个从定时器就可以记录主定时器PWM的脉冲个数了。
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11741
金钱
11741
注册时间
2013-3-8
在线时间
1252 小时
发表于 2021-4-29 10:17:58 | 显示全部楼层
速度不高的话,用单片机可以解决,用多个定时器进行处理。速度要求高,就用FPGA吧
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-4-26
在线时间
7 小时
 楼主| 发表于 2021-4-29 10:47:32 | 显示全部楼层
augustedward 发表于 2021-4-29 10:17
速度不高的话,用单片机可以解决,用多个定时器进行处理。速度要求高,就用FPGA吧

意思是一个定时器用四通道控制一个步进电机,然后三个定时器互相协调时间吗?
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11741
金钱
11741
注册时间
2013-3-8
在线时间
1252 小时
发表于 2021-4-29 16:08:29 | 显示全部楼层
颠倒梦想 发表于 2021-4-29 10:47
意思是一个定时器用四通道控制一个步进电机,然后三个定时器互相协调时间吗?

如果电机速度一个,用同一个定时器的4个PWM通道,可以控制4个步进电机。从定时器主要用于控制脉冲个数。
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-6-23
在线时间
13 小时
发表于 2022-6-16 10:05:33 | 显示全部楼层
augustedward 发表于 2021-4-28 11:08
若你部进电机频率一样,可以用同一个定时器(主)四路PWM控制4个电机。然后再用4个其他定时器做(从)模 ...

请问你讲的思路里有没有涉及到加减速,加减速的思路是怎么样的呢?
回复

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2022-6-16 11:50:37 | 显示全部楼层
可以PWM,也可以定时器里电平翻转,看3个电机速度是否一致,不一致可以用最低速度最基准,其他速度为这个最低速度的倍数,中断里+1,然后判断,具体程序怎么操作你自己看么,
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-6-23
在线时间
13 小时
发表于 2022-6-16 17:28:59 | 显示全部楼层
xujian468 发表于 2022-6-16 11:50
可以PWM,也可以定时器里电平翻转,看3个电机速度是否一致,不一致可以用最低速度最基准,其他速度为这个最 ...

请问你讲的思路里有没有涉及到加减速,加减速的思路是怎么样的呢?
回复

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2022-6-16 20:19:12 | 显示全部楼层
yaoz113 发表于 2022-6-16 17:28
请问你讲的思路里有没有涉及到加减速,加减速的思路是怎么样的呢?

加减速的原理是为了,让步进慢慢的从低速加速到高速,因为步进电机不能一下子就到达高速,会失步,加减速呈阶梯状,比如步进电机起始是1000us一个脉冲,运行10步,然后900us一个脉冲,运行10步,然后800us一个脉冲,运行10步,然后700us,600us,500us,400us,300us,200us,依次运行然后到达你需要的速度,就这个脉冲一直发送,当达到你需要的速度后,你需要慢下来停止的时候,依次用脉冲频率为200us走10步,,300us,400us,500us,600us,700us,800us,900us,1000us均走10步,到达指定位置,这个时候需要用光电传感确定零位,上述描述的10步,只是大概的,走20步,30步肯定比10步更稳定,
回复

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2022-6-16 20:25:22 | 显示全部楼层
本帖最后由 xujian468 于 2022-6-16 20:43 编辑

我算算看袄,我上次设计的那个设备,过戳机的步进最高速度跑到200us一个脉冲,频率是是再上去,停下来的时候失步太多定位就有问题,就没再上去,我用步进驱动器雷赛的或者东芝的TB6560和L298,L297都用过
回复

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2022-6-16 20:42:23 | 显示全部楼层
PWM速度可以改变,就是PWM步数你没法计算,步进一个脉冲就是一步,因为我的设计需要严格计算转一圈 400步,所以加速8个速度,每个速度 10步,这就是80步,然后到达恒速度,恒速度运行240步,然后再减速度8个速度,每个速度10步,减速度共80步,加速度80+恒速度240+减速度80一共400步,
或者你可以用一个定时器,定时多久改变PWM频率来实现加减速,
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-6-23
在线时间
13 小时
发表于 2022-6-17 17:48:57 | 显示全部楼层
xujian468 发表于 2022-6-16 20:42
PWM速度可以改变,就是PWM步数你没法计算,步进一个脉冲就是一步,因为我的设计需要严格计算转一圈 400步, ...

谢谢回复。PWM好像就是用定时器的PWM2模式,也就可以在定时的时间内产生一个脉冲吧?  就不要额外用一个定时器去改变PWM频率吧?  
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-6-23
在线时间
13 小时
发表于 2022-6-17 17:51:04 | 显示全部楼层
xujian468 发表于 2022-6-16 20:42
PWM速度可以改变,就是PWM步数你没法计算,步进一个脉冲就是一步,因为我的设计需要严格计算转一圈 400步, ...

因为我的设计需要严格计算转一圈 400步,所以加速8个速度,每个速度 10步,这就是80步,然后到达恒速度,恒速度运行240步,然后再减速度8个速度,每个速度10步,减速度共80步,加速度80+恒速度240+减速度80一共400步。您上面说的这加减速是没用PWM的方式吗?是用定时器翻转实现的吗?
回复

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2022-6-17 19:18:45 | 显示全部楼层
yaoz113 发表于 2022-6-17 17:51
因为我的设计需要严格计算转一圈 400步,所以加速8个速度,每个速度 10步,这就是80步,然后到达恒速度, ...

对,这个设计是用51单片机做的,没有PWM,所以我设计只在定时器中断里用电平翻转,
但是STM的芯片PWM输出,我看例程里也不计算输出多少脉冲啊,只修改PWM的频率,所以你自己在好好想想
回复

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2022-6-17 19:23:27 | 显示全部楼层
加减速的本质是提高步进转动速度,因为步进 不能一下子提高 到很快的速度 ,需要用加速度给它慢慢速度提上来,然后快要停止时候提前减速度,这样可以当你停下来的时候速度很慢,可以精确的停止到你需要的地方,
你先固定一个比较慢的速度等位置定位精确再来添加加减速的程序段好了,
回复

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2022-4-26
在线时间
3 小时
发表于 2022-6-18 15:51:14 | 显示全部楼层
L6470这个芯片可以满足你的要求,加减速,堵转电流,加减速电流,运行电流都可以设置,SPI控制
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2014-6-23
在线时间
13 小时
发表于 2022-6-20 09:20:20 | 显示全部楼层
xujian468 发表于 2022-6-17 19:18
对,这个设计是用51单片机做的,没有PWM,所以我设计只在定时器中断里用电平翻转,
但是STM的芯片PWM输 ...

PWM模式对脉冲计数可能只能自己用个变量保存了,谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 22:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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