搜索
bottom↓
回复: 21

求助:stm32同时控制16路步进电机的思路

[复制链接]

出0入0汤圆

发表于 2019-11-16 17:36:41 | 显示全部楼层 |阅读模式
问题是这样的,我想要同时控制16路步进电机,要能指定每一路的旋转角度和速度(比如第一路以每秒一圈的速度转360度然后再转回去,第二路以一秒两圈的速度转360度然后再转回去,这个速度 和这个360度 是可以通过串口设置的),还需要启动的时候带加减速,这个加减速可以固定在程序中不需要更改,。。总共有16路,需要用串口通信发指令控制每一路的速度和圈数,请问这样的要求用一个stm32芯片能实现吗?如果可以的话愿意有老师教教我吗?。。。。我好想找个人带带我啊

出0入0汤圆

发表于 2019-11-16 17:40:08 | 显示全部楼层
如果速度不是很高,可以用定时器+IO实现

出0入213汤圆

发表于 2019-11-16 17:55:11 来自手机 | 显示全部楼层
估计难,因为要精确计算脉冲数定位,假设电机每秒一圈3200脉冲,16个电机,平均1/(3200*16)秒也就是19.5us就有一个脉冲计数中断。你还有串口通信中断,好有显示,按键扫描,

出0入0汤圆

 楼主| 发表于 2019-11-16 17:57:43 | 显示全部楼层
mcu5i51 发表于 2019-11-16 17:40
如果速度不是很高,可以用定时器+IO实现

您能详细讲讲吗 。。定时器确定一个时基,然后在中断里去翻转io,那我怎么确定哪些需要翻转哪些不需要呢。。。如果需要不同的时基就使用不同的定时器,那么这样子各种中断不断到来 我还能串口通信吗。。我不太会。。也不知我说的对不对。。请您费心多说点吧

出0入0汤圆

 楼主| 发表于 2019-11-16 17:59:00 | 显示全部楼层
jyrpxj 发表于 2019-11-16 17:55
估计难,因为要精确计算脉冲数定位,假设电机每秒一圈3200脉冲,16个电机,平均1/(3200*16)秒也就是19.5us ...

没有显示 只有通信。。和需要回原点的传感器。。。。

出0入0汤圆

 楼主| 发表于 2019-11-16 18:01:37 | 显示全部楼层
jyrpxj 发表于 2019-11-16 17:55
估计难,因为要精确计算脉冲数定位,假设电机每秒一圈3200脉冲,16个电机,平均1/(3200*16)秒也就是19.5us ...

我可以多用些stm32的,每个最多可以控制多少个电机呀?。。。如果速度不超过每秒5圈的话

出0入0汤圆

 楼主| 发表于 2019-11-16 18:04:53 | 显示全部楼层
我看到了这个 我好想知道这个是怎么做的呀。。。哪怕我一个芯片能控制4个 或者8个电机也行呀  速度每秒5圈以内 这样能行吗 老师们 求帮助呀

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-11-16 18:48:29 | 显示全部楼层
16个同时不同速度工作STM32够呛的

ST有步进驱动芯片SPI接口的,发指令运行可以

出0入0汤圆

发表于 2019-11-16 18:53:15 | 显示全部楼层
这个 要是用FPGA配合MCU来实现,160路都没有问题吧。

出0入0汤圆

发表于 2019-11-16 18:56:48 | 显示全部楼层
向北 发表于 2019-11-16 18:04
我看到了这个 我好想知道这个是怎么做的呀。。。哪怕我一个芯片能控制4个 或者8个电机也行呀  速度每秒5圈 ...

这个好像是FPGA做的

出0入0汤圆

 楼主| 发表于 2019-11-16 19:35:48 | 显示全部楼层
flash3g 发表于 2019-11-16 18:48
16个同时不同速度工作STM32够呛的

ST有步进驱动芯片SPI接口的,发指令运行可以 ...

您可以告诉我一下型号吗 。。我刚才找了 只找到驱动器上用的,。。。

出0入0汤圆

 楼主| 发表于 2019-11-16 19:36:23 | 显示全部楼层
advantech 发表于 2019-11-16 18:53
这个 要是用FPGA配合MCU来实现,160路都没有问题吧。

不会FPGA。。

出0入17汤圆

发表于 2019-11-16 19:46:43 来自手机 | 显示全部楼层
上总线,主控只负责发指令。

出100入85汤圆

发表于 2019-11-16 20:22:08 来自手机 | 显示全部楼层
1.485总线就行,配上支持485的步进驱动

出0入0汤圆

发表于 2019-11-16 20:27:38 | 显示全部楼层
步进电机每圈脉冲数调低,选主频高的型号,不过要考虑好io数量和总驱动能力
要不就一主多从,缺点是数据交换麻烦,不利于实时控制

出0入4汤圆

发表于 2019-11-16 20:45:24 | 显示全部楼层
本帖最后由 ilan2003 于 2019-11-16 20:46 编辑

用CAN通讯吧 ;现在更加先进的是用EtherCat

出0入0汤圆

 楼主| 发表于 2019-11-16 21:29:35 | 显示全部楼层
感谢各位老师,现在已经有两个方向了,1总线驱动,2多个芯片或者spi专用芯片,我看一下价格再决定。再次谢谢给位老师 谢谢论坛

出0入20汤圆

发表于 2019-11-16 21:30:20 | 显示全部楼层
如果不是高速的情况下做16个软定时器问题不大的。
现实情况下高主频单片机定时器中断100k不影响其他功能的。

出0入0汤圆

发表于 2019-11-17 14:01:44 | 显示全部楼层
向北 发表于 2019-11-16 17:57
您能详细讲讲吗 。。定时器确定一个时基,然后在中断里去翻转io,那我怎么确定哪些需要翻转哪些不需要呢 ...

你可以看看3D打印机原码文件,基本上和C语言差不多;
实现方法就是在定时中断中处理几个计数变量,如果为0就改变对应的IO,并设置新的数值后继续处理,几路时多数芯片可以到10K左右吧,16路STM32中就要看优化程度了

出0入0汤圆

发表于 2019-11-17 15:39:54 | 显示全部楼层
看你用什么驱动器,PWM类型的驱动器就超级简单啊,只要PWM够,100路电机我都能控制,如果是脉冲+DIR方式的驱动,有点困难

出0入4汤圆

发表于 2019-11-17 20:13:40 来自手机 | 显示全部楼层
数量多的话可以考虑FPGA
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 17:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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