Está en la página 1de 17

Automatizacin

Industrial
RNA para el control de dos motores
DC con un grupo de perceptrones
Christian Fonseca
Henry Parrales
Richard Toasa

2015

Autor: Mecatrnica

INTEGRANTES:

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

TEMA
CONSTRUCCIN Y ENTRENAMIENTO DE UNA RNA PARA EL CONTROL DE DOS MOTORES DC CON
UN GRUPO DE PERCEPTRONES.

OBJETIVOS

Implementar dos neuronas artificiales con amplificadores operacionales para el control de dos
motores DC de manera que se tenga la posibilidad de entrenar al sistema para mejorar los
parmetros de velocidad y direccin.

Establecer la programacin para simplificar los comparadores dentro del sistema y generar las
salidas de las neuronas adaptables para los dos motores DC que simulan el desplazamiento de un
carrito guiado por una RNA.

Verificar que las tablas de verdad se cumplan dentro del entrenamiento de las neuronas, tanto para
generar el control en la velocidad de los motores en lento y rpido, as como en el direccionamiento
dependiendo si el carrito gira para la derecha, se debe prender el motor izquierdo y para la izquierda
con el motor derecho encendido.

MARCO TERICO
Red Neuronal Artificial
Es una estructura compuesta de un nmero de unidades interconectadas (neuronas artificiales). Cada unidad
posee una caracterstica de entrada/salida e implementa una computacin local o funcin. La salida de
cualquier unidad est determinada por su caracterstica de entrada/salida, su interconexin con otras
unidades, y (posiblemente) de sus entradas externas. Sin embargo, es posible un trabajo a mano, la red
desarrolla usualmente una funcionalidad general a travs de una o ms formas de entrenamiento.
(Universidad de las Americas Puebla , s.f.)

Arquitectura de una red neuronal


Una vez definida el tipo de neurona que se utilizar en un modelo de redes neuronales artificiales es
necesario definir la topologa de la misma. La organizacin y disposicin de las neuronas dentro de una red
neuronal se denomina topologa y viene dada por el nmero de capas, la cantidad de neuronas por capa, el
grado de conectividad, y el tipo de conexin entre neuronas.
Las neuronas suelen agruparse en unidades funcionales denominadas capas. Se denomina capa de entrada a
aquella que est compuesta por neuronas de entradas y por lo tanto recibe informacin procedente desde el
exterior. Anlogamente, se denomina capa oculta y capa de salida a aquellas capas que estn compuestas
por neuronas ocultas y de salida respectivamente.

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

Una red neuronal artificial est compuesta por una o ms capas, las cuales se encuentran interconectadas
entre s. Entre un par de neuronas de la red neuronal artificial pueden existir conexiones. Estas conexiones
son las sinapsis, tienen asociadas un peso sinptico, y son direccionales.
Cuando la conexin se establece entre dos neuronas de una misma capa hablamos de conexiones laterales o
conexiones intra-capa. Por el contrario, si la conexin se establece entre neuronas de distintas capas se la
denomina conexin inter-capa. Si la conexin se produce en el sentido inverso al de entrada-salida la
conexin se llama recurrente o realimentada.
Una red puede estar formada por una nica capa de neuronas. En este caso hablamos de redes monocapa, y
las neuronas que conforman dicha capa cumplen la funcin de neuronas de entrada y salida
simultneamente. Cuando la red est compuesta por dos o ms capas hablamos de redes multicapa. A su
vez, hablamos de redes neuronales con conexin hacia delante (redes feedforward) cuando las conexiones
entre las distintas neuronas de la red siguen un nico sentido, desde la entrada de la red hacia la salida de la
misma. Cuando las conexiones pueden ser tanto hacia delante como hacia atrs hablamos de redes
recurrentes

Perceptrn
Es una estructura neuronal ms una regla de aprendizaje. Como se explicaba anteriormente, una neurona se
compone de un conjunto de entradas, cada una con un peso, que se introducen en el cuerpo de la misma
para su procesamiento. (Valle)

Limitantes
El perceptrn es capaz tan slo de resolver funciones definidas por un hiperplano (objeto de dimensin N-1
contenida en un espacio de dimensin N). que corte un espacio de dimensin N. Un ejemplo de una funcin
que no puede ser resuelta es el operador lgico XOR.
Una explicacin ms sencilla de un hiperplano sera, hablando en un plano de dos dimensiones, una lnea
que separa a los elementos existentes en dos grupos. El perceptrn slo puede resolver una funcin, si todos
los posibles resultados del problema pueden separarse de sta forma (en dos secciones) es decir, que no se
combinen entre s. (Electrnica, s.f.)

