I need to control a brushed DC motor in both directions using the L6203. The block diagram is shown below. Motor voltage will range from 13 to 16.8V, with a maximum RMS current of around 3A.

enter image description here

From the datasheet it is not quite clear to me how this chip should be driven for brushed DC applications. Should I select the direction using the two input pins and then apply a PWM signal to the Enable pin? Or should I PWM one of the input pins for one direction and PWM the other for the other direction, while keeping the other pins high?

The L6203 is rated for a maximum switching frequency of 100kHz. Although I only intend on switching at about 30kHz, I am concerned that I might damage the chip or degrade performance if I don't use it as intended. Please advise.


You need to put a PWM signal on IN1 and gnd IN2, to have to motor run to the right side for example. (This ensures that the left upper MOSFET is in conduction with the PWM and the right bottom MOSFET keeps conducting because of the inversed AND input from IN2)

If you want the motor the other way, then put a PWM signal on IN2 and gnd IN1. The the right upper MOSFET wil conduct according to the PWM and the left bottom MOSFET keeps conducting because of the inversed AND input from IN1.

Note, if you want to enable the driver the enable pin must set high. If you want to disable it then put it to GND.

PS: If you don't want to mess up your µC then use some buffers (schmitt-triggers) to protect your µC.


| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.