Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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)
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)
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
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:
n = número de pulsos
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:
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)
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.
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.
- 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.
- Impresoras
- Adaptadores de video
- Tarjetas de sonido (ALEGSA , 2010)
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.)
- 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.
ESP32 ESP32-CAM
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
Además, debemos conectar, solo para programarlo, en el modulo ESP32-CAM el GND al GPIO0.
Lista de referencias:
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/
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/
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/
Literatura:
ESPCam datasheet - https://loboris.eu/ESP32/ESP32-CAM%20Product%20Specification.pdf
FIRMAS