Thread Tools
This thread is privately moderated by Jack Crossfire, who may elect to delete unwanted replies.
Jun 05, 2016, 09:26 PM
Registered User
Jack Crossfire's Avatar
Thread OP
Discussion

Feiyu mini 3D motor control begins


So driving the motors on The Feiyu with standard stepper motor waveforms didn't work. The motors moved unevenly & appeared to cog, but no amount of current made any difference & the torque was way above cogging. After swapping in a bunch of alternative motors & manually stepping through phases, 1 problem was keeping the pulse register always above 0. When enabling deadband, the 0 value jumps across the deadband. The deadband itself doesn't cut away any other pulse values or change the pulse frequency. It merely compresses all pulse durations except 0 to fit in a shorter time.

The proper way to adjust current is not adjusting the deadband but changing the maximum value of the pulse register.

That made stepper motor unevenness behave more like cogging. There were 2 ways to smooth out the motion: slow down the frequency until the motor made an annoying whine or increase the current until the MOSFETs got too hot. Helas, the MOSFETs got too hot to solve the problem by always increasing current.

An example waveform from the original Feiyu would solve everything, but the original firmware is gone. What is known is the Feiyu dynamically increases current as the motor strays farther from its intended position. It uses the lowest possible current when the motor is in position.

Someone in China was pragmatic about motor cogging not being solvable by higher current or mechanics, so they set about solving it through a complicated orchestration of the hall effect sensor, current sense resistors, IMU, & PWM, all in the name of eliminating cogging using the smallest possible size.
Last edited by Jack Crossfire; Jun 05, 2016 at 11:16 PM.
Sign up now
to remove ads between posts


Quick Reply
Message:
Thread Tools