Firmware

Features

  • Field Oriented Control (wikipedia)
  • Field weakening to achieve higher than rated RPM
  • Energy recuperation
  • Sensored: AB incremental encoder (other sensors can also be adapted)
  • Sensorless
    • Full motor torque and closed loop from standstill
    • No audible High Frequency Injection, also at standstill
    • No vibrations or startup issues
    • Operational RPM down to zero
    • Position is updated at every PWM cycle in low- and highspeed position observer
    • Allows to implement position controllers for positioning applications like robotics, 3D printers, pendulum, production line, …
    • Allows implementing freely adjustable slip control and electronic handbrake (e.g. for vehicles)
    • exact torque control (e.g. for a precise screwdriver)
  • No motor overload due to motor current and torque control
  • Motor parameter detection: coil resistance, inductance (Ld, Lq, Ls) and flux linkage
  • Integrated FAN control to cool the motor controller
  • User application (serialmonitor) for setup and monitoring (USB to Serial adapter, Bluetooth)
  • Communication library for own control and monitoring applications for C, C++, Python, …
  • Parameter and configuration is stored within the processor flash
  • Scalable to all size of motors and power stages
  • Runs on STM32 microprocessor
  • Compatible to VESC- and VESC clone hardware

Control Modes

  • Torque (current) control
  • RPM control
  • Position control
    • is able to return to the origin or every other setpoint

Live data monitoring

  • Electrical and mechanical torque and RPM
  • DC current
  • Phase, direct and quadrature currents
  • Power in watts
  • Energy counter: used and recuperated energy
  • Knowledge about absolute position at every time, even after running for hours
  • Temperature of the PCB powerstage and external sensors, e.g. for motor temperature

Interfaces

  • RC typical servo pwm control input
  • UART, Bluetooth
  • AB incremental encoder
  • External temperature sensor input
  • Every other common interface like analog throttle input can be implemented easily

Advantages over common controllers

  • Natural sinusoidal current waves (instead of trapezoidal) lead to less heating of the (most) motors -> higher efficiency
  • Quieter motor operation
  • Better throttle response
  • Full torque from standstill without position sensors: no resolver, hallsensors or optical encoders
    • Less components save costs
    • Simpler wiring
    • Less sources of errors: no broken cables, loose connectors or misaligned sensors
    • Save space and use both axle sides
  • Realize servo or stepper motor application using inexpensive BLDC motors
  • Can be every type of controller: not ‘only for flying’ or ‘vehicle only’

Disadvantages over common controllers

  • Generally more expensive due
    • Faster processor like STM32F3 or STM32F4
    • In-phase current measurement circuity (at least if you want sensorless full torque at standstill)
  • More complex adaption to new motors, no out of the box operation (at the moment)

Demonstration


In progress

  • USB support (coming very soon)
  • Advanced motor parameter detection to simplify adaption to new motors
  • Synchronize multiple motor controllers, master and slave possibility
  • Live motor temperature calculation without using temperature sensors
  • Eliminate the requirement of more expensive in-phase current measurement to allow sensorless full torque at standstill also with inexpensive two low-side shunt current measurement
  • Optimize firmware to allow running on slower and inexpensive processors

7 Kommentare:

  1. How do I contact you? It will be really helpful if you can either sell the controller or even make it opensource.

    AntwortenLöschen
  2. How can i get this firmware. Br

    AntwortenLöschen
  3. Very cool! Do you have any information how to do the sensorless position extimation?

    AntwortenLöschen
  4. Really nice !! would be lovely to see the firmware to see how you've done it.

    I was wondering if you think this might work with a coreless/slotless BLDC at all ?

    AntwortenLöschen
  5. Is your code available on github?

    AntwortenLöschen
  6. Hey Andreas.

    Immaculate work! I would very much like you to get in touch with me for future cooperation.
    Hope you can share your contact with me on this email: AndreasToJoosepContact@gmail.com

    With best regards from Estonia

    Joosep

    AntwortenLöschen