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

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 พ.ค. 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...
    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
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 271

  • @CB_agotchi
    @CB_agotchi 3 หลายเดือนก่อน +97

    Would love to see more about your own servo design!

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +25

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

    • @geobot9k
      @geobot9k 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +2

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +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  3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +15

    This is not only amazing , but also informational.

  • @supergiantbubbles
    @supergiantbubbles 3 หลายเดือนก่อน +13

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thank you!

  • @MattThePrintingNerd
    @MattThePrintingNerd 3 หลายเดือนก่อน +3

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thank you!

  • @prymaxxgaming8747
    @prymaxxgaming8747 3 หลายเดือนก่อน +1

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thank you very much!

  • @ParabolicLabs
    @ParabolicLabs 3 หลายเดือนก่อน +3

    I've been dying to check those servos out. Awesome video Bo

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +1

      Thank you!

  • @lukasnick5511
    @lukasnick5511 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      Thank you! Glad you enjoyed the video!

  • @paulharvey6719
    @paulharvey6719 3 หลายเดือนก่อน

    this video is so well done. thank you!

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thank you, I'm glad you liked it!

  • @PhG1961
    @PhG1961 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน

      Thank you, fellow motor enthusiast!

    • @SlinkyD
      @SlinkyD 3 หลายเดือนก่อน +1

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

  • @BrianVoelker
    @BrianVoelker 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thank you!

    • @BrianVoelker
      @BrianVoelker 3 หลายเดือนก่อน

      No! thank you@@engineerbo

  • @dusty_bike
    @dusty_bike 3 หลายเดือนก่อน +1

    Excellent comparison, thankyou

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thank you for watching!

  • @xyzspec82
    @xyzspec82 2 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  2 หลายเดือนก่อน +1

      Thank you!

  • @ebrewste
    @ebrewste 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน +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 2 หลายเดือนก่อน

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

  • @ClementsProjects
    @ClementsProjects 3 หลายเดือนก่อน

    Instructive, great work!

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Glad you enjoyed it!

  • @byt290
    @byt290 หลายเดือนก่อน

    greatly appreciate seeing this video :-)

    • @engineerbo
      @engineerbo  หลายเดือนก่อน

      Thank you!

  • @SeaTaj
    @SeaTaj 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thank you! Glad you found the video useful!

  • @stefanguiton
    @stefanguiton 3 หลายเดือนก่อน

    Excellent video!

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thank you!

  • @brettturnage533
    @brettturnage533 3 หลายเดือนก่อน

    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 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน

      Glad you found it useful!

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +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!

  • @ayachtsman6847
    @ayachtsman6847 2 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  2 หลายเดือนก่อน

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

  • @Lucas-pj9ns
    @Lucas-pj9ns 3 หลายเดือนก่อน +2

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

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

  • @ianchan2624
    @ianchan2624 3 หลายเดือนก่อน

    thx for sharing

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      You're welcome!

  • @wsmao1154
    @wsmao1154 3 หลายเดือนก่อน +1

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Glad you enjoyed the video!

  • @JonnyWaldes
    @JonnyWaldes 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน

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

  • @lau4893
    @lau4893 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +1

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

  • @NicolasExposito1
    @NicolasExposito1 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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.

  • @luneclips
    @luneclips 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน +4

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

    • @rogergipson-eh1yd
      @rogergipson-eh1yd หลายเดือนก่อน

      @@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  หลายเดือนก่อน

      Thank you for subscribing!

  • @davers1610
    @davers1610 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +2

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

  • @vietle-fr5rj
    @vietle-fr5rj 2 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  2 หลายเดือนก่อน

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

  • @VinokDesign
    @VinokDesign 3 หลายเดือนก่อน

    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!

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thank you!

  • @OMGWTFBBQSHEEP
    @OMGWTFBBQSHEEP 2 หลายเดือนก่อน +1

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

    • @engineerbo
      @engineerbo  2 หลายเดือนก่อน +1

      I intend to!

  • @zachbrown7272
    @zachbrown7272 3 หลายเดือนก่อน +8

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +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.

  • @caribbeandreamer1336
    @caribbeandreamer1336 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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.

  • @bryangates72
    @bryangates72 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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.

  • @mammoth-3D
    @mammoth-3D 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

      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.

  • @occasionalriders1885
    @occasionalriders1885 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

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

  • @alessandromenegollo7957
    @alessandromenegollo7957 หลายเดือนก่อน

    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  หลายเดือนก่อน +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 หลายเดือนก่อน

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

  • @sivisjoe9877
    @sivisjoe9877 3 หลายเดือนก่อน +1

    good video

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thank you!

  • @noviceartisan
    @noviceartisan 3 หลายเดือนก่อน

    would love to see a vid on your cutom servo!

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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?

  • @JeromeDemers
    @JeromeDemers 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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.

  • @Varios1118
    @Varios1118 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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.

  • @gendragongfly
    @gendragongfly 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

      @@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  3 หลายเดือนก่อน

      👌 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!

  • @emileballard4417
    @emileballard4417 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน +1

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

  • @leonardoaugusto5491
    @leonardoaugusto5491 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      Thanks! The servo controller is a fully custom design.

  • @amyth_dev
    @amyth_dev 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

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

  • @MrMadary
    @MrMadary 2 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  2 หลายเดือนก่อน

      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 2 หลายเดือนก่อน

      @@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  2 หลายเดือนก่อน +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.

  • @Kalvinjj
    @Kalvinjj 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน +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.

  • @misamokuzelpizu
    @misamokuzelpizu 10 วันที่ผ่านมา

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

    • @engineerbo
      @engineerbo  10 วันที่ผ่านมา

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

  • @BobHannent
    @BobHannent 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

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

  • @educationalpurposesmostly
    @educationalpurposesmostly 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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.

  • @thetooth
    @thetooth 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

      @@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  3 หลายเดือนก่อน

      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.

  • @squishysquare8222
    @squishysquare8222 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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.

  • @seleniumshutter
    @seleniumshutter หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  หลายเดือนก่อน

      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 หลายเดือนก่อน

      @@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  หลายเดือนก่อน

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

  • @mortaldrumming
    @mortaldrumming 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +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.

  • @DoTheDiy
    @DoTheDiy 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน +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.

  • @marcus_w0
    @marcus_w0 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

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

  • @shodanxx
    @shodanxx 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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.

  • @DesmaraisChris
    @DesmaraisChris 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      @@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

  • @darkwinter7395
    @darkwinter7395 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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.

  • @AandHAutomationllc
    @AandHAutomationllc 3 หลายเดือนก่อน

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

  • @erikpvc
    @erikpvc 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      @@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  3 หลายเดือนก่อน

      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 2 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  2 หลายเดือนก่อน

      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.

  • @MarinusMakesStuff
    @MarinusMakesStuff 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

      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 2 หลายเดือนก่อน +1

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

  • @samv6477
    @samv6477 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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.

  • @Cybernetic_Systems
    @Cybernetic_Systems 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน +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 2 หลายเดือนก่อน

      @@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  2 หลายเดือนก่อน +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 2 หลายเดือนก่อน

      @@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  2 หลายเดือนก่อน +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!

  • @samuelschuur7044
    @samuelschuur7044 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +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.

  • @zebedie2
    @zebedie2 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน +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!

  • @twanheijkoop6753
    @twanheijkoop6753 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน +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.

  • @theroboticsguy
    @theroboticsguy 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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.

  • @notepadgamer
    @notepadgamer 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน +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.

  • @gregorywhite2063
    @gregorywhite2063 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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.

  • @mberoakoko24
    @mberoakoko24 3 หลายเดือนก่อน +1

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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.

  • @natereinhold6180
    @natereinhold6180 16 วันที่ผ่านมา

    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  15 วันที่ผ่านมา

      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.

  • @petersvideofile
    @petersvideofile 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

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

    • @petersvideofile
      @petersvideofile 2 หลายเดือนก่อน

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

  • @gamerpaddy
    @gamerpaddy 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน +1

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

  • @mikeydk
    @mikeydk 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

      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  3 หลายเดือนก่อน

      Thank you for the sub!

  • @davenarisotto3674
    @davenarisotto3674 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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).

  • @vasyapupken
    @vasyapupken 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

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

  • @radotastic
    @radotastic 3 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

      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).

  • @TheKeverin
    @TheKeverin 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      I'll look into it!

  • @MakeTeachRepeat
    @MakeTeachRepeat 3 หลายเดือนก่อน +1

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

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

  • @sinaaghli
    @sinaaghli 3 หลายเดือนก่อน

    where you micro-stepping the steppers?

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +1

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

  • @Ryxxi_makes
    @Ryxxi_makes 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

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

  • @mrechbreger
    @mrechbreger 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

      @@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  3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

      @@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  3 หลายเดือนก่อน

      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.

  • @_droid
    @_droid 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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.

  • @stefandebruijn3167
    @stefandebruijn3167 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

      @@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  3 หลายเดือนก่อน

      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!

  • @gino.avanzini
    @gino.avanzini 3 หลายเดือนก่อน

    Is the test code at 4:30 available?

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

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

  • @marvintraxel6955
    @marvintraxel6955 3 หลายเดือนก่อน +1

    How do they compare in price? TH-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  3 หลายเดือนก่อน

      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.

  • @AndrewBoraas
    @AndrewBoraas 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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.

  • @adamklosterman8960
    @adamklosterman8960 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

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

  • @Ender_Wiggin
    @Ender_Wiggin 3 หลายเดือนก่อน

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

    • @Ender_Wiggin
      @Ender_Wiggin 3 หลายเดือนก่อน

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

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +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!

  • @kazolar
    @kazolar 3 หลายเดือนก่อน +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  3 หลายเดือนก่อน +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?

  • @jaro6985
    @jaro6985 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

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

    • @jaro6985
      @jaro6985 2 หลายเดือนก่อน

      @@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.

  • @mrring4979
    @mrring4979 2 หลายเดือนก่อน

    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  2 หลายเดือนก่อน

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

  • @zoeyzhang9866
    @zoeyzhang9866 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน +1

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

    • @zoeyzhang9866
      @zoeyzhang9866 3 หลายเดือนก่อน +1

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

  • @01shlomid
    @01shlomid 3 หลายเดือนก่อน

    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  3 หลายเดือนก่อน

      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.

  • @NicolaiLab
    @NicolaiLab 3 หลายเดือนก่อน

    Closed source firmware - it is red flag. They released SERVO42D with declared 3000+ RPM and optional RS485 or CAN interface.
    By the way, why do you uses brushless motor without feedback for your servo? I think brushless with hall sensors will be better for this application.

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      It's sometimes understandable not to release everything as open source, small businesses particularly might have concerns with clones. However, a closed sourced product does make it difficult for community troubleshooting.
      My servo shown in this video does have feedback! It uses a magnetic rotary encoder mounted on the controller board which can output 15-bit absolute angle measurements.

  • @markpolak8317
    @markpolak8317 3 หลายเดือนก่อน

    is your servo open source?

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน +1

      ​@@engineerbo sad

    • @engineerbo
      @engineerbo  3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      @@engineerbo Sounds great, subscribed, thanks!