我试图从我的步进电机获得高转速输出,但无论我尝试什么,我不能让它旋转超过65,000步/秒。
我已经尝试了许多设置的组合,驱动器,电源,加速等,但电机只是不会超过65000步/秒。它的工作在65000步/秒,但一旦我增加像甚至1000步/秒电机只是停止(停止旋转和开始振动之间的单步)。电机也在高微步时停止,但相同的步速/秒。即使在低转速下它也不能超过65000步/秒。
我确信这不是一个加速度问题,因为即使100000步/秒^2的加速度也可以在最大步/秒是65000或更低的时候工作。但当最大步长/秒为66000时,即使加速度为5000步/秒^2,电机仍会失速。
我还检查了单片机产生的波形的输出。示波器显示一个5.4us的正循环。步进驱动器边缘触发。我可以得到150Hz的步进频率。
单片机使用——Teensy3.6
步进图书馆使用TeensyStep (https://luni64.github.io/TeensyStep/index)
步进电机、驱动器、设置组合如下表所示:
(电源用于以下测试的是24V 3A)
步进电机使用:
1.
- 脉冲im86hs78 - 5504 x - 07 - j
- 电阻/阶段:1.16欧姆
- 电感/阶段:6.8mh
- 步进在线23 hs45 - 4204
- 电阻/阶段:0.9欧姆
- 电感/阶段:3.8 mh
驱动程序和当前设置:
TB6600 (4.0)
DM542 (4.2)
微步:
- 3200
- 6400
- 12800
与以上提到的电机,驱动器和微步我已经尝试了所有的组合和最大步数/秒可达到65000步.
我也尝试了DRV8825和A4988与一对其他电机也与不同的电源,但我仍然得到了相同的结果。
所有的测试都是在零负载下进行的。
总结:
我刚才无法让我的步进电机超过65000步,使用不同的电机,驱动器,设置组合,其中控制器是Teensy3.6和图书馆Teensystep。
下面是我使用的代码:
#包括“teensystem step .h”步进电机(13,11);StepControl控制器;void setup() {Serial.begin(9600);motor.setMaxSpeed (66000);motor.setAcceleration (60000);} void loop() {motor.setTargetRel(600000);controller.move(电动机);延迟(1000);motor.setTargetRel (-600000);controller.move(电动机); delay(1000); }
这个程序将使电机在任何微步设置失速。但电机不会立即失速,它会加速到大约65000步/秒,然后立即失速。