1 Introduction

Stepper motor is controlled with two control parameters such as Step angle and Delay time between steps which are instructed by microcontroller. Step angle (i.e., constant angular position) depends on total number of steps per revolution. Speed of stepper motor depends on the delay time between the steps.

In open loop, stepper motor converts a train of input pulses into a precisely defined increment in the shaft position. Each pulse moves the shaft through a fixed angle. The motor shaft turns stepwise with an integer number of steps making a full rotation.

A unipolar stepper motor has one winding with center tapped phase. Each section of winding is switched on for each direction of magnetic field. A magnetic pole can be reversed without switching the direction of current. Bipolar stepper motors have a single winding per phase. The current in a winding needs to be reversed in order to reverse a magnetic pole. Viaene Jasper [1] discussed characteristics of stepper motor and its step movement under open loop condition. Stepping motor driver excites rotor over a predefined discrete angular position. Main feature of stepper motor is easy control like start, stop, forward and reverse directions. It has self-locking function. Speed can be varied with a wide range of smooth adjustment.

Speed of the DC motor is directly controlled by applied voltage of the motor in Input voltage control method. The average value of the applied motor voltage is varied by applying a pulse width modulated (PWM) waveform to the motor. The pulse width can be adjusted by the controlled program or comparator circuits. The flux of the permanent magnet stator is constant in permanent magnet DC (PMDC) motor, field control method is not used in PMDC motors, and the speed of the motor changes solely with the back induced armature e.m.f.

The average voltage and current fed to the load are controlled by switching ON and OFF between supply and load at a fast pace. When the DC motor is on, it takes certain time to reach at full speed. Then, the power source is ON, the DC motor starts gaining speed and if switched OFF, the power source goes down before reaching the rated speed, it starts to goes down. When switching ON and OFF are done quickly, the motor rotates at a lower speed between zero and rated speed.

Authors [2, 3] used the various DC motor drivers to control the power supply of DC motor using microcontroller under open loop conditions. [2] Anjaly Divakar controls the power supply of DC motor with L293D motor driver using switching duty cycle. [3] Hameed drives mechanical relays for changing the timing resistors of an astable multivibrator. Relays are constructed by 2N222 transistors. Power supply of DC motor is controlled the relay switch ON and OFF for three different speed levels. Operated the DC motor at 10V supply under no load condition. Authors [4,5,6] controlled the power supply of DC motor using various motor drivers and micro-controller or micro-processor with closed loop system. [4] Khan and Kamil controlled the supply of DC motor with L293D IC driving the motor which is made up of two H-Bridge. [5] Ali Hassan controlled the supply voltage of PMDC with IBT-2 driver. [6] SSyukriyadin controlled power supply of PMDC motor by motor drive module BTS7960 using PWM signal. It has a fixed frequency of waves with varying duty cycles.

From the literature [2,3,4,5,6] it is analyzed that for very low speed applications DC motors are unable to utilize in open loop and closed conditions. DC motors speed is changed by varying the power supply. Also, not discussed holding a particular vertical position (i.e., angular position) when DC motors are used in vertical rotating tracking applications.

DC motor’s shaft speed is reduced by coupling geared system to the motor shaft. Geared system also increases the torque output of the motor. [7] Vitor designed motor coupled with worm geared system used as speed reducers in low- to medium-speed application. This design is mainly used in a robotic application, when the arm’s joint reaches a desired angle, it does not move until a next signal is given. [8] T. Verstraten implemented a simple energy efficient simple actuator in mechatronic designs with DC motor and gearbox. [9] Wenyu explained dynamic electromechanical characteristics of the motor-planetary gear system under voltage transients. [10] Sanjai designed optimized gear ratios which plays a crucial role in the loading and efficiency of the motor, thus affecting the battery mileage in hybrid electric vehicle.

DC motors with geared system also used to control angular position of shaft. [11] Aravind controlled the DC motor angular position with backlash setup using Experience Mapping based Predictive Controller (EMPC) technique. In robotic applications angular position of geared DC motor is controlled using closed loop mechanism. [12] Myo Maung designed precision of angular position control for 120RPM geared DC motor using PID controller with compensation of friction effect. [13] Hannibal Paul proposed the angular position control of 45RPM geared DC motor with gear reduction condition.

Swathi [14] designed cost effective and reliable Electrical vehicle suitable for linear agricultural applications using Servo and Geared DC motors. [15] Seungjae designed the motor torque distribution between the two motors coupled with two-speed powertrain system. Powertrain system consists of first and second gear ratios. The torque from the motor output shaft is transferred to the wheels for driving the vehicle. This optimized system improves both performance and energy efficiency. [16] Amol designed electrochemical-based rain sensing wiper system coupled to geared DC motor which is independent in operation of the micro-controller of the vehicle. The geared DC motor consumes almost 10% less current than the conventional wiper Lucas motor system.

Al-Jarrah [17] discussed the dynamic performance of the four-bar mechanism driven by a geared DC motor under different operating conditions using different control schemes. Four-bar mechanism is used in the wheels of rail engine, pantograph and pumpjack applications. [18] Tutunji explained the linear parametric and neural networks models of four-bar linkage mechanism which is driven by geared DC motor. [19] Ali designed a walking ability system using geared DC motor for stroke patients to train the effected leg and regain walking ability. [20] Frankovsky implemented two-wheeled self-balancing robot driven by the geared DC motors which are used as the actuator subsystem of the robot. [21] Lee proposed bilateral teleportation control system of two link planar manipulators using geared DC-motors. Manipulators are actuated by geared DC motor attached to planetary gear head to increase the output torque.

[22] Venkataro and Swapna Pervali designed dual axis solar tracking system (DAST) application in which vertical movement of DAST system is operated by 10RPM geared DC motor. Motor is controlled with switching delay time signals. Delay time signals with low time interval mechanism can provide constant low speed. Speed of 10RPM geared DC motor depends on optimized intensity of light measured by light dependent resistors (LDR). Feedback network contains LDR segment.

Geared DC motors are used in control systems where an appreciable amount of shaft power is needed [23]. Geared DC motors have low inertia, symmetrical rotation and smooth low-speed characteristics. Geared DC motors are used in automation, robotics, industrial machines and medical sciences. The advantage of geared DC motor is ability to produce high torque so that the size of the motor is less compared to the size of the stepper motors.

In dual axis low-speed solar tracking applications, tracking depends on the degree of motors rotation. Stepper motor is used to drive the elevated (vertical) position. Geared DC motor holds a particular vertical (elevated) angular position of solar panel in sun position tracking applications. Precise angular position depends on the step movement (i.e., degree/step) of geared DC motor. Practically identified that fixed degree per step is changed with the change in tolerance of supply voltage.

A new method is proposed such that geared DC motor behaves like stepper motor which is analyzed under open loop and no load condition. Step movement (degree per step) of geared DC motor using switching delay time signals from microcontroller which are designed based on operating instructions like Step angle and Speed of stepper motor. Supply of geared DC motor driver is connected with Constant voltage and Constant current source with minimum change in tolerance, so that degree per step is fixed during rotation of geared DC motor.

Two major switching delay time signals implemented with delay time signals of microcontroller are: step angle delay time (A) of geared DC motor which works like fixed step movement (or angular position change) of stepper motor, Step delay time (speed delay time) (D) of geared DC motor which works like speed control mechanism of the stepper motor. This method is called Stepping method which resembles the stepper motor operation.

Short comings are:

  1. 1.

    From the literature of closed or open loop DC motor speed control techniques, switching between ON and OFF digital signals implemented with constant delay time intervals using microcontroller controls the speed and angular position of the geared DC motor. Identified that if Relative slip degree error per revolution (RE \(_\mathrm{{S}}\) ) of geared DC motor is minimized using Stepping method, then it works like stepper motor.

  2. 2.

    Calibration of actual step count per revolution of GDCSM with different values of step angle delay time (A).

  3. 3.

    Experimentally identified that change in tolerance values of consumed voltage (\(\varDelta\)) leads to change in actual step count per revolution, which causes the slip degree error per revolution for GDCSM. Minimization of slip degree error per revolution is possible by controlling minimum range of \(\varDelta\) which is achieved by passing maximum current to GDCSM.

Implementation of stepping method with two switching delay time control parameters is discussed in sect. 2.1. Identification process of actual step count per revolution of GDCSM is discussed in sect. 2.2 as shown in Fig. 1. Discussed the 10RPM GDCSM in sect. 2.3. Analysis of step angle delay time (A) of GDCSM with minimum value of RE \(_\mathrm{{S}}\) is discussed in section 2.4.

Stepper motors like 28byj-48, STP-43d1027-01 at various operating supply conditions and their corresponding values of RE \(_\mathrm{{S}}\) are discussed in sect. 2.5.

Fig. 1
figure 1

Proposed work

2 Methodology

2.1 Design of switching delay time mechanism to control Step angle delay time (A), Step delay time (D):

Switching between ON and OFF of the supply voltage of geared DC motor along with fixed switching delay time interval is implemented with Delay time signals of microcontroller which operates geared DC motor like stepper motor. Delay time signal is the key element to control the parameters like angular position (step angle) and speed of the geared DC motor using microcontroller. Pausing the microcontroller operation is done by Delay time signal. To operate geared DC motor into stepper motor has three stages of control conditions such that initialization, step angle delay time (A), and step delay time (D) as shown in Fig. 2.

Fig. 2
figure 2

Switching delay time signals

Initialization stage starts with a delay time of instruction of 10 \(\mu\)s which is followed with direction condition instruction. Motor direction is controlled by direction instruction. The direction of motor is controlled by digital signals from microcontroller. Motor driver module is interfaced between DC power supply and motor power lines (or input lines) like In_1 or In_2. In_1 or In_2 are controlled by digitally High (i.e., switch ON) or Low (i.e., switch OFF) signals which are given to driver from microcontroller. Switched to ON condition of any one of input control line (In_1 or In_2) and another input line is switched to OFF condition using controller which changes the direction of geared DC motor either clock wise (CW) or anti clockwise (ACW). After switched to ON state of one input line geared DC motors changes it shaft position and controller comes to pause state immediately using delay time signal of interval of 900 \(\mu\)s (micro-seconds) in initial stage. This process of initialization is given for each step movement of geared DC motor before each step angle delay time (A) stage. Step angle delay time (A) is switching delay time signal which follows the initialization stage immediately. Step angle delay time (A) stage pauses the controller additionally by some time using delay time signal of interval of A ms (milliseconds) which controls change in the step angle (i.e., Angular position) along with immediate digital OFF signals given to all input control lines of geared DC motor. Constant step angle change depends on the value of A. Step delay time (D) is switching delay time signal which follows the Step angle delay time (A) stage. Step delay time (D) is immediately paused giving the controller some more interval time of D \(\mu\)s. Delay time signal of D \(\mu\)s is introduced between each step movement so that it controls the speed of the geared DC motor. D depends on Steps per Revolution and Revolutions per minute (RPM). Geared DC motors implemented with stepping method (GDCSM) behave like stepper motors.

2.2 Counting actual steps per revolution

Actual Steps per Revolution are calibrated for 10RPM or 30RPM GDCSM separately as shown in Fig. 3. They are interfaced by motor driver module L293D. Operated with constant DC supply voltage and controlled with minimum value of \(\varDelta\) using CV&CC module.

Fig. 3
figure 3

i.LM2596 CC&CV bucker, ii. Motor driver L293D, iii.10RPM geared DC motor, iv.30RPM geared DC motor

For different values of step angle delay time (A), actual Steps per Revolution of 10RPM GDCSM or 30RPM GDCSM is calibrated at speed of 1RPM as shown in Fig. 4. Initially assumed that 500 Steps per Revolution at 1RPM. 120,000 \(\mu\)s of Step delay time (D) is passed between steps which is calculated using Eq. (1). Counting of steps is observed either by tic sound or step movement by eye contact. Calibration of actual Steps per Revolution is independent of value of D, whereas value of D depends on the actual Steps per Revolution (Fig. 5).

$$\begin{aligned} D(\mu s)={\frac{60000000}{\left( \frac{\hbox {Steps}}{\hbox {Revolution}}\right) /\hbox {RPM}}} \end{aligned}$$
(1)
Fig. 4
figure 4

