0% encontró este documento útil (0 votos)
154 vistas5 páginas

Informe Lab#3-Robotica

Este documento proporciona una introducción al uso de Arduino y Matlab para interactuar con actuadores como motores. Explica brevemente las diferencias entre señales analógicas y digitales, y describe los componentes utilizados como el Arduino UNO, servomotores y motores DC. El objetivo principal es implementar algoritmos para la interacción entre Matlab y Arduino y reconocer las diferencias en el manejo de señales analógicas y digitales.

Cargado por

Marlon Boknegra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
154 vistas5 páginas

Informe Lab#3-Robotica

Este documento proporciona una introducción al uso de Arduino y Matlab para interactuar con actuadores como motores. Explica brevemente las diferencias entre señales analógicas y digitales, y describe los componentes utilizados como el Arduino UNO, servomotores y motores DC. El objetivo principal es implementar algoritmos para la interacción entre Matlab y Arduino y reconocer las diferencias en el manejo de señales analógicas y digitales.

Cargado por

Marlon Boknegra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

Robótica industrial, V Semestre

Universidad ECCI, Bogotá, D.C.


1
La señal digital, en cambio, va “a saltos”, pasa de un valor al
siguiente sin poder tomar valores intermedios.
INTERACCION
ACTUADORES EN
ARDUINO-MATLAB.
2020-II
M.Bocanegra(78714),J.Garcia(83062),S.Marín(788
49), J.Rodríguez(79191).
SERVOMOTOR SG90

Resumen –se evidencia el trabajo complementario que se ha


visto en clases de manera experimental utilizando el software
Matlab con ayuda de la tarjeta arduino uno, explicando el
funcionamiento de actuadores de movimiento con lo son los
motores.

I. INTRODUCCIÓN
Un sensor es un dispositivo para detectar y señalar una
condición de cambio. Con frecuencia, una condición de
cambio, se trata de la presencia o ausencia de cambio de un
objeto o material (detección discreta). También puede ser una
cantidad capaz de medirse, como un cambio de distancia,
tamaño o color (detección analógica). Los sensores posibilitan Este posee las sig. Características:
la comunicación entre el mundo físico y los sistemas de  Voltaje de operación: 4.8 V (~5 V)
medición y/o de control, tanto eléctrico como electrónicos,  Velocidad de operación: 0.1 s/60º
utilizándose extensivamente en todo tipo de procesos  Torque detenido: 1.8 kgf∙cm
industriales y no industriales para propósito de monitoreo,  Banda muerta: 10 μs.
medición, control y procesamiento.  Capacidad de rotación: 180º aprox. (90º en cada
dirección).
Los sensores se encargan de dotar de información sobre la  Peso ligero: 9 g.
parte interna y externa un robot. Los sensores internos se  Dimensiones compactas: Largo 22.2 mm, ancho 11.8
encargan de indicar el estado de la estructura mecánica, giros, mm, altura 31 mm aprox.
desplazamientos, fuerzas y pares.  Largo del cable: 25 cm aprox.
 Piñonería plástica de nylon,
Los actuadores responden a bucles o líneas de código que les  Incluye 3 brazos o cuernos (horns) y su tornillo de
permiten realizar acciones determinadas de acuerdo con las sujeción, 2 tornillos para montaje del servo y cable de
acciones tomadas por el sistema de control. Los actuadores conexión con conector.
utilizados es este caso son motores.
 Conector universal tipo "S" compatible con la
mayoría de receptores incluyendo Futaba, JR, GWS,
Cirrus, Blue Bird, Blue Arrow, Corona, Berg,
II. MARCO TEÓRICO
Spektrum y Hitec, entre otros

SEÑALES ANALÓGICAS Y DIGITALES

Cuando un equipo electrónico nos muestra una información,


puede hacerlo de forma analógica o de forma digital.

Analógica quiere decir que la información, la señal, para pasar


de un valor a otro pasa por todos los valores intermedios, es
continua.

1
Septiembre 12.
Robótica industrial, V Semestre
Universidad ECCI, Bogotá, D.C.

El Arduino UNO cuenta con la siguiente configuración de


pines:

 2 pines de alimentación a 5 V y 3,3 V que suministran la


tensión continua correspondiente, con una intensidad máxima
de 200 mA en el caso de 5 V y de 150 mA en el caso de 3,3V.
También cuenta con dos pines GND referidos a masa y de un
MOTOR DC (5V) pin Vin que proporciona un valor de tensión equivalente a la
 Motor DC de imán permanente y escobillas de una fuente de alimentación externa conectada a la tarjeta.
 Voltaje de operación nominal: 5 V
 Rango de voltaje de operación: 1 V a 7 V  14 pines de propósito general que pueden configurarse
 Velocidad de operación: < 15000 rpm como entradas o salidas digitales, con una tensión de
 Velocidad con carga: 11600 rpm operación de 5 V. Algunos de estos pines, además, tienen otras
 Carga recomendada: 0.49 mN·m posibles aplicaciones:
 Rango de cargas de operación: 0.1 mN·m a 0.98
