The H-Bridge as a relay alternative

The classic fischertechnik electronics modules are sometimes affectionately called 'Silberlingen'. However, a complete H-bridge 'Silberling' was never released by fischertechnik. Controlling the direction of rotation of motors is usually solved in the construction designs with a relay module. Relays have the great advantage that the switched contacts are completely galvanically separated from the control electronics. However, they are noisy, subject to wear and tear, and cannot be used to control the rotational speed of motors.

An H-Brigde in a 'Silberlingen'-compatible housing would be very useful as a relay module replacement for tinkerers (like me), who enjoy using the old electronics modules. Especially if it is possible to connect an external DC voltage for higher motor powers, and to be able to supply low-power motors directly from the standard supply voltage that is available via the loop-through strips on the sides of these 'Silberlingen'. It would also be nice if for the control signals, besides the 9 volt 'Silberlingen' voltage level, also the 5 volt TTL level could be used. Indeed, the module could then be used not only with all electronics modules and controllers, but also with other popular microcontroller boards where 5 volt (TTL) signal levels are more common.

A 'Silberling' with the DRV8833

To control motors, in terms of direction of rotation, I applied the TB6612FNG module in my 'Zauberling' (a module with the same form factor and voltage levels as the traditional 'Silberlingen'). This small module board contains two H-Bridges and can therefore drive two DC motors simultaneously with a constant current of 1.2 A (3.2 A peak) if required. The motor voltage here may be up to 15 volts. Two input signals (IN1 and IN2) can be used per H-Bridge to control the motor in one of four function modes: CW, CCW, brake or coast. Regardless of the direction of rotation set with IN1 and IN2, the STBY pin can be used to turn the motor on and off. A variant of this chip, whose offered motor voltage, however, may only be a maximum of 11 volts, is the DRV8833. Several versions of boards on which this chip is used are available. Pin-compatible variants of these boards with the DRV8833 and TB6612 chip are shown in the picture below.

DRV8833-TB6612

A motor is a so-called inductive load. As soon as the applied motor current drops, it briefly generates an opposing current. To protect the semiconductors of the controlling output, a so-called flyback diode is required. Since both modules contain four power MOSFETS per H-Bridge, whose (substrate) diodes can act as flyback diodes, such additional protection is not necessary when using these H-Bridge ICs.

In addition to the difference in maximum motor voltage, there is another difference between the two chips. The TB6612FNG chip has its own PWM input for each H-Bridge with which, from the two motor outputs (A and B), the rotation speed can be controlled separately via a PWM input signal. With the DRV8833, such a PWM signal will have to be presented on IN1 or IN2 respectively while the other input is kept LOW. The circuit diagram for the DRV8833 module, with the level shifters for 9 volt input signals, is drawn below. A connection for an optional external power supply is provided on the back of the module (pictured to the right). Two JST connectors are directly provided so that this power supply can also be easily looped through with short cords. Here, the Schottky diodes D6 and D7 provide an automatic selection between the available supply voltages.

loop-through-DC

Schematics-DRV8833-Board

DRV8833-module

The limitation of up to 11 volt motor voltage is not a problem for the normal fischertechnik motors. With these motors, the current also usually remains (much) smaller than half an ampere. With the Zauberling I have therefore never observed serious heat development. Nevertheless, I designed the circuit board in such a way that a small cooling element can be placed. This then protrudes through the front panel after assembly.

The boards mentioned contain two complete H-bridges and are only 2 by 2 cm in size. Using PCB pins for the various inputs and outputs, it would be easy to mount two such boards in one 'Silberling'. However, in order to keep the overview on the limited front surface of the 'Silberling' enclosure, it is more obvious to equip the homebrew module with one H-Bridge board. I chose the previously described PTN2-01 solder busses so that the traditional fischertechnik plugs can also be used.

The dual H-Bridge module shown more than meets expectations. However, due to the switching logic of the control inputs of the DRV8833 chip used, it is not possible to power both outputs of one H-Bridge at the same time. The H-Bridge function is disabled for uninhibited motor runout when both inputs IN1 and IN2 are LOW. If IN1 and IN2 are simultaneously made HIGH, both outputs, and thus the motor winding, are shorted to brake the motor. This method of braking, the “Quick Stop,” is already described in fischertechnik's Hobby3 and Hobby4 books. However, due to this braking functionality, the output levels do not purely follow all the levels of the corresponding control input. Therefore, the two outputs of each H-Bridge cannot be used completely independently for users that need to be controlled with only one current direction. With the previously described driver module, with its own semiconductor per output, this was obviously possible.

module1-test

The experiments yielded a good usable module. But to be able to use a higher motor voltage, and also use the outputs separately as driver outputs, I designed and built another second H-Bridge module with the L298N chip.