Está en la página 1de 10

CÓDIGO: SGC.DI.

505
GUÍA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017

DEPARTAMENTO DE
CARRERA
DEPARTAMENTO: CIENCIAS DE LA INGENIERÍA MECATRÓNICA
:
ENERGÍA MECÁNICA
TECNOLOGÍAS DE PERIODO MARZO 2020 –
ASIGNATURA: NIVEL:
SOFTWARE LECTIVO: JULIO 2020
ING. LUIS ESCOBAR PRACTICA
DOCENTE: NRC: 2.4
ING. PAUL MEJÍA N°:
LABORATORIO DONDE SE DESARROLLARÁ LA
INSTRUMENTACIÓN MECATRÓNICA
PRÁCTICA
TEMA DE LA MICROCONTROLADOR ESP32 – PINES DE INTERRUPCIÓN Y ENCODER, VISIÓN
PRÁCTICA: ARTIFICIAL
INTRODUCCIÓN:
INTERRUPCIONES

Las interrupciones son útiles para hacer que las cosas sucedan automáticamente en los programas de microcontroladores
y pueden ayudar a resolver problemas de tiempo. Con las interrupciones, no necesita verificar constantemente el valor
actual del pin. Cuando se detecta un cambio, se activa un evento (se llama a una función).

Cuando ocurre una interrupción, el procesador detiene la ejecución del programa principal para ejecutar una tarea y luego
vuelve al programa principal. Esto es especialmente útil para desencadenar una acción cada vez que se detecta
movimiento o cuando se presiona un botón sin la necesidad de verificar constantemente su estado. Los pines de
interrupción en la ESP32 son todos los GPIO, excepto, GPIO 6 al GPIO 11.

ENCODER

Encoder es un dispositivo de detección que proporciona una respuesta. Los Encoders convierten el movimiento en una
señal eléctrica que puede ser leída por algún tipo de dispositivo de control en un sistema de control de movimiento, tal
como un mostrador o PLC. El encoder envía una señal de respuesta que puede ser utilizado para determinar la posición,
contar, velocidad o dirección. Un dispositivo de control puede usar esta información para enviar un comando para una
función particular.

ESP32-CAM

Tarjeta de desarrollo ESP32 incluido cámara de 2 MPx. y dotado de un lector de tarjeta micro sd. Para su funcionamiento
independiente se debe utilizar un convertidor USB a TTL,
OBJETIVOS:
● Conocer capacidades del microcontrolador ESP32
● Pines de Interrupción
● Manejo de Visión Artificial
● Resolución de ejercicios propuestos
MATERIALES:
REACTIVOS: INSUMOS:
Dejar en blanco / No aplica Dejar en blanco / No aplica
EQUIPOS:
● PC portátil
● Microcontrolador ESP32
CÓDIGO: SGC.DI.505
GUÍA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017

● Microcontrolador ESPCam
● Conversor Interfaz Ft232rl Usb Ftdi Arduino Serial
● Protoboard (1)
● Cables
● Un motor DC
● Módulo encoder
● Rueda encoder
● Driver L298N, 2 motores
● ESP32-CAM
● Módulo USB to TTL (Cualquier modelo)

MUESTRA:
Dejar en blanco / No aplica
TRABAJO PREPARATORIO:
Consultar:
● Indique el funcionamiento de los pines de interrupción.

Las interrupciones son útiles para hacer que las cosas sucedan automáticamente en programas de
microcontroladores y pueden ayudar a resolver problemas de sincronización (RandomNerdTutorials, 2013). Con las
interrupciones, no es necesario verificar constantemente el valor actual del pin. Cuando se detecta un cambio, se
activa un evento (se llama a una función). Cuando ocurre una interrupción, el procesador detiene la ejecución del
programa principal para ejecutar una tarea y luego regresa al programa principal como se muestra en la figura
siguiente.

Figura 1. Esquema de funcionamiento de una interrupción. Copyright 2013 por RandomNerdTutorials.

Esto es especialmente útil para activar una acción cuando se detecta movimiento o cuando se presiona un
botón sin la necesidad de verificar constantemente su estado.

Pines de interrupción ESP32: puede usar todos los GPIO como interrupciones, excepto GPIO 6 a GPIO 11.