Aplicaciones
El rango de tareas que el perceptrn puede manejar es mucho mayor que simples decisiones y
reconocimiento de patrones. Por ejemplo, se puede entrenar una red para formar el tiempo pasado de los
verbos en ingls, leer texto en ingls y manuscrito. El perceptrn multicapa (MLP) puede ser usado para la
prediccin de una serie de datos en el tiempo; tal a sido su xito en la medicin de la demanda de gas y
electricidad, adems de la prediccin de cambios en el valor de los instrumentos financieros.
Prediccin de mercados financieros, diagnsticos mdicos, el perceptrn como una red codificadora, el
perceptrn aprende a sumar enteros.

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

Figura 1 Perceptrn. Tomado de: (Universidad Autnoma del Estado de Hidalgo , s.f.)

Motor de corriente continua


Un motor elctrico de Corriente Continua es esencialmente una mquina que convierte energa elctrica en
movimiento o trabajo mecnico, a travs de medios electromagnticos.

Fundamentos de operacin de los motores elctricos


En magnetismo se conoce la existencia de dos polos: polo norte (N) y polo sur (S), que son las regiones
donde se concentran las lneas de fuerza de un imn. Un motor para funcionar se vale de las fuerzas de
atraccin y repulsin que existen entre los polos. De acuerdo con esto, todo motor tiene que estar formado
con polos alternados entre el estator y el rotor, ya que los polos magnticos iguales se repelen, y polos
magnticos diferentes se atraen, produciendo as el movimiento de rotacin. (Carletti, s.f.)

Figura 2 Micro motores elctricos

LM741
Es un amplificador operacional monoltico de altas caractersticas. Se ha diseado para una amplia gama de
aplicaciones analgicas. Un alto rango de voltaje en modo comn y ausencia de lacth-up tienden a hacer el
uA 741 ideal para usarlo como un seguidor de tensin.
La alta ganancia y el amplio rango de voltaje de operacin proporcionan unas excelentes caractersticas,
aprovechables para integradores, amplificadores, sumadores y en general, aplicaciones de realimentacin.
(Ladelec, s.f.)
Caractersticas
No requiere compensacin en frecuencia.

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

Est protegido contra cortocircuitos.


Tiene capacidad para anular el voltaje de offset.
Posee un alto rango de tensin en modo comn y voltaje.

Aplicaciones
Este circuito integrado tiene muy diversas aplicaciones, utilizndose ms usualmente en: seguidores de
tensin de ganancia unidad, amplificadores no inversores, amplificadores inversores integradores,
diferenciadores.
Amplificador Inversor
La seal de entrada Vi se introduce por el terminal inversor del A.O.

Figura 3 Amplificador Inversor

Amplificador no inversor
La seal de entrada Vi se aplica al terminal no inversor del A.O.
La seal de salida Vo, est en fase con la de entrada.

Figura 4 Amplificador no inversor

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

Sumador inversor
Se le llama tambin amplificador inversor multicanal.
El siguiente circuito constituye un A.O. sumador inversor de 3 canales.

Figura 5 Sumador inversor

DESARROLLO
1. Para realizar el control de un micro motor a travs del entrenamiento de dos neuronas se realiza las
siguientes actividades:

Entrenamiento

Entrenar a una neurona para que decida la direccin de un sistema que consta de dos interruptores
y que va a girar hacia la izquierda o hacia la derecha por medio de un micro motor, dependiendo qu
interruptor se active. La segunda neurona ser entrenada para decidir a qu velocidad va a girar el
sistema antes mencionado de acuerdo con la combinacin que presenten dos interruptores.

Implementacin
Luego se realiza la implementacin de las dos neuronas que se va a utilizar. El tipo de entrenamiento que se
us para ambas neuronas fue el del perceptrn convencional. Por lo que, el perceptrn es un modelo que
ayuda a dividir patrones linealmente separables y lo que hace este entrenamiento es deducir cundo una
entrada pertenece a una de las dos clases. Adems, se construye tablas de verdad que fueran linealmente
separables para cada una de las neuronas, y de acuerdo con dichas tablas se realiza su entrenamiento. Y en
vista de que el entrenamiento consiste en encontrar los pesos que estn relacionados con cada una de las
entradas y con el umbral. Las tablas de verdad requeridas son las siguientes:

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

Tabla 1 Neurona de direccin


V1 V2 Salida
0
0
0
0
1
0
1
0
1
1
1
1
Donde: 1 0

Tabla 2 Neurona de velocidad


V1 V2 Salida
0
0
0
0
1
0
1
0
0
1
1
1
Donde: 1 0
En cada uno de los casos se tiene un umbral = 2.
Tabla 3 Inicializacin de los pesos
Neurona de direccin:
=
=
=
Los pesos resultantes son:
=
= .
= .