Counting actual steps per revolution

A is changed from 0 to 40 ms and carefully measured values of actual Steps per Revolution for each value of A.

We observed that at different time sessions actual Steps per Revolution is changed even when value of A is constant and constant voltage (CV) is applied to geared DC motors. This is due to large value of \(\varDelta\) effect during rotation of motors as speed of the geared DC motor is changed with change in voltage. Large value of \(\varDelta\) effect during rotational condition of motor is minimized by keeping the maximum current supply to motors using constant current (CC) source. Set to maximum constant current using CC module keeps the value of \(\varDelta\) below \(-\) 0.4% during rotational of GDCSM.

Fig. 5
figure 5

10RPM GDCSM flow chart

2.3 10RPM GDCSM operated per one revolution

CC&CV module is interfaced between 12 V DC power supply and supply terminals of motor driver L293D module. Supply voltage is stepped down to 10 V + 0.1% using CV. \(-\) 0.29% of \(\varDelta\) is maintained using CC for 10RPM GDCSM. As slippage degree error is calibrated per one revolution so required rotate degrees are considered as 360\(^{\circ }\)as shown in Fig. 4. Step delay time (D) controls the speed of geared DC motor which is set to 1RPM. D is a switching time parameter which is inserted between each fixed step angle position. Constant angular position (i.e., step movement) change is controlled by Step angle delay time (A) which is another switching time parameter. Actual Steps per Revolution is 195 for 10RPM GDCSM at 20 ms of A which is calibrated using initial calibration method as shown in Fig. 4. Degree per step and D are calculated from steps per revolution. Difference of present step time to last step time is measured using microsecond function of Arduino ATmega 328P microcontroller which has clock speed of 16 MHz. Number of microseconds are returned when Arduino board starts running the instruction of current microseconds function. If value of D is greater than or equal to difference of present step to last step time, then switching delay time interval of D ( \(\mu\) s) is passed between the steps to control the speed of GDCSM. 10RPM GDCSM has the following stages of conversion process: Initialization stage controls direction and provides initial minimum acceleration for step movement of GDCSM. Step angle delay time (A) stage controls constant angular position of shaft movement at 20 ms of step angle delay time signal. Step delay time (D) stage controls the speed of geared DC motor with 307692 \(\mu\)s (i.e., 1RPM) of speed delay time signal.

2.4 Relative slip degree error per revolution

In general stepper motors Steps per Revolution is fixed at rated voltage. They have fixed Degree per step. In GDCSM, for each value of A for 10RPM GDCSM, 30RPM GDCSM they have different value of actual Steps per Revolution. Minimum value of Relative slip degree per revolution (RE \(_\mathbf{S }\) ) in terms of degree helps to identify which value of A of GDCSM to be taken to behave like stepper motor. Experimentally measured RE \(_\mathrm{{S}}\) values of general stepper motors models (i.e., discussed in supplementary Sect. 2.5) are taken to identify the suitable value of A of GDCSM so that it works like stepper motor. Slippage degree per revolution is difference of Measured degree per one revolution (M \(_\mathbf{D }\) ) to one revolution (i.e., exactly 360 \(^{{\circ }}\)) using Eq. (2). It is used to calculate RE \(_\mathrm{{S}}\) of the geared DC motors at different values of A using Eq. (3).

$$\begin{aligned} \frac{\hbox {Slippage \; degree}}{\hbox {Revolution}}= & {} \;M_{\hbox {D}}-360^{\circ } \end{aligned}$$
(2)
$$\begin{aligned} {\hbox {RE}}_{\hbox {S}}= & {} \frac{\left| {\displaystyle \frac{\hbox {Slippage\;degree}}{\hbox {Revolution}}}\right| }{360}\times 100\% \end{aligned}$$
(3)

here experimentally measured RE \(_\mathbf{S }\) value of stepper motor models like I, III & V are considered for identification of A of GDCSM. Models I, III & V are used generally in applications at operating condition of direct power supply (without CV & CC modules). RE \(_\mathrm{{S}}\) value of stepper motor models like I, III & V is greater than the models II&IV which are controlled with CV & CC modules. CV&CC modules interconnected with power supply also reduce the RE \(_\mathbf{S }\) value of stepper motors so that GDCSM controlled with CV&CC modules also minimizes the value of RE \(_\mathrm{{S}}\).

If RE \(_\mathrm{{S}}\) of GDCSM at a selected step angle delay time (A) is less than or equal to RE \(_\mathbf{S }\) value of stepper motor models like I or III or V, which means GDCSM can be operated as stepper motor at that particular selected value of A.

2.5 Supplementary information

Stepper motors operated with different supply conditions

Fig. 6
figure 6

i. STP-43d1027-01 bipolar stepper motor, ii. Motor driver L293N, iii. Motor driver L293D, iv. 28byj-48 unipolar stepper motor

Generally direct power (without CV&CC module) supply is applied to stepper motor through driver using DC power supply adapter as shown in Fig. 6 . Required change in angle and speed is controlled using control signals from ATmega 328P microcontroller which are discussed in model I, III&V. Their corresponding measured values of Total degree change per revolution and RE \(_\mathrm{{S}}\) of stepper motors for one revolution under open loop conditions are shown in Table 1. Calculation of \(\varDelta\) value is considered at maximum value of consuming voltage (V\(_\mathrm{{C}}\)) which is measured during their rotation.

Table 1 Stepper motor models with different power supply conditions

Model I Unipolar stepper motor 28byj-48 with motor driver ULN2003A is operated at rated DC supply voltage (V\(_\mathrm{{S}}\)) of 5 V + 0.2% (i.e., 5 to 5.01 V) using DC to DC step down voltage bucker. During its horizontal movement (H), maximum value of V\(_\mathrm{{C}}\) is 4.94 V with \(-\) 0.4% of \(\varDelta\) (i.e., 4.92 to 4.94 V) and its corresponding value of RE\(_\mathrm{{S}}\) is 0.7%. During its vertical movement (V), maximum value of V\(_\mathrm{{C}}\) is 4.93 V with \(-\) 0.4% of \(\varDelta\) (i.e., 4.91 to 4.93 V) and its corresponding value of RE\(_\mathrm{{S}}\) is 0.6%.

