DC electric motors are very widely used. Their popularity is due to their simple control and power
supply. DC motors require only two poles, negative and positive, supplied from the source of
electromotive force (EMF). When current passes through the DC motor’s rotor coils, the shaft rotates.
If you change the polarity, the direction of rotation will also change. It is also simple to control
the velocity of the DC motor. There are many methods to do so—for example, changing the motor’s
supply voltage or using pulse-width modulation (PWM) signals.

There is an incredibly wide range of applications for DC motors, even considering just those that are

small in size and power consumption. Such motors are used in various tools and auxiliary equipment
requiring precise mechanical movements. For example, DC motors are used in various position
control systems of optical elements. It is also impossible to imagine modern children's toys without
the use of various electric motors, such as models of cars and airplanes, helicopters or ships, and all
possible types of robots. DC motors are also often used in Arduino projects. They rotate wheels,
propellers, or robot manipulators, and move 3D printer cartridge cradles. It is also worth mentioning
the indispensable role of DC motors in office equipment, position control systems for video
surveillance systems, in servomotors for smart lock devices, personal and medical care devices, and
other consumer electronics.
In order to ensure the correct and error-free use of DC motors in all these applications, it is
necessary to meet a certain set of conditions required of a system that directly controls these motors.
This project uses the SLG47105 as an example of such a control system. The controller
starts and stops the electric motor, changes the direction of rotation, smoothly adjusts the speed, and
protects against emergency situations. Each of these functions can be performed simultaneously for
two independent motors, which gives an additional advantage over existing solutions. An example
light effect machine demonstrates the simplicity and ease of use of the SLG47105 to control two DC
motors simultaneously and independently

Below we described steps needed to understand how the simultaneous dual motor control has been programmed. However, if you just want to get the result of programming, download GreenPAK software to view the already completed GreenPAK Design File. Plug the GreenPAK Development Kit to your computer and hit the program to design the device.

Idea and Construction

To demonstrate the concept of independent control of two motors, we’ll use the example of a simple
light machine which modulates a laser beam via two moving mirrors. The movement of the mirrors,
specifically their rotation, is provided by two DC micro motors. Laser beam modulation is achieved by
changing the speed and direction of rotation of the mirrors mounted on the shafts of these two

A point that performs two harmonic oscillations in two orthogonal directions forms an ellipse when the
periods of both oscillations are equal. In more complex cases, the figures depend on the relation
between the periods (frequencies), phases, and amplitudes of both oscillations. To obtain a full-size 

image of the figure (drawn by a variable laser point), the mirrors must have two directions of
incidence of the beam: tangential reflection (at a slight angle of ~ 1°) relative to the plane
perpendicular to the motor axis and reflection at an angle of 45 ° relative to the beam. See Figure 2
for an illustration.

If such a modulated beam is projected onto a screen, you can create a wide variety of figures. The
simple light effect machine was built in this way. 

Design Analysis

In general, the design is made of two parts with identical functions. Channel 1 controls the M1 motor
and Channel 2 controls the M2 motor (Figure 3). To ensure independent motor control, along with the

Read more »