zapta / simple_stepper_motor_analyzer

A DYI stepper motor analyzer. This is a new design that is based on Raspberry Pi Pico and users a compact single PCB design. NOTE: The legacy STM32 based stepper analyzer was moved to this repository https://github.com/zapta/legacy_stepper_motor_analyzer.
Other
147 stars 33 forks source link

Max step rate limitations #4

Open nightswimmer opened 3 years ago

nightswimmer commented 3 years ago

Hello. First of all, great project. Thank you for sharing. I'm now ordering the parts to build one. I play around with 3d printers and occasionally other projects involving steppers and this is just perfect. :)

WhiIe going through the specs I noticed you mention: Max step rate | Software dependent. Currently 2K full steps/sec.

Does this mean it would be possible to increase this value? And if so, do you have an idea to how many? I imagine we can't go insanely high since we need a good amount of readings between steps so we can properly see the curves.

I'm very interested in this, since I am building a corexy 3d printer and will play around with high speeds and accelerations using 1.8º and 0.9º steppers. On a 0.9º stepper and with a common pulley type attached, 2000 steps is about 200mm/s. Considering the speeds people are printing things on corexy printers these days, this seems a little low.

JRHeaton commented 2 years ago

Same here, would like to analyze 3d printer motors and feel that we need a higher bandwidth but am not familiar yet with the project enough to state any ideas on that. We may need a faster external clock, or different internal clock multipliers, or just a faster MCU.

zapta commented 2 years ago

... The 100Khz analysis is done at full step level only, such that it's not impacted by microstepping level (good) and doesn't affect the accuracy of the fractional step display.

On Wed, Jun 8, 2022 at 9:37 AM Tal Dayan @.***> wrote:

Hi,

I don't know for sure what the limit is but with the existing hardware and firmware, the current sensors outputs are sampled and analyzed 100k times a second which means that at 2K full steps/sec, each full step is sampled 50 times, so I would guess that the current hardware and firmware should be handle x5 or even x10 speed. The changes to do that will be mostly cosmetic in the display firmware rather than deep changes to the analysis firmware. However, please keep in mind that I didn't actually try it so I can't know for sure. Ping me with questions if/when you will want to make those changes.

As a side note, the specified current sensor may be hard to find these days but I had a good experience in a similar project with the TI TMCS1108A4BQDT so potentially it can be a good drop in replacement. The two main differences are that (i) it has a lower bandwidth of 80Khz which shouldn't be a problem with the 100khz sampling here, and (ii) The 400mv/A version is not specified for 3.3 but it does works for me at 3.3V as far as I can tell.

Z.

On Tue, Jun 7, 2022 at 9:30 PM John Heaton @.***> wrote:

Same here, would like to analyze 3d printer motors and feel that we need a higher bandwidth but am not familiar yet with the project enough to state any ideas on that. We may need a faster external clock, or different internal clock multipliers, or just a faster MCU.

— Reply to this email directly, view it on GitHub https://github.com/zapta/simple_stepper_motor_analyzer/issues/4#issuecomment-1149447769, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQVMQLDCJSVPGBXKWMF4TDVOAOWPANCNFSM5DXQBO3A . You are receiving this because you are subscribed to this thread.Message ID: @.***>