Model III Bipolar stepper motor STP-43d1027-01 with motor driver L293D is operated with rated 12 V DC adapter which gives actual supply voltage (V\(_\mathrm{{S}}\)) of 12 V \(-\) 2% (i.e., 11.76 to 11.77 V). During its horizontal movement, maximum value of V\(_\mathrm{{C}}\) is 9.09 V with \(-\) 66.77% of \(\varDelta\) (i.e., 3.02 to 9.09 V). Its corresponding value of RE\(_\mathrm{{S}}\) is 0.3%. During its vertical movement, maximum value of V\(_\mathrm{{C}}\) is 9.27V with \(-\) 66.09% of \(\varDelta\) (i.e., 3.05 to 9.27 V). Its corresponding value of RE\(_\mathrm{{S}}\) is 0.3%. In this case RE\(_\mathrm{{S}}\) is not affected even there is a large change in value of \(\varDelta\). Minimum value of \(\varDelta\) cannot be maintained by using L293D driver module under direct supply of voltage without CC&CV modules.

Model V Bipolar stepper motor STP-43d1027-01 with H Bridge motor driver L293N. It’s operated with 12V DC adapter which gives actual supply voltage of 12 V \(-\) 2% (i.e., 11.76 to 11.77 V). During its horizontal or vertical movement, maximum value of V\(_{C}\) is 11.77 V with \(-\) 0.08% of \(\varDelta\) (i.e., 11.76 to 11.77 V) and its corresponding value of RE\(_\mathrm{{S}}\) is 0.3%. During its vertical movement, it has 0.1% of RE\(_\mathrm{{S}}\).

Observed that Model I, III & V are also able to operate at higher RPMs. There is no speed synchronization problem when speed is greater than 1RPM. At higher value of RPM, value of RE\(_{S\mathrm {S}}\) is negligible and equals to values of RE\(_\mathrm{{S}}\) at 1RPM of Model I or III or V.

During horizontal rotation, Model V has 0.3% of RE\(_\mathrm{{S}}\) and Model I has 0.7% of RE\(_\mathrm{{S}}\). During vertical rotation, Model V has 0.1% of RE\(_\mathrm{{S}}\) and Model I has 0.6% of RES. Analyzed that values of V\(_{C}\) are changed with minimum value of \(\varDelta\) in model V is due to H Bridge, whereas minimum value of \(\varDelta\) in model I is due to driver ULN2003A. H Bridge itself provides maximum constant current and constant voltage for stepper motors. RE\(_\mathrm{{S}}\) values of Model I, III & V are taken as reference values to analyze the actual step angle delay time (A) of GDCSM for different mode of operation.

Proposed work is tested on 10RPM, 30RPM geared DC motors and values of V\(_\mathrm{{S}}\) are set to 10V + 0.1%. Using CV&CC module, maximum position of CC is applied to minimize value of \(\varDelta\). CV & CC module controls the operating power supply of stepper models like II & IV. Their corresponding values of RE\(_\mathrm{{S}}\) are also analyzed at operating DC supply condition of 10 V + 0.1% of V\(_\mathrm{{S}}\) (i.e., 10 to 10.01 V) with maximum position of CC.

Model II Bipolar stepper motor STP-43d1027-01 interconnected with motor driver L293D. It has maximum value of V\(_\mathrm{{S}}\) is 7.83 V with \(-\) 61.30% of \(\varDelta\) (i.e., 3.03 to 7.83 V) during its horizontal rotation. Its corresponding value of RE\(_\mathrm{{S}}\) is 0.1%. During its vertical movement, it has maximum value of V\(_\mathrm{{C}}\) which is 7.87 V with \(-\) 54% of \(\varDelta\) (i.e., 3.62 to 7.87 V). Its corresponding value of RE\(_\mathrm{{S}}\) is 0.3%. Stepper motor model II able to operate at 1RPM only without any disturbance of step movement and unable to operate when RPM is greater than 1RPM. This is because insufficient supply voltage causes the disturbance of step movement. Driver L293D module not able to control minimum value of \(\varDelta\).

Model IV Bipolar stepper motor STP-43d1027-01 interconnected with H Bridge motor driver L293N. Its maximum value of V\(_\mathrm{{C}}\) is 9.97 V with \(-\) 0.1% of \(\varDelta\) (i.e., 9.96 to 9.97 V) during its horizontal or vertical rotation. Its horizontal rotation has 0.0% of RE\(_\mathbf{S}\). Its vertical movement has 0.1% of RE\(_\mathrm{{S}}\). Stepper motor model IV is able to operate without any disturbance of step movement up to 5 RPM only.

Stepper motor models II & IV are controlled with CV&CC module. They have very less RE \(_\mathbf{S}\) values compared with model I. But unable to operate models II & IV without any disturbance of step movement with increased RPM.

3 Experimental setup

RE \(_\mathbf{S }\) of 10RPM or 30RPM GDCSM is measured when motors are operated in horizontal or vertical movement as shown in Figs. 7 and 8. Change in consuming voltage tolerance ( \(\varDelta\) ) of GDCSM plays the major key role to control the actual Steps per Revolution is constant if there is a large change in value of \(\varDelta\) which leads to change in calibrated value of actual Steps per Revolution. Further it leads to more or less than the required change in angular position (i.e., step movement) of GDCSM even the angular position which is operated with constant value of A. This is because of variation in consuming voltage of GDCSM which causes the speed synchronization problem.

Fig. 7
figure 7

10RPM GDCSM horizontal rotation

Fig. 8
figure 8

10RPM GDCSM vertical rotation

