-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ad Stepper support #29
Comments
Hi Wintertod, You are right but steppers would need at least a couple of h-bridges to drive (one L298 would be enough) for those under 2A. But projects like Mecaduino already cover that solution space (plus they are based on an M0 I reckon). Outputting step/dir would assume there is an external driver but that would prevent a more thorough approach to motor control, like a vector drive, overcurrent and other strategies to deal with following error conditions. Bluepill support for dcservo should be simple if using STM32duino library though EEPROM would need to be emulated. At the moment I am working on other projects, but I might get back to some of these ideas in the future. Stay tuned. |
Thanks for the fast reply! |
I do agree, it is difficult to keep the cost low and easily the off-the-shelf products from Leadshine or JMC will be easier and cheaper than a pure DIY approach. In fact, that is what I am using on some DIY CNC machines I built. The problem with closed-loop steppers is what to do when the stepper stalls. If you do the simple thing of keeping sending pulses to the drivers there is no guarantee that it will work at all. Depending on your application, a certain following error may not be later compensated for. But if you keep the driver within the loop you can try doubling or tripling the coils current to get momentarily extra juice from the motor so as to avoid the stall condition. So it gets complicated if you want to get decent performance and with that the drive gets more expensive, reaching easily the cost of a commercial unit. |
Am I missing something here? It's just a pwm-out & high/low step signal. The direction is high-low toggle. The step-motor driver handles all the current and torque processing. If the stepper driver (like TMC2130) has a stall-out pin, it's only a few lines to catch the error and halt the code. The encoder input on a motor with a stepper driver attached to this project makes this an actual closed loop control. On a professional grade system is elaborate with many encoders on the motor, gearbox, and linear all monitoring motion to catch any variance and prevent against part and machine damage. 1 motor, 1 encoder is the basic foundation for a closed loop system. |
@DrStein99 I have not read all these documents: https://shop.prusa3d.com/forum/hardware-firmware-and-software-help-f64/tmc2130-driver-infos-and-modifications-t15835.html but my understanding is skipped step detection is not a pin but a more convoluted process of reading register variables and using properly adjusted thresholds. I am afraid it does not catch all missing step conditions. |
@misan There list of reasons for steps lost could be as long as the datasheet for the TMC2130 (which is about a ream of paper). The TMC2130 is just the end motor amplifier in the control process. My understanding Trinamatic, they make their own control chips and evaluation boards that handle all the acceleration curve processing, motor feedback and encoder signals needed to accurately drive all 3 types of stepper, DC or BLDC motors. Those evaluation boards are not cheap to buy & try. Not really an option for spending $160 on the entire 3d printing gantry system with control unit. This PID loop application you have made with the with the recent addition to the acceleration curve is an important piece to the whole puzzle. I run this on a 32-bit STM32F103 which has more than enough resources to process at least 1 axis. For my tests, I have to use external devices to count all the IO pulses from board, motor, encoder with dial indicators on the linear - then compare that with the control APP. We can use this for any motor/motion purpose, without spending the $300, $1,300 or $3,200 for a Trinamatic motion control evaluation board. Of course they actually offer the PC software to interface with it to tune and configure, which is really important - but not necessary for someone who specifically knows what they are looking for and what they are doing. |
Yep, I saw their FOC brushless driver kit and its price and it did not fit
the price point I expect when giving a try a technology for mere
curiosity.
I reckon ST32F103 can happily handle more than two dc motors with
incremental encoders.
But I can see manufacturers really love steppers as almost none (I actually
know two) seem to be using closed loop dc or BLDC motors that would bring a
safer printing experience IMHO. That is why I am obsessed with keeping it
simple and cheap so it can eventually be accepted.
…On Sat, Feb 2, 2019 at 9:39 PM DrStein99 ***@***.***> wrote:
@misan <https://github.com/misan> There list of reasons for steps lost
could be as long as the datasheet for the TMC2130 (which is about a ream of
paper). The TMC2130 is just the end motor amplifier in the control process.
My understanding Trinamatic, they make their own control chips and
evaluation boards that handle all the acceleration curve processing, motor
feedback and encoder signals needed to accurately drive all 3 types of
stepper, DC or BLDC motors. Those evaluation boards are not cheap to buy &
try. Not really an option for spending $160 on the entire 3d printing
gantry system with control unit.
This PID loop application you have made with the with the recent addition
to the acceleration curve is an important piece to the whole puzzle. I run
this on a 32-bit STM32F103 which has more than enough resources to process
at least 1 axis. We can use this for any motor/motion purpose, without
spending the $300, $1,300 or $3,200 for a Trinamatic motion control
evaluation board. Of course they actually offer the PC software to
interface with it to tune and configure, which is really important - but
not necessary for someone who specifically knows what they are looking for
and what they are doing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#29 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAccyEjheMEXzkizoaMwLoFqm4EnRJ63ks5vJfdagaJpZM4P5Zda>
.
|
Hello Misan,
Steppers are cheap and have much more torque than DC Motors in same size, can you add option to output Step/Dir signal?
I think it would be a great new feature.
Could you ad "bluepill" support? it's a great board with many features like hardware AB decoder and can bus.
The text was updated successfully, but these errors were encountered: