spdbt

michaelh@juju.net.nz 2017-05-15 https://juju.net.nz/michaelh/project/spdbt/

Overview

A fast indoor mousebot for playing with rover control and navigation.

Background

Context that led to this project.

Requirements

What the project must fufill.

Implementation

spdbt is made from parts I already have which are:

  • Raspberry Pi Zero W
  • Picon Zero I/O board
  • C270 USB camera
  • FIT0441 12 V 159 RPM motor
  • HC-450 3S LiPo (~30x55x18) with XT connectors (similar to this)
  • Pololu 5V regulator D24V22F5
  • ST7735 1.8" 160x128 LCD

Deliverables

The deliverables are:

  • OpenSCAD models for the mechanicals
  • Ansible rules for configuring the rover
  • Firmware for the rover
  • If needed, updated firmware for the Picon Zero
  • Photos showing the assembly

Milestones

Chunky steps along the way

MilestoneWeekResult
M1W1All foos have bars barred
M2W3All bazs are frobbed

Risks and mitigations

What are the risks, likelyhood, impact, and ways of handling them?

Alternatives considered

Do nothing…

Appendix

FIT0411 pinout

  • Blue (left most): PWM. Take to GND for full speed.
  • Black: GND / Supply negative
  • Yellow: Direction
  • Green: encoder output. ~680 Hz at full speed
  • Red (right most): 12V

Picon Zero pinout

Source: https://github.com/4tronix/PiconZero

Protocol: http://heeed.net/a-few-notes-on-i2c/

TODO(michaelh): uses software PWM using a delay(). Check the accuracy especially during transfers.

Pins are {6, 7, 8, 11}, {9, 10, 2, 3, 4, 5}. Good news with software PWM is any pin can do any function.

On the Arduino, 3, 5, 6, 9, 10, and 11 can be hardware PWM. So 3, 5, 9, and 10 are available on the servo headers. 4, 5 are T0 and T1 to the counter unit so keep these free.

D24V22F5 pinout

Corner of board:

  • PG (power good)
  • EN (enable, enabled by default)
  • VIN
  • GND
  • VOUT
Avatar
Michael Hope
Software Engineer