● Describa el funcionamiento de un encoder.

Utilizan diferentes tipos de tecnologías para crear una señal, que incluyen: mecánica, magnética, resistiva y óptica,
siendo la óptica la más común. En la detección óptica, el codificador proporciona información basada en la
interrupción de la luz.

El gráfico describe la construcción básica de un codificador rotatorio incremental que utiliza tecnología óptica. Un
rayo de luz emitido por un LED pasa a través del Code Disk, que tiene un patrón de líneas opacas (como los radios
de una rueda de bicicleta). A medida que el eje del codificador gira, el haz de luz del LED es interrumpido por las
CÓDIGO: SGC.DI.505
GUÍA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017

líneas opacas en el disco de código antes de ser recogido por el ensamblaje del fotodetector. Esto produce una
señal de pulso: luz = encendida; sin luz = apagado. La señal se envía al contador o controlador, que luego enviará
la señal para producir la función deseada. (Anónimo, ENCODER PRODUCTS COMPANY, 2016)

Figura 2. Representación de un encoder. Copyright 2016 por ENCODER PRODUCTS COMPANY.

Un encoder se compone básicamente de un disco conectado a un eje giratorio. El disco está hecho de vidrio o
plástico y se encuentra “codificado” con unas partes transparentes y otras opacas que bloquean el paso de la luz
emitida por la fuente de luz (típicamente emisores infrarrojos). En la mayoría de los casos, estas áreas bloqueadas
(codificadas) están arregladas en forma radial.

A medida que el eje rota, el emisor infrarrojo emite luz que es recibida por el sensor óptico (o fototransistor)
generando los pulsos digitales a medida que la luz cruza a través del disco o es bloqueada en diferentes secciones
de este. Esto produce una secuencia que puede ser usada para controlar el radio de giro, la dirección del movimiento
e incluso la velocidad. (Anónimo, Ingeniería Mecafenix, 2017)

● Indique y describa las características de 2 tipos de encoder.

Encoder óptico
- Encoder más usado.
- Compuesto por una fuente emisora de luz, un disco giratorio y un detector de luz “foto detector”.
- El disco está montado sobre un eje giratorio y dispone de secciones opacas y transparentes sobre la cara
del disco.
- La luz que emite la fuente es recibida por el fotodetector o interrumpida por el patrón de secciones opacas
produciendo como resultado señales de pulso que son leídas por un dispositivo controlador el cual incluye
un microprocesador para determinar el ángulo exacto del eje (Compañía Levantina de Reductores S.L.,
2020).

Encoder de cuadratura
- Tipo de encoder rotativo incremental el cual tiene la capacidad para indicar la posición, dirección y velocidad
del movimiento.
- Dentro de sus aplicaciones se pueden encontrar en muchos productos eléctricos de consumo.
- Sus principales ventajas son: su flexibilidad, sencillez y duración (Ingeniería Mecafenix, 2017).
CÓDIGO: SGC.DI.505
GUÍA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017

Figura 3. Encoder de cuadratura. Copyright 2020 por Ingeniería Mecafenix.

● A partir del uso de un encoder como puedo obtener la velocidad de un motor.

Esto es posible porque existe una relación lineal entre la frecuencia de pulso de un codificador y su velocidad de
rotación. En otras palabras, a medida que el codificador gira más rápido, la frecuencia del pulso aumenta al mismo
ritmo. La velocidad del codificador se puede determinar mediante uno de dos métodos: recuento de pulsos o
temporización de pulsos.

Conteo de pulsos

El conteo de pulsos utiliza un período de muestreo (t) y el número de pulsos (n) que se cuentan durante el período de
muestreo para determinar el tiempo promedio para un pulso (t / n). Conociendo el número de pulsos por revolución (N)
del codificador, se puede calcular la velocidad.

𝜔 = 2𝜋𝑛/𝑁𝑡

Dónde:

ω = velocidad angular (rad / s)

n = número de pulsos

t = período (s) de muestreo

N = pulsos por rotación


CÓDIGO: SGC.DI.505
GUÍA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017

Figura 4. Representación de pulsos del encoder Copyright 2017 por MOTION CONTROL TIPS

