Skip to content

Main controller board for the T07 robot platform and similar robots with a Raspberry Pi Pico to connect via CAN using OpenCyphal and UCANPHY Micro

License

Notifications You must be signed in to change notification settings

generationmake/CyphalRobotController07-CAN

Repository files navigation

CyphalRobotController07/CAN

Main controller board for the T07 robot platform and similar robots with a Raspberry Pi Pico to connect via CAN using OpenCyphal and UCANPHY Micro

CyphalRobotController07/CAN rendering

features

  • power supply for the whole system
    • 5 V for the cyphal network and embedded board (Raspberry Pi or Beagle Bone Black)
    • switchable output of battery voltage to supply additional hardware
    • switchable output of battery voltage to supply LED or head lamp
    • Input voltage up to 25 V
    • Blade type fuse (ATO fuse)
    • Power Pole connector
    • measurement of input voltage and current with TI INA226
  • control 2 DC motors
    • 2 quad encoders for motors
    • emergency stop
    • Infineon IFX007T drivers, up to 40V and 55A
  • 3 ultra sonic sensors HC-SR04 (not implemented yet)
  • I2C bus
    • qwiic connector
    • 9 axis IMU Bosch BNO055 via I2C
    • back-EMF measurement with ADS1015
    • EEPROM 24LC64
  • serial port for optional GNSS
  • Neopixel for status
  • CAN with Cyphal support

Firmware

Pin Usage

Raspberry Pi Pico (CN1)

Pin Pin Name Signal Direction Description
1 GP0 UART0_TX output reserved for future use (GNSS)
2 GP1 UART0_RX input reserved for future use (GNSS)
3 GND GND GND
4 GP2 QUAD0 input Quad encoder A channel 0
5 GP3 QUAD1 input Quad encoder A channel 1
6 GP4 I2C0_SDA bidir for eeprom and qwiic connector
7 GP5 I2C0_SCL output for eeprom and qwiic connector
8 GND GND GND
9 GP6 PWM4 output motor pwm output 4
10 GP7 PWM3 output motor pwm output 3
11 GP8 PWM2 output motor pwm output 2
12 GP9 PWM1 output motor pwm output 1
13 GND GND GND
14 GP10 INH34 output motor inhibit output 3 and 4
15 GP11 INH12 output motor inhibit output 1 and 2
16 GP12 EM_STOP input emergency stop
17 GP13 NEOPIXEL output Neopixel
18 GND GND GND
19 GP14 QUAD2 input Quad encoder B channel 0
20 GP15 QUAD3 input Quad encoder B channel 1
21 GP16 SPI_MISO input SPI for MCP2515
22 GP17 MCP2515_CS output SPI for MCP2515
23 GND GND GND
24 GP18 SPI_CLK output SPI for MCP2515
25 GP19 SPI_MOSI output SPI for MCP2515
26 GP20 MCP2515_INT input interrupt for MCP2515
27 GP21 OUTPUT0 output power output 0
28 GND GND GND
29 GP22 OUTPUT1 output power output 1
30 RUN RESET input Reset for Board
31 GP26 ANALOG_INPUT0 analog input analog input 0
32 GP27 ANALOG_INPUT1 analog input analog input 1
33 GND GND GND
34 GP28 ANALOG_INPUT2 analog input analog input 2
35 ADC_VREF analog
36 3V3 (OUT) 3V3-rail power supply voltage for board
37 3V3_EN input
38 GND GND GND
39 VSYS power
40 VBUS 5V-rail power supply voltage for board

I2C devices

address device description
0x40 INA226 voltage and current measurement
0x48 ADS1015 motor measurement
0x4A BNO055 IMU
0x50 24LC64 eeprom for storage of settings

PCB

Top

CyphalRobotController07/CAN PCB top

Bottom

CyphalRobotController07/CAN PCB bot

About

Main controller board for the T07 robot platform and similar robots with a Raspberry Pi Pico to connect via CAN using OpenCyphal and UCANPHY Micro

Resources

License

Stars

Watchers

Forks

Packages

No packages published