

Dual motor drive for dual motor synchro drive PCB
- Size
- 100 × 100 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 98
- Nets
- 105
- Pads
- 407
- Tracks, vias
- 1,287, 138
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 3
- Created
- 19 Jan 2014
- Updated
- 3 Mar 2014
Overview
Synchro2 is an open-source printed circuit board by waynegramlich, from the waynegramlich/synchro_drive_motor_driver_pcb repository on GitHub. It is a 2-layer board of 100 × 100 mm with 98 parts on 105 nets, routed with 1,287 tracks and 138 vias.
It is built around the TM4C123GH6PMI, AS5050 AB and MCP2562-H/P, with the ELD207(TA), LM2931CD and SI8420-A-IS among its other parts. Its parts include 23 capacitors, 16 ICs, 12 resistors, 9 diodes and 1 connector. It belongs with the robots and motor control boards of this library.
Main components
8TM4C123GH6PMI
LQFP-64(10x10)-40℃~+85℃ 1.08V~3.63V 12bit 256KB 2KB 32 Bit 32KB 43 80MHz ARM Cortex-M4F Built-in FLASH LQFP-64(10x10) Microcontrollers (MCU/MPU/SOC) ROHSTexas InstrumentsMicrocontrollers (MCU/MPU/SOC)AS5050 AB
-- Sensor Modules ROHSAdvanced Monolithic SystemsSensor ModulesMCP2562-H/P
PDIP-8-40℃~+150℃ 4.5V~5.5V PDIP-8 CAN Transceivers ROHSMicrochip TechnologyCAN TransceiversELD207(TA)
SO-8-55℃~+110℃ 1.2V 1.6us 100% 2 2.2us 200% 250mW 3.75kV 400mV@10mA,2.5mA 60mA 6V 80V DC Phototransistor SO-8 Transistor, Photovoltaic Output Optoisolators ROHSEverlight ElectronicsTransistor, Photovoltaic Output OptoisolatorsLM2931CD
SOIC-8-40℃~+125℃ 1 100mA 140uVrms 2.7V~29.5V 400uA 40V 600mV@(100mA) 60dB@(120Hz) Adjustable Positive Reverse connection protection SOIC-8 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSonsemiVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsSI8420-A-IS
SOIC-8-40℃~+125℃ 0 1Mbps 2 2.375V~5.5V 2.375V~5.5V 2500 30kV/us 40ns Low Level SOIC-8 Digital Isolators ROHSSilicon LabsDigital IsolatorsMCP6542-I/P
PDIP-8-40℃~+85℃ 1.5mV 1pA 2 3.3mV 4us 600nA Built-in hysteresis Rail-to-rail input TTL、CMOS PDIP-8 Comparators ROHSMicrochip TechnologyComparatorsPMEG3030EP
SOD-1281 Independent 30V 360mV@3A 3A 50A 5mA@30V SOD-128 Schottky Diodes ROHSNexperiaSchottky Diodes
README
README.mdsynchro_drive_motor_driver_pcb
This printed circuit board drives two brushed DC motors for a synchro drive. A synchro drive allows a single wheel to be driven and turned independently without any wheel skidding.
Revision A
This board is designed around U1 and U2, a couple of AS5050 hall effect 10-bit absolute rotation sensors. The board is arrange to place both of these sensors exactly over the magnets on top of the twist motor and drive motor shafts.
The board geometry is constrained by synchro drive motor assembly. The motor pulleys are fully enclosed to keep dirt and grime from gumming up the pulleys. Thus, the PCB has an enclosed section on the bottom and an exposed section on the top. The exposed section is where all of the heat generating electronics is placed to provide additional air flow to remove excess heat.
The electronics is divided into two electrically isolated sections:
-
The processor section is connected to the Logic power/ground and can communicate over the CAN bus.
-
The motor section is connected to the Motor power/ground and drives the motor H-bridges.
Processor Section
The power and communication comes in on the 26-pin N1 connector.
The motor power (MPWR) and motor ground (MGND) are routed to the motor section (see below.)
The logic power (LPWR) and logic ground (LGND) are sent through C1, U3, C3, U6, C9, and C11 to provide regulated 5 volts and 3.3 volts. The LM2931 (U3) is must be able to take up to 30 volts input. This requires a DPAK package to provide adequate heat dissipation. C3 must be a tantalum capacitor to get an ESR (Equivalent Series Resistance) less than 400mOhm.
There are two signals (SEL_LR and SEL_FB) that can be testing in software to specify whether the wheel is left/right or front/back.
The communication comes in over CANH and CANL and is run into an MCP2562 (U4) CAN bus transceiver. The MCP2562 is the only part that must run at 5 volts. By setting the VIO input (pin 5) to 3.3V the processor can directly communicate with the transceiver using 3.3V signaling.
The processor is TM4C123GH6PM, an Arm Cortex M4-F class microcontroller. The processor is run using a 10MHz crystal X1 and two 18pF capactiors C10 and C11. There is a reset button (SW1) with a 10K pull-up resistor (R2).
The AS5050 hall effect rotation sensors (U1 and U2) are each tied to a dedicated SPI intefaces (SSI0 and SSI1, repsectively.)
For debugging, there is 6-pin connector (N2) that is designed
to connect to FTDI 3.3V USB to serial cable. The LED (D1) and
current limiting resistor (R1) are also available for debugging.
Jumper J1 is meant to implement physical signal that allows
over the bus firmware updating to be enabled or disabled. J1
is also available for debugging.
The processor can be programmed and debugged via either of the JTAG/SWDEBUG connectors (N3 or N4). Both connectors conform to the ARM 10-pin JTAG/SWDEBUG connector specification. One connector is .05inch pitch and the other is .10inch pitch.
The motor directions are specified by PB0-3 (pins 45-48). Third SPI peripheral (SSI3) is dedicated to controlling the DAC (Digital to Analog Converter) in the motor section.
There are the usual bypass capacitors (C2-C8, C22-23) and mounting holes (H1-H4, H6-H9). There are two additional holes (H5, H10) that are aligned with the motor drive shafts.
Motor section
Motor power is passed through C13, U7, and U14 to provide regulated 5V for the various integrated circuits. There is no 3.3V in this section.
The H-bridges are venerable bipolar L298's (U13, U14) with 8 Schottky current shunt diodes. The L298's are dual H-bridges that have been ganged together to provide 3A of continuous current. The motors are connected to N5 and N6.
The direction control signals change infrequently, so they are directed through inexpensive (and lower bandwidth) optoisolator chips (U10, U11) with current limit resistors (R3-R6). Resistors R7-R10 are pull-up resistors that are fed into IN1-IN4 inputs of the H-bridge chips.
The DAC is controlled with SPI signaling through the SI8420 chips. This are electrically isolated chips that can send digital signals at up to 1MHz. The SEL, SCK and SDI signals are sent through these chip to the DAC chip (U15).
The DAC chip is an MCP48?2, which a dual channel DAC. The output of each DAC is used to set the maximum voltage across the H-bridge current sense resistors (R11, R12). The DAC outputs are compared to the sense resistor voltages using the MCP6542 comparator chip (U16). Whenever the current through the sense resistor exceeds the DAC output voltage, the enable pins for the L298 are cleared through the dual D flip-flops (U12).
The way this works, is that the processor sends out a 25KHz square wave through U9 (pin 2). This signal clocks a 1 into both flip-flops, thereby enabling both H-bridges. As the current builds up across the current sense resistor, the flip-flops are cleared to disable the H-bridge enable pin. This results in a PWM (pulse width modulated) signal on the H-bridge enable pin, where the electronics ensures that the maximum amount of current specified by the DAC voltage is not exceeded.
There are the usual set of bypass capacitors (C15-C21) and test points for debugging.
Rev. A Notes
- The current sense resistor is too big. At maximum current (3A), the resistor will generate 5W of power. The current sense resistors are only 2W devices. The resistor needs to be dropped from .56 Ohm to .2 Ohm. This will require changing the DAC to be one that has a maximum voltage input rather than an internally generated one.
Parts
98| Qty | Value | Footprint | References |
|---|---|---|---|
| 15 | .1uF | Synchro2_Rev_A:CAPC1608X55N | C2, C4, C5, C6, C7, C8, C15, C16, C17, C18, C19, C20, C21, C22, C23 |
| 8 | PMEG3030EP | Synchro2_Rev_A:DIOM5027X244N | D2, D3, D4, D5, D6, D7, D8, D9 |
| 5 | 10K | Synchro2_Rev_A:RESC1608X50N | R2, R7, R8, R9, R10 |
| 5 | 470 | Synchro2_Rev_A:RESC1608X50N | R1, R3, R4, R5, R6 |
| 2 | .56 | Synchro2_Rev_A:RESC6432X76N | R11, R12 |
| 2 | 18pF | Synchro2_Rev_A:CAPC1608X55N | C10, C12 |
| 2 | 22uF | Synchro2_Rev_A:CAPAE530X540N | C1, C13 |
| 2 | 22uF | Synchro2_Rev_A:CAPMP3216X180N | C3, C14 |
| 2 | AS5050 | Synchro2_Rev_A:QFN65P400X400X80-16N | U1, U2 |
| 2 | ELD207 | Synchro2_Rev_A:SOIC127P600X175-8N | U10, U11 |
| 2 | L298 | Synchro2_Rev_A:MULTIWATT15 | U13, U14 |
| 2 | LM2931 | Synchro2_Rev_A:DPAK_THERMAL | U3, U7 |
| 2 | SI8420 | Synchro2_Rev_A:SOIC127P600X175-8N | U8, U9 |
| 1 | 10MHz | Synchro2_Rev_A:XTAL1150X480X430N | X1 |
| 1 | 1uF | Synchro2_Rev_A:CAPC1608X55N | C11 |
| 1 | 470pF | Synchro2_Rev_A:CAPC1608X55N | C9 |
| 1 | 74XX74 | Synchro2_Rev_A:SOIC127P600X175-14N | U12 |
| 1 | ARM_JTAG_10PIN | Synchro2_Rev_A:SMT_VERT_M1.27_2x5 | N3 |
| 1 | ARM_JTAG_10PIN | Synchro2_Rev_A:ARM_JTAG_2X5_2.54MM | N4 |
| 1 | DAC_AOUT | Synchro2_Rev_A:TEST_POINT | TP10 |
| 1 | DAC_CS | Synchro2_Rev_A:TEST_POINT | TP9 |
| 1 | DAC_SCK | Synchro2_Rev_A:TEST_POINT | TP8 |
| 1 | DAC_SDI | Synchro2_Rev_A:TEST_POINT | TP7 |
| 1 | DRIVE_MOTOR | Synchro2_Rev_A:Socket_MOLEX-KK-RM2-54mm_Lock_2pin_straight | N6 |
| 1 | DR_MISO | Synchro2_Rev_A:TEST_POINT | TP18 |
| 1 | DR_MOSI | Synchro2_Rev_A:TEST_POINT | TP19 |
| 1 | DR_SCLK | Synchro2_Rev_A:TEST_POINT | TP16 |
| 1 | DR_SEL | Synchro2_Rev_A:TEST_POINT | TP17 |
| 1 | ENC_INT | Synchro2_Rev_A:TEST_POINT | TP15 |
| 1 | FTDI_CONN | Synchro2_Rev_A:Pin_Header_Straight_1x06 | N2 |
| 1 | L3.3V | Synchro2_Rev_A:TEST_POINT | TP2 |
| 1 | L5.0V | Synchro2_Rev_A:TEST_POINT | TP1 |
| 1 | LGND | Synchro2_Rev_A:TEST_POINT | TP3 |
| 1 | M1.0_HOLE__DR | Synchro2_Rev_A:M1.0_HOLE | H10 |
| 1 | M1.0_HOLE__TW | Synchro2_Rev_A:M1.0_HOLE | H5 |
| 1 | M3.0_#4_HOLE__J | Synchro2_Rev_A:M3.0_#4_HOLE | H1 |
| 1 | M3.0_#4_HOLE__K | Synchro2_Rev_A:M3.0_#4_HOLE | H2 |
| 1 | M3.0_#4_HOLE__L | Synchro2_Rev_A:M3.0_#4_HOLE | H3 |
| 1 | M3.0_#4_HOLE__M | Synchro2_Rev_A:M3.0_#4_HOLE | H4 |
| 1 | M3.5_#6_HOLE__N | Synchro2_Rev_A:M3.5_#6_HOLE | H6 |
| 1 | M3.5_#6_HOLE__O | Synchro2_Rev_A:M3.5_#6_HOLE | H7 |
| 1 | M3.5_#6_HOLE__P | Synchro2_Rev_A:M3.5_#6_HOLE | H8 |
| 1 | M3.5_#6_HOLE__Q | Synchro2_Rev_A:M3.5_#6_HOLE | H9 |
| 1 | MB_RX | Synchro2_Rev_A:TEST_POINT | TP14 |
| 1 | MB_TX | Synchro2_Rev_A:TEST_POINT | TP13 |
| 1 | MCP2562 | Synchro2_Rev_A:SOIC127P600X175-8N | U4 |
| 1 | MCP48X2 | Synchro2_Rev_A:SOIC127P600X175-8N | U15 |
| 1 | MCP6542 | Synchro2_Rev_A:SOIC127P600X175-8N | U16 |
| 1 | MGND | Synchro2_Rev_A:TEST_POINT | TP6 |
| 1 | MPWR | Synchro2_Rev_A:TEST_POINT | TP5 |
| 1 | OMRON XG4A-2632 | Synchro2_Rev_A:OMRON_X4GA_2632 | N1 |
| 1 | PWM_CLK | Synchro2_Rev_A:TEST_POINT | TP4 |
| 1 | R971-KN-1 | Synchro2_Rev_A:DIOM2012X160N | D1 |
| 1 | RESET_BUTTON | Synchro2_Rev_A:KSS221GLFS | SW1 |
| 1 | TC1015 | Synchro2_Rev_A:SOT95P280X145-5N | U6 |
| 1 | TM4C123GH6PM | Synchro2_Rev_A:QFP50P1200X1200X145-64N | U5 |
| 1 | TWEN | Synchro2_Rev_A:TEST_POINT | TP11 |
| 1 | TWIST_MOTOR | Synchro2_Rev_A:Socket_MOLEX-KK-RM2-54mm_Lock_2pin_straight | N5 |
| 1 | TW_SEN | Synchro2_Rev_A:TEST_POINT | TP12 |
| 1 | UPDATE_ENABLE | Synchro2_Rev_A:Pin_Header_Straight_1x03 | J1 |
Similar boards
- 2 layers37.3 × 17.5 mm

