Commit 827b885a authored by Jake Read's avatar Jake Read
Browse files

add endpoint image

parent bce9d4ec
......@@ -16,6 +16,19 @@ It uses a Distributed Dataflow Programming paradigm: hardware and software objec
- [SmallGantries](https://gitlab.cba.mit.edu/jakeread/smallgantries)
- [ClayStacker](https://gitlab.cba.mit.edu/jakeread/claystack)
# The Endpoints
![endpoints](images/endpoints.jpg)
Endpoints are designed to be very simple: they receive minimum viable commands and keep minimal state required for operation. This way, system complexity can be organized in the particular application, not distributed throughout the system. For example, steppers receive very simple trapezoid motion segements to execute, and don't do much math except for counting steps.
- [ATKRouter](https://gitlab.cba.mit.edu/jakeread/atkrouter)
- [ATKStepper17](https://gitlab.cba.mit.edu/jakeread/atkstepper17)
- [ATKStepper23](https://gitlab.cba.mit.edu/jakeread/atkstepper23)
- [ATKBreadBoardBoard](https://gitlab.cba.mit.edu/jakeread/atkbreadboardboard)
- [ATKBLDCDriver](https://gitlab.cba.mit.edu/jakeread/atkbldcdriver)
# The Network
To make individual motors and sensors modular, AutomataKit endpoints use a port-forwarding, source-routed network. This is *not a bus* and can be connected in a complete graph. All connections are full-duplex and include support for hardware clock synchronization.
......@@ -36,16 +49,6 @@ Bytes between the Length Byte and the *Packet Header End Delimiter* define the r
![packet typ](/images/apa-networking-diagrams-traversal.png)
# The Endpoints
Endpoints are designed to be very simple: they receive minimum viable commands and keep minimal state required for operation. This way, system complexity can be organized in the particular application, not distributed throughout the system. For example, steppers receive very simple trapezoid motion segements to execute, and don't do much math except for counting steps.
- [ATKRouter](https://gitlab.cba.mit.edu/jakeread/atkrouter)
- [ATKStepper17](https://gitlab.cba.mit.edu/jakeread/atkstepper17)
- [ATKStepper23](https://gitlab.cba.mit.edu/jakeread/atkstepper23)
- [ATKBreadBoardBoard](https://gitlab.cba.mit.edu/jakeread/atkbreadboardboard)
- [ATKBLDCDriver](https://gitlab.cba.mit.edu/jakeread/atkbldcdriver)
# The Firmware
So far, the endpoints all have xmega microcontrollers at their heart. In particular, the ```XMEGA256A3U``` : the biggest, baddest xmega. We clock it at 48MHz. That said, this isn't a requirement - any microcontroller with a UART port can play.
......@@ -114,6 +117,7 @@ Along with this note, there's more detailed explanation in the link above.
# Development Notes
- find a new buck converter, and add tvs diode to N23 boards
- make this as a circuit block, and find also a nice big ceramic 6v capacitor for ~ 100uF or something
- do big value bleed resistor on capacitor board
\ No newline at end of file
- the push now is to find backpressure in the network, and go for a four wire
- also / in that case, a router board with dma access (x usb on each chip) and maybe a rethink of the headboard / daughter lookout ... face-to-face so that single sided PNP is possible (usb on same side ... nice to port-in wherever) ... port on the 'other side' then ? or also on same side and SMD ?
- do big value bleed resistor on capacitor board
- do an ODB / CP2102n link
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment