Limbi/Spring/2019

Limbi 2019: Circuit and PCB Progression

Author: Noah Roth

  1. The Iterative Design Process:
  2. Errors Encountered and Advice:

Introduction

The Limbi project required the design and implementation of a PCB board or boards of which the primary function would be to facilitate wireless user control via a Bluetooth connection, in addition to serving as a shield for an Arduino Nano MCU that would control the servos on the limbs while also providing power.

The Iterative Design Process

Since the power to the arm would be provided by the detachable modules at either end of the limb it was initially decided to have a PCB inside the modules as well that would serve as a way to regulate the voltage output from the 7.4V LiPo battery being utilized to 6V which was the rated voltage for our servos to operate. While the initial breadboard version (seen below) simply utilized power straight from the batteries, with diodes to prevent one battery from charging the other, was functional, it was not an ideal setup as the voltage supplied was out of the rated range of the servos.

Initial Breadboard FritzingFigure 1. Initial Breadboard Layout

We decided on using LDOs or Low Dropout Voltage Regulators as they would provide the voltage level desired without significant dropout voltage that would typically be found in a linear voltage regulator. The output of the LDO would be complimented with a capacitor in parallel to help reduce any fluctuation at the output. Finally, a diode rated for 2A of current draw would prevent any opposing current in the case of having multiple batteries supplying power from both ends of the limb. In addition to the 6V line a 3.3V line was also to be provided as a power source to the HM11 BLE module that would be on the board. This preliminary design along with the board layout can be seen below:

Battery Board SchematicFigure 2. Initial Battery Board Schematic

Battery BoardFigure 3. Initial Battery Board Layout

As can be seen on the schematic, the input would consist of a 2 port JST connector to which the battery would be connected. At the output we would have 3 pins that would provide connection to the 6V line, 3.3V line, and ground.

Ultimately this circuit and board were scrapped in favor of a simpler solution involving a single buck converter on the limb that would serve to regulate the voltage supplied to the servos, while having the battery directly power the MCU, and having the MCU power the HM-11 BLE with its 3.3V supply line. This was acceptable because the current draw from the HM-11 module (15mA) was well within the capability of the MCU to provide.

The buck converter was fairly simple to implement as they can be purchased very cheaply and easy to operate. Simply put, a DC-DC buck down converter works as a switched-mode power supply that converts power efficiently by switching at different rates. This is adjustable by the user via an external screw operated potentiometer that varies the output level.

BuckFigure 4. Buck Converter

Drawing our focus back towards the shield, the initial version was fairly straightforward in that the main purpose it served was to provide simple communication between the Nano and the HM-11 and to direct the digital control and power lines to either end of the board towards their respective servos. Due to the fact that the MCU operated on a 5V logic level and the HM-11 a 3.3V logic level, simple voltage dividers were used to account for this. However, while functional, this is not an ideal solution and was scrapped in later versions. One major error that was made was that the transmit (Tx) and receive (Rx) lines were connected to their mirrored versions between the MCU and Bluetooth module, and incorrect but easy mistake to make. This initial version of the circuit and board can be seen below:

Initial Schematic Shield

Figure 5. Initial Shield Schematic

Initial Shield BoardFigure 6. Initial Shield Board Layout

As can be seen on the PCB layout above it is generally symmetrically and has 5 pins on either end of the board which would face the limbs in that direction. Each side has a 6V power line, a ground, and 3 digital control pins that would control the servos using PWM, 2 for the limb servos, and 1 for the docking servo. In this version of the board traces on both sides of the board went in the same direction which is in generally a bad practice as it creates insurmountable barriers for other traces as things become more complex. The practice of generally keeping the top and bottom layers in opposing directions was followed in later versions of the board it became more necessary due to increasing complexity. It is also worth noting that the power supply traces are much thicker than the logical control lines, this is because they will be suppling a much larger current. A general rule of thumb is that for every 500mA of current, a minimum of 10mil trace width should be provided. In our case we used a trace width of 50mil which was capable of handling the current necessary to power multiple servos.

The final version of this circuit and board implemented a circuit to provide control for a locking solenoid that utilized a MOSFET as a switch, as well as utilized logic level shifting ICs to translate properly between the MCU and Bluetooth module. Polyfuses were also implemented as a safety precaution in the event of a short circuit error, due to the risk of LiPo batteries. The final circuit and board can be seen below, a detailed description of the final version and its operation can be seen in the final blog post.

Final Schematic

Figure 7. Final Shield Schematic

Final BoardFigure 8. Final Shield Board Layout

Errors Encountered and Advice

The iterative design process of this circuit and PCB involved many errors being discovered and improvements to be made. Below is a list of some of the bigger things and advice to consider/take into account that we came to appreciate over this course.

  1. Set a grid size in EagleCAD and NEVER change it.
  2. Follow the convention of having the top and bottom layer traces flow in opposing directions.
  3. Be sure to utilize a silkscreen to make using the board easier, i.e. label connections.
  4. If utilizing a wireless module, do not wire Tx to Tx, Rx to Rx, they should flow to the opposite on either end.
  5. Double check the packaging for SMD devices, 0603 can come in the standard form, as well as a metric form. The metric form is incredibly small, in fact it may be fun to order them to appreciate how small they truly are. Just be sure to get the correct size as well.