DRONE SWARM (vErsion 3):

This design revision was started to fix the problems found in experiment 1. The main problem was that the entire version 2 drone ran on 3.3V, while experiment 1 showed that the motor driving circuitry was very erratic and would often not respond at all to 3.3V signals. The simplest solution to this problem would be to use an auxiliary level shifting IC with some supporting circuitry placed in between the output of the control board and the input of the motor driver board. This would convert the signals to 5V and the drone would work. Instead of taking this solution, I used the results of experiment 1 as an opportunity to redesign the control board and generally improve its usability. Some changes were also made to the radio board in this version.

Improvements in RADIO Board V3:

Since I was going to change the connector and cable that linked both boards, I decided to make some improvements to this board as well.

  • Added support for an XBEE wireless module

    • This module is much more sophisticated than the NRF24L01+ radio module used on the previous version. V2 could only have one transmitter with multiple receivers listening on its frequency, whereas these modules have advanced features such as mesh networking. Now each radio acts as a receiver and transmitter, and signals are relayed across the “mesh” of radios formed by the drone swarm. This drastically improves signal quality and range.

    • There are still mounting points for the NRF21L01+ radios, and I designed the circuit so that an XBEE module can be installed and controlled over the same pins while the other radio is disconnected. (Only one radio can be controlled at a time)

  • Increased the size of the board

    • Although this increases weight slightly, it provides a larger “ground plane” around the GPS antenna, which results in better accuracy.

  • Almost no traces on top side of the board

    • This has the same benefits as the previous point. No traces on the top side of the PCB means that there is a larger “ground plane” and there are no noisy signals on the top side to interfere with the GPS reading.

Interactive 3D Model (Left click to rotate, right click to pan, scroll to zoom)

Improvements in Control Board V3:

  • The lower level controller has been swapped out from a 3.3V STM32F042F6P6 to a 5V atmega32u4. Advantages:

    • The new microcontroller has a built-in USB interface, meaning I can add a USB port to the board and program it by plugging it directly into my laptop with a simple cable rather than an awkward dongle

    • The USB port can be used to send info back to the computer while the drone is plugged in, meaning I am able to do things like view the speed of each motor and position/orientation live. This will make it much easier for me to calibrate the sensors and test and debug the drone.

    • The USB port can power everything on the drone except for the motors, so some testing and calibration can be done while tethered to the computer without a battery.

    • It can be programmed using the same Arduino software that I am very familiar with, as opposed to the Arm development toolchain

  • The higher level controller also supports USB but it didn’t utilize it in the previous version to save space and simplify the circuit. Now I will use USB to program both controllers (2 separate USB ports). This has the same advantages mentioned above.

  • A smaller connector was used to interface with the radio board, as well as a shorter cable, saving weight and board area

  • The PCB was made thinner so there would be clearance for the radio module to solve the issue discovered in testing version 2 (under Test Fit Results)

Interactive 3D Model (Left click to rotate, right click to pan, scroll to zoom)

Schematic:

Board Layout (Control Board):