I am using Pololu Dual VNH5019 Motor Driver Shield for Arduino for DC motor control.
I progrmmed for simply motor run when I push a button.
The problem was the motor stoped when I push on and off a few times.
I checked M1EN pin and the pin had low. I know the driver should not work in this situation.
It seemed to have an error to protect the driver or a safety reason.
Why is this happen to the driver ? A flywheel didode or something is needed in the motors?
I aleardy put each 0.1F capasitor in the motor as the manual suggested.
How can I reset the driver programatically without a power turning off and on?
Thanks for your help or answer in advance.
You should not need a flyback diode with the VNH5019. The MxEN/DIAG pin is a combination of an enable input and diagnostic output. When the driver is functioning normally, this pin acts as an enable input (e.g. a logical high enables the motor outputs and a logical low disables them). However, when a driver fault occurs, the IC drives this pin low (disabling the motor outputs), so simply toggling the pin with your Arduino to get rid of the fault will not work. Instead, I suggest figuring out what is causing the fault.
You can find more information about the fault conditions of the VNH5019 from the “Pin definitions and functions” table in the VNH5019 driver’s datasheet, which you can find under the “Resources” tab of the shield’s product page. Can you post more information about your setup? For example, what motor are you using, and what is your power source?