CAN Shield

El CAN Shield proporciona a la OpenMV Cam un enlace de bus CAN mediante un conector DB9, con un regulador de 12 V a 5 V en placa para que el shield pueda alimentar la cámara desde un bus de vehículo.

CAN Shield

Para ver la hoja de datos completa, fotos e información de compra, consulta la página de producto del CAN Shield.

Nota

No compatible con la OpenMV Cam RT1062.

Aspectos destacados

  • Bus CAN de hasta 1 Mb/s

  • Regulador de 12 V a 5 V en placa

Distribución de pines

Distribución de pines del CAN Shield

Referencia de pines

Pin

Función

P2

CAN TX

P3

CAN RX

P6

Modo de espera CAN (opcional — ver nota)

PWR in

Entrada de 12 V del bus del vehículo en el conector DB9

VIN out

Salida del regulador de 5 V (alimenta la cámara)

Riel de 3,3 V

Alimenta la lógica del SN65HVD230

Riel GND

Tierra común

Nota

La línea de espera del SN65HVD230 está desconectada de P6 por defecto. Conecta el puente de soldadura de la placa para unirla a P6, y luego pon P6 en alto para poner el transceptor en modo de espera de solo escucha (en bajo lo mantiene en modo normal de transmisión y recepción).

Nota

CANL, CANH, VIN y GND del conector DB9 también se exponen en almohadillas de orificio pasante en la parte inferior del shield — suelda cables ahí si quieres prescindir por completo del DB9.

Nota

La distribución de pines del DB9 puede cambiarse entre la disposición estándar DB9 CAN y la disposición OBD-II modificando los tres puentes de soldadura de la parte inferior del shield.

Nota

La resistencia de terminación de 120 ohmios en placa está conectada por defecto. Puede desactivarse mediante un puente de soldadura en la parte inferior del shield para buses que ya tengan terminación en otro lugar.

Uso

Nota

El número de periférico CAN(1) que aparece a continuación sigue el mapeo STM32. En otro procesador, el bus conectado a estos pines puede ser diferente — consulta la referencia de tu placa.

Envía y recibe fotogramas en el bus CAN a 1 Mb/s:

from machine import CAN
import time

can = CAN(2, 1_000_000)
can.set_filters(None)

can.send(0x123, b"\xDE\xAD\xBE\xEF")
print(can.recv())

Con el puente de soldadura de la placa conectado, pon P6 en alto para poner el SN65HVD230 en modo de espera de solo escucha (en bajo vuelve al modo normal de transmisión y recepción):

from machine import Pin
Pin("P6", Pin.OUT).value(1)  # listen-only standby