梁工 发表于 2023-9-19 12:45:41

lzne5532 发表于 2023-9-19 10:21
粱工经过测试,完全控制步进了,包括回原点,当前脉冲值,定位,(刚开始的时候,不同状态下回原点时不能 ...

推荐使用STC8系列、STC32系列,性能、速度都比15系列好得多。

xiaoyao 发表于 2023-9-19 14:40:33

梁工,{:4_230:}
来个6路S形脉冲100K输出,多路加减速输出应用才广!{:4_259:}

梁工 发表于 2023-9-19 15:01:01

xiaoyao 发表于 2023-9-19 14:40
梁工,
来个6路S形脉冲100K输出,多路加减速输出应用才广!
这是要让小电驴拉1吨货飞起来么?{:lol:}

xiaoyao 发表于 2023-9-19 15:54:37

如:
开250个数组缓冲;0.5-1ms计算一次100个脉冲的加减速数据,这个数据存入数组当PWM输出频率;
PCA中输出PWM,装载频率数据;
环形存入频率与装载频率数组;
这样不会影响脉冲速度;

梁工 发表于 2023-9-19 17:03:52

xiaoyao 发表于 2023-9-19 15:54
如:
开250个数组缓冲;0.5-1ms计算一次100个脉冲的加减速数据,这个数据存入数组当PWM输出频率;
PCA中输 ...

每个脉冲要中断两次装载时间参数。
100KHz就是5us中断一次,6路一起平均就是5/6=0.833us中断一次,进中断的时间都不够。

xiaoyao 发表于 2023-9-19 18:00:04

DMA发送,参考:
https://blog.csdn.net/weixin_41995979/article/details/82495998

ofela 发表于 2023-10-31 20:52:15

电机抖动很严重是什么问题呢

梁工 发表于 2023-11-1 11:46:06

ofela 发表于 2023-10-31 20:52
电机抖动很严重是什么问题呢

驱动时序不对,示波器看一下电枢的波形是否对称

llyymm 发表于 2023-11-1 20:43:45

请问   u16        GetStep(u16 f, u16 f_set)函数里:M1_UpPulse = (u16)((u32)(f + f_set)*UpTime / 2000);        // 理论加速脉冲数
这条指令里的2000对应的是哪个参数?

梁工 发表于 2023-11-1 23:18:25

llyymm 发表于 2023-11-1 20:43
请问   u16        GetStep(u16 f, u16 f_set)函数里:M1_UpPulse = (u16)((u32)(f + f_set)*UpTime / 2000);        //...

加速脉冲数 = (初始频率+目标频率)/2*加速时间,即中点频率*加速时间,时间为ms,算成秒就要/1000,所以:
加速脉冲数 = (初始频率+目标频率)/2*加速时间(ms)/1000
               = (初始频率+目标频率) *加速时间(ms)/2000
页: 1 [2] 3 4 5 6 7 8 9 10 11
查看完整版本: 51开源,步进电机驱动 程序, 直接驱动, 或驱动步进电机驱动器 一共8个程序