I try to drive a Metal Gearmotor 25Dx48L with a H-Bridge Dual MC33926, but I can’t make the motor move. I don’t know if that comes from my wiring, a broken H-Bridge or something I’m not smart enough to comprehend. I checked several posts from your forum, tried to tweak regarding what was recommanded, but still no luck.
The battery is a Anker Astro Pro 14400mAh / 12V and I use a Raspberry Pi rev 2 to control the PWM.
Here is my setup:
GND: connected to GND of the Raspberry Pi
VDD: connected to 5V of the Raspberry Pi
M1IN2: connected to Pin 24 of the RPi, set to OUT and High
M1IN1: connected to Pin 23 of the RPi, set to OUT and Low
M1D2: connected to Pin 18 of the RPi, set to PWM and 512 (tried with 1, 512 and 1023 values)
M1D1: use the override (which should go to the GND)
M1SF: left disconnected
M1FB: left disconnected
EN: use the override (high)
SLEW: use the override (high)
INV: use the override (high)
VIN: connected to the + of the battery
GND: connected to the - of the battery
M1OUT2: connected to the red wire of the motor
M1OUT1: connected to the black wire of the motor
Additionally, I join 3 pictures of my soldering, pins of the h-bridge and an overview of the wiring (I know we can’t see so much, but since I describe it hereabove, I expect that if you need more detail, you won’t hesitate to ask me for that).
Since nothing happens when I turn on the battery, I wondered if something is wrong with my setup. I can’t see any more test I could do neither. Any help would be very appreciated.
Thank you very much in advance for any insight.
It looks like you have everything connected to the motor driver in a way that works, though some of your soldering does not look too good. Can you switch the logic side inputs from M1 to M2, connect your motor terminals to M2OUT1 and M2OUT2, and see if you can get the motor to run off of the motor driver on M2?
Thank you so much for your time. I’m glad my wiring is correct.
Though, I do agree that my soldering could be better (for not saying worst).
As suggested, I tried to connect the motor to the second Motor Output (and re-wired the input side of the H-Bridge accordingly) without success (motor is not moving).
Now, I guess I have 3 things to do: buy a new soldering iron, buy a new h-bridge (I may have messed up something while I was making my tests which would have damaged the device, even though I didn’t notice anything. if I had a voltmeter, I could check that right?), and redo the test from there with the same wiring but a better soldering.
Thanks again for your assessment, I needed it to pursue my project.
Have a great day.
Since it never worked for you, I am still cautiously optimistic that there is just something wrong with what you are doing (as opposed to a damaged board that needs to be replaced). Is there something specific you did to the motor driver that makes you think you might have damaged it?
When you switched the motor over to M2, did you also set M2D1 and M2D2 in the same way you set M1D1 and M1D2? (I noticed that the jumper pins for M2D1 and M2D2 were not soldered in your second picture.)
I think your next step should be to get a decent multimeter, as this is pretty much an essential tool for debugging electronic circuits. With it, you could check for continuity around your soldered joints and measure the voltage on the motor outputs to see if they are doing what you intended. If you get one, please let me know and I would be happy to give you suggestions on how to continue troubleshooting.
Thanks for your answer.
You’re right when you mention it has never worked for me. But I am a little ashamed to admit that I have burned a Raspberry Pi while testing different combinations of wiring: I guess I did a short-cut between the battery and the RPi at some point, and some smoke came from the Pi for it to never coming back among us. Since then, I get a new RPi and hoped the H-Bridge wasn’t damage since nothing seemed melted or dark on the board, but I may have been too optimistic on this one.
As for the test on the M2 input/output, I have spent more time removing some of my soldering and resoldering them.
I tried connecting directly M2D1 to the Ground (and eventually, I have soldered the M2D1 override), and connected M2IN2 to Pin 24 (out, low), M2IN1 to Pin 23 (out, hight) and M2D2 to Pin 18 (PWM) of the RPi that I have set like described in my original post. So identical than for the M1 inputs/outputs. No success.
I have broken my piggy bank, and I have ordered a new H-Bridge from you, I have also bought a Multimeter and a good soldering iron.
Just waiting for the packages to arrive now.
I’ll let you know the conclusion of it all.
Thanks a bunch Jon, your insights are precious to me.
I’m sorry to hear about your damaged Raspberry Pi. I suggest you try to be very cautious when making connections to this new driver. Be wary of anything in your setup that might accidentally bridge power and ground, and be sure not to make connections while devices are powered.
I recommend taking small, simple steps to get your setup working. First, try getting the dual motor driver to work in the simplest way you can with as little input from the Raspberry Pi as you can manage. For example, you can connect your battery to VIN and GND, supply 5V from the Raspberry Pi to VDD, connect GND on the Raspberry Pi to GND on the motor driver board, and tie the motor logic inputs directly to GND or VDD (just connect them with wire) in a way that should work.
Thanks for your kind answer. We can’t do an omelette without breaking eggs, I guess I do the same with my electronic devices, at least during the learning process.
As usual, I must say that I’m impressed by Pololu, I received my new H-Bridge just 2 days after my new order. Impressive.
Let’s say it straight, it works now. My two motors are driven by my Raspberry Pi (one with a real PWM output, the other with a software generated signal, thanks to WiringPi for those who would like to do the same). To make it work, I used my original wiring and it worked just fine.
Though, I have an additional question to make my H-bridge experience complete:
I don’t think there are, but just in case.
I’m grateful for your support. Have a good week.
I am glad you received the new board so quickly. We work hard to make sure orders are processed quickly (we ship them out the same day they are ordered if we receive the order by 2 PM Pacific Time), but I think the shipping service probably deserves most of the credit in this case!
Using the INV pin potentially allows you to reduce the number of control inputs to the board. However, this board has only a single INV pin that connects to both of the MC33926 driver chips. So, if you decide to switch motor direction with just this pin, you would lose individual control of motor direction. For example, if both motors are spinning in one direction, you could get them to reverse direction, but you could not command a single motor to reverse direction without commanding the other. I generally recommend just using IN1 and IN2 directly to control your motors.
That’s what I understood, thanks for the confirmation.
Now everything is working like a charm, I’m very glad of your support. Keep up the good work! I really appreciate it.
Hello, would anyone of you be willing to share the Python code used to drive the MC33926 with a Raspberry PI ?
Many thanks !
We do not have any example python code for the MC33926, but we do have a motor driver kit for the Raspberry Pi B+ that uses the DRV8835 and a corresponding python library that you might find interesting.
Thank yoy Claire !