BLDC Gate Driver Breakout

Motor Controller Scope:

  • Main purpose(s) of the board:

    • Make an ODrive that is tailored towards our rover (BLDC controller using a 3 phase H-bridge controller for each motor)

    • Communicate with the rover using CAN

    • Provide encoder support and additional GPIO support

  • Criteria & constraints of the board:

    • CAN support

    • 1 or 2 motors/encoders per board:

      • With 1 motor per board, power distribution is easier, control lines are more isolated and easier to handle, layout in general is much simpler, more freedom with wiring and mounting in-house assembly would likely be less difficult and more forgiving, especially since this is mainly a prototype board

        • This would use a lot of MCUs, not good

      • 2 motors per board: Less expensive, more efficient use of microcontrollers and any power architecture

        • Would probably be best to start here for the first revision, only populate one side during initial prototype testing

        • 45 degree orientation for MCU is a must

      • This number may change based on the results of the first prototype revision

    • Encoder support: Requires discussion with firmware and mechanical to determine what are the most likely protocols used with the encoders

      • Having just CAN support would be easier & cheaper but causes delay with correction from encoders

      • Providing support for all the protocols of the MCU used (i.e. I2C, SPI, UART, PWM, Quadrature, etc.) would probably be best and cover the widest range of encoders

    • Need to determine electrical specs needed: Voltage rating, current rating, PWM switching speed for H-bridge

      • Power architecture of controller needs to be determined - most likely will supply both motor power (48V) and encoder/logic power (5V) from PDB, onboard voltage conversion to 5V and low current would probably be too inefficient

        • PWM switching speed, max current/power consumption is the most important to determine, would simply require speccing for the biggest motor used - this will determine the MOSFET selection

          • 48V (Battery Voltage)

          • 15A continuous | 40A peak (RMS)

          • 24 kHz PWM frequency

      • Current sensing is important

    • Other GPIOs

      • Coordinate with mechanical and firmware to determine how many would be needed for hall effect sensors, limit switches, etc.

    • Might want to do some MOSFET tuning/testing to practice before

      • For example, select a motor driver and a MOSFET, practice driving one phase and look at rigging on gate, peak current, tuning gate resistor and RC snubber, making sure the gate driver isn’t killed, general stability

      • Could be done on a proto board, very small & simple setup

      • Could design the board and only populate MOSFET/motor driver to tune and test with before purchasing the rest of the parts and quantities - not recommended, restricts package choices and requires layout rework if testing fails

  • Who is involved with this board?

    • Electrical:

      • Farris Matar @Farris Matar - Electrical Team Lead, Power Distribution Board designer

      • Jason Gao @Jason Gao - BLDC board designer

    • Mechanical: Mechanical team lead, representative for the arm, drivetrain, science, and gimbal mechanisms (and any other mechanisms that may use a BLDC motor)

    • Firmware: Firmware team lead, other firmware members??