Close
0%
0%

Arduino Brushless Actuator FOC Controller

Ardunio M0/Zero/SAMD21 running Actuator FOC OS paired with FET Driver, MOSFETs, Absolute Magnetic Encoder, USB and RS485 comms. ~$US50

Public Chat
Similar projects worth following
Ardunio M0/Zero/SAMD21 (32bit) running Actuator Operating System paired with Brushless FET Driver, MOSFETs, Absolute Magnetic Encoder, EEPROM, dual voltage regulators, temperature, USB and RS485. 30V @ 30A ~$US50

Ardunio M0/Zero/SAMD21 running Actuator Operating System paired with Brushless FET Driver, MOSFETs, Absolute Magnetic Encoder, EEPROM, dual voltage regulators, temperature, USB and RS485. 30V @ 30A ~$US50

Uses

  • Brushless Motor Robotic Joints (with SEA)
  • Brushless Motor CNC axis controllers (closed loop)
  • Electric Skateboards motors

42mm square and 50mm round

Ardunio Actuator Operating System

  • Standard Ardunio Boot code (Reset x2 to enable)
  • Foreground 10kHz motor control task update rate
    • Field Oriented Controller (FOC)
    • SPI with DMA operation for on board Absolute Magnetic Encoder (motor position)
    • Optional Hall effect (motor position)
    • SPI with DMA operation for external Absolute Magnetic Encoder (1 or 2 daisy chain)
    • 6 phase centre aligned PWM motor control (registers/no libraries)
    • 7x ADC free running Sequential operation (no delay)
      • 3 Phase Motor Current Measurement
      • Mosfet Temperature
      • Battery Voltage
      • External Pot/Motor Temp
    • PID joint controller
  • low level interrupt foreground tasks
    • RS485/USB/UART communications
      • UART with DMA transfer
    • optional Step/Direction
  • Background Tasks
    • OLED I2C (standard Arduino Libraries)
    • Mosfet Driver configuration
    • EEPROM (standard Arduino Libraries)
    • User Functions

2- 8 Cell LiPo

  • 5V SM regulator
  • 3V3 Linear regulator from either LiPo or USB

6x 0.9mOhms 40V N-channel MOSFETS (

3x 1mOhms Sense Resistors with Kelvin Connections

3 Current Shunt Amplifiers

External connections for 

  • USB programming, configuration and control
  • Connectors for RS485 for daisy chain operation
  • Header for UART
  • I2C (OLED display)
  • Connectors for additional Absolute Magnetic Encoders (SPI) in Single or daisy chain configuration
  • Connector for Hall effect sensors
  • HV Servo or Fan Controller
  • Analog/Digital input for potentiometer, motor temperature or Limit Switch
  • Connector for an Isolated USB board for communications in high noise environments.

Population Options

  • External 24MHz Oscillator
  • Extra Power supply Caps
  • Extra Current Shunt smoothing caps
  • Remove RS485 and use TTL UART
  • MOSFET Heatsink and fan
  • 50V MOSFETS 2mOhms

x-zip-compressed - 3.32 MB - 04/28/2019 at 15:39

Download

Adobe Portable Document Format - 1.01 MB - 04/28/2019 at 15:39

Preview
Download

  • Software tasks

    Paul Gould04/30/2019 at 16:44 0 comments

    Low Level SAMD21 / Arduino functions with no libraries*

    1. Main OS timer - 100us (10KHz) IRQ                                                 (done)
    2. 3-Phase Motor Controller PWM with deadband                            (done)
      • (6-centre aligned pwms)                                                           (pin remapping required)
    3. ADC- 7 channels sequential, semi-free-running DMA (no IRQ)     (done)
      • 3x Current Sensor
      • MOSFET Temperature Sensor
      • Battery Voltage
      • 2x Auxillary Analog Inputs
    4. SPI with DMA and IRQ                                                                     (done) (pin remapping required)
    5. UART with IRQ (TX & RX)                                                                 (done) (pin remapping required)
    6. UART with DMA                                                                               (attempted fail)
    7. EEPROM Emulation (Flash storage)                                                 (attempted & fail)
    8. External I2C EEPROM support (maybe Libraries)
    9. I2C OLED support (with Libraries)                                                (done)
    10. Making all the Low level features work together

    High Level Functions

    1. Field Orientated Control (FOC) & Motor Commutation              (To be ported from PSOC4)
    2. PID Joint Control                                                                        (Partly done on PSOC4)
    3. RS485 Packet Structure
    4. MOSFET Driver configuration                                                     (To be ported from PSOC4)
    5. Motor Position and other configuration

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates