MKS SERVO42C Closed-Loop Stepper: Tests vs Servo with Field-Oriented Control and TMC2209 Open-Loop

Поділитися
Вставка
  • Опубліковано 10 чер 2024
  • The MKS SERVO42C closed-loop stepper system can be found at a reasonable price, but how does it stack up against open-loop steppers we know and love, and how does it perform compared against a servo system?
    In this video, we put all three motion systems to the test. We look at the power and thermal performance, and run stress tests to find the maximum accelerations and speeds in a linear motion setup.
    Affiliate Link:
    MKS SERVO42C: s.click.aliexpress.com/e/_Dm7...
    C3548 790KV Brushless Motor: s.click.aliexpress.com/e/_DlT...
    Stepper stresser script repository:
    github.com/realengineerbo/ste...
    Chapters:
    00:00 Introduction
    00:22 Setup
    01:00 Contenders
    02:15 Thermal Test
    03:04 Test Setup
    04:20 Test Procedure
    05:17 Open-Loop Stepper
    07:37 Servo
    10:39 Closed-Loop Stepper
    13:35 Drag Race
    13:56 Conclusion
  • Наука та технологія

КОМЕНТАРІ • 285

  • @CB_agotchi
    @CB_agotchi 4 місяці тому +100

    Would love to see more about your own servo design!

    • @engineerbo
      @engineerbo  4 місяці тому +26

      Thank you, I'll see what I can do!

    • @geobot9k
      @geobot9k 4 місяці тому +3

      @@engineerbo What do you think about adapting your servo design for diy cnc minimill like what "I'm no expert, but" built? I'm in the middle of building one similar to his and the Milo minimill and was planning on picking up a set of SERVO57Ds with 1.9Nm steppers with this next paycheck. You seriously just saved me a lot of headaches!

    • @alexeastabrook3579
      @alexeastabrook3579 4 місяці тому +2

      Do you have a repo to look at the schematics for it ?

    • @engineerbo
      @engineerbo  4 місяці тому +3

      I'd absolutely love to have a CNC milling machine (and also lathe), and have thought about making one myself. It's definitely on my bucket list to either make or buy one.

    • @engineerbo
      @engineerbo  4 місяці тому +11

      I haven't published any details about my servo schematics, since I'm not quite satisfied with it. I'll probably make a few videos about the design and its problems, which I think is better than releasing an incomplete schematic into the wild.

  • @mberoakoko24
    @mberoakoko24 4 місяці тому +16

    This is not only amazing , but also informational.

  • @supergiantbubbles
    @supergiantbubbles 4 місяці тому +15

    I appreciate how thorough you are in your documentation. Your presentation is really good too. Thanks :)

  • @MattThePrintingNerd
    @MattThePrintingNerd 4 місяці тому +4

    Awesome video Bo, looking forward to see more content about motors & servos!

  • @prymaxxgaming8747
    @prymaxxgaming8747 4 місяці тому +1

    Very good testing and real comparison
    You deserve so much more views and abos with your quality

  • @lukasnick5511
    @lukasnick5511 4 місяці тому

    great video. Your testing setup is amazing and I found the video very interesting to watch
    since I am working on open loop steppermotors right now myself:)

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you! Glad you enjoyed the video!

  • @PhG1961
    @PhG1961 4 місяці тому +3

    Very impressive! I like your servo model very much! Btw, I have a facination for motors too, so I understand your devotion very well!

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you, fellow motor enthusiast!

    • @SlinkyD
      @SlinkyD 4 місяці тому +1

      🎶 Drive gear keep on turnin 🛞
      Hope this board don't start burnin ❤️‍🔥
      And we rollin 🛼, rollin 🎲
      Rolling data ona test bed 🎺🎷🎹🥁

  • @xyzspec82
    @xyzspec82 3 місяці тому

    I struggle to install steppers, bro builds his own servo!
    Subscribed

  • @dusty_bike
    @dusty_bike 4 місяці тому +1

    Excellent comparison, thankyou

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you for watching!

  • @paulharvey6719
    @paulharvey6719 4 місяці тому

    this video is so well done. thank you!

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you, I'm glad you liked it!

  • @BrianVoelker
    @BrianVoelker 4 місяці тому

    Really awesome to see. I come from the 3d printer world so seeing this type of stuff is fascinating to me!

  • @ClementsProjects
    @ClementsProjects 4 місяці тому

    Instructive, great work!

  • @stefanguiton
    @stefanguiton 4 місяці тому

    Excellent video!

  • @Lucas-pj9ns
    @Lucas-pj9ns 4 місяці тому +2

    cool video, would love to hear more about how you designed your servo

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you! I'll see what I can do.

  • @byt290
    @byt290 2 місяці тому

    greatly appreciate seeing this video :-)

  • @SeaTaj
    @SeaTaj 4 місяці тому

    Great video mate! I was tempted to buy some of these closed loop steppers. I'm glad I didnt!

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you! Glad you found the video useful!

  • @ayachtsman6847
    @ayachtsman6847 3 місяці тому

    really liked this video! thanks i would love to try and make a servo motor like you did.

    • @engineerbo
      @engineerbo  3 місяці тому

      Thank you! Designing a servo is a fun rabbit hole of a project!

  • @ebrewste
    @ebrewste 4 місяці тому +1

    @8:40, an objective measure for the motor not being able to keep is seeing the current clip at the limit set in your drive. You don’t need to interpret the overshoot to say it is out of current. Great video!!

    • @engineerbo
      @engineerbo  4 місяці тому +1

      Thank you! The overshoot doesn't seem to coincide with an overcurrent condition. The servo's internal current limit would trip, leading to a servo fault, before the power supply's current limit is hit.
      The amount of overshoot can also be increased/decreased by changing the controller parameters, which is why I'm inclined to think it's a problem related to controller tuning.

    • @copper280z
      @copper280z 3 місяці тому

      @@engineerbo Are you using any feed forward in the servo controller?

  • @brettturnage533
    @brettturnage533 4 місяці тому

    You stopped me in my tracks! I am currently doing a klipper install on an older machine that has the S42B from BTT which has the same acceleration of 1000rpm. I’m going to swap those out for TMC2209 if I want to have the speeds that I’m hoping to achieve. Glad I stumbled upon this video.

    • @Kalvinjj
      @Kalvinjj 4 місяці тому +1

      Yep I have the S42Bs too, nice and reliable little drivers/motors, but they do have their limits.
      I would suggest you something else entirely tho: go for TMC5160s instead, the high voltage variant, and run them at 48v or so (of course you'll need the board that supports or an adapter for that). It's what I've done with an enormous machine I built at work, that CoreXY system with a 500x500 bed (tho I'm moving 450x450 on it because of the rails) can reach 1000mm/s with 50m/s² accelerations (yep I'm cutting out that milli out, straight out meters per second square). At high voltages it does slam current into the motors quite hard. You DO need a powerful enough power supply to run their peak power tho.

    • @engineerbo
      @engineerbo  4 місяці тому

      Glad you found it useful!

    • @engineerbo
      @engineerbo  4 місяці тому +1

      The drive voltage has a direct impact on the maximum speed, though the torque is still limited by the motor construction (current limit). One of my good-to-have features for the next iteration of my servo controller is 48+V support!

  • @OMGWTFBBQSHEEP
    @OMGWTFBBQSHEEP 3 місяці тому +1

    You should really make a video on that amazing servo of yours! Even though if you arent fully satisfied with it yet:D

  • @lau4893
    @lau4893 4 місяці тому

    Your servo looks neat, I'd be interested in knowing more about it!

    • @engineerbo
      @engineerbo  4 місяці тому +1

      Thank you! I'll be making videos about servo's design, so check back in a bit!

  • @davers1610
    @davers1610 4 місяці тому +3

    Is your BLDC servo board available for purchase? Something ive been looking for for a very long time. Great video and a subscriber earned. I look forward to more.

    • @engineerbo
      @engineerbo  4 місяці тому +2

      Thank you for subscribing!
      The servo controller isn't quite ready for prime time. I made it mostly as a learning exercise, and there are still many improvements to be made, for example reducing the phase current measurement noise.

    • @chrisBruner
      @chrisBruner 4 місяці тому +2

      @@engineerboPerfect topic for a video showing how your design currently was created, current problems and how you are working through them.

  • @JonnyWaldes
    @JonnyWaldes 4 місяці тому +1

    Very interesting. I often buy some small components on Aliexpress that I don't have a use for, but might use someday on a project.

    • @engineerbo
      @engineerbo  4 місяці тому

      Sounds familiar, I've a sizeable collection of components and spares accumulated over the years that has come in handy numerous times.

  • @luneclips
    @luneclips 4 місяці тому +8

    For stepper motor, acceleration and max speed are affected by voltage. That's why most of 3d printer use 24v, rather than 12v. Hope to see tests at 24v later as you get replacement.

    • @engineerbo
      @engineerbo  4 місяці тому +4

      Yes they are. I'll do a follow-up video before long!

    • @rogergipson-eh1yd
      @rogergipson-eh1yd 3 місяці тому

      @@engineerbo BTW, I subscribed. A long time ago when stepper motors and drive electronics were insalely expensive, they used to apply scary voltages to stepper motors... I have seen 3 or 5 volt stepper motors conected to the voltage equivilent of the rectified AC line. Due to the "L/R" characteristics of the stepper motrs, a simple series resistor and a high voltage transistor was all that was used to drive the stepper coils. VERY VERY inefficient but inexpensive and totally usable. A good example of a system like this was the Bridgeport Boss CNC.
      Servo motors and modern Chopper style stepper drives brought true CNC capability to the small shop and home shop.
      Thank you for this video, I am an electrical engineer and I see and appreciate your contribution to those of us who go to bed thinking about this stuff.

    • @engineerbo
      @engineerbo  3 місяці тому

      Thank you for subscribing!

  • @NicolasExposito1
    @NicolasExposito1 4 місяці тому

    First of all, congrats on the video, it's really good and technical!
    I would like to know more about your test setup, i want to make some tests in different models of stepper and your setup can help me a lot, can we talk about how you make it, components, etc?

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you! The mechanical components of the test setup are either common off-the-shelf parts like GT2 pulleys, idlers, belts, or designed for the purposes of this test and 3D printed.
      I didn't talk about the accelerometer in the video, but it's an 3-axis analog output device (ADXL335). It's only rated to 3G per axis, so I mounted it 45 degrees to combine X and Y for ~4.2G range.

  • @zachbrown7272
    @zachbrown7272 4 місяці тому +8

    do you have documentation on your servo design? would love to see more about it.

    • @engineerbo
      @engineerbo  4 місяці тому +5

      I kept notes on the calculations and algorithms when I was developing the firmware. The focus was the auto commissioning process and it's pretty technical. I haven't published anything though.

  • @wsmao1154
    @wsmao1154 4 місяці тому +1

    OMG, so many valuable details! I would review it again and again!

    • @engineerbo
      @engineerbo  4 місяці тому

      Glad you enjoyed the video!

  • @vietle-fr5rj
    @vietle-fr5rj 3 місяці тому

    people seem to really like your servo, hope it gets the noise removed and published soon 🤩🤩

    • @engineerbo
      @engineerbo  3 місяці тому

      Thank you! I'll be making a video series about the servo's design, flaws and all, sometime in the future.

  • @VinokDesign
    @VinokDesign 4 місяці тому

    that self made servo is very juicy!!!!!If you would ever release it, open source or pay for schematics please post a video! you got my subscription!

  • @caribbeandreamer1336
    @caribbeandreamer1336 4 місяці тому

    Cool and informative Video, thanks! I am looking for a motor to use in a robot arm project right now, is there any documentation or production files available for you custom servo and the corresponding PCB?

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you! I haven't published any details about the servo, since I've been treating it like an exercise and changing things all the time.

  • @mammoth-3D
    @mammoth-3D 3 місяці тому

    Very nice video! I see in your comments that you did not post any files, but would it be possible to show how you connected the servo to the MCU? And did you make your own board or is it a pomade one? Thanks

    • @engineerbo
      @engineerbo  3 місяці тому

      Thank you! The servo is completely custom made. It's connected to the SKR V1.4 using the step/dir interface like the other two motors, using a custom adapter board that plugs into where the stepper driver goes.

  • @bryangates72
    @bryangates72 4 місяці тому

    Great PCB design for your own servo driver. May I know what thermal camera you're using? The thermal footage looks clear.

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you! The thermal camera is actually a phone called DOOGEE V20 Pro. It's not the best, but it's pretty decent for its price.

  • @ianchan2624
    @ianchan2624 4 місяці тому

    thx for sharing

  • @Varios1118
    @Varios1118 4 місяці тому

    Great video! do you draw your live plots in python? what library? Or what do you use?

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you! Yes the live plots are using Python, specifically matplotlib. I use daemon threads for the serial interface, and multiprocessing for the actual live matplotlib animation.

  • @JeromeDemers
    @JeromeDemers 4 місяці тому

    nice work, those graphs bottom screen are from the pico right? they are live plotted with python?

    • @engineerbo
      @engineerbo  4 місяці тому

      Yes the acceleration data is coming from the pico, but the position/error information comes from the servo or closed-loop stepper, and they're all plotted live using matplotlib in Python.

  • @occasionalriders1885
    @occasionalriders1885 4 місяці тому

    beautiful work on servos for 3D printers, I've been wanting to implement them on mine printer for a while but I can't find much info about them, I think they have numerous points in favor compared to an open loop system with stepper motor... which board do you use to manage the servos? Thanks a lot
    I'm definitely signing up, I'm really curious about any news on servomotors in this environment

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you! The servo here is controlled by the SKR V1.4 board using the step/dir interface.

  • @alessandromenegollo7957
    @alessandromenegollo7957 2 місяці тому

    Hi! excellent work on the comparison, i have a question on the MKS SERVO42C, is it possible to have a torque variation depending on the severity of error i introduce? (for example i introduce 10° angle error -> torque 30% of maximun, then the error gets to 20° angle -> torque increments at 60% of maximun). I've been tryng to create a 3 DOF imput system like the old Novint Falcon for personal use and i was curious if these little boards are up to the task without going to BLDC motors where i have little experience.

    • @engineerbo
      @engineerbo  2 місяці тому +1

      That sounds like a proportional controller, but are you sure that's the behaviour you want?
      The SERVO42C's PID controller can be configured using the provided software they named "MKS SERVO42C CONTROL V1.1", but I don't know what the control scheme is exactly, and it's unlikely it'll give you exactly what you described.

    • @alessandromenegollo7957
      @alessandromenegollo7957 2 місяці тому

      @@engineerbo thank you for the advice, i'll try and research a more suitable controller

  • @mortaldrumming
    @mortaldrumming 4 місяці тому

    Nice video! Would you make one about your pick and place machine? Thanks in advance.

    • @engineerbo
      @engineerbo  4 місяці тому +1

      Thanks for the suggestion! Building the pick and place was an fun project, so I'll definitely make a video on it some time.

  • @amyth_dev
    @amyth_dev 4 місяці тому

    I'd love to see a video about your Custom Designed Servo design.

    • @engineerbo
      @engineerbo  4 місяці тому

      Thanks! I'll work on a deep dive series in the near future.

  • @DoTheDiy
    @DoTheDiy 4 місяці тому

    great work .I am usnig 5 of these Servo42c on my pnp Machine. What is the firmware vesrion for Servo42c V1.1 or V1.0? Also can you check with MPlayer setting disabled once and see if that improves the performance. I have seen emi issue with these where they stall and start oscilating on one place pretty scary :). Also please share some videos on the PnP machine would love to see the machine in action :P .I hear lot of issues with the smoothieboard clones especially the SKR V1.4 where 24V can mess up the board, I have a MKS Sbase V1.3 with its one set of issues but i am running things on 12V and can power the servo with 24v in future if required

    • @engineerbo
      @engineerbo  4 місяці тому +2

      The firmware version's V1.1.2, and the MPlyer is enabled (by default). As far as I can tell, this seems like additional internal microstepping, so it's quite possible that could affect the performance.
      I took a look at the schematics for the SKR V1.4 after I blew mine up, and found that the DC-DC converter is rated to 28.5V, so the regenerative braking spike probably exceeded that. It's probably a good idea to run the SKR V1.4 on separate power rail to be extra safe.

  • @sivisjoe9877
    @sivisjoe9877 4 місяці тому +1

    good video

  • @noviceartisan
    @noviceartisan 4 місяці тому

    would love to see a vid on your cutom servo!

    • @engineerbo
      @engineerbo  4 місяці тому

      Thanks for the suggestion! It might take a series of videos to cover the whole design. Is there some aspect of the servo you're particularly interested in?

  • @MrMadary
    @MrMadary 3 місяці тому

    Great video, thanks. Do you plan to make your Servo controller available?

    • @engineerbo
      @engineerbo  3 місяці тому

      Thank you! I've no plans to sell the servos. My intention is to make a video series about its design, if there's sufficient interest.

    • @MrMadary
      @MrMadary 3 місяці тому

      @@engineerbo thanks for the reply. I meant actually to make it available as an open source design. I saw an open source design for a nema 17 closed loop controller. I was hoping you would share your controller design also available.
      Thanks

    • @engineerbo
      @engineerbo  3 місяці тому +1

      I'm open to sharing the designs in some form or another. At this point, I'm leaning towards doing it in video form, so these (incomplete and imperfect) designs are accompanied with commentary and explanations.

  • @leonardoaugusto5491
    @leonardoaugusto5491 4 місяці тому

    nice video bro, which controller have you used for the bldc servo?

    • @engineerbo
      @engineerbo  4 місяці тому

      Thanks! The servo controller is a fully custom design.

  • @educationalpurposesmostly
    @educationalpurposesmostly 4 місяці тому

    Thanks for this test. Would you be willing to post your design for your custom servo motor? How easy is it to add those servos to a klipper 3D printer?

    • @engineerbo
      @engineerbo  4 місяці тому

      I'm not sure I'll publish them quite like a few other motor controller projects, but I'm planning on doing a deep dive video series on it, since there seems to be sufficient interest.
      The servos in this test are configured to use the step/dir interface, so Klipper doesn't even know it's not a stepper motor.

  • @moshuchitu203
    @moshuchitu203 20 днів тому

    Interesting video, but how's your anti-cogging or compensation steps, could shed some light or point to some reference? Thanks!

    • @engineerbo
      @engineerbo  20 днів тому +1

      The theory is explained in "Anticogging: Torque Ripple Suppression, Modeling, and Parameter Selection" by Piccoli et. al.
      In summary, the servo driver positions the rotor at various (many) positions during calibration, and measures the current required to hold the rotor position. The holding current is indicative of the cogging torque. The current values are then stored in a look-up table and are used with the motion controller as feedforward terms.

  • @misamokuzelpizu
    @misamokuzelpizu Місяць тому

    id love to see a test with the newer mks servo 42d closed loop stepper

    • @engineerbo
      @engineerbo  Місяць тому

      I'm working on new testing methods, I'll eventually come back to closed-loop servos and test a bunch of them!

  • @noanyobiseniss7462
    @noanyobiseniss7462 Місяць тому +1

    !Great!, Glad I checked this before switching my ratrig.
    Can you do a MKS SERVO42D vs SERVO57D vs SERVO42C comparison?
    I can't seem to find anything.

    • @engineerbo
      @engineerbo  Місяць тому +1

      Thank you! I might have a look at the 42D to see if they've improved things.

    • @noanyobiseniss7462
      @noanyobiseniss7462 Місяць тому +1

      @@engineerbo Looking forward to is and also wonder how these compare to the AS5600.

  • @noanyobiseniss7462
    @noanyobiseniss7462 Місяць тому +1

    Link to the servo hardware setup?

  • @emileballard4417
    @emileballard4417 4 місяці тому

    Nice video i use the closeloop driver on my 3d printer and i also noticed some small issues but it gives a great result.
    but i see now on the github they give parameter suggenstions. "disable MPlyer" and set "ACC to 412 or 538" i'm going to try that.

    • @engineerbo
      @engineerbo  4 місяці тому +1

      Nice, thanks for the tip. I'll try this out when I revisit the tests!

  • @BobHannent
    @BobHannent 4 місяці тому

    A great test, I'd love to know if there's something in the configuration of the closed loop motor which could fix the linearity problems because even with the speed issues it would be a good alternative.

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you! I agree there are applications for the closed-loop stepper even with the low speed. What linearity problems are you referring to?

    • @BobHannent
      @BobHannent 4 місяці тому

      @@engineerbo the inconsistent velocity you reported as it ran along the rail.

    • @engineerbo
      @engineerbo  4 місяці тому

      Oh yes the wobbly velocity. It's possible it's a PID tuning problem, could be worth investigating.

  • @squishysquare8222
    @squishysquare8222 4 місяці тому +2

    I wish this was something that could be added to klipper, I think it could be very useful for finding max acc and speed with any given printer :D
    I'd love to see this turned into a macro

    • @engineerbo
      @engineerbo  4 місяці тому +1

      I initially wanted to implement it as a Klipper macro since it's a little hacky to pipe gcode using the pseudo serial port, but implementing loops and conditions in Python is just so much simpler.

    • @AnnaVannieuwenhuyse
      @AnnaVannieuwenhuyse 4 місяці тому +1

      ​@@engineerbo With Klipper being C and KlipPy (Klippy) being Python, it's already halfway there. The critical parts, though, are still C. But if you can make a working Python implementation for closed loop, I'm sure there's C nerds out there that can help you get it into C/C++

    • @engineerbo
      @engineerbo  4 місяці тому +1

      I'm reasonably comfortable with C/C++, but haven't figured out how Klipper is structured. I enjoy using Klipper, and even tried to get it to control my pick and place machine (worked used macros, but poorly), but still never figured out how to write custom modules for it.

    • @ZURAD
      @ZURAD 4 місяці тому

      @@engineerbo What do you use to control your PNP? Would love to see servos on klipper

    • @engineerbo
      @engineerbo  4 місяці тому

      I'm currently using OpenPnP and Marlin.
      I actually started off using Klipper with manual_stepper and many hacky macros, to limited success. Would have loved to have stayed with Klipper because it's so much easier to reconfigure.
      If you're making a 3D printer, servos that support step/dir should work.

  • @marcus_w0
    @marcus_w0 3 місяці тому

    Whow! Neither here nor in you profile is any hint about that DIY servo. This looks groundbreaking to me. Could this be a DIY Servo?

    • @engineerbo
      @engineerbo  3 місяці тому

      Yes it's a DIY servo! It's a pretty involved project, but nothing groundbreaking.

  • @DesmaraisChris
    @DesmaraisChris 4 місяці тому +3

    I’d love to see how the closed loop compares to the open loop in terms of stall torque. I want to make a lathe with nema 17s that are gear reduced. I’m wondering if the closed loop can handle more force at say 0-300rpm than the open loop

    • @engineerbo
      @engineerbo  4 місяці тому +1

      That'll be very useful information indeed. I've been thinking of building a Prony brake setup which will allow me to create speed torque plots. I might do that for a future video. Thanks for the suggestion!

    • @vasyapupken
      @vasyapupken 4 місяці тому +2

      but why ? why messing with this DIY-style contraptions with bare pcb on the back when there is a lot of cheep industrial grade closed loop steppers with optical encoders.

    • @DesmaraisChris
      @DesmaraisChris 4 місяці тому

      @@vasyapupken I’m designing a machine with covers and a positive air pressure system to keep coolant/dust away from all of the components including the motors. I want to do OD/ID carbide grinding as well. A bare backed pcb motor wouldn’t be a liability really.
      I’m curious can you point me to closed loop systems that can be purchased motor and driver for a similar price of around $26 shipped? I’d love to hear about your suggestions

  • @AandHAutomationllc
    @AandHAutomationllc 4 місяці тому

    Please release the BLDC code. I would love to play with that.

  • @samuelschuur7044
    @samuelschuur7044 4 місяці тому

    Do you have any details posted anywhere on your custom pick and place?

    • @engineerbo
      @engineerbo  4 місяці тому +1

      Not yet! I recently decided to make videos so I'd be more diligent with documenting my projects. The pick and place machine is in the queue to be featured, hopefully soon.

  • @samv6477
    @samv6477 4 місяці тому

    Can you post your Klipper config for the motor when using closed loop? I was under impression that Klipper does not support closed loop.

    • @engineerbo
      @engineerbo  4 місяці тому

      The closed-loop is only within the motor control system. The position error etc aren't fed back to Klipper because like you said, Klipper doesn't support it.

  • @Kalvinjj
    @Kalvinjj 4 місяці тому

    I have the BTT S42Bs on my printer, and got the S42C as an "upgrade" (board only had the motors already anyway), and the upgrade part was just plain terrible. The older ones worked quite reliably and solved my issues I had with lost steps in my lead screw based machine, the new ones stuttered ridiculously at different speeds. The old ones do have a bit of issues at the start and end of movements tho.
    My bet on this is that since they do use PID to control the system, it might just be factory tuned badly, better on the B version than C ones, but still kinda off, then again I don't have the time now to test new PID values on the motors, hope I can get around this soon enough.

    • @engineerbo
      @engineerbo  4 місяці тому +1

      Yes it's quite possible it's a controller or tuning problem. It looks like it could be something like an integral anti-windup limit, but I don't think there was such a parameter even using the configuration software.

  • @gamerpaddy
    @gamerpaddy 4 місяці тому

    how about the other options?
    HBS57 with closed-loop nema17
    and the usual iHSV servos like iHSS42-24-05
    bought a mks servo long time ago when it was all the hype but in the end never used it, way too slow and unreliable.
    went with hbs57 driven nema23 closed loop steppers instead for my project that required the necessary beef.

    • @engineerbo
      @engineerbo  4 місяці тому +1

      It'll be pretty fun to test a whole bunch of different options, I just need to find an excuse to buy them!

  • @darkwinter7395
    @darkwinter7395 4 місяці тому

    Hmm... I'm probably not telling you anything new with this, but steppers like higher supply voltages in order to get good RPMs out of them. When the replacement parts arrive for the MKS board; it would be interesting to see how much performance the closed-loop stepper picks up when powered closer to the drive's max rated voltage.

    • @engineerbo
      @engineerbo  4 місяці тому

      You're right, higher voltages usually the steppers can spin faster, since the top speed is when the motor's back EMF, which is proportional to angular velocity, cancels out the supply voltage.
      It's definitely worth a test, but I'm not optimistic, considering the huge difference between the open-loop and closed-loop stepper speeds when both are running on 12 V.

  • @LimitedFPV
    @LimitedFPV 9 днів тому

    Did you make the t slot mounts for the motors/ pulley? Awesome design

    • @engineerbo
      @engineerbo  9 днів тому

      Yes I did, thank you!

    • @LimitedFPV
      @LimitedFPV 7 днів тому

      @@engineerbo would you be willing to share? I just started designing something similar after seeing your video

    • @engineerbo
      @engineerbo  7 днів тому

      Sure, I can send you a STEP file of the design for reference. Please note it's not exactly a perfect design!

    • @LimitedFPV
      @LimitedFPV 6 днів тому

      @@engineerbo that would be great! How can i reach out

    • @engineerbo
      @engineerbo  6 днів тому

      Send me an email, you can find the email address in the channel info.

  • @seleniumshutter
    @seleniumshutter 3 місяці тому

    Looking forward to seeing your servo design being used in an actual machine like a 3D printer or mill!

    • @engineerbo
      @engineerbo  3 місяці тому

      I put it in my pick and place machine, but that doesn't need perfect coordinated motion since it's point-to-point only. Still manages to pick and place 0402 components reasonably well.

    • @seleniumshutter
      @seleniumshutter 3 місяці тому

      @@engineerbo I'm no engineer (yet), but being able to manage 0402 components sounds like the repeatability of the motor is really good

    • @engineerbo
      @engineerbo  3 місяці тому

      It's pretty decent, honestly could have been better if I went for a more conventional motion configuration instead of core XY!

  • @gendragongfly
    @gendragongfly 4 місяці тому

    Your servo design looks very interesting, I would love to learn more about it.
    Closed loop stepper motors and hybrid stepper motors are often presented as good 'middle of the road' alternatives for people who don't want to mess with servo's. But as this video shows the gap can be quite large. I had no idea a closed loop stepper could be so slow, but I guess it makes sense as steppers aren't really designed for high speed/high torque applications. Adding the baggage of a closed loop system on top of that makes the whole motion system slow and unwieldy. I wonder if a hybrid stepper would do much better in a closed loop system. In the end well tuned (Field Oriented Control) servo's are really the golden standard.

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you! I'm planning a series on the design of the servo right now, is there any particular aspect of it you're interested in?
      Given the open loop stepper is able to move much faster than the closed loop stepper, I'm inclined to believe that it's primarily a controller problem in this case.

    • @gendragongfly
      @gendragongfly 4 місяці тому

      @@engineerbo Mainly the electronics and the software. The calibration procedure you showed in this video is quite extensive. It looks like you put quite a bit of effort into the software side of the servo driver ☺

    • @engineerbo
      @engineerbo  4 місяці тому

      👌 Starting the series with the electronics/schematics probably makes sense.
      You're quite right about the calibration procedure. Easily more than half the time went into implementing the self-commissioning algorithms!

  • @shodanxx
    @shodanxx 4 місяці тому

    There is software you can use, by connecting a computer the mks servo's serial port I believe.
    You might find the RPM limit setting in there.
    However the slow CPU might not be able to do full speed.

    • @engineerbo
      @engineerbo  4 місяці тому

      Yes I tried the application, it's called "MKS SERVO42C CONTROL V1.1". I used it to verify that the serial communications were working when I had problems polling the position/error from Python. There are a few extra settings compared to the OLED menu e.g. PID parameters, but I don't think there's a speed limit setting.

  • @erikpvc
    @erikpvc 4 місяці тому

    Great video!! I'm starting on servos and motors and an another great video could be differences about NEMA, digital servos and others. I noticed that you didn't mentioned torque, it's possible that a nema17 or 24 have more torque than a 30kg digital servo? Thank you!

    • @engineerbo
      @engineerbo  4 місяці тому +1

      I actually did mention torque, specifically the speed-torque curves. But since the tests are with a linear system, whenever I say acceleration, it's really equivalent to torque.
      When you say 30kg digital servo, do you mean a hobby servo with gear reduction? The easiest way to tell is if these systems come with the speed-torque curves, so you'd have a direct comparison of the torque at the speed you need for your application.

    • @erikpvc
      @erikpvc 4 місяці тому

      @@engineerbo I'm sorry, i rewached the video and saw the post about the speed-torque curves and the more i'm reading it the less i understand :rofl: I'm no engi so in your opinion for a project with a really low rpm but really high torque requirement what is better to use, i have a 30kg hobby digital servo (with the gear reduction, yes) i might need to add a gearbox if needed XD

    • @engineerbo
      @engineerbo  4 місяці тому

      Hobby servos are pretty different compared to either a servo or stepper, so it really depends on your specific application. Steppers and servos can also have gearboxes which gives you even more options.
      My experience with hobby servos is that they aren't usually great for highly precise positioning, and are usually noisy because of the tiny gears.
      They usually also use potentiometers for feedback, so precision and resolution aren't their strong suits.

    • @erikpvc
      @erikpvc 4 місяці тому

      @@engineerbo This project also doesn't have to have precission, just enough torque and be 360º Thank you for all the info!!

    • @engineerbo
      @engineerbo  4 місяці тому

      There are also affordable steppers with built-in gearboxes that would have more torque than hobby servos. Essentially, a hobby servo is unlikely to be a top performer if torque is the only concern.
      Of course, there are still benefits to the hobby servo, like availability, cost and ease-of-use.

  • @thetooth
    @thetooth 4 місяці тому +1

    I also had countless issues with MKS servos, I think the uC code for the serial interface is broken, with step and direction you can use much higher speeds, but once you overshoot the error window the motor will actually slow down to 100rpm and never catch up. It's also not capable of NPN/PNP (i forget which one was broken), the schematic and documentation suggests that it'll work in either direction but the actual implementation doesn't work, all you get is a big self induced oscillation loop. Anyway for my project I ended up switching to delta AC servos, several orders of magnitude more money but man the performance is scary good 👀

    • @engineerbo
      @engineerbo  4 місяці тому

      I had some difficulties getting the serial interface to work at the start, but eventually polling for the position and error worked. I haven't tested the other serial commands though.
      With my own servo implementation, it's also very possible to get oscillations if the control loop isn't tuned correctly.
      How did you induce oscillations with the MKS implementation? I'm thinking it'll be fun to try and reproduce it.

    • @thetooth
      @thetooth 4 місяці тому

      @@engineerbo I was using a PLC's GPIO which are 24VDC sink or source, I believe when the servo is in sinking mode this saturates the input transistor arrangement, so all of the inputs get stuck on except when the direction signal is low, which causes the step to leak through to the direction channel and it goes nuts trying to run both ways at once.

    • @engineerbo
      @engineerbo  4 місяці тому

      I had a quick look at the schematics, the optocoupler part number doesn't seem to match what I find online. But besides that, it looks like the step/dir/en pins need to be push-pulled, or there'll be a leak through the resistors on the COM net, affecting high-Z inputs.

  • @mberoakoko24
    @mberoakoko24 4 місяці тому +1

    Is the closed loop stepper motor have saturated input control signals, it should be that slow ...

    • @engineerbo
      @engineerbo  4 місяці тому

      Are you referring to the step/dir signals from the motion controller? The setpoint plot seems to show the steps being counted properly, and on re-homing, the closed-loop stepper didn't lose any steps.

  • @MarinusMakesStuff
    @MarinusMakesStuff 3 місяці тому

    I would've loved to see a comparison where you use a higher voltage. Like 24v and 48v for especially the stepper motors, since this helps tremendously with speed and torque. However, I do believe the TMC2209 has a max rating of 36v.

    • @engineerbo
      @engineerbo  3 місяці тому

      Yep, I ran some tests at 24V until the SKR V1.4 blew up. I've fixed the board now, and also gotten a new power supply that can handle 48V, so I'll run some new tests soon!

    • @MarinusMakesStuff
      @MarinusMakesStuff 3 місяці тому +1

      @@engineerbo Cool! Very curious to see the new results :) Have fun testing :)

  • @zebedie2
    @zebedie2 4 місяці тому

    Since the odrive went closed source, the only open source servo system I've found is the mjbots / moteus
    I'd be interested to see how the design / firmware compares

    • @engineerbo
      @engineerbo  4 місяці тому +1

      Ah yes the recent odrives are no longer open. It's a shame, but understandable given the numerous clones.
      I've seen the moteus controllers, and they use much more recent components than mine (e.g. newer microcontroller, newer gate driver). I designed my servo hardware several years ago, so the hardware is more similar to the original odrives.
      The firmware's really where there'll be major differences. I've written my algorithms in a more academic way, forcing myself to follow the math and not to use hacks. This probably has a performance cost.
      I'll make a series on the design of the servo in due time, subscribe if you're interested!

  • @notepadgamer
    @notepadgamer 4 місяці тому

    That servo looks extremely interesting. I would love to build a high speed 3D printer with it.
    Have you found any weird behaviours from using a servo vs traditional open loop stepper? From the vid it looks like your servo just out performs everything with no downsides

    • @engineerbo
      @engineerbo  4 місяці тому +1

      There are some tradeoffs to using the servo, for example the controller needs to be properly tuned, and in the current design there's still significant servo noise. The servo's low speed and stall torque is also lower than a stepper, so it wouldn't be as good with holding position or slow moves under load.

  • @theroboticsguy
    @theroboticsguy 4 місяці тому

    How are you measuring how far it travelled? How to you know its not skipping steps?

    • @engineerbo
      @engineerbo  4 місяці тому

      The script checks if the number of steps to the destination and back (home) are the same. If it took fewer steps to home (compared to the fast move) then steps were skipped.

  • @radotastic
    @radotastic 4 місяці тому

    i have problems with my nema 17 stepper motors - they run reallly SLOOOOOW could you help me out with picking electronics and - drivers for them to - be able to speed them up ? I am using arduino mega board for my cnc ... but it works just bad

    • @engineerbo
      @engineerbo  4 місяці тому

      It's quite a project to be building a CNC. As much as I'd like to help, I'm probably not the best person to recommend products (especially if I've not tested them myself).

  • @Ryxxi_makes
    @Ryxxi_makes 3 місяці тому

    I have used the servo 42c's on my 3d printer and it does not give my input shaper higher than 8k acceleration's. Using a LDO Speedy power gave more than double the accelerations.

    • @engineerbo
      @engineerbo  3 місяці тому

      I've been hearing a lot about LDO motors, I'll have to get some for testing!

  • @marvintraxel6955
    @marvintraxel6955 4 місяці тому +1

    How do they compare in price? UA-cam algorithm send me here. I am a Software engineer for embedded Devices and i would like to see your sourcecode and schematic for my diy cnc. You mentionet bigger ones as well, i would like to see avideo about those as well

    • @engineerbo
      @engineerbo  4 місяці тому

      The closed-loop stepper motor was surprisingly affordable, and only cost a slight bit more than a generic open-loop stepper and a TMC2209 driver. The difficulty with price comparison in this case is the servo, which I hand built in tiny quantities.

  • @mikeydk
    @mikeydk 4 місяці тому

    The MKS stepper surprised, in the wrong way. I have seen people use it for 3d printers, where they seem to be pretty fast, can it be because they run them at higher voltage?
    Also, have you seen the Makerbase BLDC motor and TLE5012 encoders? It seems to be similar to the one you made.

    • @engineerbo
      @engineerbo  4 місяці тому

      It's possible the voltage might make a difference, yet the 12V performance is so much poorer than the open-loop stepper, it seems unlikely. It's still worth a try after I've fixed my SKR V1.4 board. It could also be a configuration problem e.g. the 256 internal microstepping.
      I haven't really paid too much attention to the other BLDC servos, but yes my component choices are somewhat similar to a couple other designs e.g. using the ultra popular DRV830x series.

    • @leonordin3052
      @leonordin3052 4 місяці тому

      If you try changing the microstepping or higher voltage on the closed loop stepper, please share. Its so interesting. Thanks for making such a nice video, Im subbed now​@@engineerbo

    • @engineerbo
      @engineerbo  4 місяці тому

      Thank you for the sub!

  • @davenarisotto3674
    @davenarisotto3674 4 місяці тому

    Is a servo basically a closed loop motor of any kind (stepper, bldc, dc)?

    • @engineerbo
      @engineerbo  4 місяці тому

      I'm not certain if there's a strict definition. As long as the motor has closed-loop positional control, it could technically be called a servo.
      It's still useful to distinguish systems based on motor type (e.g. steppers) because there can be significant performance differences (see speed torque curves).

  • @petersvideofile
    @petersvideofile 3 місяці тому

    Hey No I'de love to see some tests against cln17 v2 drivers. Not sure if anyone would send you one for testing as you can't buy them yet, they need to be self made from PCB fan. Check it out if you have time.

    • @engineerbo
      @engineerbo  3 місяці тому

      Thanks for the tip! I've added it to my list for when I revisit closed-loop steppers.

    • @petersvideofile
      @petersvideofile 3 місяці тому

      @@engineerbo thanks a bunch! Next month they are releasing designs for larger stepper motors too it should be good.

  • @natereinhold6180
    @natereinhold6180 Місяць тому

    Seems to me that if youre attempting to fix layer shift, its easier and more effective to go to a longer stepper motor. I went from 40mm long to 80mm long. .32nm of torque to 1.09nm and bumped the run current to 1a and installed 40x10 fan to help cool the drives. Throws the bed around just fine now without layer shifts @ 2x the accel (4k was max on stock, now i print @ 8k with 14k travels)

    • @engineerbo
      @engineerbo  Місяць тому

      I was just curious about the performance of a cheap closed-loop stepper. But I agree, it's probably not a good first choice for fixing layer shift problems.

  • @Cybernetic_Systems
    @Cybernetic_Systems 3 місяці тому

    Interesting video, thank you. I’d like to see the closed loop stepper retested at 24v - 12v is half of the ideal voltage for most Nema 17 steppers.

    • @engineerbo
      @engineerbo  3 місяці тому +1

      Thank you! I've had some comments suggesting the same thing. I have my doubts that it'll make a difference, but I'll revisit it in due time.

    • @Cybernetic_Systems
      @Cybernetic_Systems 3 місяці тому

      @@engineerbo I’ve built a few 3D printers and a CNC machine with Nema 17’s, you get a lot more torque and acceleration when the drivers get 24v to play with.

    • @engineerbo
      @engineerbo  3 місяці тому +1

      Yes a higher voltage allows a higher drive current and higher speed (I talk about this in my video on regenerative braking). But I'm guessing the servo42c's being limited by something else like the microcontroller or the firmware, so it wouldn't be able to take advantage of the higher voltage.

    • @Cybernetic_Systems
      @Cybernetic_Systems 3 місяці тому

      @@engineerbo that is a good point - the tmc2209 should have a way to configure the max current for the stepper. The LDO motors I use are good for up to 2.5A. So I typically run them @ ~1.77 A RMS (2.5x0.707) for longevity, or full beans for max performance (they get fairly hot then).

    • @engineerbo
      @engineerbo  3 місяці тому +1

      For the TMC2209 tests in this video, I've actually set the RMS current to 2A, which is the max. rated current this driver board supports. That's probably how it gets so hot so fast.
      I've seen LDO motors mentioned a lot, particularly their speedy power and super power motors. The super power motor's speed-torque curves look interesting, so I've been sourcing some for testing!

  • @MakeTeachRepeat
    @MakeTeachRepeat 4 місяці тому +1

    We tried to use them in a robot. Nice, but fragile as anything. Output stage blows up on ESD, backdriving etc

    • @engineerbo
      @engineerbo  4 місяці тому

      Interesting, maybe the devices have low maximum rated voltages. I've blown my fair share of servo prototypes too!

  • @gregorywhite2063
    @gregorywhite2063 4 місяці тому

    The open-loop stepper performance is largely a function of the driver! From the motor, looking back into the driver (specifically the resistance seen) will affect top-speed, ringing and stability.

    • @engineerbo
      @engineerbo  4 місяці тому

      The driver definitely has a major impact on the performance. I can imagine resistance and wire inductance can have an impact, but I wonder how significant it is for reasonable cable lengths.

  • @corrupted1850
    @corrupted1850 12 днів тому

    hey did he mention he has a fasination with motors

  • @gaborgabor1338
    @gaborgabor1338 4 дні тому

    Hi! what is the c3548 controller board order link?

    • @engineerbo
      @engineerbo  4 дні тому

      Hello, the C3548 is just the brushless motor, the control board is custom made by me, and isn't for sale.
      If you want to buy the motor though, I've added a link in the description to the one I bought, which is the 790KV model.

    • @gaborgabor1338
      @gaborgabor1338 День тому

      @@engineerbo Thank you, please share the BLDC motor controller design and program (if possible). I want to try it.

  • @twanheijkoop6753
    @twanheijkoop6753 4 місяці тому

    Id love to see how the new 42d fairs in comparison.

    • @engineerbo
      @engineerbo  4 місяці тому

      Given how the 42C performed, I'm a little hesitant to purchase the 42D. I might still do it purely for testing purposes if there's sufficient interest.

    • @twanheijkoop6753
      @twanheijkoop6753 4 місяці тому +1

      @@engineerbo i got just the pcb for it on order. Apparently the newer revisions should be fine even above 3000 rpm, but we'll see once it gets here.

  • @gino.avanzini
    @gino.avanzini 4 місяці тому

    Is the test code at 4:30 available?

    • @engineerbo
      @engineerbo  4 місяці тому

      Hello, I've just made the repo public. You can find the link in the video description.

  • @TheKeverin
    @TheKeverin 4 місяці тому

    In the meantime SERVO42D got released with up to 3000rpm. i would be very interested in a retest.

  • @sinaaghli
    @sinaaghli 4 місяці тому

    where you micro-stepping the steppers?

    • @engineerbo
      @engineerbo  4 місяці тому +1

      Yes, all of them were using 3200 steps per revolution (16 microsteps).

  • @_droid
    @_droid 4 місяці тому

    You should talk to "The 100" 3D printer developer. That thing runs open-loop with a Pico and TMC2209 at 2,000mm/s and 55,000mm/s² acceleration.

    • @engineerbo
      @engineerbo  4 місяці тому

      Yes, The 100 by @MattThePrintingNerd is really impressive. I'm rocking an old CR-10S so I can't even imagine my printer moving at those speeds.

  • @vasyapupken
    @vasyapupken 4 місяці тому

    if you interested in closed loop steppers then try some ihss42 one.

    • @engineerbo
      @engineerbo  4 місяці тому

      A couple of viewers have mentioned this, I might have a look! Thank you!

  • @adamklosterman8960
    @adamklosterman8960 4 місяці тому

    bad firmware or issues with back emf? would love to see someone write better firmware for this design.

    • @engineerbo
      @engineerbo  4 місяці тому

      It'll be fantastic if this can be fixed with a firmware update. Who knows, maybe even the speed limit can be lifted!

    • @adamklosterman8960
      @adamklosterman8960 4 місяці тому

      @@engineerbo I think the firmware has always been the weakness with these units. The bigtree tech version also.

  • @kazolar
    @kazolar 4 місяці тому +4

    These backboard "closed loop" steppers are just not good for 3d printers. I've tried them, tuning the pid loop in the firmware, trying different things, and the result was that it always would sacrifice one aspect for another, either you give torque for speed, or visa-versa. The upper end "curent" configuration was never consistent to what a tmc driver would produce. I really think these MKS devices are stealing the open source Smart Stepper, which performs better, but with tmc2209 and tmc5160 being available, there is no point for a closed loop system on a machine that can't take advantage of it. Even turning it to force correct, under normal operation, a skipped stepped is a collision, compensating for that collision is going to break something. My CNC uses hybrid servos, which is a compromise between a stepper and a full on servo, it is able to provide much higher RPMs and keep the torque, and will trigger an alarm when there is a skipped step, because while in 3d printer land a correction of a skipped stepped might just collide with the print, in the cnc world you will break a bit or worse.

    • @engineerbo
      @engineerbo  4 місяці тому +4

      Without a speed advantage, I'd agree that the closed-loop stepper isn't an upgrade from open-loop steppers for 3D printers. People talk about fixing layer shift problems, but if a layer shift is happening, something else needs proper fixing instead of just trying to power through the problem.
      What kind of hybrid servos do you use?

  • @AndrewBoraas
    @AndrewBoraas 4 місяці тому

    servo42cs are cool but they are slow even with their accel setting on the board set higher. and they are bugy sometimes after changing setting they just output what looks like random motion. they work fine for the 3 z screws on my trident but Im looking to switch off of them for a and b motors. I wish they were more developed. like with nearly the same gate control the bambu printers can do noise cancelation on the fine feed back noises. EDIT you seem like the person that could make a better servo42c board. I really like the bolt on form factor. Would buy dev version from you if you did.

    • @engineerbo
      @engineerbo  4 місяці тому

      I was searching the user manual to see if it was something simple I missed, but it really just seems like the SERVO42C is slow for some reason. It's hard to tell why without examining the implementation closely.
      For my own servo's design, there's certainly some hardware changes to be made (to reduce noise in current and position measurements), but I'm thinking a significant improvement could also come from a better control system.

  • @mrechbreger
    @mrechbreger 4 місяці тому

    My experience with the Servo42b is that it is relatively slow .. so I don't expect the 42c to be much better and I'll probably also go with a homebrew stepper rather than BLDC (since I need a little bit torque and the smallest possible design)

    • @engineerbo
      @engineerbo  4 місяці тому

      The makerbase docs specify the servo42b to have a max speed of 600 RPM, compared to the servo42c which is listed as 1000 RPM. This is actually one of the upgrades featured in their comparison table!

    • @mrechbreger
      @mrechbreger 4 місяці тому

      @@engineerbo how about the acceleration? I use the Servo42b on a pick and place machine for the Z axis certainly I can command rotate to a certain angle and then start commanding rotate back --- but then the servo won't reach the actual target/requested setpoint.
      The 42b is a bottleneck for me, I'd just add a beefy stm32f4 and implement the controller there accordingly. For my setup speed is very important.
      Let's say I pick/place 10.000 components that results in an overhead of over one hour just with a 0.5 sec delay per pick.
      but yes as you mentioned the 42c might be different but I don't want to spend my time with that and rather dig into implementing it myself.

    • @engineerbo
      @engineerbo  4 місяці тому

      If the servo42b isn't going to the commanded position i.e. skipping steps, then it's quite likely a different problem. Mine hasn't skipped a step, it just doesn't move the way it's supposed to.

    • @mrechbreger
      @mrechbreger 4 місяці тому

      @@engineerbo no it's not skipping it's just counting it up and back.
      1 - 100 - 200 - 100 - 1 but if you start to decrease too early it might not go to 200. That's just my observation because I need to add some delay before retracting (then the components will stick on the machine).

    • @engineerbo
      @engineerbo  4 місяці тому

      Oh alright I see what you mean. In my tests I intentionally put a 200ms dwell so it doesn't start reversing immediately. Without the dwell, I expect the servo42c wouldn't get to the destination either.

  • @Ender_Wiggin
    @Ender_Wiggin 4 місяці тому

    I love if you made an video into why your servo died at 24V.

    • @Ender_Wiggin
      @Ender_Wiggin 4 місяці тому

      You should really do a review of the other closed loop steppers out there

    • @engineerbo
      @engineerbo  4 місяці тому +1

      The servo's actually fine, it's the SKR V1.4 board that died. Regenerative braking from the servo spiked the power supply above 24V and blew a few components (DC-DC converter, 1 tantalum capacitor, like the 3.3V LDO regulator, 1 varistor, the microcontroller, and maybe more).
      I should really have plugged in my protection circuit. I'll make a video on that soon!

  • @stefandebruijn3167
    @stefandebruijn3167 4 місяці тому

    Hmm. The main problem I found with both closed loop steppers like the MKS and the BLDC servo's is that they lag behind on the real motion, because they use the encoder to "fix" their positional mistake. That means that there's no "precision coordinated motion" anymore; you tell is where to go and it will just eventually get there.. tell it to go some place else, and it will go there instead. If your motor can keep up that's not a problem; if it lags behind (for example because there's load involved) it's a huge issue. For open loop systems, you have no guarantee either, but at least it's coordinated - because you need to tune it at a certain max speed and acceleration (torque).
    So it comes to me like no surprise that you get these results for the bldc servo: the test is just flawed. What you want to use here is a glass scale to measure where the thing *actually goes* which is different from where you *want it to go*.

    • @engineerbo
      @engineerbo  4 місяці тому

      I agree partially, I mentioned the caveat in the video as well. Neither open-loop nor closed-loop systems shown can make any guarantees on the position error.
      Both systems necessarily lag behind on the commanded position. The stepper doesn't teleport after you command a step. Within reason, both systems can achieve coordinated motion. This shouldn't be a surprise since it's not uncommon for high precision industrial machines to use servos.
      Perhaps you're suggesting hobby-grade controllers don't meet the positional control bandwidth you're expecting?

    • @stefandebruijn3167
      @stefandebruijn3167 4 місяці тому

      @@engineerbo Actually, open loop keeps coordinated when you use the same drivers for all axis (which is common). Especially the good drivers tend to have guarantees about times. No, they don't teleport, they continue due to inertia and the firmware makes assumptions about accelerations. I know I tinkered with that in our firmware anyways...
      Industrial servo's is another thing... basically they tune them so that the torque under load is more than the requirement, and use PID to compensate for a target setpoint. They can only guarantee that when you follow the manual to the letter, which basically implies the set point will be reachable before the next one is set... These AC Servo's are also usually not made with low end BLDC's, they are not running on SimpleFOC, have a differential optical encoder and so forth... Very importantly: they use set points with acceleration profiles, which a PID loop attempts to meet.
      Closed loop steppers also use set points, and loose torque when they are not powered (of course). The closed loop fixes the position to the set point. The main difference is the number of poles.
      If you change the set point before the target, the set point will change, even though you will still reach the second set point.
      Anyways, I try to explain here that there's a key difference between using set points and (traditional) stepping because of the distance, time and acceleration profiles involved here... but perhaps it's just too hard to explain in just a few paragraphs.

    • @engineerbo
      @engineerbo  4 місяці тому

      Servo control loops and tuning are certainly non-trivial topics. Perhaps at some point I'll make a video to compare coordinated movements between steppers and servos. Thank you for the comments!

  • @mrring4979
    @mrring4979 4 місяці тому

    Unfortunately, this video came out too late. I tried the bigtreetech 42c closed loop steppers in my 3D printer and had to switch back to regular steppers after 2 weeks. I had massive issues with drifting motor position which made 3d printing pointless

    • @engineerbo
      @engineerbo  4 місяці тому

      That's unfortunate. Do you have pictures of the failed prints? I'm curious to see what the problem looks like.

  • @zoeyzhang9866
    @zoeyzhang9866 4 місяці тому

    Nice one! Wondering if any custom PCBs or CNC'd metal parts may help for upcoming content? Would love to sponsor! (PCBWay zoey)

    • @engineerbo
      @engineerbo  4 місяці тому +1

      Thank you Zoey! Regarding the sponsorship, I will email you directly.

    • @zoeyzhang9866
      @zoeyzhang9866 4 місяці тому +1

      @@engineerbo Welcome! You can find mine under this account.🤗

  • @01shlomid
    @01shlomid 4 місяці тому

    Very disappointing results, I have 42C stepper combo, Tuning Kp,Ki Acc and MPlayer parameters didn't help in my case. it would be interesting to see what would happen if you put the 42C board on the other stepper. maybe its the steeper motor, high BEMF limiting it's speed.

    • @engineerbo
      @engineerbo  4 місяці тому

      It's possible it could the stepper's fault. I could also run the 42C's stepper motor with the TMC2209 to check if it's really the stepper's problem.

  • @jaro6985
    @jaro6985 4 місяці тому

    The MKS stepper unit is a shitty closed source port of the open source mechaduino/nano zero stepper. It may have been possible to run FOC on it, which would have given it superior performance to the open loop stepper.

    • @engineerbo
      @engineerbo  4 місяці тому

      The MKS product page advertises FOC for the servo42c. Perhaps it's legit, definitely didn't show in the performance.

    • @jaro6985
      @jaro6985 4 місяці тому

      @@engineerbo Yeah you are right, shame they never post the code so we could check if its true or not. I assume its not easy to tell just by measuring motor waveform if it is FOC or sinusoidal? Or they ran into processor limitations.

  • @markpolak8317
    @markpolak8317 4 місяці тому

    is your servo open source?

    • @engineerbo
      @engineerbo  4 місяці тому

      It's not open source at this time. I've rewritten the firmware several times, and might even do it again, so it didn't seem like a great idea to open source it.

    • @SergeyToroshchin
      @SergeyToroshchin 4 місяці тому +1

      ​@@engineerbo sad

    • @engineerbo
      @engineerbo  4 місяці тому +1

      There seems to be a fair amount of interest in the design of the servo, so I'm planning on doing a deep dive video series to talk about the different aspects.

    • @markpolak8317
      @markpolak8317 4 місяці тому

      @@engineerbo Sounds great, subscribed, thanks!