Software tasks

A project log for 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

Paul GouldPaul Gould 04/30/2019 at 16:440 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