LM2596 is DC to DC step down Buck converter module provides Constant Voltage and Constant Current(CV&CC). Its range of voltage conversion is 1.25 to 35 V. LM2596 is connected between 12 V DC adapter and supply terminals of L293D motor driver module as shown in fig. Supply voltage (V \(_\mathbf{S }\) ) is adjusted to 10 V + 0.1% (i.e., 10 to 10.01 V) and their corresponding voltages are observed in digital multimeter. The speed of 10RPM geared DC motor at operating supply of 10 V + 0.1% is 11.6 RPM and it has 0.028A of consumption of current during its rotation. The rotational speed of 30RPM geared DC motor with supply value of 10 V +0.1% is 29 RPM and it has consumption of current of 0.039A. Supply voltage is set to 10 V+0.1% because the 12 V DC adapter has 98% efficiency level so that it gives the range of output voltage of 11.75 to 11.76 V. The results are analyzed for 10 & 30RPM GDCSM at operating supply voltage of 10 V + 0.1%. During rotation of GDCSM, value of \(\varDelta\) is controlled below \(-\) 0.4%. This is done by adjusting maximum position of CC of LM2596 CV/CC module. Adjusting to maximum position of CC means keeping the minimum value of \(\varDelta\) and it is observed in multi meter in terms of change in V \(_\mathrm{{C}}\). Power supply to microcontroller ATmega 328P is provided by 9V DC adapter. Control signals are passed to L293D motor driver module which is interface between microcontroller and geared DC motors. Gear box must not exceed specified rated torque which leads to premature gear failure. L293D motor driver module protects controller from EMI (Electromagnetic Interference) signals which are caused by sudden directional change of motors. Protractor of diameter 11.5 cm is used to measure the degree change during revolution. Protractor is fixed to the stand and center point of protractor which is exactly pointing to the shaft of the geared DC motor. Large diameter of protractor is taken so that observation of change in degree which is less than 1\(^{\circ }\) can be easily measured. Position degree indicator is placed on shaft which helps to measure the change in degree of final position to initial position during its one revolution. To minimize the parallax errors during each measurement of total degree change, a background line indicator is drawn exactly behind position degree indicator.

Fig. 9
figure 9

Schematic diagram

Consuming voltage across geared DC motor during its rotation is measured using voltmeter (V\(_\mathrm{{C}}\)) as shown in Fig. 9.

4 Results and discussions

RE \(_\mathbf{S }\) values are analyzed for 10 & 30RPM GDCSM with L293D motor driver module which is operated with supply voltage of 10 + 0.1%V. They are operated at 1RPM and analyzed at value of A during horizontal or vertical movement. Initial 120,000 \(\mu\)s of D is assumed to calibrate the actual total steps per revolution at constant value of A. During calibration process of actual Steps per Revolution, consuming voltage variations of GDCSM are represented as initial consuming voltage change (V \(_\mathrm{{cal}}\)). Initial calibration of actual steps per revolution during vertical movement of GDCSM is considered as same as the initial calibrated values of actual Steps per Revolution during horizontal movement of GDCSM. Step angle delay time (A) of GDCSM is chosen based on its corresponding value of RE \(_\mathbf{S}\) which is less than or equal to RE \(_\mathrm{{S}}\) value of stepper motor models like I or III or V. Value of Ais chosen such that its corresponding value of Degrees per step lies within the range of 1\(^{\circ }\) to 7\(^{0}\). During horizontal or vertical movement at 0.0 ms of A there is no change in rotation of GDCSM which looks like no change in rotation of stepper motor at 0\(^{\circ }\) angular position.

Acceptable slippage degree tolerance is validation parameter used to compare RE \(_\mathbf{S }\) values of GDCSM with respect to speed variations. Generally value of acceptable slippage degree tolerance is considered at 1% of tolerance. So that its value of Measured degree per one revolution (M \(_\mathbf{D }\) ) lies within the range of \(-\) 356.4\(^{\circ }\) to 363.6\(^{\circ }\) and its corresponding value of acceptable slippage degree per revolution is \(\pm\)3.6\(^{\circ }\).

During horizontal movement of stepper motor model I has 0.7% of RE \(_\mathrm{{S}}\), and model III or V has 0.3% of RE \(_\mathrm{{S}}\).

During vertical movement of stepper motor model I has 0.6% of RE \(_\mathrm{{S}}\), model III has 0.3% of RE \(_\mathrm{{S}}\) and model V has 0.1% of RE \(_\mathrm{{S}}\).

4.1 Switching time signals

Digital signals of Microcontroller are used to control the degree change of Stepper and GDCSM motors. Digital control signals are given to motor driver from microcontroller. So Timing diagram of Digital signals for required degree change is analyzed using Proteus 8 professional software [24]. Designed instructions of GDCSM using Arduino IDE in terms of Hex file are uploaded into Arduino emulator in Proteus simulator.

Holding a solar panel (weight of 300 g) at a particular angle during vertical (elevated) movement using stepper motor model I is not possible because it has low torque. Model II stepper motor is unable to hold the tracked elevated angle of solar panel even it has high holding torque. So 10RPM geared DC motor is used to hold the elevated tracking of solar panel as shown in Fig. 10. The sun tracking is based on degree of change in elevated axis. So geared DC motor is converted into stepper motor behavior using microcontroller switching delay time signal.

Fig. 10
figure 10

10RPM GDCSM used to track the sun elevated axis in Dual axis solar tracking application

Experimentally calibrated Actual Steps per revolution of 10RPM GDCSM and 30RPM GDCSM during vertically rotation is taken for simulation using initial calibration method as shown in Tables 3 and 7.

Digital signal simulation is analyzed at the controlling speed of 1RPM for required degree change during vertical rotation. Based on measured Degrees per step, simulation analysis is carried on following motors such as10 RPM GDCSM has 1.88 Degree per step at value of A (Step angle delay time) is 20 ms. 30 RPM GDCSM has 1.6 Degree per step at value of A is 5 ms. Model I (28byj-48 Unipolar stepper motor) has 0.18 Degree per step and model II (STP-43d1027 Bipolar stepper motor) has 1.8 Degree per step.

Digital signals for required degree (1\(^{\circ }\), 2\(^{0}\), 5\(^{\circ }\), & 10\(^{\circ }\)) change of 10RPM GDCSM, 30RPM GDCSM are analyzed with stepper motor model I (Unipolar stepper) & model II (Bipolar stepper) as shown in Figs. 11 and 12.

Fig. 11
figure 11

Digital signals with respect to time for required degree change of (A) 1\(^{\circ }\), (B) 2\(^{\circ }\)

Digital signal of 10PRM & 30RPM GDCSM at required degree of 1\(^{\circ }\) is similar to model II (STP-43d1027). There is no pulse generation (no step movement) compared with model I (28byj-48) as shown in Fig. 11.(A.ii, iii, iv). Actual degree per change in step movement of model II, 10RPM & 30RPM GDCSM are greater than the required degree change of 1\(^{\circ }\) which results no pulse generation.

