Arduino motor shields

sidney Sep 5, 2022

  1. BigJake

    BigJake TrainBoard Member

    The current capacity of the motor driver board is also a potential limiting factor.

    Note that solenoid throws are peaky, and most power supplies can handle significant overcurrent for short durations.

    I would also be surprised if DCC++EX will shut down the outputs based on a single over-current reading. Hopefully, they would wait for multiple consecutive (or averaged) readings over the trip limit. Over-current damage to electronics (the motor driver IC) is almost always from the power dissipated as heat, and heat takes time to build up (and cool down).
  2. Sumner

    Sumner TrainBoard Member

    The power supply you are using might be over 2 amps but unless the config.h file is changed DCC++EX is going to cut/trip the power to the main track or the program track once more than about 1.8-1.9 amps is being drawn by whatever is on or connected to those tracks. That is to protect the Arduino motor shield or a clone as they are limited to 2 amps on either of their two outputs (What Andy is saying). You could change the config.h file as shown ( HERE ) and increase the
    • tripMilliamps - This is the value for what current in mA will trip the overcurrent protection.

    to a value above 2000 (2 amps) but then the motor shield would most likely be damaged.

    I'd run things as you are and if the command station starts tripping due to over current look at alternatives. One is show ( HERE ) that would be less expensive than buying a commercial booster but also is not a plug and play solution. Also you still have the problem if there is a short the command station is going to shut down. Running the command station only to supply the DCC signal to boosters that will only shut down what they are connected to is the way to bypass that. I like building everything I can but finally decided to bypass building boosters and spent the $65 on them.

    Nice layout and keep adding things until you actually have a problem, maybe you won't add enough at this point to have one :)

    Erik84750 likes this.
  3. BigJake

    BigJake TrainBoard Member

    Keep in mind the L298 chip is designed for operation at up to 70C (158F). If your environment is closer to 75F, those current limits can be a little higher. Except for very high currents, it is heat that destroys the IC, not the current directly. The heat is generated when that current passes through internal resistances (losses) in transistors, etc. The total voltage drop across an output pair is up to 4.9V @ 2A (9.8W) which is dissipated in the driver IC, heatsink, etc. as heat.

    Also, a lot depends on how often the current is monitored, and how many samples are averaged together (helps avoid trips based on noise and transients) before comparing to the limit setting. Remember, it is the heat (which is rather slow responding) that kills the IC, not the current itself, and heat operates more slowly.

    Note that when sensing the current pulse response to DCC programming commands, fewer (perhaps even just 1) samples should be averaged to detect the decoder response.

Share This Page