Brushless Motor Controller Tester

Maybe more of a “verifier” than a “tester” but little gizmos like this are great to have in your bag of tricks.

Saw this:

Built this:

CAD model for the case is at Onshape and the schematic is at Utility/SparkMax-Tester.pdf at main · JolietCyborgs4241/Utility · GitHub (go directly to the OnShape model as I need to update the CAD files in GitHub to reflect some late breaking changes due to the hardware I used). I used 6-32 threaded inserts so if you’re using something else, you’ll want to change the holes on the bottom side of the case. Considering this thing is a screw it shut once and be done, threading directly into the plastic is a totally viable option - I just like threaded inserts.

With this, you’ll see each phase in the brushless control output and can see if a phase has failed or is weak. In operation, all the same color LEDs should light at similar intensities.

Terminate the connections using whatever connectors you typically use on your robot - we use PowerPoles so I made a pigtail that goes in series with the motor feed from a brushless controller - I made it relatively short to be able to plug it into a built robot without a bunch of extra wiring. It just tees into your existing wiring.

Quick one-day project with not a single part needing to be purchased (at least not specifically for this project) - I love making things out of stuff already on hand.

– Chris Herzog - Joliet Cyborgs #4241

16 Likes

Nice work! I saw the article too and was contemplating doing it as a board with board mount Andersons on both sides. Any thoughts on ways to get it to verify the motor phases are OK too? I was thinking about putting some diodes in series to generate enough voltage to light a red LED, but with a 12 Volt motor that’s a significant hit. Another thought would be to set up a current mirror to pump a fraction of the phase current through an LED. This method could work with a low value sense resistor.

1 Like

I figured with the R/G LEDs paired, if they are all lit and the same color, no phase is reversed or missing. The original Hackaday article used a single resistor for each LED pair and my circuit actually passes the current through a pair of resistors (which are why mine are lower resistance).

Since it’s connected across phases, it doesn’t impact the motor voltage but you need enough voltage to get the LEDs lit - about +3 or 4 should be enough with them being safe up to full voltage.

I’m not actually sure if the lower speeds on brushless motors are handled with lower voltage on the phases or a shorter duty cycle - might need to look at that some…

This is the kind of thing where an oscilloscope is sometimes going to be better, because the signals are likely to be changing rapidly. It will catch some faults (bad wiring, one part of the H-bridges stuck in one state, etc.) and these are probably the common faults a user might see. But anyone who was working on the internals of a controller would need more than this for sure, and it isn’t going to find all problems. Also, Falcons are not going to work (you can’t get to these signals).

It is a neat project , you can order the circuit board and build one quickly and cheaply. It’s probably also good for learning more about these controllers. Thanks for sharing!

Subtle problems definitely require more subtle and detailed approaches.

Like you said, this is just a quick and cheap “verifier” for some obvious conditions - “If you don’t see all the LEDs light as expected, swap the controller”.

1 Like

I agree; a great tool for the heat of competition! All you want is “is this driver acting up?”

2 Likes

Some updates: I ordered in some small current transformers. With a forward/reverse LED pair across them they light up with Neo currents; this allows an actual check of “do I have phase current”. I’ll be building up a board with three of them and the ESC tester discussed above!

Also, here’s my latest Makita-powered toy: A free standing NEO tester/runner with a PWM generator onboard. Honestly, the hardest part was coming up with a way to get it to turn off before it boogers up the Lithium battery! For some stupid reason, Makita puts -that- part of the circuitry in the tool, and the charging bits in the battery. The donor object was a USB charger. That part still works too :wink:
image

4 Likes

Nice - I used the same PWM generator and put it into a case with 4AA to generate the PWM but need to supply the 12V for the motors separately.

That’s a miserable little thing to mount - the later versions I have don’t even have mounting holes anymore. You need to pull the headers off, switch to a longer reach push button, and on the latest batch I got, I needed to move the electrolytic cap to the bottom. It’s right at the edge of not being worth it and just using it like you did…

Here’s a rendering of the case:

The case is available at Onshape

1 Like

Yeah, I just created a hole in the case that matched the existing object perfectly. I had to trim off the top pins on one of the headers to clear the front panel.