At time interval of 0.4s for required degree change of 2\(^{\circ }\), model II & model I have digital value of 1001, 10RPM & 30RPM GDCSM has two pulses. Observed that each pulse has fixed width and Fixed time interval between the pulses. 10RPM GDCSM has 20 ms of fixed width of each pulse. 30RPM GDCSM has 5ms of fixed width of each pulse as shown in Fig. 11 (B.iii & iv). Fixed width of the pulse represent fixed degree per step. Width of the pulse depends on the Step angle delay time (A) which is calibrated using initial method of calibration. Fixed time interval between pulses depends on RPM condition. RPM depends on Step delay time.

Fig. 12
figure 12

Digital signals with respect to time for required degree change of (C) 5\(^{\circ }\), (D) 10\(^{\circ }\)

At time interval of 0.7 s for required degree change of 5\(^{\circ }\), model II has digital value of 0101, model I has digital value of 1010, 10RPM GDCSM has three pulses with Fixed pulse width of 20 ms and Fixed time interval between the pulses. 30RPM GDCSM has four pulses with Fixed pulse width of 5 ms and Fixed time interval between the pulses as shown in Fig. 12.(C).

At time interval of 2 s for required degree change of 10\(^{\circ }\), 10RPM GDCSM has six pulses with Fixed pulse width of 20 ms and Fixed time interval between the pulses. 30RPM GDCSM has seven pulses with Fixed pulse width of 5 ms and Fixed time interval between the pulses as shown in Fig. 12.(D). 285 ms of fixed time interval between pulses is existed for 10RPM GDCSM when it is operated at 1 RPM. 260 ms of fixed time interval between pulses is existed for 30RPM GDCSM. Observed that there is no change of fixed time interval between pulses for various required degree change of 2\(^{\circ }\),5\(^{\circ }\) and 10\(^{\circ }\) as shown in Fig. 11.(B.iii, iv), Fig. 12.(C.iii, iv) and Fig. 12.(D.iii, iv).

Observed that increase in required degree of change increases the number of pulses which is similar to stepper motor digital control signals as shown in Fig. 12. As the controlling speed is increased, then fixed time interval between the pulses is decreased.

4.2 10RPM GDCSM

4.2.1 Horizontal movement

10RPM GDCSM has 0.0% of RE \(_\mathrm{{S}}\) at 20ms of A with fixed angular change in position of 1.85\(^{\circ }\) Degrees per step and its corresponding value of \(\varDelta\) is \(-\) 0.29%. It has 0.0% of RE \(_\mathbf{S }\) at 40 ms of A with fixed change in angular position of 3\(^{\circ }\) Degrees per step and its corresponding value of \(\varDelta\) is \(-\) 0.39%.

It has 0.6% of RE \(_\mathrm{{S}}\) at 25 ms of A with constant change in angular position of 2.08\(^{\circ }\) Degrees per step and its corresponding value of \(\varDelta\) is \(-\) 0.29% as shown in Table 2.

Table 2 RE \(_\mathrm{{S}}\) vs A of 10RPM GDCSM horizontal movement

4.2.2 Vertical movement

10RPM GDCSM has 0.0% of RE \(_\mathrm{{S}}\) at 20ms of A with fixed change in angular position of 1.85\(^{\circ }\) Degrees per step and its corresponding value of \(\varDelta\) is \(-\) 0.29%. At 40 ms of A, it has 0.0% of RE \(_\mathbf{S }\) with change in angular position of 3\(^{\circ }\) Degrees per step and its corresponding value of \(\varDelta\) is \(-\) 0.39% as shown in Table 3.

Table 3 RE \(_\mathrm{{S}}\) vs A of 10RPM GDCSM vertical movement

During horizontal movement, RE \(_\mathrm{{S}}\) value of 10RPM GDCSM is less than the stepper motors models I, III & V at 20 or 40 ms of A. At 25 ms of A, RE \(_\mathrm{{S}}\) value of 10RPM GDCSM is less than the stepper motor model I as shown in Fig. 13.

During vertical movement, RE \(_\mathrm{{S}}\) value of 10RPM GDCSM is less than the stepper motors models I, III & V at 20 or 40 ms of A.

Fig. 13
figure 13

RE \(_\mathrm{{S}}\) vs Step angle delay time (A)

4.2.3 10RPM GDCSM speed variations

Values of RE \(_\mathrm{{S}}\) with respect to speed variations are analyzed up to 3RPM during horizontal movement of 10RPM GDCSM as shown in Table 4.

Table 4 Speed vs RE \(_\mathrm{{S}}\)(%) of 10RPM GDCSM during horizontal movement

At 40 ms of A, during horizontal movement of 10RPM GDCSM has 1% of RE \(_\mathrm{{S}}\) which is equal to acceptable slippage degree tolerance (i.e., 360 \(\pm\)1%) and greater than the stepper motor models like I, III & V at 2RPM. Its RE \(_\mathrm{{S}}\) value is larger than stepper motor models and acceptable slippage degree tolerance at 3RPM.

At 20 ms of A, its corresponding value of RE \(_\mathrm{{S}}\) is 6.7% which is greater than the acceptable slippage degree tolerance at 2&3RPM.

RE \(_\mathrm{{S}}\) values with respect to speed variations are analyzed up to 3RPM during vertical movement of 10RPM GDCSM as shown in Table 5.

Table 5 Speed versus RE \(_\mathrm{{S}}\)(%) of 10RPM GDCSM during vertical movement

At 40 ms of A, 10RPM GDCSM during vertical movement has 0.4% of RE \(_\mathrm{{S}}\) which is less than acceptable slippage degree tolerance and stepper motor model I at 2RPM. Its RE \(_\mathrm{{S}}\) value is larger than stepper motor models and acceptable slippage degree tolerance at 3RPM.

At 20 ms of A , it has 6.1% of RE \(_\mathrm{{S}}\) which is greater than the acceptable slippage degree tolerance at 2RPM. RE \(_\mathrm{{S}}\) value is very large at 3RPM also.

