aura optik aureka motor driver (B.Eng.)
In my bachelor thesis, I dealt with the motor driver for the micromanipulator aureka from the company aura optik. aureka is driven on each spatial axis by a brushless DC motor, which is equipped with a rotary encoder and its own microcontroller.
The electronics are also supplied by Contronix GmbH. aureka and all associated components can be regarded as a distributed system, which is linked via CAN bus. The major challenge of the motor driver was to operate the BLDC at both high and very low speeds in order to enable both fast positioning movements and high-precision movements. Low speed means controlling the motor in a manner comparable to the second hand of a clock. This poses the challenge of the stick-slip effect, which results in a jerky movement - this must be avoided.
This is achieved by a combined pulse width modulation between two pairs of coils, controlled by a lookup table, which is generated dynamically and transferred directly to the responsible PWM generators by means of direct memory access (DMA). At a low number of revolutions, the driver switches to control via the angle of rotation and at a high number of revolutions to control via the time per revolution. To avoid the stick-slip effect, the PID parameters are dynamically adjusted during start-up. The driver also includes a calibration program as well as position determination and position approach.