Servo57 motors on my S03

I’ve been hacking away at my well loved S03 for some time now and decided that this weekend I would make the move to closed loop steppers. I got a great deal on some much larger NEMA 23 motors and some Servo57B closed loop adapters and I wired them up last night.

Before the “well actually” crowd weighs in, I know this is unnecessary, I know it’s overkill and I know I shouldn’t be skipping steps if I’m driving the S03 within its limits. That’s hardly the point though is it?

First observations.

  1. There is more than enough torque to fully destroy the S03. When things go wrong, they don’t just go wrong with a clicking sound as the motor strains, things get bent and busted very fast. These motors are beyond overkill for the S03 and are probably going to end up being a bit of a liability.

  2. The Servo adapters actually work. They do a darn fine job of making sure I don’t skip steps.

  3. I probably don’t need the servo adapters AND the bigger motors. I might swap the controllers over to the stock motors where I think it makes more sense as I’m more likely to skip steps with those.

  4. The stepper drivers stay cool and don’t need a heatsink

  5. There is an initialization sequence that happens at the very start that makes these completely useless for the Y axis. The sequence moves in the same rotation every time which means Y racks at power on. So for now it’s regular steppers on the Y axis .

  6. The firmware is customizable. I’m going to try to compile a version that initializes CW instead of CCW for one of the steppers, or at least I’m gonna try.

  7. There is no way to make these work with the carbide motion board. you have to drive them with a board that has removable stepper drivers.

  8. Do I recommend them? Not on an S03. They are a neat hack and make a regular stepper more servo like, but they remove all of the safeties that keep our machines healthy as we learn and really shouldn’t be needed unless you are doing some knucklehead DOC. They do look hella cool though.
    EDIT I just found someone has already fixed the firmware to remove the boot up rotation. gonna try that out https://github.com/makerbase-mks/MKS-SERVO42B/commit/60bb23ea020bd9ead1d4d867ed088492c142e2e9

11 Likes

Every time I log in to this place I learn about things that will empty my bank account :rofl:
I have never seen these before, they look like a really simple solution to making steppers closed loop.

Does the magnetic encoder work with the standard steppers?

Do you just supply power and step/dir signal to them? You say they have to be driven by a board with removable stepper drivers, but it looks like the board itself is a driver up to 2.5a, is that right?

If steps are missed, does the board just error out or rectify the discrepancy like a servo would?

I will very likely order some of these to put on my standard steppers, can you see any issue with driving them with a CNC Drive UC300ETH? I do have a Gecko G540, but it looks like these have a driver built in

Thanks for sharing!

2 Likes

the magnetic encoder work with the standard steppers?

Yup. There is a round magnet that you glue to the backside of the stepper shaft. This won’t work with dual output stepper motors because there is no hole in the PCB, but most steppers should work fine. There is also a version for NEMA 17 motors but I haven’t tried that.

Do you just supply power and step/dir signal to them? You say they have to be driven by a board with removable stepper drivers, but it looks like the board itself is a driver up to 2.5a, is that right?

They come with a pololu compatible stepper adapter that you pop in place of the driver. That sends 12v, 5v and the step signals to the controller where the driver is built in. For the ‘B’ version of the drivers, they appear to be using the microcontroller directly to generate the signals for the motors. You can change the amount of current and stepping directly on the board via the LCD screen and some push buttons.

If steps are missed, does the board just error out or rectify the discrepancy like a servo would?

Yeah I’ll have video soon, but if steps are missed you get a blue light that turns on and then the stepper driver tries to correct the motion error. So if you smack your gantry halfway across the axis because, lets say your lumber rack fails and drops a 2x4 onto your machine while it was cutting (sigh, yeah), the driver will correct that motion and go back to where it should be.
Note though that this isn’t a servo system. Your controller that is sending gcode never has any idea that anything went wrong, so no other axis is paused.

As for the CNCDrive controller, it wouldn’t fit the adapters that they send but you should be able to wire it up correctly. I’m just using a protoneer raspberry pi hat for mine.

2 Likes

Oh man… I’m totally in love with that update…

Keep us updated would love to see the video.

1 Like

First videos are up, Nothing too exciting but hopefully tomorrow I’ll be making chips. I ended up putting the old steppers back on the Y axis while I wait for a programmer to come in so I can upload new firmware on these dudes.
First homing cycle. If you look real close you can see the OLED screens give realtime feedback about error rate, degrees and number of steps. You can also change things like drive current (and usteps) real time

The reason why I switched Y back

3 Likes

Which controller board / software are you using pls?

Currently a protoneer CNCShield (https://blog.protoneer.co.nz/arduino-cnc-shield/) on a raspberry pi 4 running CNCJS. I’ve converted the Pi4 to run as read only so I don’t have to worry about powering it on and off and potentially damaging the SD card. I’ve also been using a 6Pack CNC controller though and I really like that one too. The Protoneer will probably be what stays on this machine though because I was able to 3dprint a case that fits in the factory carbide motion spot.

2 Likes

First chips, I accidentally had my roughing pass set to 10mm DOC, 2.5mm engagement and 5000 mm/s plunge rate on a 1/4 endmill into walnut. It made one hell of a racket and actually stalled out the Router11 router that I just got but those steppers kept right on trying to adjust themselves. I cranked the router up to 4 and just let it go and so far, it’s not skipped a beat.

3 Likes

You gotta love closed loop controls :wink:

1 Like

Video as promised. This went a little sideways but I decided to go ahead and push through and see what the bigger motors, the Router11 and the servo setup could do. Turns out, a lot. Way more than my dust collection can keep up with anyways.

3 Likes

Did anything break!?

I had to resquare everything afterwards and tighten some belts back up. Nothing broke though thankfully.

You’re lucky! I and likely many others have broken lots of stuff with the stock steppers and routers. That makes me wonder if your Router11 has as much torque as the Makita and Dewalt. The ER11 collet and price is nice though! Have you checked runout?

I haven’t had a chance just yet. It feels physically to be identical to the Makita and the Carbide Router, I think there is a common manufacturer involved for sure. Runout is supposed to be very low but as far as the stall goes, I was at 10k RPM and plunged 10mm in that walnut and then tried to hog at 1000mm/s at the lowest speed setting. It doesn’t surprise me too much.