mN·m  Pines 0 (RX) y 1 (TX): Se emplean para
realizar la comunicación serie (recepción y
 Corriente con carga: (5 V, 0.49 mN·m): 270 mA
transmisión de datos, respectivamente) con
máx.
dispositivos Bluetooth o con el PC a través
 Corriente sin carga: (5 V): 120 mA máx.
del cable USB.
 Corriente de arranque (5 V, 0.49 mN·m, método de
 Los pines 3, 5, 6, 9, 10 y 11 se pueden
los 2 puntos): 1300 mA (1.3 A) máx.
emplear como salidas de señales de
 Resistencia terminal ( 20 °C, posición del rotor a
modulación PWM, configurando el ciclo de
2R/3): 4.4 Ω ±10%
trabajo de una señal cuadrada periódica.
 Dirección de rotación en ambos sentidos Hardware 19
 Los pines 10, 11, 12 y 13 se pueden
ACCIONAMIENTO DE MOTORES
emplear para implementar una
Previo al accionamiento de los motores se realiza la siguiente
comunicación SPI síncrona entre el
configuración en donde se declaran los pines de la tarjeta
microcontrolador de la tarjeta y los distintos
arduino que son empleados como pines de lectura y escritura
periféricos conectados a la misma.
respectivamente:
 6 entradas analógicas, con un ADC interno
Se considera las lecturas en los pines de arduino, los mismo
de 10 bits de resolución (1024 valores para
que son activados de acuerdo con la programación y decisión
medir entre masa y 5V). El pin de entrada
tomada por tarjeta Arduino .
AREF se emplea para proporcionar el límite
superior de tensión leída y de esta forma
aumentar la precisión de la lectura realizada.
 2 series de 2 pines para establecer una
comunicación I2C con otros dispositivos.
 1 bus ISCP, que puede emplearse para
establecer comunicaciones de tipo serie o
SPI.

III. OBJETIVOS

 Implementar algoritmos de interacción entre


MATLAB y Arduino para su conexión con
actuadores y sensores externos.
ARDUINO UNO
Este incorpora un microcontrolador Atmega328P el cual posee  Reconocer la diferencia en el manejo de señales
las sig. Características: analógicas y digitales con el uso de Arduino I/O en
Matlab.
Robótica industrial, V Semestre
Universidad ECCI, Bogotá, D.C.

IV. RESULTADOS

 VELOCIDAD
1.Debe realizar un script capaz de modificar la velocidad de end
dos motores DC de forma independiente, y la velocidad de writeDigitalPin(a,'D3',1);
giro debe indicarse en RPM o rad/s. Si los motores se writeDigitalPin(a,'D5',1);
encuentran en funcionamiento, no pueden operar por debajo
del 30% o por encima del 90% de su máxima capacidad. end
(Control de velocidad en lazo abierto).

clear; 2. Realizar una estimación de del giro que tiene el eje de un


clc; motor DC, indicando la posición que se desea recorrer y la
RPM_max = 500; velocidad en RPM, rad/s o porcentaje de velocidad por la
Rads_max = RPM_max*2*pi/60; ventana de comandos. No es necesario considerar la dinámica
a = arduino(); de la planta o tener un sensor de realimentación, porque el
motor va a operar libre de carga.

%%
opcion = 0;
while(opcion~=3)

