Introduction

OpenGrab CAN daughterboard (OGCAN) provides CAN interface for OpenGrab EPM. Implemented CAN protocol is UAVCAN. Hardware part of this interface follows the UAVCAN convention[1] (see "Hardware Interconnection"). Generally, OGCAN is the first commercially available piece of hardware that follows the UAVCAN RFC.

OGCAN is an open source/open hardware device. Firmware sources and schematics can be found on the github page: https://github.com/pavel-kirienko/opengrab_can. Build and Flash instructions are also provided.

Hardware Components

OGCAN has one physical CAN 2.0 interface (ISO 11898-2, 1 Mbps) with two connectors JST-PA (4 pin). One extra CAN connector allows to connect multiple nodes into a bus without need to use intermediate T-connectors. Both connectors also provide the power supply for the board.

CAN connectors pinout:

Pin

Wire - twisted pair

Function

1

pair 1 tip (white/blue)

+5 VDC

2

pair 1 ring (blue)

GND

3

pair 2 ring (orange)

CAN H

4

pair 2 tip (white/orange)

CAN L

If the device is last node on the CAN bus, the jumper near the CAN connectors can be closed to terminate the bus with 120 Ohm resistor (see the picture above).

UART connector should be used to configure the device via CLI. Currently, UART is the only interface that allows to configure the device (later the device will support reconfiguration via UAVCAN as well). UART parameters - 115200-8-N-1. Note that CLI will not be available unless the RX pin was pulled up at startup (for safety reasons); that means that the UART cable must be connected before power-up.

Connecting to EPM

Command Line Interface

magnet

Manual control of the EPM control output.

Command

Function

magnet

Read the magnet state feedback

magnet 1

Turn the EPM on

magnet 0

Turn the EPM off

UAVCAN Interface

Supported standard data structures (data structs that are mandatory for any UAVCAN node are not listed):

OGCAN publishes state of the EPM once a second using uavcan.equipment.hardpoint.Status.

EPM can be controlled using uavcan.equipment.hardpoint.Command.

Default config:

Characteristics

Parameter

Min

Nom

Max

Unit

Supply voltage

4.5

5.0

5.5

V

Supply current (EPM excluded)

10

30

80

mA

CAN maximum bit rate

1

Mbit/s

CAN positive-going input threshold voltage

750

900

mV

CAN negative-going input threshold voltage

500

650

mV

CAN differential output voltage, dominant

1.5

2.0

3.0

V

CAN differential output voltage, recessive

-120

0

12

mV

UART low level input voltage

-0.3

0

1.6

V

UART high level input voltage

2.1

3.3

5.5

V

UART low level output voltage

0

0

0.5

V

UART high level output voltage

2.8

3.3

3.4

V

Free air temperature

-40

80

deg C


[1] Connectors are scheduled to be changed to UAVCAN-compliant in the mass production release