zjyyl 发表于 2020-8-19 09:25

一个单片机能同时控制两台步进电机么?

一直用一个单片机控制一个步进电机,启动,升速,高速运转,减速,停止,用了一个定时器,定时器的中断程序来控制这些操作,现在需要分别控制两台步进电机,那就再用到一个定时器,但是我担心两个定时器的终端优先不一样,高级别的发生中断时,会不会影响低中断级别定时器,造成低级别控制的电机不能正常工作?
大师们来帮助分析一下,要是不行,我就不浪费时间了。谢谢

ayb_ice 发表于 2020-8-19 10:03

当然是可以的,影响多少是有的,取决于MCU的速度,程序合理安排等

zjyyl 发表于 2020-8-19 10:22

ayb_ice 发表于 2020-8-19 10:03
当然是可以的,影响多少是有的,取决于MCU的速度,程序合理安排等

谢谢,那我试试

jyrpxj 发表于 2020-8-19 11:18

单片机选得好, 完全没问题 的

叶春勇 发表于 2020-8-19 12:05

arduino 就是可以搞3d打印,步进电机的响应速度相对单片机来说很慢的

zjyyl 发表于 2020-8-19 15:41

jyrpxj 发表于 2020-8-19 11:18
单片机选得好, 完全没问题 的

是的,单片机速度越快越好

zjyyl 发表于 2020-8-19 15:48

叶春勇 发表于 2020-8-19 12:05
arduino 就是可以搞3d打印,步进电机的响应速度相对单片机来说很慢的

这是一个大功率的步进电机,要求最高要10000HZ,我就是害怕定时器忙不过来。用的STC的8f

宽衣解吊带 发表于 2020-8-19 17:49

我雕刻机用的控制卡上面的单片机是STM32F103C8T6,支持5个步进电机或者伺服电机,最高五轴输出100KHz

触觉的爱 发表于 2020-8-19 18:47

速度是 否一样,电机是否需要同时动作?

xyz549040622 发表于 2020-8-19 19:52

zjyyl 发表于 2020-8-19 15:48
这是一个大功率的步进电机,要求最高要10000HZ,我就是害怕定时器忙不过来。用的STC的8f ...

10khz,也就是100us,STC是可以实现的。你这种只是理论上的考虑,事实上,单核的MCU,都是有中断优先级的,即使你换STM32也是一样的,需要你程序安排合理。

coody 发表于 2020-8-19 22:20

楼主用STC的? 我用STC8A8K64S4A12,同时控制6个步进电机(4路PCA+Timer3 Timer4),每个电机均可独立控制加减速,最高20KHz。

叶春勇 发表于 2020-8-20 07:06

zjyyl 发表于 2020-8-19 15:48
这是一个大功率的步进电机,要求最高要10000HZ,我就是害怕定时器忙不过来。用的STC的8f ...

自己查一下 grbl,一个定时器负责脉冲总周期,一个定时器负责脉冲宽度。
如果是10k,可以考虑PWM加 定时器捕获

lvface123654 发表于 2020-8-20 08:38

可以,8路我搞过

michaelleng8888 发表于 2020-8-20 10:36

可以选MICROCHIP的啊

ww75815895 发表于 2020-10-19 15:08

用这个xc1004四轴SPI运动控制芯片解决这种事最简单

rgjinxuan 发表于 2020-10-27 09:36

可以的   

snriycq 发表于 2020-10-29 15:44

STM32可以采用FREERTOS系统进行多线程并行处理。

zjyyl 发表于 2020-11-30 20:02

**NT018 发表于 2020-10-27 09:07
完全没问题,我有客户要已经做过了,推荐STC8H系列芯片,最便宜的方案是STC8H1K08-36I-TSSOP20/DFN20, RMB ...

用pwm好像不行,还是要用定时器,PWM只能输出同样的频率,而我的两台电机工作时可能是不同的频率。
页: [1]
查看完整版本: 一个单片机能同时控制两台步进电机么?