A bajas velocidades, la resolución del conteo de pulsos es pobre, por lo que este método se aplica mejor en aplicaciones
de alta velocidad.

Temporización de pulsos

Con el método de temporización de pulsos, una señal de reloj de alta frecuencia se cuenta durante un período de
codificador (el tono o intervalo entre dos líneas o ventanas adyacentes). El número de ciclos de la señal de reloj (m),
dividido por la frecuencia de reloj (f), da el tiempo para el período del codificador (el tiempo para que el codificador gire
un paso). Si el encoder PPR se indica con N, la velocidad angular del codificador viene dada por:

𝜔 = 2𝜋𝑓/𝑁𝑚

Dónde:

ω = velocidad angular (rad / s)

f = frecuencia de reloj (Hz)

m = número de ciclos de reloj

N = pulsos por rotación

A altas velocidades, puede haber muy poco tiempo entre pulsos para la sincronización de pulsos (también conocida
como frecuencia de pulso) para medir con precisión los ciclos de reloj, por lo que este método es el mejor para
aplicaciones de baja velocidad. (COLLINS, 2017)

● En que consiste el funcionamiento de un controlador.

Los controladores permiten simplificar la programación de las aplicaciones, es decir, funcionan como un traductor
entre el dispositivo de hardware y la aplicación (ALEGSA , 2010). El código se puede escribir de manera
independiente del dispositivo de hardware especifico que se este empleando. Estos comandos o códigos que son
escritos son tomados por el controlador del dispositivo, este los traduce en una serie de comandos de bajo nivel
CÓDIGO: SGC.DI.505
GUÍA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017

específicos para el dispositivo de hardware que le corresponde. Además, el dispositivo de hardware también puede
solicitar información al programa, siempre pasando por el controlador.

● ¿Qué tipos de controladores conoce, describa?

Drivers genéricos o universales


Algunos sistemas operativos cuentan con los llamados drivers genéricos para que ciertos componentes funcionen
inmediatamente al ser conectados. Los drivers universales se forman con líneas de código que permiten que el sistema
identifique automáticamente periféricos tales como el teclado y el mouse.

Drivers específicos
Ciertos componentes como las tarjetas de video, algunas cámaras web, redes WiFi e impresoras necesitan un software
específico para solucionar problemas de compatibilidad. Por esta razón es importante conocer las especificaciones del
dispositivo con el fin de instalar el controlador adecuado. (ALEGSA , 2010)

- Drivers de audio. Los hay para componentes de audio integrados en la placa base, modems o tarjetas de sonido
independientes. Un ejemplo típico son los drivers de audio Realtek AC97 o el HD Audio.

- De vídeo. Para tarjetas gráficas integradas en la placa y para tarjetas independientes. Los de ATI o NVIDIA están
entre los más habituales de este tipo.

- LAN o Ethernet. Son los que controlan los dispositivos de red por cable.

- Wireless, inalámbrico, Wi-Fi. Se aplican a dispositivos o componentes esenciales para las redes inalámbricas como
coonexiones a Internet a través de Wi-Fi o bluetooth.

- USB. Permiten usar los puertos USB que incluyen todos los equipos modernos.

- De escáneres, impresoras, ratones y teclados, webcams, etc.

- Del chipset. El chipset es un conjunto de circuitos integrados concebidos para trabajar con un tipo concreto de CPU.
Tienen una importancia crucial en las placas madre y en el rendimiento de muchos componentes y dispositivos.

- De la BIOS. Ve en ese enlace información detallada sobre esa parte esencial del PC. IMPORTANTE: No actualices
la BIOS o el llamado firmware de tu PC salvo si es imprescindible. Es un proceso delicado que puede acabar
estropeando sin arreglo tu PC. Si tienes que hacerlo, busca la ayuda de un técnico o un usuario avanzado.

● Escriba 3 ejemplos de la Aplicación de Controladores.

- Impresoras
- Adaptadores de video
- Tarjetas de sonido (ALEGSA , 2010)

● ¿Qué es visión Artificial?

Es una disciplina científica que incluye métodos para adquirir, procesar, analizar y comprender las imágenes del mundo
real con el fin de producir información numérica o simbólica para que puedan ser tratados por un ordenador. Tal y como
los humanos usamos nuestros ojos y cerebros para comprender el mundo que nos rodea, la visión artificial trata de
CÓDIGO: SGC.DI.505
GUÍA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017

