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
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
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