Published in


Simultaneous Dual Motor Control


The complete design file is available here. It was programmed in the GreenPAK Designer software (a part of Go Configure™ Software Hub) that is a free-to-use GUI-based program aimed to create circuit designs.

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 article 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

Idea and Construction

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 additional possibility to change the direction of rotation, the “Full Bridge” mode was selected in the “HV out mode” option (see the “HV OUT CTRL” settings windows in Figure 4). The direction of rotation of micro motors can be changed with the help of external signals from switches, as seen in the electrical diagram (Figure 5). Speed is controlled by changing the value (from 0% to 100%) of the duty cycle of PWM signals forming the corresponding blocks (Figure 4).

Each motor is switched on and off by a corresponding external button (PIN#3 for Channel 1 and PIN#14 for Channel 2) which changes the state of the corresponding trigger each time it is pressed (DFF10 for Channel 1 and DFF11 for Channel 2). In addition, external buttons (PIN#19, PIN#20 for Channel 1; PIN#17, PIN#16 for Channel 2) are used to change the duty cycle of control PWM signals, that is, change the speed of rotation of the motors. In our case, this method of control was chosen using external signals from buttons and switches. If necessary, the design can be easily modified for control via the I2C interface.

Circuit Analysis

The light effect machine is controlled by four buttons and four switches (two switches and a button per channel). The buttons SB1 and SB3 are used to switch on/off the M1 and M2 motors, respectively (Figure 6). The switch SA1 sets the direction of rotation of the M1 motor, and the switch SA3 sets the direction of rotation of the M2 motor. The direction for changes of the duty cycle of PWM signal (speed increase or decrease) is selected using switches SA2 (motor M1) and SA4 (motor M2). Direct change of speed (change of duty cycle of PWM signal) per unit is carried out by signals from the buttons SB2 (motor M1) and SB4 (motor M2). The LED1 light indicates the power supply status to the entire system.

Test Results

  • Two motors rotating the mirrors
  • Green radiation laser and its power supply module
  • The motor control module made with the SLG47105 (shown in Figure 6)
  • In the process of testing, we changed the speed and direction of rotation of the motors, resulting in figures of different shapes and complexity (Figure 8).



GreenPAK™ is a broad family of cost effective NVM programmable devices that enable innovators to integrate many system functions into a single custom circuit, and in the process minimize component count, board space, and power consumption.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store