disp('Escoja una opcion para la


velocidad: ');
disp('1) RPM');
disp('2) Rad/s');
disp('3) Salir');
opcion = input('opcion: ');
switch opcion
case 1

sprintf('recuerde que la
velocidad maxima en RPM es de %d',RPM_max)
%control de velocidad para el
motor 1 en RPM
clear;
RPM = input('Ingrese la velocidad
clc;
que desea en el motor 1: ');
RPM_max = 500;
duty = RPM/RPM_max;
Rads_max = RPM_max*2*pi/60;
a = arduino();
%%
%control de velocidad para el
opcion = 0;
motor 2 en RPM
while(opcion~=4)
RPM2 = input('Ingrese la
posicion = input('Ingrese la posicion del
velocidad que desea en el motor 2: ');
motor en grados: ');
duty = RPM2/RPM_max;
disp('Escoja una opcion para la
velocidad: ');
case 2
disp('1) RPM');
sprintf('recuerde que la
disp('2) Rad/s');
velocidad maxima en rad/s es de %d',Rads_max)
disp('3) Porcentaje de velocidad');
%control de velocidad para el
disp('4) Salir');
motor 1 en Rad
opcion = input('opcion: ');
Rads = input('Ingrese la
switch opcion
velocidad que desea en el motor 1: ');
case 1
duty = Rads/Rads_max;
sprintf('recuerde que la
%control de velocidad para el
velocidad maxima en RPM es de %d',RPM_max);
motor 2 en Rad
RPM = input('Ingrese la velocidad
Rads2 = input('Ingrese la
que desea en el motor: ');
velocidad que desea en el motor 2: ');
duty = RPM/RPM_max;
duty = Rads2/Rads_max;
Robótica industrial, V Semestre
Universidad ECCI, Bogotá, D.C.

time = posicion/(RPM*360/60);
case 2
sprintf('recuerde que la
velocidad maxima en rad/s es de %d',Rads_max)
Rads = input('Ingrese la
velocidad que desea en el motor: ');
duty = Rads/Rads_max;
time =
posicion/(Rads*360/(2*pi));
case 3
porcentaje = input('Ingrese la
velocidad que desea en el motor');
duty = porcentaje/100;
time =
posicion/(porcentaje*RPM_max*360/60);
end
if (opcion~=4)
%writeDigitalPin(a, 'Dx', 1);
%writeDigitalPin(a, 'Dx', 0);
writePWMDutyCycle(a, 'D9', duty);
pause(time)
writePWMDutyCycle(a, 'D9', 0)
end
end

 POSICIÓN

3. Debe realizar un script para modificar el movimiento de al 4. Debe realizar un script para modificar el movimiento de al
menos dos servomotores de forma independiente con el menos dos servomotores. Se debe ingresar el valor angular
ingreso del ángulo entre 0 y 180 por la ventana de comandos. que deseo para los motores en un vector a través de la ventana
El motor que se desea mover debe ser seleccionado también de comandos. NO se escoge el motor, porque deben moverse
desde la ventana de comandos. El movimiento de los motores al tiempo, aunque el valor escogido para cada motor sea
debe ser independiente. B) Se repite lo anterior, pero el valor diferente. Se debe garantizar que ambos lleguen a su destino
ingresado debe estar entre -90 y 90. en el mismo periodo, intervalo o tiempo.
Robótica industrial, V Semestre
Universidad ECCI, Bogotá, D.C.

 Para alcanzar los objetivos propuestos fue necesario


5. De igual manera que se puede realizar un perfil de profundizar en la utilización del software Matlab y
velocidad, se puede realizar un perfil de movimiento. arduino, así como tener claro el sensor utilizado en la
En la figura 1, se muestra el perfil de movimiento que debe práctica para implementar sus aplicaciones y
seguir uno de los servomotores utilizados en el punto anterior. desarrollar la programación planteada en nuestro
laboratorio.

 Se evidencio la diferencia entre una señal analógica


la cual es continua, que puede tomar infinitos valores
y una señal digital que es discontinua, y sólo puede
tomar dos valores o estados: 0 y 1, que pueden ser
impulsos eléctricos de baja y alta tensión,
interruptores abiertos o cerrados.

VI. REFERENCIAS
[1] https://es.mathworks.com/discovery/arduino-
programming-matlab-simulink.html
[2] https://robologs.net/2014/01/12/arduino-y-matlab/
[3] http://robologs.net/2014/01/22/arduino-y-matlab-ii-
servomotores/
[4] https://www.electronicoscaldas.com/es/motores-y-
servos/270-motor-dc-iman-permanente-escobillas-5v-
ppn7pa12c1.html

Enlance a video Youtube


https://youtu.be/X_QXjn4KePk

V. CONCLUSIONES

 al utilizar dos tipos de sensores como lo es el motor


se observó una diferencia entre el motor dc y el
servomotor sg90:
1. El servomotor tiene un sistema de tres cables
conocido como alimentación, conexión a tierra y
control, mientras que el motor de CC es un sistema
de dos cables conocido como alimentación y
conexión a tierra.
2. El servomotor tiene un conjunto de cuatro cosas:
motor de CC, conjunto de engranajes, circuito de
control y sensor de posición. El motor DC no forma
parte de ningún conjunto.
3. El servomotor no gira libremente y continuamente
como el motor de corriente continua. Su rotación está
limitada a 180⁰, mientras que el motor de CC gira
continuamente.
4. Los servomotores se utilizan en brazos robóticos,
patas o sistema de control del timón y en carros de
juguete. Los motores de corriente continua se utilizan
en ventiladores, ruedas de automóviles, etc.

También podría gustarte