For an application I use Arduino DUE and VNH2SP30 as the motor driver.I think this motor drive is only compatible with 5V logic but DUE provide 3.3V logic.Will my problem be solved if I use logic level shifter to convert 3.3V logic level to 5V?In the meantime, I control the speed and direction of the motor with the following code:
analogWrite(PWM_kare,head_analog);
digitalWrite(INB_kare, HIGH);
digitalWrite(INA_kare, LOW);
1 Answer 1
According to the datasheet (page 5) the "Input High Level Voltage" is 3.25V. That means that any voltage over 3.25V will count as a HIGH.
That is kind of borderline for 3.3V logic which can drop below 3.3V for a HIGH depending on load and other circumstances.
So while it might work off 3.3V I would say for reliable operation you should use some form of level shifting in your circuit, yes.
A simple, cheap, MOSFET-based logic level shifter will do the job - there is no need for anything fancy.