I bought a Dual MC33926 Motor Driver Carrier and have soldered all the pins to it. I have two motors as well. However, I am very confused on how to connect the motor driver carrier to my raspberry PI 4. Could someone please show me how it should be wired? I would greatly appreciate this. I will also be using MATLAB for the coding.
We have a few dual MC33926 boards including a basic dual carrier and a dual driver designed specifically for Raspberry Pi; which specific product do you have?
I noticed two immediate issues with your proposed connections:
- It would probably be easier if you connect M1nD2 (M1PWM) and M2nD2 (M2PWM) to pins on your Raspberry Pi capable of hardware PWM. For the Raspberry Pi 4, that includes GPIO12, GPIO13, GPIO18, and GPIO19).
- If you plan to use the status flag outputs (which you are currently showing unconnected), then you should connect VDD to 3.3V, not 5V. VDD is only used to pull the status outputs high, so you could leave VDD disconnected entirely if you are not using them. If you leave them connected to 5V then decide to connect the flags to some of your Raspberry Pi’s GPIO pins, you will likely damage them since they are not 5V tolerant.
Unfortunately, we do not have any MATLAB resources or and specific recommendations for how to control your driver from MATLAB.
What do you mean by flag outputs? What are the gpio pins associated to it?
The status flag outputs are the nSF pins on the driver carrier. The pin description table on the product page and the MC33926 datasheet (available on the product page under the “Resources” tab) have more information. I am not sure what you mean when you ask what GPIO pins are associated to it.
If it is an option for you to get a new board I would strongly recommend using our dual MC33926 motor driver that we specifically designed for the Raspberry Pi instead. It will make it easier for you to make your connections and we have more resources available for that board that are specifically intended help you use it with a Raspberry Pi including a Python library we wrote and a Java library written by another user (though I am not sure how useful those libraries would be for helping develop MATLAB code). If you cannot switch to using that board, the documentation for it might still be a useful reference.
Could you please provide a picture of how you recommend to to connect my motor driver to the raspberry PI 4.
There are several ways you could connect your motor driver to the Raspberry Pi, so I do not have a specific recommendation. If you have not already, I strongly recommend reading the MC33926 datasheet to fully understand its features and operation, since that board is essentially just a breakout board for two of them (the datasheet can be found on the board’s product page). The connections you already proposed already look okay except for the two issues I pointed out earlier.
What kind of power supply do you recommend? I would prefer to use a wall outlet power supply. How many amps should the power supply be?
It depends on how much current you expect your system to draw. If you are not sure how much current you expect your motors to normally draw, then you could use their stall current values for guidance. (Please note you should never actually subject your motors to stall conditions for sustained intervals, but using the stall current value for your assessment is good practice since it will help ensure your supply can handle the worst case scenario.) If you are powering your Raspberry Pi or other electronics from the same supply, then you should add their expected current draw to your calculation as well.
I decided to buy the Pololu Dual MC33926 Motor Driver for Raspberry Pi (Assembled). It ran the first time but now it is not working anymore.the power supply I used was 24v and 3amps. I checked the voltage at the M1A and M1B while running my code and I am not getting any voltage. Do you think I burned out the driver?
Can you post some pictures of your setup and try running the example program from our Python library without any motors connected to your motor driver expansion board? What do the indicator LEDs do?