Pathfinder Chassis Spring 2019

PCB Final Design

Author: Christopher Fingers (Design and Manufacturing)
Approval: Alexandrea Jackson (Project Manager)

Table of Contents

Introduction

Generation 7’s PCB design is built off of generation 6’s design, but with changes and corrections to the overall PCB.  The original PCBs that Generation 6 fabricated are located under the Final Blog Post and a more detailed description under Generation 6’s  Chassis PCB  blog post. This involved fixing connection issues with the two seperate PCBS shown below and improving the trace layout of the two PCB designs.

PCB Design Changes

The motor hub connects 3 Pololu dual motor drivers with the M2CS pin on top and the GND pin on the bottom.  The bottom 2×19 row of pins are used to directly connect into the main PCB that connects on top of an arduino mega 2560. There is a bottom gnd plane and a top 5V plane that is applied to the layers of the board.  Polygon blocks were used to establish a crisper connection between the ground planes.

The main PCB is what sets all of the connections between the motor hubs, pan and tilt, bluetooth, fan, front panel, I2C, and the shaft encoders.  The layout of the PCB is taken from generation 6’s design, but with needed improvements.

Motor Hub PCB Design

Figure 1: MotorHub PCB Eagle


Figure 2: MotorHub PCB

A problem that was discovered while researching the current sensors of the Pololu Motor Drivers is that any pwm frequency that is below 5kHz is read incorrectly.  By adding a 1 µf capacitor in parallel with each other current sensors, a smoother signal is processed. This information was found on the Pololu motor driver website.

An issue from the previous semester was that the position of the motor driver pins was off.  This was fixed by moving the female header pins to the right by 5 mm.

There was a mistake in logic from the previous semester where the motor driver pin connections were the wrong way.  The motor driver had to be snapped into a card holder with the very top pin being that of current sensor 2 instead of gnd. This was fixed just by flipping the pin inputs.

Ground pours were added onto the PCB to establish a better connection between different ground ports.

A 5V plane was applied to the motor hub’s bottom plane.  This is to make connections smoother between other 5v connection pins.

Main PCB Design

Figure 3: Main PCB


Figure 4: Bottom Layer of PCB


Figure 5: Top Layer

The Arduino can handle up to 12V supplied directly to it, however problems can start arising with extended usage.  A LM2596S buck converter was used that was previously chosen and comments about the buck are made mention in Generation 5’s Custom Chassis PCB blog post. The layout for the buck converter was taken from the ideal layout listed on their datasheet, with the capacitors, diodes and inductor values found out by using Texas Instruments online custom circuit design tool.  Instead of using direct line connections for this layout, polygon blocks were used as per the online data sheet. 

The capacitors that were previously used were switched out.  The 47 uf capacitor and the 15 uf capacitor previously used, so the value was shifted to 4.7 uf and 1.5 uf.  This performs the same job as before and the overall size of the capacitors were reduced. This fixes the previous problem where the capacitors were making direct contact with the Arduino.

The wired connection between the bluetooth’s rx to pin to the Arduino’s tx pin required a voltage divider to make sure the correct amount of voltage, 3.3V, was being supplied to the wireless device.  Using voltage divider, a 20k ohm resistor and a 10k ohm resistor were used to step down the voltage to 3.3V. The resistance value could have been labeled as a 1k and 2k ohm, however this would have caused unnecessary power loss.  

Originally, generation 6 used current sensors that attached directly to the main PCB because of their load test, however with the addition of a 1 µf capacitor connected parallel to each of the current sensors on the motor hub this problem can be avoided.  All of the current sensors that were originally on the main pcb have been removed.

There were some minor fixes in terms of the layout for certain objects on the board.   The card holders for the dual motor drivers are placed in a way to allow for the motor drivers to snap into the motor hub PCB and moved back by 1 mm.  Also the JP4 and JP5 pins were too close to each other. JP4 was moved to the left by 100 mil.

Unused pins have been designated all around the pcb for future use and testing.  

There was a problem that we encountered while testing the motors when the servos were installed.  Two of the motors, whose PWM pin was set to the Arduino’s pin 44 and 45, would would not operate. When the servo.h command is included, Timer 5 is activated to control how the servo will function, however pins 44, 45, and 46 are tied to this timer.  When this happens the pins lose their PWM function ability and can only be used as digital input pins. This problem was fixed by just moving motor driver 3 two PWM pins to 5 and 6.

Recommended Future Design Implementations

Motor Hub PCB Design

The positioning for the pololu motor drivers was corrected horizontally, however the vertical position of the drivers need to be lowered by 1 mm for the card holders.

Main PCB Design

There is still a problem in terms of distance for the card holders, were it barely covers the male Arduino’s soldered pins.

Also the 3×4 and 3×3 front panel and the pan and tilt should be changed to 2×5 and 2×6. The purpose of this is so that a motor housing unit can be used to connect all the wires together, for easy removal. Originally, 3×4 and 3×3 wire housings were going to be used, however the part that was found was incorrectly labeled on the datasheet.

Better pin labeling and positioning for the shaft encoders should be considered to clean up the inside of the chassis to decrease the amount of wires that cross over.  The current sensor that is connected to A2 has a problem with the current Arduino 2560 we are using. If the same Arduino is used, then the current sensor needs to be changed to A6 instead. 

In order to save some time looking into parts we have included parts we already found on Mouser. These connector parts are for the 2×5 and 2×6 pins on the Main PCB.

Figure 6: Mouser Connectors

Conclusion

The combination of the motor hub and main PCB allows for a more compact pcb set up that avoids coming in contact with the differential gear installed in generation 5.  There are definite improvements that can be made, but the functionality of the two boards allows for a central hub with a sturdy connection.

References/Resources