So at 2RPM, RE \(_\mathrm{{S}}\) value of 10RPM GDCSM during horizontal or vertical movement at 40 ms of A is less than 20 ms of A as shown in Fig. 14.

Fig. 14
figure 14

Speed versus RE \(_\mathrm{{S}}\)(%) of 10RPM GDCSM at 40 ms of step angle delay time (A)

10RPM GDCSM works like stepper motor at 20 or 40 ms of A. Because RE \(_\mathrm{{S}}\) values of 10RPM GDCSM are less than the stepper motor models I, III & V which are operated in both horizontal or vertical movement.

10RPM GDCSM at 40 ms of A is performed better than the 20 ms of A at 2RPM. At 2RPM during vertical movement of 10RPM GDCSM performs better than its horizontal movement, because its RE \(_\mathbf{S }\) value during vertical movement is less than the horizontal movement as well as vertical movement of stepper motor model I. As the speed is increased from 3RPM, its slip degree per revolution is increased and their corresponding value of RE \(_\mathbf{S }\) is increased. At higher RPMs implementation of 10RPM GDCSM is possible when value of RE \(_\mathbf{S }\) is less than or equal to 1%. So minimization of slip degree per revolution is required as speed increases which is less than or equal to acceptable slippage degree tolerance.

4.3 30RPM GDCSM

4.3.1 Horizontal movement

30RPM GDCSM has 0.1% of RE \(_\mathbf{S }\) at 20 ms of A with fixed change in angular position of 5.63\(^{\circ }\) Degrees per step. At 25ms of A, it has 0.1% of RE \(_\mathrm{{S}}\) with constant angular position of 6.55\(^{\circ }\) Degrees per step. It has \(-\) 0.29% of \(\varDelta\) at 20 or 25 ms of A.

At 15 ms of A, it has 0.7% of RE \(_\mathbf{S }\) with 4.54\(^{\circ }\) Degrees per step and its corresponding value of \(\varDelta\) is \(-\) 0.19%. At 6 ms of A, it has 0.4% of RE \(_\mathrm{{S}}\) with fixed angular change in position of 1.6\(^{\circ }\) Degrees per step and its corresponding value of \(\varDelta\) is \(-\) 0.19% as shown in Table 6.

Table 6 RE \(_\mathrm{{S}}\) versus A of 30RPM GDCSM horizontal movement

4.3.2 Vertical movement

Step angle delay time (A) values are considered up to 25 ms for 30RPM GDCSM, and their corresponding RE \(_\mathrm{{S}}\) values are greater than the stepper motor models I, III & V as shown in Table 7.

Table 7 RE \(_\mathrm{{S}}\) versus A of 30RPM GDCSM vertical movement
Fig. 15
figure 15

RE \(_\mathrm{{S}}\) versus Step angle delay time (A) of 30RPM GDCSM

During horizontal movement, 30RPM GDCSM has RE \(_\mathrm{{S}}\) values less than the stepper motor model I at 6 or 15 ms of A as shown in Fig. 15. At 20 or 25 ms of A and their corresponding RE \(_\mathrm{{S}}\) values are less than the stepper motors models I, III & V.

During vertical movement, 30RPM GDCSM does not behave like stepper motor at values of A which are considered up to 25 ms, because their corresponding values of RE \(_\mathbf{S }\) are greater than the stepper motors models I, III & V. There is large value of slip degree per revolution which is due to frictional losses during vertical movement. At 1RPM, RE \(_\mathrm{{S}}\) value at 25 ms of A is less than the RE \(_\mathbf{S }\) value at 6 or 15 or 20ms of A. At 25 ms of A, it behaves like stepper motor during vertical movement If slip degree per revolution is controlled below 1% of RE \(_\mathrm{{S}}\).

During both horizontal and vertical movement of 30RPM GDCSM at 1RPM, its RE \(_\mathrm{{S}}\) value at 25 ms of A is less than RE \(_\mathrm{{S}}\) value of A at 6 or 15 or 20 ms.

4.3.3 30RPM GDCSM speed variations

RE \(_\mathrm{{S}}\) values with respect to speed variations are analyzed up to 5RPM during horizontal movement of 30RPM GDCSM as shown in Table 8.

At 25 ms of A, during horizontal movement of 30RPM GDCSM has 0.3% of RE \(_\mathrm{{S}}\) which is less than stepper motor model V and acceptable slippage degree tolerance but equals to stepper motor model III at 2RPM. At 3RPM, it has 0.8% of RE \(_\mathrm{{S}}\) which is greater than stepper motor models but less than the acceptable slippage degree tolerance. At 4RPM, it has 2.5% of RE \(_\mathrm{{S}}\) which is greater than slip degree per revolution and stepper models. At 5RPM, it has 0% of RE \(_\mathrm{{S}}\) which is less than the slip degree per revolution and stepper models.

At 20 ms of A, it has 0.0% of RE \(_\mathrm{{S}}\) which is less than stepper motor models and acceptable slippage degree tolerance at 2RPM. At 3RPM, it has 0.6% of RE \(_\mathrm{{S}}\) which is greater than stepper motor models but less than the acceptable slippage degree tolerance. At 4RPM, it has 3.3% of RE \(_\mathrm{{S}}\) which is greater than slip degree per revolution and stepper models. At 5RPM, it has 0% of RE \(_\mathrm{{S}}\) which is less than the slip degree per revolution and stepper models.

Table 8 Speed versus RE \(_\mathrm{{S}}\)(%) of 30RPM GDCSM during horizontal movement

At 15 ms of A, it has 0.7% of RE \(_\mathrm{{S}}\) which is greater than stepper motor models but less than the acceptable slippage degree tolerance at 2RPM. At 3RPM, it has 7.5% of RE \(_\mathrm{{S}}\) which is greater than stepper motor models and acceptable slippage degree tolerance. At 4RPM, it has 4.7% of RE \(_\mathrm{{S}}\) which is greater than slip degree per revolution and stepper models. At 5RPM, it has 1.9% of RE \(_\mathrm{{S}}\) which is greater than the slip degree per revolution and stepper models.

At 6 ms of A, as speed is increased from 2 to 5RPM it has very large values of RE \(_\mathrm{{S}}\) which are greater than stepper motor models and acceptable slippage degree tolerance.

