Wednesday, July 23, 2014

The board

There were several design requirements that I tried to implement while going from board Version 2 to Version 3, which we are discussing here:
  • Standardize size.
When I was working on Version 2 board, I was not aware about specific size limitations – there was no standardized quad frames available, so I picked some size for the board rather randomly. With the Version 3 I decided to make the board compatible with the broad range of available frames by matching the size and mounting holes of the KK and MultiWii flight controllers.
  • Add more and upgrade existing on-board sensors.
Added MPL3115A barometric altimeter and replaced HMC-5883 magnetometer with the next generation HMC-5983.
  • Increase number of PWM outputs (from 4 to 8)
With the idea to control quad-, hexa-, or octa-copter and/or provide feed for camera orientation control.
  • Provide better vibration rejection.
Insulating mounting like rubber bumpers, vibration tape, etc. are traditional mechanism to eliminate vibration effect on the board. In this design, I am attempting to address vibration (the high-frequency one) by using two MPU-6050 sensors positioned at 45 degrees to each other and +/- 22.5 degrees to the axis of the board. I also expect to have more precise estimate of the vertical acceleration to be able to provide independent estimate for altitude.
  • Provide GPS port.
MOLEX PicoBlade 1.25 pitch 4-pin connector provided on board to connect GPS; connector provides ground, +3.3V, TX, and RX lines.

  • Provide US-100 port.

JST ZH 1.5 pitch 4-pin connector provided on board for US-100 ultrasonic range sensor; connector provides ground, +3.3V, TX, and RX lines.

  • Serial port for RC receiver.

With this board I plan to use either UART-enabled receiver or a satellite receiver as my primary. I did some analysis of this configuration and posted my findings in a blog post at http://diydrones.com.

  • DIP Switch.

4-channel half-pitch SMT switch to control some of the flight controller configuration parameters.

Putting all of these requirements together, I came up with the following board design:

The board is a 4-layer one with internal layers used only for Ground and power; all routing is done in the top and bottom layers. The board provides taps to connect logic analyzer to each of the 2 I2C buses for debugging and testing. Respective interrupt lines (from sensors) are also routed to these taps.

Eagle project files for this board and schematic printout are provided in my repository at Google Code.

Now we can power up the board and perform initial configuration, which will be the topic of the next post.

No comments:

Post a Comment