DIGITAL CONTROL
Rivas Motta Laura Daniela, Hernández Moreno Leidy Vanessa
Bogotá D.C
Manuela Beltrán University
[email protected],
[email protected] Each rotation from one electromagnet to the next is called
a "step", and therefore the motor can be rotated by precise
Abstract: Mechanical systems are those systems predefined step angles through a full 360-degree rotation
consisting mainly of components, devices or elements [1].
whose specific function is to transform or transmit the
movement from the sources that generate it, by Step by step motors are available in two varieties;
transforming different types of energy. The following unipolar or bipolar.
work shows an open-loop control, with a stepper motor
and a potentiometer to establish the user's angle, this B. CONTROL SYSTEM
value will increase or decrease depending on its value.
This will be displayed on the engine, which will have an In the design of control, systems there are two types of
angle measurement circle. open loop control and closed loop control.
Keywords – open loop, stepper motor, and angle.
For it to be considered as a control system it must have at
I. INTRODUCTION least three essential elements that are a variable to control,
an actuator and a reference point (set-point).[2]
A. STEP BY STEP MOTOR - Open loop:
Step by step motors require an external control circuit or An open loop control system is characterized by not
microcontroller (for example, a Raspberry Pi or receiving any information or feedback on the status of the
Arduino) to individually activate each electromagnet and variable, so these are usually used when the variable is
rotate the motor shaft [1]. predictable and has a wide margin of error, because you
can calculate the time or times you must repeat the cycle
When the electromagnet 'A' is activated, it attracts the to complete the process. [2]
teeth of the gear and aligns them, slightly offset from the
next electromagnet 'B'. When "A" is off and "B" is on,
the gear rotates slightly to align with "B", and so on
around the circle, with each electromagnet around the
gear activating and de-energizing in turn to create
rotation [1].
image 2 Open loop control system Recovered from
https://www.electronicshub.org/open-loop-system/
- Closed loop:
This system is more complete since it receives
information about the states that the variable is taking.
This feedback is achieved by placing sensors that send
information from key points of the process so that it can
Image 1. Step by step motor. Recovered from act autonomously. [3]
http://www.bytheway.com.co/servomotores/85-mini-micro-
servomotor-sg90-180-torque-18-kg-arduino-robotica.html
1,74 110
1,93 120
2,16 130
2,37 140
2,58 150
2,77 160
2,98 170
image 3 Closed loop system Recovered from 3,16 180
https://www.electronics-tutorials.ws/systems/closed-loop-
system.html
3,39 190
3,58 200
II. MATHEMATICAL DESIGN 3,75 210
3,91 220
4,11 230
Ilustración 1. Diagrama bloques lazo abierto.
Función de transferencia.
𝑌(𝑠)
𝐺(𝑠) =
𝑋(𝑠)
Corriente.
𝐴𝑟𝑑𝑢𝑖𝑛𝑜: 13𝑚𝐴 + 5 ∗ (40𝑚𝐴) = 213𝑚𝐴
𝑀𝑜𝑡𝑜𝑟 (28𝐵𝑌𝐽 − 48): 40 𝑚𝐴
Pasos
270°
= 0.26 Ilustración 2. Linealizacion potenciómetro (50KΩ).
1023
III. ANALYSIS OF RESULTS
Linealizacion
for the development of this practice the engine is used step
Voltage Grades by step which allows a rotation of 360°also a
0 0 potentiometer of 100kohms proposing a code in the
0,07 10 Arduino software simulating an open loop control system,
for this we did not take into account the return to zero
0,14 20
behaving in another way, at the time when the user moved
0,21 30 the potentiometer the engine turned towards the indicated
0,4 40 degree, not having the return did not behave as an open
0,6 50 bond or autonomously.
0,8 60
For open loop control a code was performed which was
0,95 70 not very successful because the engine did the opposite of
1,14 80 what was indicated was not achieved what was intended.
1,38 90
1,54 100 Finally, to visualize the change of degrees in the engine,
a format of a conveyor was performed, which was used as
a visual guide.
IV. CONCLUSIONS
From practice, it is understood that an open loop is
where the output signal does not affect the operation
of the total system. However, disturbances and
changes in calibration cause errors, and the output
may be different from that desired. Therefore, a
linearization of the potentiometer and a step
calculation were carried out, so that an offset was
avoided when the command signal was sent.
However, it is advisable to keep in mind the transfer
function as this allows us to characterize the input
and output ratios of components in such a way that it
can be previously known if the system will be stable
or not.
BIBLIOGRAYPH
[1] Anonymous, "TT MOTOR," 2017. [Online]. Available:
http://www.usattmotor.com/news/what-s-the-difference-
between-dc-servo-step-8387158.html.
[2] W. Verdugo, "SonRobots," 2018. [Online]. Available:
http://sonrobots.com/arduinos/motores-servomotores-y-
motores-paso-a-paso/.
[3] MECAFENIX, "CONTROL SYSTEM," 25 febrary 2019.
[Online]. Available:
https://www.ingmecafenix.com/automatizacion/sistema-
de-control/. [Accessed 11 september 2019].
Anexos
START
Include Libraries
Serial.begin(115200);
pinMode(p1,OUTPUT);
pinMode(p2,OUTPUT);
pinMode(p3,OUTPUT);
pinMode(p4,OUTPUT);
A=analogRead(A0)*0.35;
rA=round(angle);
resultado=A-actual;
A
F
resultado>0
derecha();
actual+=1;
F
resultado<0
izquierda();
actual-=1;
A
0 1 2
digitalWrite(p1,HIGH);digitalWrite(p2,LOW);digitalWrite(p3,LOW);digitalWrite(p4,LOW);
digitalWrite(p2,HIGH);digitalWrite(p1,LOW);digitalWrite(p3,LOW);digitalWrite(p4,LOW);
digitalWrite(p3,HIGH);digitalWrite(p2,LOW);digitalWrite(p1,LOW);digitalWrite(p4,LOW);
digitalWrite(p4,HIGH);digitalWrite(p2,LOW);digitalWrite(p3,LOW);digitalWrite(p1,LOW);
delayMicroseconds(timee);
0 1 2
d
i
g
i
digitalWrite(p4,HIGH);digitalWrite(p2,LOW);digitalWrite(p3,LOW);digitalWrite(p1,LOW);
t
digitalWrite(p3,HIGH);digitalWrite(p2,LOW);digitalWrite(p1,LOW);digitalWrite(p4,LOW);
a
digitalWrite(p2,HIGH);digitalWrite(p1,LOW);digitalWrite(p3,LOW);digitalWrite(p4,LOW);
l
digitalWrite(p1,HIGH);digitalWrite(p2,LOW);digitalWrite(p3,LOW);digitalWrite(p4,LOW);
W
r
i
t
e
(
p
1
,
H END
I
G
H
)
;