xingcheng 发表于 2024-8-16 18:29:07

基于AVR446的步进电机梯形加减速程序的问题请教

大家好,最近做了一块板子,用来控制一个带驱动器的步进电机的。MCU用的是STC32G12K128,晶振为12M外部无源晶振。电机的控制程序是基于网上的AVR446的程序修改的,主要是把它原来的steps相关的由int改成了long。目前程序遇到了一些问题,主要是速度上不去。
在调试的过程中发现有个地方不太理解,就是计算到达最高速度的步数那一块:max_s_lim = (long)speeds*speeds/(long)(((long)A_x20000*accel)/100),如果按照这个公式来计算,在steps=7500,accel=1000的时候,得到的步数是好几万步,而实际上跑了900多步的时候计算出来的延时就已经达到目标速度了。这个地方一直没能想通,理论上说,这个地方计算出来的加速步数不是应该与实际的一致吗?就算有误差在里面,也不应该差这么多啊?请问有高手能帮忙指导一下吗?谢谢!

页: [1]
查看完整版本: 基于AVR446的步进电机梯形加减速程序的问题请教