producir el mismo efecto para que los ordenadores puedan percibir y comprender una imagen o secuencia de imágenes
y actuar según convenga en una determinada situación. Esta comprensión se consigue gracias a distintos campos
como la geometría, la estadística, la física y otras disciplinas. La adquisición de los datos se consigue por varios medios
como secuencias de imágenes, vistas desde varias cámaras de video o datos multidimensionales desde un escáner
médico. (Varios, s.f.)

Los sistemas de visión artificial se basan en sensores digitales protegidos dentro de cámaras industriales con ópticas
especializadas en adquirir imágenes, para que el hardware y el software puedan procesar, analizar y medir diferentes
características para tomar decisiones. (Cognex, s.f.)

● Indique 3 aplicaciones de Visión Artificial.

- Visión artificial para la detección de defectos


- Visión artificial para la metrología
- Visión artificial para lectura de códigos y caracteres OCR (ATRIA Innovation, 2019)

● ¿Indique las principales características de la ESPCam?

- Voltaje de Alimentación 5V
- Tipo de cámara: OV2640 2MP
- CPU 32 bits de doble núcleo de baja potencia
- Frecuencia principal de hasta 240 MHz
- Potencia informática de hasta 600 DMIPS
- Velocidad de reloj de hasta 160 MHz
- Soporta interfaces: UART / SPI / I2C / PWM / ADC / DAC
- Soporta cámaras OV2640 y OV7670, Flash Incorporado
- Soporta tarjetas TF microSD (Máximo 4 GB)
- Soporta la carga de imagen WiFi
- Compatible con modos de operación STA / AP / STA+AP (Ferretrónica, s.f.)

● Generar un cuadro comparativo estableciendo ventajas y desventajas entre el módulo que ha utilizado en
prácticas posteriores con la ESPCam.

Tabla 1. Comparación del módulo ESP32 vs ESP32-CAM

ESP32 ESP32-CAM

Voltaje de alimentación (USB): 5V DC Voltaje de alimentación de 5V DC

Módulo Wifi 802.11 b/g/n/e/i Módulo Wifi BT 802.11 b/g/n


Módulo Bluetooth: v4.2 BR/EDR and Bluetooth Low Módulo Bluetooth: v4.2 BR/EDR and BLE
Energy (BLE) standards
No cuenta con cámara Cámara OVA2640 2MP
Tiene un CPU Xtensa® Dual-Core 32-bit LX6 Tiene un CPU 32 bits de doble núcleo de baja
microprocessors potencia.
Potencia informática de hasta 600 DMIPS Potencia informática de hasta 600 DMIPS

Frecuencia de reloj de hasta 240 MHz Frecuencia de reloj de hasta 160MHz


CÓDIGO: SGC.DI.505
GUÍA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017

Incorpora ROM 448 Kb, SRAM 520 Kb, SRAM in


Incorpora SRAM 520 Kb, 4MPSRAM externa
RTC 16 Kb y QSPI Flash/SRAM in RTC 16 Kb
Soporta interfaces SPI/ I2C / I2S / UART / PWM / Soporta interfaces UART / SPI / I2C / PWM / ADC /
ADC / DAC / CAN / Ethernet MAC DAC
No cuenta con soporte de tarjetas microSD Soporta tarjetas TF microSD (Máximo 4GB)

Chip USB-Serial CP2102 No cuenta con chip de comunicación serial

● En un diagrama indicar los pines de la ESPCam.

Figura 5. Diagrama de pines ESPCam. Copyright 2020 por Ferretrónica

● Describa el proceso de conexión de la ESPcam con el computador.

Primeramente, para cargar el programa en el ESP32-CAM, al no contar con un puerto USB, es necesario utilizar un
conversor USB-Serial, como se muestra en el siguiente esquema (Sampallo, 2019).

Figura 6. Conexiones del ESP32-CAM para programarlo. Copyright 2020 por Profe Tolocka.
CÓDIGO: SGC.DI.505
GUÍA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017

Tabla 2. Pines de conexión de los módulos

Conversor USB-Serial ESP32-CAM