RE \(_\mathbf{S }\) with respect to speed variations are analyzed up to 5RPM during vertical movement of 30RPM GDCSM as shown in Table 9.

Table 9 Speed versus RE \(_\mathrm{{S}}\)(%) of 30RPM GDCSM during vertical movement

As speed is increased from 2 to 4RPM, during vertical movement of 30RPM GDCSM at 15 or 20 or 25 of A and their corresponding values of RE \(_\mathrm{{S}}\) are very large while compared with stepper motor models and acceptable slippage degree tolerance. At 5RPM, it has 0.4% of RE \(_\mathrm{{S}}\) which is less than stepper motor model I and acceptable slippage degree tolerance at values ofA is 15 or 20 ms. It has 1% of RE \(_\mathrm{{S}}\) which is greater than stepper motor models and equal to acceptable slippage degree tolerance at 25ms of A. At 6 ms of A, it has 10.6% of RE \(_\mathrm{{S}}\) which is greater than the stepper motor models and acceptable slippage degree tolerance at 5RPM.

Fig. 16
figure 16

Speed versus RE \(_\mathrm{{S}}\)(%) of 30RPM GDCSM at 25 ms of step angle delay time (A)

30RPM GDCSM at 25 ms of A is performed better than the 20 ms of A at 1RPM while considering both horizontal and vertical movements.

At 2RPM, during both horizontal and vertical movement it behaves like stepper motor when its vertical movement of RE \(_\mathrm{{S}}\) value is less than acceptable slippage degree tolerance as shown in Fig. 16.

As speed is increased from 3 to 4RPM its slip degree per revolution is increased and their corresponding value of RE \(_\mathrm{{S}}\) is increased. At higher RPMs implementation of 30RPM GDCSM is possible when value of RE \(_\mathrm{{S}}\) is less than or equal to 1%. So minimization of slip degree per revolution is required as speed increases which should be less than or equal to acceptable slippage degree tolerance.

Analyzed that as step angle delay time (A) is increased and its corresponding value of RE \(_\mathbf{S }\) is decreased during implementation of GDCSM. If RPM is increased motor speed is increased and its corresponding value of D decreases so that slippage error is increased. In stepping method slippage error increases means some steps are missed during motor rotation even when the step angle (i.e., Degree per step) is constant. This happens when delay time signal of D \(\mu\)s which is passed between the steps is less than the actual execution time of delay instruction of microcontroller. Some steps are missed when RPM is increased which causes the increase in value of RE \(_\mathrm{{S}}\).

4.3.4 Motors cost and torque analysis

Table 10 Cost, Torque, Vertical step movement holding position (VSHP) of motors used in work

Stepper motor 28byj-48 with Driver ULN2003A has low cost, low torque compared to other motors. It cannot hold vertical step movement (VSHP) in low-speed application of solar panel which has weight of 300 g [22]. Stepper motor (2 KG) STP-43d1027-01 with Driver L293N (H bridge) has high cost compared to other motors. It cannot hold vertical degree change of solar panel of weight 300 g during its vertical movement.10 & 30RPM GDCSM has high torque as shown in Table 10. 10& 30 RPM GDCSM motors can hold easily solar panel vertical step movement even there is disturbance of air flow over the panel.

5 Conclusion

Microcontroller-based geared DC motors under open loop condition with stepping method (GDCSM) is proposed in this work which behaves like stepper motor. Switching delay time signals are control parameters used in Stepping method. Initial calibration method helps to identify the steps per revolution of geared DC motors. Minimized tolerance of supply voltage (V\(_\mathrm{{S}}\)) of GDCSM using CC & CV source helps to maintain the Fixed degree per step of GDCSM.

GDCSM motors are implemented in this work using micro-controller switching delay time signals. Using switching delay time signals, fixed degree per each step movement and required RPM are designed. Fixed degree per each step movement is designed based on fixed width of the pulse. Required RPM condition is implemented based on fixed time interval between the pulses.

Stepping method mechanism helps to operate degree based step movement of geared DC motors for low-speed tracking applications.

Simulation of Digital control signals of microcontroller for GDCSM and stepper motors model I &II are analyzed. Relative slip degree error per revolution (RE \(_\mathrm {{S}}\)) is used to compare the performance of the GDCSM to stepper motor models like I, III&V.

10RPM GDCSM has 120 steps per revolution which provides 3\(^{\circ }\) Degrees per step at 40 ms of step angle delay (A) time. At 40 ms of A, it has 0.0% of RE \(_\mathrm {{S}}\) with maximum Change in consuming voltage tolerance ( \(\varDelta\)) of \(-\) 0.39% at 1RPM. 10RPM GDCSM behaves like stepper motor up to 2RPM only.

30RPM GDCSM has 55 steps per revolution which provides 6.55\(^{\circ }\) Degrees per step at 25 ms of A. At 1RPM, it has 40 ms of A and 0.1% of RE \(_\mathrm{{S}}\) with maximum value of \(\varDelta\) is \(-\) 0.29% during horizontal movement and it has 1.9% of RE \(_\mathrm{{S}}\) with maximum value of \(\varDelta\) is \(-\) 0.39% during vertical movement. If its value of \(\varDelta\) controlled during vertical movement is less than or equal to \(-\) 0.29% 30RPM GDCSM behaves like stepper motor during vertical and horizontal movement at 1RPM. Controlling \(\varDelta\) value to maximum reduces the RE \(_\mathrm{{S}}\) value. 30RPM GDCSM behaves like stepper motor at 2RPM when its vertical movement of RE \(_\mathrm{{S}}\) value is less than acceptable slippage degree tolerance.

GDCSM behaves like stepper motor at low-speed conditions up to 2RPM only. GDCSM is used in low-speed applications like solar tracking systems. GDCSM can be operable at very low step angle delay time (A) (i.e., less than 1\(^{\circ }\) angular position change). GDCSM is used in low speed and holding a vertical angular position application where stepper motors like 28BYJ-48 or STP-43d1027-01 are unable to control vertical holding position. Minimization of RE \(_\mathrm{{S}}\) value as the speed is increased using step delay time (D) switching parameter in our future scope. Analyzing various load conditions of GDCSM will be further investigated.