Dual MC33926 Motor Driver Shield - short circuit protection

I am using the MC33926 to create the signal for running a DCC model railroad and it works great - except for the built-in short circuit protection. It is too good :slight_smile: . This application expects brief shorts to occur and the Arduino code is monitoring the current sense pins to detect a short that lasts too long. There are other DCC devices that act as circuit breakers or - important to me - polarity reversers which are reacting to a short. The reaction time of the MC33926 is faster than these devices (one circuit breaker specifies 16ms). Is there a way to either disable the MC33926 short circuit protection or modify the reaction time?

Details of the DCC project can be found at https://github.com/DccPlusPlus/BaseStation/wiki


The MC33926 reacts to shorts in 10’s of microseconds and it is not possible to disable this feature. You might look through the datasheet for the MC33926 (which is linked to on the “Resources” tab of the shield’s product page) for more details about how the short circuit protection in the chip behaves.

Generally, allowing shorts through circuits like these is not a good idea. If you provide some diagrams and more details about your system, I might be able to offer you some suggestions for a workaround.


Thanks for the info. The NMRA DCC electrical spec is at http://nmra.org/sites/default/files/standards/sandrp/pdf/s-9.1_electrical_standards_2006.pdf. We are using the MC33926 to generate that signal. We have also used the Arduino Motor Shield R3. The perceived advantage of the MC33926 was the higher current rating - it doesn’t take many HO scale locomotives to reach the 2A limit of the Motor Shield R3.
Short circuits occur with relative frequency in model railroading. Some, such as when track is looped back on itself to change the facing direction of the train, are unavoidable. In such cases, a section of the loop is electrically isolated and fed through a device such as this (http://www.digitrax.com/products/autoreversing/ar1/). When the wheels of the train bridge the isolation gap and cause a short, the device detects the short and flips the polarity of the rails in the isolated section, clearing the short. The device’s detection window is in the tens of ms range, due to its mechanical relay. There are some manufacturers of digital versions where the reaction time is in microseconds but I don’t know what that time is and don’t have one to test with to see if it is faster than the MC33926’s built-in protection. They are also notably more expensive - almost double.
If you can direct me to an alternative to the MC33926 that is just as easy to use, that would be great. If not, I can live with it.

You might be able to work around this by modifying your program to detect the short condition using the SF pin on the shield, waiting for a certain time period to allow the short condition to be corrected, and then toggling the D2 pin to reset the MC33926. There are instructions in the Pololu Dual MC33926 Motor Driver Shield User’s Guide if you are using the two channels on the board independently and would like to separate the faults for them.

Our G2 high power motor drivers have built in current limiting, though there is a chance it still would not handle a dead short well. Also, you will have to make the connections to the Arduino using jumper wires rather than using the Arduino “Shield” form-factor. Coincidentally, one of our other customers just contacted us about using our older high power motor drivers for his DCC setup and is posting a live stream about it.