梁工
发表于 2025-4-21 20:21:26
zijuxkeg 发表于 2025-4-21 16:53
按键和显示,设置1-9档选转速就可以。给个信号,一直工作,没信号停止,
可以,编程即可实现。
yuys987236
发表于 2025-4-29 21:54:52
梁工,这程序我用来驱动步进电机指针仪表,运转的很平稳。现在就是转速信号输进来指针的响应不是很灵敏,你有没有做过这方面开发。想请教一下你。
梁工
发表于 2025-4-29 23:22:30
yuys987236 发表于 2025-4-29 21:54
梁工,这程序我用来驱动步进电机指针仪表,运转的很平稳。现在就是转速信号输进来指针的响应不是很灵敏,你 ...
仪表一般响应都是比较缓慢的,你要响应很快?具体速度要求多少? 步进电机对于转速表,速度很快的。
yuys987236
发表于 2025-4-30 15:05:18
梁工 发表于 2025-4-29 23:22
仪表一般响应都是比较缓慢的,你要响应很快?具体速度要求多少? 步进电机对于转速表,速度很快的。 ...
转速信号变化快的时候指针也要快速转动,这部分的算法写不出来。
梁工
发表于 2025-4-30 22:59:03
yuys987236 发表于 2025-4-30 15:05
转速信号变化快的时候指针也要快速转动,这部分的算法写不出来。
转速数据作为转角数据,比如转速6000,对应步进电机转动270度,1.8度一步,则270度对应150步。假设使用8细分,则为1200步,6000/1200=5,即转速5对应一步。
获取的转速为Vx,则目标步数 s_step = Vx/5,再跟当前位置对应的步数c_step比较:
if(s_step > c_step),则顺时针转(s_step - c_step)步;
if(s_step < c_step),则逆时针转(c_step - s_step)步;
c_step = s_step;
如果电机正在转动,则要处理好叠加的步数。
yuys987236
发表于 2025-5-25 15:59:30
梁工 发表于 2025-4-30 22:59
转速数据作为转角数据,比如转速6000,对应步进电机转动270度,1.8度一步,则270度对应150步。假设使用8 ...
转动的时候,叠加的步数怎么处理
梁工
发表于 2025-5-25 16:23:37
yuys987236 发表于 2025-5-25 15:59
转动的时候,叠加的步数怎么处理
什么是“叠加的步数”?
yuys987236
发表于 2025-5-25 16:36:15
梁工 发表于 2025-5-25 16:23
什么是“叠加的步数”?
转速数据作为转角数据,比如转速6000,对应步进电机转动270度,1.8度一步,则270度对应150步。假设使用8细分,则为1200步,6000/1200=5,即转速5对应一步。
获取的转速为Vx,则目标步数 s_step = Vx/5,再跟当前位置对应的步数c_step比较:
if(s_step > c_step),则顺时针转(s_step - c_step)步;
if(s_step < c_step),则逆时针转(c_step - s_step)步;
c_step = s_step;
如果电机正在转动,则要处理好叠加的步数。
就是你上面说的
梁工
发表于 2025-5-25 21:19:59
yuys987236 发表于 2025-5-25 16:36
转速数据作为转角数据,比如转速6000,对应步进电机转动270度,1.8度一步,则270度对应150步。假设使用8 ...
你说得比较乱。
步进电机是200步、1.8度的,则8细分就是1600步、0.225度。
转速按频率来计算,角度按步计算,这样比较好计算和控制。
比如,加减速时间为100ms,从0Hz加速到6400Hz(4转/秒,240转/分),运行32000步(20圈)后停止,则先加速320个脉冲到6400Hz,运行到剩余320个脉冲开会时减速。
习贝
发表于 2025-8-22 23:59:00
先不管程序怎么控制的,总而言之,言而总之,电机转的呼呼的了