The IBT-2 PowerShield is a 5 Amp. track booster in the Arduino shield form factor based on the popular IBT-2 H-Bridge board.
There are two versions available as described below. Scroll to the bottom of the page for installation instructions.
IBT-2 PowerShield Intern with an on-board IBT-2 circuit
The internal version features connectors for DC supply and DCC track output. Wire bridges are used to configure the GPIO connections.
This picture shows the various elements needed for the configuration of the board:
IBT-2 PowerShield Extern to connect external IBT-2 modules
The external version features a n 8 pin ribbon cable to connect a standard IBT-2 module. A terminal connector is used to feed back the DCC track voltage to power the status LED.
This picture shows the various elements needed for the configuration of the board:
IO Pin configuration and DCC EX motor driver setup
Note: The GPIO address configuration is identical for both, the external and internal version of the board.
The PowerShield offers full flexibility and allows to select any GPIO pin available on the Arduino except for pins 0 and 1 which are used for the USB serial communication.
Pin selection is done by adding a small wire bridge between the target signal and the desired GPIO pin of the Arduino. There are two selector fields: A small analog field which allows for the configuration of the current sensor input from A0 to A5.
An additional PWM Selector Jumper lets you choose between using only one PWM signal from the Arduino (recommended) or using two PWM signals. The default setting is the upper position, one PWM signal only.
And the larger field allows for the configuration of the two PWM signals, as well as for PWR and BRK. Note that the BRK signal is needed, except when setting up a DC district.
The solder eyes in the white bars are the connection to the IBT-2 module. In the analog pin field, this is the connection to the current sensor input from the IBT-2. The large fields have PWM1, PWM2, PWR sand BRK. The two rows of solder eyes neighboring each white bar carry the GPIO signal. One side has IO pins 2 - 7, the other bar carries IO pins 8 - 13.
The connections are best made using short wire pieces that barely go into both holes and then solder them to the board. This ensures good contact and is easy to remove in case the board needs to be reconfigured.
The DCC EX configuration of course must match the configuration of the IBT-2 PowerShield board. In other word, DCC EX must use the signals the PowerShield is configured for.
For the power factor settings, a value of 8.31 is recommended and the recommended trip current setting is 5000 - 7000 mAmps. If you use several IBT-2 PowerShields that share the same power supply, the trip current of each should not be higher than about 70% of the maximum current of the power supply to increase the chance that in case of a short circuit in one district, the power supply still keeps powering the other parts of the layout.
This picture shows an example Arduino definition along with the corresponding wire bridges in the Analog and GPIO selector fields. The board uses a single PWM signal from GPIO 13. As analog sensor for current measurement it is using analog input A1.
Typical Configurations
As long as your micro controller is able to support the selected pins for Analog, DCC, PWR and BRK you are free to select any combination and configure the board accordingly. However, here are two common tried and true example configurations you may consider to use unless you have real good reasons for make an alternative selection.
IBT-2 PowerShield for MAIN and PROG
If you install two PowerShiled boards, but there is no motorshield board in the stack, you can use the standard pin assignment for the motorshield and just adapt the power factor and trip current settings. In MotorDrivers.h you add these lines:
// IoTT IBT-2 PowerShield (any usable pin can be selected and configured on the PowerShield board)
#define IoTT_POWER_SHIELD F("STANDARD_MOTOR_SHIELD"), \
new MotorDriver(3, 12, UNUSED_PIN, UNUSED_PIN, A0, 8.31, 6500, UNUSED_PIN), \
new MotorDriver(11, 13, UNUSED_PIN, 10, A1, 8.31, 6500, UNUSED_PIN)
and in your configuration file or config.example.h you make this selection:
#define MOTOR_SHIELD_TYPE IoTT_POWER_SHIELD
IBT-2 PowerShield for MAIN and Arduino Motorshield for PROG
Another popular setup is using the IBT-2 PowerShield to run the main track while keeping the Arduino motorshield board to run the programming track. In this case, the pins for the standard motorshield are still in use and care must be taken in order not to cause a conflict. For PWR and PWM this is not a problem as those are output pins. So it is possible to use them for the PowerShield even if they are physically connected to the now unused port of the motorshield. The analog input on the other hand must not be reused. You have the options to either cut the trace on the SNSx pin to disable it or simply choose another analog input.
When cutting the sensor trace for channel 0 of the motorshield board, your configuration would be:
// IoTT IBT-2 PowerShield (any usable pin can be selected and configured on the PowerShield board)
#define IoTT_POWER_SHIELD F("STANDARD_MOTOR_SHIELD"), \
new MotorDriver(3, 12, UNUSED_PIN, UNUSED_PIN, A0, 8.31, 6500, UNUSED_PIN), \
new MotorDriver(11, 13, UNUSED_PIN, 10, A1, 2.99, 2000, UNUSED_PIN)
and if you select to use a different analog pin, you would use:
// IoTT IBT-2 PowerShield (any usable pin can be selected and configured on the PowerShield board)
#define IoTT_POWER_SHIELD F("STANDARD_MOTOR_SHIELD"), \
new MotorDriver(3, 12, UNUSED_PIN, UNUSED_PIN, A2, 8.31, 6500, UNUSED_PIN), \
new MotorDriver(11, 13, UNUSED_PIN, 10, A1, 2.99, 2000, UNUSED_PIN)
and in both cases, your configuration file or config.example.h looks like this:
#define MOTOR_SHIELD_TYPE IoTT_POWER_SHIELD
Installation
Simply place the PowerShield on the pin headers of the beneath shield or Arduino controller and press it down. Verify that no electrical connection exists between the two boards, for example caused by pins sticking out somewhere in the middle of the lower board and touching conducting parts of the PowerShield board. If the lower board is the Arduino controller, make sure the housing of the USB connector (GND) is not touching solder eyes of the configuration field. It may be beneficial to place a piece of electrical tape on top of the housing to prevent contact.
If you are using the IoTT enclosure system, correct and save spacing is ensured by the frame that provides support for the PowerShield board. Nevertheless, checking for any problems is always a good idea.
This picture shows various installation possibilities:
After installation, connect the PowerShield as described in the following paragraphs.
Wire connections internal version
The internal version features two terminal connectors to connect the DC supply and the DCC track output.
Use the supplied plugs to make these connections.
Connect the DC and GND wires from the DC supply to one connector. The voltage of the DC supply depends on your modeling scale. Here are the NMRA recommended values:
N scale: 12V
HO scale: 15V
Large scale: 18V
Do not apply voltages higher than 25V. Verify that the polarity is correct before you plug it in.
Connect the track to the second plug, labeled DCC A and DCC B. Those are the wires that go to the track.
VIN Jumper
The VIN jumper provided with the internal version of the PowerShield can be used to connect the VDC input from the supply plug to the VIN pin of the Arduino system. This connection can be used to power the entire stack with one single power supply. However, care must be taken to not exceed the acceptable voltage for the Arduino system. According to the Arduino Uno R3 data sheet, the VIN voltage can be up to 20V, however, using a standard configuration, it is not recommended to supply voltages higher than 12V through the VIN pin. So, it is basically an interesting option for N scalers.
If you are using a RedHat Shield to provide a Loconet connection, things are different. The RedHat Shield has an on-board DC-DC convertor to generate the 5 Volts for the Arduino and the 5V LDO on the Arduino board is bypassed. Therefore, the VION voltage can go up to the allowed maximum for the selected Arduino board. Therefore, it is no problem to power the Arduino stack via VIN with the DC supply voltage of 15V or 18V when using a RedHat Shield.
Wire connections external version
Connect the 8pin ribbon cable from the PowerShield to your IBT-2 module. Verify that the pins labeled GND and 5V are on the same side of the ribbon cable. Then connect GND and VDC from the power supply to the B- and B+ terminal of the IBT-2 module. The track is connected to M+ and M-. If the label on your IBT-2 module are different, consult the module documentation to determine the correct connections.
The voltage of the DC supply depends on your modeling scale. Here are the NMRA recommended values:
N scale: 12V
HO scale: 15V
Large scale: 18V
Do not apply voltages higher than 25V. Verify that the polarity is correct before you switch on the DC power.
Use a 1 foot section of 2-wire cable to connect the track output back to the PowerShield, using the supplied terminal plug. Here the polarity does not matter as it is DCC. This feedback connection is used to illuminate the LED if track power is present. It is also used to supply power to the Low Power DCC Output.
Low power DCC Output
This terminal connector provides an additional connection to the DCC signal. For the external PowerShield version, it is only powered if DCC Feedback from the external IBT-2 module is connected.
The Low power DCC Output connector can be used to connect a local programming track if the corresponding module is configured as programming track, or it is used to supply a RedHat Loconet shield with DCC when the corresponding module is configured as configured as Main track. The RedHat shield needs a DCC input to supply the Loconet B outlet with a copy of the DCC signal to control additional boosters.
Optional enclosure
IoTT is providing a modular enclosure system for the entire Arduino DCC EX stack. Visit www.tinkercad.com, search for IoTT Cube and download the design files to print your own modular enclosure. Why not in the colors of the railroad you are modeling?
IoTT Videos covering PowerShield