Skip to content

Raspberry Pi General Purpose Robot Hat

Stefan deBruyn edited this page Apr 14, 2019 · 10 revisions

Wish List

  • Battery Protection
  • Battery level sensing
  • Servo control with easing, or control which does not rely on Arduino timer interrupts (which cause twitching)
  • 2x DRV8835 drivers, or a drop-in interface for different drivers (or stepper drivers)
  • PID and quadrature friendly (big task for 4+ motors)
  • Motor current limiting
  • IMU
  • 2x quadrature odometry wheels

Architecture

Data

Raspberry Pi
|
|--<UART>--Atmega2560
|          |--<2xPWM>--Motor controllers
|          |--<4x interrupt>---Encoders (A XOR B, A for each channel)
|          |--<GPIO>--GPIO Headers
|          |--<ADC>--Battery Voltage Sensing
|          |--<ADC>--Battery Current Sensing
|
|--<GPIO>--GPIO Headers
|
|--<GPIO>--Onboard Buttons, Switches

Power

Battery Bus
 ||
 ++----/2----+                      
 ||          |
[VREG]       | voltage sense, current sense
 ||          |
 ++---Atmega2560P---+
 ||                 |
 ++---Raspbery Pi   |
 ||       |         |
 ||       |         |
[ESTOP]---+---------+ estop sense
 ||
 ++===Motor bus
 ||
 ++===External power bus

BOM

Cost/Per QTY Item
$4.32 1 ATMEGA2560

Rejected Ideas

Raspberry Pi
|
|--<SPI>--Atmega328p
|          |--<2xPWM>--Motor controllers
|          |--<2x interrupt, 2x GPIO>---Encoders (A XOR B, A for each channel)
|          |--<GPIO>--GPIO Headers
|          |--<ADC>--Battery Voltage Sensing
|
|--<I2C>--PCA9685
|          |--<16xPWM>--16x Servo Headers
|
|--<GPIO>--GPIO Headers
|
|--<GPIO>--Onboard Buttons, Switches

BOM

  • Atmega328p
  • 2x XOR gate - 74LVC1G86
  • PCA9685 Servo Driver
  • Voltage Regulator
  • DRV8835?

Clone this wiki locally