- 4 layers33 × 58.4 mm

- 2 layers80 × 60 mm

Two phase charging
HuntieDK/BMW-i3-two-phase-charging
Extends the BMW i3 60Ah BEV/REX charging to use two phases
73 parts8MIT - 4 layers112 × 57 mm

- 2 layers100 × 100 mm

Neuromorphic ir sensor tht
RyanHailey21/neuromorphic-IR-hand-assembled
All through-hole re-implementation of the Rev A neuromorphic IR event sensor: no SMD parts, solderable with a basic iron.
102 parts - 2 layers43.2 × 47 mm

Current sink or swim
ALeggeUp/current-sink-or-swim
Project work from The Online Electronics Aprenticeship program at Contextual Electronics
29 partsCC-BY-SA-4.0 - 2 layers80 × 73.9 mm

Boya Parametrica V1.0
cepya2022/Water_Quality_Probe-
The development of open-source code and hardware instruments enables both the creation of new technologies and the redesign and adaptation of existing instruments to the user's specific needs.
37 parts - 2 layers34 × 28 mm

CurrentSink
plainsimpledot/currentSink
1st PCB project building a current sink with uController interface
42 parts
Questions
How big is the Synchro2 PCB?
It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Synchro2 use?
98 parts, built around the TM4C123GH6PMI, AS5050 AB, MCP2562-H/P and ELD207(TA). The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Synchro2 KiCad files?
From the waynegramlich/synchro_drive_motor_driver_pcb repository on GitHub, at the commit this page was made from: the board is rev_a/synchro2.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Synchro2 design in my own project?
Its repository states no licence, so its author keeps all rights: ask waynegramlich before reusing the design.