Neurona de velocidad:
1 = 1
2 = 1
= 1
Los pesos resultantes son:
1 = 0.55
2 = 0.45
= 1.14

Para poder implementar las neuronas por medio de Op-Amp se realiz el siguiente anlisis: sabemos que
para un perceptrn el clculo de la salida aplicado a nuestro caso se hace por medio de la siguiente ecuacin:
() = [1 1 + 2 2 ]
Para cada una de las combinaciones de entrada tenemos un resultado que es el que se evala en la funcin.
Cabe mencionar que el 0 equivale a 0 V y el 1 a 5V.
Para el caso de la neurona de direccin:
0 00
= 1.2(2) = 2.4

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

0 10
= 0.5(5) 1.2(2) = 0.1

1 01
= 3(5) 1.2(2) = 12.6

1 11
= 3(5) + 0.5(5) 1.2(2) = 15.1

Para el caso de la neurona de velocidad:


0 00
= 1.14(2) = 2.2

0 10
= 0.45(5) 1.14(2) = 0.03

1 01
= 0.55(5) 1.14(2) = 0.47

1 11
= 0.55(5) + 0.45(5) 1.14(2) = 2.72

De acuerdo con la ecuacin, se hace la sumatoria de todos los pesos multiplicados por sus respectivas
entradas, esto por medio de Op-Amps se logra con un sumador inversor, que aplicado a nuestro caso tiene
la siguiente configuracin:

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

Figura 6 Configuracin mediante Amplificador Operacional.



= ( +
+ )
1 2 3
Para la neurona de direccin, el caso de la entrada del V (V umbral) se resuelve por medio de otro
amplificador que logre darnos la salida que deseamos, que en este caso es de -2.4. El Op-Amp que se us fue
un inversor, gracias a que el valor de umbral se resta en la ecuacin. Su configuracin es la que se muestra a
continuacin

Figura 7 Configuracin mediante Amplificador Operacional Inversor.


=

Se fija el valor de la resistencia R2 y obtenemos el valor de la resistencia R1. El Vin es de 2V, que fue el valor
que le damos al umbral, y el de salida es el que tenemos al multiplicarlo por su peso (=1.2).
= 2
= 2.4
1 = 10
1 =

2
10
=
(2)
(2.4)

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

1 = 8.3
2 = 8. .3
Los valores de las resistencias R2 y R3 se obtienen igual que en el caso del valor del umbral. La resistencia Rf
se fija en 10K.
Para el caso de V1:
= 10
= 5 ( 1 5)
= 15( = 3)
2 =

10
=
(5)

15
2 = 3.3

Para el caso de V2:


= 10
= 5 ( 1 5)
2 =

10
=
(5)

2.5
2 = 20

Para la neurona de velocidad, el caso de la entrada del Vq (Vu mbral) se resuelve tambin por medio de otro
amplificador que logre darnos la salida que deseamos, que en este caso es de 22.28. El Op-Amp que se
utiliz fue un inversor, gracias a que el valor de umbral se resta en la ecuacin. Y su configuracin es la
misma que us para el umbral de la neurona de direccin.
Fijamos el valor de la resistencia R2 y obtenemos el valor de la resistencia R1. El Vin es de 2V, que fue el
valor que le damos al umbral, y el de salida es el que tenemos al multiplicarlo por su peso (=1.14).
= 2
= 2.28
1 = 10
1 =

2
10
=
(2)

2.28
2 = 8.7

Los valores de las resistencias R2 y R3 se obtienen igual que en el caso del valor del umbral. La resistencia Rf
se fija en 10K.

1
0

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

Para el caso de V1:


= 10
= 5( 1 5)
= 2.75(=0.55)
2 =

10
=
(5)

2.75
2 = 18.18

Para el caso V2:


1 = 10
= 5( 1 5)
= 2.25(=0.45)
2 =

1
10
=
(5)

2.25
2 = 22.2

En ambos casos (tanto para la neurona de direccin como para la neurona de velocidad) la salida del
sumador es de signo contrario al que en realidad debe de tener, debido a la configuracin inversora que se
utiliz. Por ello se us un inversor de ganancia unitario para cambiar el valor del voltaje de salida que tiene el
sumador. La configuracin de dicho inversor es la siguiente

Figura 8 Configuracin Inversor de ganancia unitaria.


=

Donde:
Vo es el que se obtiene de la salida del sumador, el valor depende de lo que se encuentre en V1 y en V2.
Vout es el mismo valor que Vo pero con signo contrario.
R1510k

1
1

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

