Simple proof of concept for using a stepper motor as a speed-controlled motor to run a dynamo hub testing rig. After running into limitations on speed and smoothness and features with Arduino-based (8-bit 16mhz) stepper libraries, I switched to a Teensy 3.5 board (32-bit 120mhz) and now I have way more processing power left over, even at speeds much higher than I will need. Here I was testing what maximum speeds I could reach with the hardware in play, just for fun.
The TeensyStep library allows continuous rotation (instead of a command to proceed to a position) and also allows smoothly accelerating and decelerating to new speeds without needing to come to a stop to set the new speed.
Hardware shown:
- Teensy 3.5 microcontroller
- TB6600 stepper driver
- high-torque Nema 23 bipolar stepper motor
- (the Arduino Nano clone visible on the breadboard is not being used in this video)
Maximum speed shown in video is 16400 pulses per second, which translates to 4920 rpm. (initial max speed configured to 8200 pulses/sec, and this is doubled by the final speed override command near the bottom of the code) This is a 200 pulse per revolution stepper motor, and the controller is not microstepping. (and there are 60 seconds in one minute.) 8200 * 2 / 200 * 60 = 4920 rpm.
100% speed is 2460rpm. This test code accelerates to 10%, 20%, 100%, and 200% of max speed, pausing at each value to allow for acceleration time. The delay time at 100% speed was too short to allow it to stabilize at that speed, but you can definitely hear a brief constant frequency at max speed showing that it did reach 4920rpm.
13 дек 2019