RX TX
TX RX
VCC 5V (No conectarlo a 3V3)
GND GND

Además, debemos conectar, solo para programarlo, en el modulo ESP32-CAM el GND al GPIO0.

Lista de referencias:

ALEGSA . (2010). Diccionario de informática y tecnología. Obtenido de


https://www.alegsa.com.ar/Dic/controlador_de_dispositivo.php

Alldatasheet. (s.f.). ESP32 Datasheet. Obtenido de https://pdf1.alldatasheet.com/datasheet-


pdf/view/1243003/ESPRESSIF/ESP32.html

Anónimo. (25 de 02 de 2016). ENCODER PRODUCTS COMPANY. Obtenido de ENCODER PRODUCTS COMPANY:
http://encoder.com/blog/company-news/what-is-an-encoder/

Anónimo. (28 de 04 de 2017). Ingeniería Mecafenix. Obtenido de Ingeniería Mecafenix:


https://www.ingmecafenix.com/automatizacion/encoder/

ATRIA Innovation. (2019). 7 aplicaciones de la visión artificial. Obtenido de https://www.atriainnovation.com/siete-


aplicaciones-vision-artificial/

Cognex. (s.f.). COGNEX. Obtenido de COGNEX: https://www.cognex.com/es-ar/what-is/machine-vision/what-is-


machine-vision

COLLINS, D. (30 de 07 de 2017). MOTION CONTROL TIPS. Obtenido de https://www.motioncontroltips.com/how-are-


encoders-used-for-speed-
measurement/#:~:text=In%20other%20words%2C%20as%20the,pulse%20counting%20or%20pulse%20timing
.&text=Incremental%20encoders%20often%20output%20signals,90%20degrees%20(in%20quadrature).:
https://www.motioncontroltips.com/how-are-encoders-used-for-speed-
measurement/#:~:text=In%20other%20words%2C%20as%20the,pulse%20counting%20or%20pulse%20timing
.&text=Incremental%20encoders%20often%20output%20signals,90%20degrees%20(in%20quadrature).

Compañía Levantina de Reductores S.L. (2020). Tipos de encoders y aplicaciones en motores. Obtenido de
https://clr.es/blog/es/tipos-de-encoders-aplicaciones-motores/

Ferretrónica. (s.f.). Ferretrónica. Obtenido de Ferretrónica: https://ferretronica.com/products/esp32-cam-modulo-


wifi-con-bluetooth-y-camara-ov2640-2mp
CÓDIGO: SGC.DI.505
GUÍA PARA LAS PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA REVISIÓN:
LABORATORIO, TALLER O CAMPO. 12/04/2017

Ingeniería Mecafenix. (2017). Encoder ¿como funciona? y sus tipos. Obtenido de


https://www.ingmecafenix.com/automatizacion/encoder/

Profe Tolocka. (2020). Probando el streaming de video con ESP32-CAM y Arduino IDE. Obtenido de
https://www.profetolocka.com.ar/2020/07/15/probando-el-streaming-de-video-con-esp32-cam-y-aduino-
ide/

RandomNerdTutorials. (2013). MicroPython: interrupciones con ESP32 y ESP8266. Obtenido de


https://randomnerdtutorials.com/micropython-interrupts-esp32-esp8266/

Sampallo, G. (2019). ESP32-Cam: primeros pasos y algo de Python. Obtenido de


https://www.gsampallo.com/2019/09/24/esp32-cam-primeros-pasos-y-algo-de-python/

Shenzhen AI-Thinker Technology Co. (2017). ESP32-CAM Module. Obtenido de https://loboris.eu/ESP32/ESP32-


CAM%20Product%20Specification.pdf

Varios. (s.f.). Wikipedia. Obtenido de Wikipedia: https://es.wikipedia.org/wiki/Visi%C3%B3n_artificial

Literatura:
ESPCam datasheet - https://loboris.eu/ESP32/ESP32-CAM%20Product%20Specification.pdf

FIRMAS

F: …………………………………… F: ……………………………………… F: ………………………………………

Paúl Mejía Carlos Camacho Kevin Tashiguano


DOCENTE ESTUDIANTE 1 ESTUDIANTE 2

También podría gustarte