MC33887 Motor Driver Carrier

I am having a problem with my MC33887 Motor Driver Carrier.
I am generating a PWM signal using two op-amps and a comparator with a pull up resistor that is going into the D2 port. The signal is approx 5 kHz. The amplitude is from about .1V to 4V.
I have GND connected to the same ground as the PWM generating circuit.
I have D1 connected to GND, FB and FS disconnected altogether, and EN connected to +5V.
The board works fine when IN1 is connected to ground and IN2 is connected to +5V. My motor turns and the red LED lights up.
When I switch IN1 to GND, the motor shuts off as it should. However, when I connect IN2 to +5V in order to make it turn the other direction, there is a high pitched ringing sound and BOTH the red and green LED’s are lit up (presumably switching at a high frequency). The motor does not move. I connected IN2 to a scope to see what it was doing, and the signal (+5V supply) appears to be oscillating quickly (much faster than the PWM, but my scope wont measure it) between 2.5V and 4.9V.
I think that somewhere along the lines, IN2 is short circuiting. I measured the resistance between the IN2 pin and GND and found it to be 10Komhs as it should be.
I was originally using the supply voltage as 24V but the chip was getting very hot very quickly when IN2 is high. I am now using a +5V supply and the chip does not heat up. Im not sure, but I think that this indicates that the supply is short circuiting somehow when IN2 is high.
I put together one of my spare drives (the same model) and it is having the same problem, so I do not think it is the motor drive that is the problem, but rather my setup.
I would appreciate it if anyone could offer suggestions as to how I can solve this issue. I am thinking i might need a voltage follower somewhere, but im not sure where.
Please let me know if any more information is needed.
Thanks ahead of time.


Did you look at your PWM signal with your scope? Maybe it’s switching faster than you think. Also, you should be able to track down the source of that high-pitched ringing. What does the power supply look like (on the scope)? Perhaps your power supply is not able to keep up with the demand of your circuit and motor.

- Jan

Thanks for the reply. I have solved the problem and it did indeed involve the scope. I was measuring the pwm signal on my scope and also measuring the A & B outputs through a different scope input. Apparently, the grounds on the two inputs on the scope are internally connected somehow. So, when the PWM was low and IN2 was high, it was trying to make B high, but I had B connected to ground on the scope, which was somehow connected to PWM ground.

I’m happy you figured it out. By the way, regarding the scope grounds being connected “somehow”, they almost always are. You have to be extra careful if you’re doing things like connecting to computers (e.g. via USB), because you could be shorting things out through the scope, your lab/home wiring, and your computer motherboard. If the motor controller and wall wiring can handle a lot of current, you could blow out a trace on your scope or motherboard.

If you want to do differential measurements, you need a differential probe (expensive and not an option on some scopes) or two probes (some basic math options, like showing channel 1 - channel 2, are nice).

- Jan

Thanks for the info.
I have come a long way on my project since my last post, but have run into a bit of a snag.
I was using voltage regulators to provide a regulated 5V to the EN pin of my four MD05A motor drivers. I exceeded the voltage limit on one of the regulators and it failed, outputting 18V to the EN pins and blowing the motor drivers. I have now redesigned my power system and incorporated overvoltage protection to make sure that this does not happen again. However, I am a novice to electronics design and still worry that something like this might happen again somehow. The motor drivers are easily replaceable, but I also damaged the digital I/O port that I was using to send commands to the IN1 and IN2 pins. My proposed method of protecting my I/O is to put diodes between the motor driver and the I/O so that current will only flow to the motor driver. I know there will be a voltage drop across the diode, but the IN1 and IN2 pins should still receive at least 4 volts, which is still above the 3.5V needed to register a HIGH input.
I’d love to know if anybody can think of a reason that this might mess things up. I am also considering putting a diode on the EN pin.

I’m skeptical about the need for such protection. Typically, you would use the same power supply for your digital system as for any permanent connections for lines you’re not really using, such as EN. Therefore, if your regulator fails and puts 18V on EN, it would put 18V on the rest of your digital system and destroy it, anyway. Are you saying you have a separate circuit just to get 5V to the EN pins?

- Jan

Thanks for the response Jan. I do indeed have a separate power supply for the motor driver and my digital I/O. The digital I/O is part of a PC-104 data acquisition board. The PC-104 is basically a small personal computer that I am powering with a battery stack. I am powering all of my motor related electronics via a separate battery stack. The reason for this is that in the event of a failure/short circuit/etc. in the motor’s electronics system, it will not short circuit the more expensive computer. Right now, the computer is electrically isolated from the motor system save for the IN1, IN2, and PWM signals. I would like to protect the computer from failures in the motor’s electrical system.
I do not have a separate circuit just to get 5V to the EN pins, per se. That is only a small bit of what the circuit does (it generates a PWM signal via analog outputs from the DAQ, powers and decodes the motor encoders, and powers some other electronics).
I am going to go ahead and put the diodes on the IN1, IN2 signals today and see what happens.

UPDATE: I have put diodes on the IN1, IN2, and EN signals and I have not noticed any change in the motor’s behavior. When the IN1 and IN2 signals are commanded LOW, an open circuit is created on that pin, but this appears to register a LOW in the motor driver anyway, so it does not appear to be a problem.