Description
This is a circuit board to for an add-on board for a Pocket Beagle that will control four stall-motor turnout motors for a model railroad. It also has sense logic to return the state of the turnouts, using one pole of the DPDT contacts in the stall-motor (typical of Tortoise stall-motors).
GPIO Pins Used.
This board uses eight GPIO pins:
- GPIO0:
- Motor Select 1: select the position of stall motor 1.
- GPIO12:
- Motor Select 2: select the position of stall motor 2.
- GPIO34:
- Point Sense 1: return the state of the points for stall motor 1.
- GPIO35:
- Point Sense 2: return the state of the points for stall motor 2.
- GPIO15:
- Motor Select 3: select the position of stall motor 3.
- GPIO25:
- Motor Select 4: select the position of stall motor 4.
- GPIO32:
- Point Sense 3: return the state of the points for stall motor 3.
- GPIO33:
- Point Sense 4: return the state of the points for stall motor 4.
Each of the motor drive circuits is through a TC4428, which can drive up to 1.5A, which is way more needed to drive typical stall motor. It is enough to drive a pair of stall motors, wired in parallel as would be the case for a cross over.
Circuit Description
This circuit contains two sections. There is an output section that contains four TC4428 chips. Each chip has a non-inverting and an inverting driver. The inputs of both drivers are connected to one of the motor GPIO pins. The output are wired to the terminal block for a one of the motors. For any given logic state of the motor control output, one of the drivers is “on” and the other is “off”, thus one motor terminal is ground and one is raised to the 12V supply. This means alternative states of the logic line will drive the stall motor in alternative directions.
The other section is a quartet of flip-flop debounce circuits, one for each of two SPDT switch contacts that report the position of the turnout points. The output of these flip-flops goes to a quartet of GPIO input pins.
Parts List
Value | Quantity | References | Mouser Part Number |
---|---|---|---|
.1 uf | 2 | C1 C2 | 581-SR201C104KARTR1 |
10 uf 35V | 1 | C3 | 667-ECA-1HM100I |
18 Pin socket header | 1 | U0 | 517-929850-01-18-10 |
19 Pin socket header | 2 | U0 | 517-929974-01-19-RK |
10K Ohms | 1 | RR1 | 652-4609X-1LF-10K |
Motor 1;Motor 2;Motor 3;Motor 4 | 4 | T1 T2 T3 T4 | 651-1725685 |
+ 12V – | 1 | T5 | 651-1725656 |
TC4428 | 4 | U1 U2 U3 U4 | 579-TC4428VPA |
74HCT00 | 2 | U5 U6 | 595-SN74AHC00N |
.1 uf | 1 | C1 | 21RZ310-RC |
15 uf 63V | 1 | C2 | 710-860080773002 |
47 nf | 1 | C3 | 75-1C10Z5U473M050B |
SB240E | 2 | D1 D2 | 625-SB240-E3 |
RJ45 | 2 | J1 J2 | 710-615008144221 |
Termination | 1 | JP1 | 649-67997-404HLF |
60 Ohms | 2 | R1 R2 | 71-RN60C60R0B/R |
+ 15 in -;+ 15 out – | 2 | T1 T2 | 651-1725656 |
TCAN332DR | 1 | U1 | 595-TCAN332DR |
SN65HVD233-HT | 1 | U2 | 595-SN65HVD233SJD |
220 uf 25V | 1 | C4 | 140-REA221M1EBK0811P |
22 uf 100V | 1 | C5 | 140-REA220M2ABK0811P |
SB160-E3/54 | 1 | D3 | 625-SB160-E3 |
330 uh | 1 | L1 | PE-52627NL |
LM2574N-5.0 | 1 | U3 | 926-LM2574N-5.0/NOPB |
Value | Quantity | References | Mouser Part Number |
The only parts that might be substituted are T1 though T4 (the Motor
terminals) and T5 (the 12 to 16 Volts terminals). The parts listed are for
screw terminals for the Motor terminals and the motor power terminals. Feel
free to select either pin arrays or spring terminals for the T1, T2, T3, T4
and T5. You only need one CAN transciever. One of the parts is a through hole
version (which is much more expensive) and the other is SMD. The SMD part can
be hand soldered. The board supports using either a pair a 18-pin headers for
a TTGO-T1 MCU board or a pair a 19-pin headers for a ESP32 Dev Kit Board.
Circuit Board Layout
Board assembly is straight forward. You need to be careful orienting the ICs and the electrolytic capacitor.