Back Up
Motor Driver Development
Magyar    English
Back


Simplified diagram of the original circuit.
There are a lot of information on the net about this device. Here is a brief description:

Its interesting part is the three phase transformer (called "Control Coils" on the picture). You can see it on this picture (3x2 small coils near the center). Probably the Hall cells was expensive in that times, that's why this solution was used. The coupling fcator of the three transformers are controlled by a small rotating iron core, in phase with the main coil. An oscillator drives it with cca 40 kHz frequency, and the rectified voltage selects which main coil is driven, producing (nearly) constant torque. The signals are on this picture (one of the three phases). This solution works statically: it is important because it must be able to determine the current phase in stopped state for starting.
The voltage rectified from the feedback coils are proportional with the rotating speed. It is compared with the speed reference, and controls the current of the main coils. The reference is selected by the speed control switch (45 or 33 1/3) and can be fine-tuned with potentiometers.
The deviation of the speed is visible on the stroboscope and can be manually corrected.
Simpified diagram of the new, microprocessor-based motor controller.

All the important functions are in the software - see detailed descriptions below. Everything is measured by A/D controllers, and the control outputs are also D/A converters.
The hardware is not more complicated than the original because everything is in the software. This is a flexible solution, you can try a new configuration easily this way.

The source code can be downloaded from here or using git:

git clone git://git.code.sf.net/p/dd-motor-2/code dd-motor-2-code

The source is cca 2600 rows of C++ code - excluding the libraries.
Interesting, that such a small (8-bit) MCU can reach higher than 1 kHz sampling frequency - even if floating point (32-bit float) is used for all computations, including matrix multiplication, trigonometric functions, etc. It needs cca 20 kB ROM and 1.5 kB RAM.
to be continued...