2017-05-26 21:26:46 +02:00
|
|
|
+++
|
|
|
|
date = "2017-05-15T13:16:02+02:00"
|
|
|
|
title = "spdbt"
|
|
|
|
summary = "A fast indoor mousebot"
|
|
|
|
+++
|
|
|
|
<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](https://hobbyking.com/en_us/turnigy-500mah-3s-20c-lipo-pack.html))
|
|
|
|
* 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
|
|
|
|
|
|
|
|
Milestone | Week | Result
|
|
|
|
--------- | ---- | ------
|
|
|
|
M1 | W1 | All foos have bars barred
|
|
|
|
M2 | W3 | All bazs are frobbed
|
|
|
|
|
|
|
|
## Risks and mitigations
|
|
|
|
What are the risks, likelyhood, impact, and ways of handling them?
|
|
|
|
|
|
|
|
## Alternatives considered
|
|
|
|
Do nothing...
|
|
|
|
|
|
|
|
## Appendix
|
2017-05-26 21:42:39 +02:00
|
|
|
|
|
|
|
### 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
|
|
|
|
|
2017-06-27 22:10:27 +02:00
|
|
|
### Picon Zero pinout
|
2017-05-26 21:42:39 +02:00
|
|
|
|
|
|
|
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.
|
2017-06-27 22:10:27 +02:00
|
|
|
|
|
|
|
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
|