R2510k
Como se muestra en la ecuacin, la salida se tiene que evaluar en una funcin; en nuestro caso esta
evolucin se hace por medio de un Op-Amp que tiene configuracin de comparador. El diseo de un
comparador es siguiente.

Figura 9 Configuracin Compensador.


El valor que sale del ltimo inversor se compara con 2.5V, si el valor es mayor se va a 1 (5V) y si el valor es
menor a 2.5V se va a 0 (0V).

Figura 10 Programacin para la comparacin en Arduino

El diseo completo de cada una de las neuronas es el que se muestra a continuacin:

1
2

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

Figura 11 Diseo completo de la neurona.


Una vez que las neuronas se encuentran entrenadas y listas con los amplificadores operacionales, se
desarrolla la parte del controlador de los micromotores.
2. Programacin de Arduino
//CONTROL DE MOTOR MEDIANTE UN GRUPO DE PERCEPTRONES
//Variables anlogas a emplear
const int Direccion=A0; const int Velocidad=A1; const int Comparacion=A2;
//Variables digitales
int ledD=13; int ledV=12;
//Variables de direccin del motor
//Motor 1
int d1=11; int d2=10;

1
3

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

//Motor 2
int d3=7; int d4=6;
//variable de seal PWM
int vel=9;
void setup ( ) {
//declaracion de variables como salida
pinMode(ledD, OUTPUT); pinMode(ledV, OUTPUT); pinMode(d1, OUTPUT); pinMode(d2, OUTPUT);
pinMode(d3,OUTPUT); pinMode(d4, OUTPUT);
}
void loop ( ) {
int Vin1=analogRead(Direccion); int Vin2=analogRead(Velocidad); int Vcomp=analogRead(Comparacion);
delay(500);
//*******Condicin de comparacin Direccin
if (Vin1>Vcomp){
//Indicador de la tabla de verdad
digitalWrite(ledD, HIGH); //1 giro izquierda
//Direccion del motor 1
digitalWrite(d1, HIGH); digitalWrite(d2, LOW);
//Direccion del motor 2
digitalWrite(d3, HIGH); digitalWrite(d4, HIGH);
}
else{
digitalWrite(ledD, LOW); // 0 giro derecha
//Direccin del motor 1
digitalWrite(d1, HIGH); digitalWrite(d2, HIGH);
//Direccin del motor 2
digitalWrite(d3, HIGH); digitalWrite(d4, LOW);
}

1
4

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

//******Condicin de comparacin Velocidad


if (Vin2>Vcomp){
digitalWrite(ledV, HIGH); analogWrite(vel,255);
}
else{
digitalWrite(ledV, LOW); analogWrite(vel,127);
}
}
3. Implementacin del circuito.

Figura 12 Implementacin del circuito

ANALISIS DE RESULTADOS
Comprobacin de la neurona de direccin
V1
0
0
1
1

V2
0
1
0
1

Salida
0
0
1
1

1
5

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

Figura 13 Activacin o desactivacin del bit de control

V1=0 V2= 0 Salida=0


V1=0 V2=1 Salida=0
V1=0 V2=0 Salida=1
V1=1 V2=1 Salida=1

Comprobacin de la neurona de velocidad


V1
0
0
1
1

V2
0
1
0
1

Salida
0
0
0
1

V1=0 V2=0 Salida=0


V1=0 V2=1 Salida=0
V1=1 V2=0 Salida=0
V1=1 V2=1 Salida=1

CONCLUSIONES
Para la implementacin de dos neuronas con amplificadores operacionales se logr constatar el
resultado del entrenamiento pudiendo verificar los resultados de la tabla de verdad para el motor.
Determinamos las caractersticas de funcionamiento entre la generacin de redes neuronales, as
como tambin los distintos tipos de configuracin para su implementacin con amplificadores
operacionales.

1
6

RNA para control de motor de pasos con un grupo de perceptrones Mecatrnica

Se pudo verificar el accionamiento de los micro motores como se haba estipulado, ya que el sistema
respondi correctamente segn el ingreso de las seales por los interruptores y de esta forma se
direccion al carrito con la alternancia de los micromotores a la velocidad respectiva.
RECOMENDACIONES
Realizar un estudio preventivo de las configuraciones del circuito, as tambin de los valores e
implementos utilizados.
Realizar una simulacin de la configuracin de las neuronas, ya que puede existir algn error que se
encuentre las conexiones de cada una de las configuraciones de los amplificadores operacionales.
Utilizar implementos de verificacin como son multmetros, simuladores, para comprobar que los
voltajes de salida sean los deseados, as tambin para poder enviarlos al Arduino, que ser nuestro
comparador y por lo tanto le dar salida a nuestras neuronas.

1
7