Skip to content

Shane-Wood-TL/CAN_Servo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Can Servo

An upgrade to 55g servo motors to make them more usable

This is still a work in progress, check out the wiki for more detailed information.

This upgrade consists of removing the original mainboard + potentiomenter and upgrading them with the following features:

Features

  • Temperature and current sensing
  • Magnetic encoder for positioning
  • Control over CAN (TWAI) bus
  • Daisy chainable motors
  • Onboard ESP32-C6, running FreeRTOS (ESP-IDF)
  • Setable CAN ID
  • Able to communicate sensor information back to other CAN nodes
  • Setting RGB color
  • Position Control
  • PID
  • Variable motor speed
  • Limiting Current / Temperature
  • Using RGB for status
  • PID parameters over CAN
  • Motor Sleep
  • "All respond" node id
  • Reboot Command
  • Add RXSDO and TXSDO for getting and setting values without a specified command
  • Add MCU temperature TXSDO
  • Add MCU MAC address TXSDO
  • Basic Velocity Control

Planned Features

  • Proper Velocity Control (Change Velocity to RPM, rather than just "speed")
  • Node ID set in NVS rather than in code
    - Use a combination of MAC Address and receive all NODE ID
    - MAC address is polled using TXSDO, node id is sent back from controller
    - Node ID is saved to NVS

Additional Work:

  • Upload CAD
  • Upload (and Update) PCB
  • Upload (and Update) Schematic
  • PDF Build Guide

PCB BOM

1 x ESP32-C6-Zero (Waveshare)
1 x MP6550 Driver Carrier (Pololu)
1 x 10K resistor
1 x TJA1050, CAN Transceiver
1 x "Mini 360" Buck converter, MP2307
2 x 4p f 2.54 JST
1 x 6p f 2.54 JST

About

Upgrade for 55G servo motors

Resources

License

Stars

Watchers

Forks

Contributors