18v7 failed driving 30:1 37D gearmotor?

12V nominal LiFePO4 supply driving an 18v7 Simple Motor Controller and the 30:1 37D gearmotor.

Tonight the motor started only going one direction (though that worked normally). And the controller got really hot even when not moving.

I’m using the PWM from an R/C controller then using the Tx/Rx to talk to an Arduino which echoes one channel back to the motor output. Tx/Rx to Arduino seems OK because one way’s working, besides that probably wouldn’t cause the heat problem. I assume I blew up the 18v7 (it’s worked “fine” for years). What I’m wondering is if the motor may have failed and killed it, and how to tell? Or maybe if there could be some other problem to check for before swapping it out. Don’t really want to blow up another controller.


I am sorry you are having a problem controlling your gearmotor. What were you having the gearmotor do when you noticed the Simple Motor Controller getting hot? Can you upload a schematic and pictures that clearly show how you have everything connected? Also, did you change anything in your setup in between when it was working fine for years and recently?

It seems very unlikely that your 37D mm gearmotor broke in a way that only allows rotation in a single direction. If you still want to test your motor, you could remove if from your system (as well as any load from its output shaft) and briefly apply a low voltage across the motor leads directly from something like a benchtop power supply. If it runs, it is probably fine.


Agree that the motor didn’t break to be one-way :slight_smile: Rather my concern was that maybe the motor caused a surge to break the controller; don’t want to break a new controller with a suspect motor if that is the case. (In the past on a different project I have a motor fail and take that project’s 18v7 with it, but that was a motor that was at the edge of its voltage operating range and eventually just died.)
Nothing changed, my best-guess is a spike of some sort somewhere in the system.

  •      - Goes to -/ground buss
  •      + Goes to +12V (well, 13 something LiFePO4 supply)
  •      A/B go to motor
  •      Tx/Rx go to Arduino Rx/Tx pins.  (that bit doesn’t seem broken as the Arduino received and echoed values)
  •      BEC setting has jumper to 5V setting.
  •      2 R/C channels inputs come from the R/C receiver.  The receiver also has two other channels going to bigger 24Vwhatever simple motor controllers (which obviously don’t have their BEC turned on – those continue to work fine).

I have it set to serial control, the Arduino reads the R/C input values and then signals a motor rate from that.

The replaced motor controller is “happy”, so clearly something damaged the power side of the old one. Everything’s the same, so it’s unclear what exactly went wrong. The wires in power/motor connector terminal block were beginning to work loose, but didn’t really look like they could have shorted (I could easily see how connecting B to +12V might break something :slight_smile: but that doesn’t look very probable).


It is difficult to tell what the issue might have been. What are you commanding your motors to do? Does the damaged 18v7 Simple Motor Controller (SMC) have the included power capacitor installed? If you upload a picture of both sides of the SMC, as well as your setup, I might be able to see if I notice anything obvious that could explain what happened.


Yes, it has the capacitor installed. (It was preassembled). I’ll attempt to remember a photo tonight, but I saw nothing visibly obvious at first glance, just that it was getting really hot (under the capacitor).

I can also include pictures of the setup, but it has been replaced so that may not be too much help.

Mostly what I was concerned about is that the motor would be OK and not damage the controller, I’ve heard of feedback and stuff doing that. It sounds like you think that’s unlikely :frowning:


You still have not described how you are using your motor. Knowing what kind of load is on the output shaft is important because it gives us an idea of how much current the motor is drawing and how often. For example, constantly running the motor with nothing attached to its output shaft (i.e. free-run) is very different from rapidly switching back and forth from full-speed forward to full-speed reverse with a significant load on the output shaft (i.e. typical activity for a balancing robot). In the latter scenario, the motor can draw up to twice its stall current.

In general, it does sound like the FETs on your SMC were damaged somehow. Also, if it is the case that your 37D motor is starting to fail, then it could be generating more noise during use and drawing more current. Uploading pictures of your setup and knowing how you are using your motors could help me narrow down what might have happened.


:slight_smile: Sorry, didn’t get around to pix last night. https://flic.kr/p/rbaCah is the motor https://www.youtube.com/watch?v=Q97qotXkA6k shows the head moving. We have accel/decal set pretty low so the load shouldn’t be too bad, but I haven’t really measured it… There’s a 3A ATC fuse between the power supply and the motor controller, but that might not protect against spikes. The dome weighs ~5kg, so there is some momentum there. We use braking to keep it under control when the entire droid turns.

One concern we have is if there’s a problem with people moving the head manually generating current back into the controller.

He’s also been running for years without trouble here – but that might not matter if it’s slowly stressing the motor.

You are right, a fuse will probably not help suppress voltage spikes. Also, I do not expect manually moving the head to outright damage the driver, unless you are commanding the motor to brake or rotate while the head is being rotated. (I suspect that braking the head to keep rotation under control as you rotate the droid could be more stressful on the motor than the motor driver.) However, without knowing specifically how much current your driver is drawing during those times, it is difficult to determine just how straining that activity can be to the driver. If you can take the motor out of your setup and use a multimeter to determine how much current it draws when running without a load, we could compare it to the rated free-run current for some indication of whether or not it seems to be wearing out.