MC33926 Driver burning up arduinos

I’m using the MC33926 board to link up and drive a 12V DC linear actuator. Because the actuator itself is very expensive, we have decided to hook the OUT1 and OUT2 to an oscilloscope to confirm the output first before final attachment

for the oddest reasons, the board destroyed both my arduinos’ serial communication link the moment i fired it up, meaning that it now can no longer talk to my computer because the serial to usb portion is damaged.

i’m currently reverting back to ol’ school MOSFETs and BJTs but any help to troubleshoot this is appreciated

attached is the pdf file showing the simplified circuit layout, code is as follows:

#define INA 10
#define INB 9
#define PWMA 3
#define UP 1
#define DOWN 0
#define SWITCH_A 11
#define SWITCH_B 12
#define TRUE 1
#define FALSE 0

int pwm_val = 127; //25% = 64, 50% = 127, 75% = 191, 100% = 255
int switchA;
int switchB;
int Flap_Status = 0;

void setup(void)
{
  Serial.begin(9600);
  pinMode(INA, OUTPUT);
  digitalWrite(INA, LOW);
  pinMode(INB, OUTPUT);
  digitalWrite(INB, LOW);
  pinMode(PWMA, OUTPUT);
  pinMode(SWITCH_A, INPUT);
  pinMode(SWITCH_B, INPUT);
}

void loop(void)
{
  switchA = digitalRead(SWITCH_A);
  switchB = digitalRead(SWITCH_B);
  
  if(switchA = TRUE && Flap_Status = FALSE)
  {
    digitalWrite(10,LOW);
    digitalWrite(9,HIGH);
    analogWrite(3, pwm_val);
    Serial.println("Moving Up.");
    delay(3000);
    Flap_Status = TRUE;
  }
  else if(switchB = TRUE && Flap_Status = TRUE)
  {
    digitalWrite(10,HIGH);
    digitalWrite(9,LOW);
    analogWrite(3, pwm_val);
    Serial.println("Moving Down.");
    delay(3000);
    Flap_Status = FALSE;
  }
  else
    Serial.println("Both switches are off.");
  
  delay(500);
}

Simplified Circuit.pdf (20.4 KB)

Hello.

We have multiple products that use the MC33926, so it would be helpful if you could provide an actual product number or link to the product page. Similarly, your simplified circuit layout is potentially too simplified to be helpful (e.g. you don’t say which Arduino you are connecting to the driver). However, I do see one potential problem: if you are using product #1212 and you really are connecting the Arduino’s 5V line to the logic-side pin labeled VIN, then you are shorting your 12V motor supply to your Arduino’s 5V output, which would probably kill the Arduino and possibly damage the motor driver. The logic voltage supply for the motor driver should be made to the pin labeled VDD as described on the product page.

- Ben

Hi Ben,

Thank you for your reply. I did indeed purchase the product #1212 and I did connect 5V to arduino and 12V to power the actuator.

Currently, I have modified the wiring and the output declaration a bit with the following:
EN: HIGH
D1: LOW
D2: HIGH
VIN: input voltage
GND: ground

Output with the oscilloscope and a function generator returned a square wave on OUT1 when a square wave is put in to IN2, which I presume nothing is fried within the driver chip.

My question is: if I want to draw power from a power supply unit to move the actuator, do I only need to link it to the VIN on the output side or will VDD also need to be connected to HIGH?

Many thanks,
B.

As the product page says about VDD:

Make sure you supply motor power to the large VIN and GND pads on the output side of the carrier, not the small ones on the input side. Also, the driver and your signal source (e.g. Arduino or function generator) must share a common ground.

- Ben

Hi Ben,

Can we connect to the small Vin pins if we’re only pulling 1-2A? [My case specifically: 1-2A from a 12V supply for about 30 seconds at a time). For the benefit of this thread, I will repeat that Vin is VERY different than Vdd for this board.

Or, would you simply recommend never connecting power in through those small pins? The pins can easily tolerate 1-2A, but the tracks on the PCB might not be designed for 1-2A. It would be much neater if I could connect via the small pins.

Hi, Tomek.

You can see that we do have a decently thick, short trace going to that pin and the neighboring ground, so they can probably handle an amp or two for short periods of time. The worst thing that will happen if you try to draw too much through it is that trace by the pin will melt and you will have to switch your connections to the larger VIN and GND pads.

- Ben

Hi Ben,

Thanks for your help on our project.

I have attached the wires in the following way for testing the output:

EN: HIGH
VDD: 5V
GND: ground
IN1: either function generator or unattached
IN2: either function generator or unattached
OUT1: oscilloscope
OUT2: oscilloscope
D1: LOW
D2: HIGH

So far, regardless of whichever input I apply a square wave into, the output remains that OUT2 receives the output as a sine wave. I’m suspecting that one of the terminals is damaged while the other one is fine, else something is shorting within the chip. Thoughts on this?

Many thanks.

Can you simplify things. For example, disconnect the function generator and just manually go through the four IN1/IN2 permutations by connecting them to 5V or GND. You can see from the MC33926 datasheet what the motor driver truth table is. If you observe something that differs from the truth table, please let me know.

- Ben