And the latest product of the mad science labs: the brushless equivalent of the drill motor with anderson connectors… A drill motor with THREE anderson connectors! It turns out that you can solder in to the leads on a brushless drill carcass (I swear the business end was already gone when I got it). A little surgery to put in a three pole connector. And then a little scope creep :wink: I realized that I could press fit a 1/2" hex onto the motor shaft and also get a tool that could spin stuff directly! You have to be holding on to the Neo; if not, it will pull the wires out of the connector when you let go of the trigger! The Makita has a brake mode!

10 Likes

That is so cool.

Yeah, loose motors really torque around when braking!

Really nice job.

Have you noticed any issues running the motor sensorless, especially under load?

I don’t expect they will work all that well sensorless. I would expect much less torque delivery and much less stable speed. The free standing SparkMax driver will also suffer from lack of power output due to the limited battery. Its really tools for quickly prototyping and “is the motor bad or the controller, or the gearbox?” level questions. We had a lot of those with a 6 NEO drive train…

2 Likes

When I used @Weldingrod1 's first neo tester (a sensorless brushless motor tester board from amazon), I had issues with motors sometimes jittering and not actually moving like they were misfased. This was with the robot up on blocks.

For other’s information, he’s referring to the original non-feedback and low power unit. Basically, it makes three phase AC. There’s a critical maximum inertia for a motor to start rotating with this type of drive, with any given frequency. Your chances are much better for starting if the frequency is ramped up.
Very similar to synchronous AC motors. For those, the data sheet actually includes the maximum rotary inertia value. I was working on making a diamond disc grinder for tool sharpening using an AC synchronous motor. The motor worked just fine with just the steel coupler on it, but adding the Aluminum backing disc meant it wouldn’t start; it just vibrated. If you gave it a spin it would spool up to speed.

An update on the 3 phase drill tester: running intake tests using the hex output blew the 40 Amp fuse hidden in the handle :frowning: The kids have lots of jobs for that sucker; it really acts like the old-school brushed motor drill tester, but with NEO and NEO550 motors!
I grafted in one of our 40 Amp self-resetting breakers!! Took some blivet packing…

7 Likes

OK, so first cut on the all singing all dancing motor tester. This has three current transformers that measure actual phase current and three LEDs that measure phase voltage. It would be possible to add or build a DC motor channel, but you need a lot more voltage drop to get an LED lit on the DC current. Hmmm. I should resist that one…

The current transformers have a two color (red/green) LED across them, and it looks like they can tell the difference between pulsed DC (one color) and AC (red+green=yellow).

Phase voltage is three LEDs in a delta with current limiting resistors. I’m not very happy with the brightness, but that may be due to the broken SparkMax. Again, these are two color and can identify DC vs AC.

Next phase is adding a read out of the encoder signal, including the +5 supply.

The first photo has a damaged SparkMax driving a good NEO forward. This SparkMax runs motors VERY roughly, and has dead spots where it won’t start. Not a happy camper…


Here’s the motor running forwards but with the lights off:

Here’s reverse:

The dark photos make the voltage LEDs on the right easier to see. It really looks like this drive is only generating pulsed DC on some of the outputs. I need to hook in a scope to understand what’s going on better :wink:
I’ll post more info as this develops; scope photos and a test run with a good motor/good SparkMax.

3 Likes

Here’s a good motor running on good three phase:


And here’s simulating a bad phase by unplugging it:

I’m very happy with the progress!

And now equipped with encoder testing! Again, it’s the sick SparkMax. Looks like one problem is the “C” encoder channel being dead. The first pic is running:


This one is static. You can turn the shaft and see the encoder cycle.

3 Likes

This thread is very cool. We also cooked up a PWM generator for our Falcon brushless motors this year, but from Milwaukee M12 batteries and with a Teensy. I should make a thread for that…

1 Like

@spacepenguine I think there would be interest in such a project! Our “spark-in-a-box” was really useful until we blew up the SparkMax :frowning:

So, I used the prototype at competition this Saturday! It saved us tearing out either the NEO or SparkMax on our climb! It was able to tell us that the problem was upstream in software.

2 Likes