Uploaded by jorgecojapco11

PROTOTIPO DE SISTEMA DE CONTROL PID

advertisement
Integrantes
190325 Christian Israel Cortes Navarro
190526 Gabriel Montoya Guitron
190377 Aurelio de Jesús Castañeda Vázquez
190462 Alan Fernando Pérez Cuevas
190341 Jorge Omar Ortega Cojapco
190533 Jehu Stiward García
180133 Jesús Fernando Hernández Tavares
Grupo
9AM Mecatrónica
Maestro
Ing. José Antonio Núñez López
Materia
Integración de sistemas mecatrónicos y robóticos
Levitador neumático
12 de julio del 2022, Mexicali, Baja California
RESUMEN
Platicando en equipo, llegamos a la selección sobre el proyecto a entregar.
La innovación que queremos realizar es un proyecto que consiste en un levitador
neumático que constara de un sistema de control que mantendrá levitando una pequeña
pelota a una altura establecida independientemente de las perturbaciones que esta
pueda sufrir.
El objetivo de este proyecto como tal es implementar correctamente el área de
programación y el área del diseño físico del proyecto, ya que todo en conjunto debería
trabajar como lo tenemos pensado.
La probabilidad que tenemos de que este proyecto salga rentable y funcional es
cuestionable debido a la complejidad del mismo, pero esperamos que la combinación de
la participación de todas las personas del equipo nos permita aplicar correctamente todos
los elementos necesarios para el proyecto como lo son el área de la programación,
diseño, investigación y ensamble físico de forma que aumenten las probabilidades de
éxito del proyecto.
PLANTEAMIENTO DEL PROBLEMA
Tanto en la industria como en el ámbito estudiantil es muy difícil para los principiantes
conseguirse con la idea o la ejemplificación de que es un “Control PID”, y muchas veces
se preguntan:
¿Qué es un controlador PID?
¿Como funciona un controlador PID?
¿Para qué sirve un controlador PID?
Es por ello que decidimos hacer un proyecto en el cual podremos ejemplificar de manera
muy practica y visual la forma en la que se ejecuta un PID y así poder contestar las
preguntas anteriormente mencionadas.
JUSTIFICACIÓN Y USO DE RESULTADOS
Como vimos previamente, este trabajo requiere de un sistema PID para que pueda
calcular la potencia que debe tener el motor del ventilador para que este controle la altura
a la que se encuentra la pelotita flotante en el aire.
Esto es importante puesto que esto no solo se aplica en este proyecto, en las industrias
son utilizados en diversos elementos, tales como las bandas transportadoras (para poder
trasladar rápido los productos a estaciones donde requiera intervención y ya en las zonas
donde se ocupa realizar movimientos estas disminuyen su velocidad de acuerdo a como
se requiera), drones (para que así puedan mantenerse a flote y no desciendan de golpe
por haber llegado a una altura estipulada, al mismo tiempo para mantener la cámara en
una misma posición y que este no “vibre” cuando haya leves temblores), etcétera.
ACTIVIDADES PLANEADAS PARA LA REALIZACIÓN DEL PROYECTO
Para la realización de este proyecto, primero que nada, hubo una organización previa
por parte del grupo o del equipo, ya que se estuvo tomando en cuenta varios proyectos
a realizar hasta que nos pusimos de acuerdo y tomamos el de hacer que un ventilador
pueda levantar un objeto no pesado que pueda ser elevado por el mismo aire que genere
el ventilador, y también podremos controlar la intensidad del aire para determinar que
tanto queremos que se eleve o baje el objeto puesto a prueba.
Y las actividades que tendremos y cuenta a realizar son algunas que mencionaré
enseguida Comenzaremos con la organización de las tareas que les serán asignadas a
cada uno de los integrantes del equipo, ya que algunos son mejores que otros en cuanto
a programación, realización de documentos, etc.
Después procederemos a ir creando un reporte de cada cosa que se valla a ocupar para
el proyecto, como el planteamiento del problema (justificación), los resultados obtenidos,
cronogramas, precios o costos, etc.
A como se vaya avanzando en el reporte, se irá trabajando en el proyecto ya
mencionado, se ira consiguiendo materiales con los cuales trabajaremos, ya sea nuestra
tarjeta a programar, el ventilador con la potencia buscada, el objeto que estará encima
del ventilador, nuestro sistema de cómputo (laptop), cables y todo lo que se valla
necesitando.
Lo siguiente será comenzar a hacer pruebas con la programación, en nuestro caso
utilizaremos Psoc 5 para programar, también se utilizará el Matlab para poder conseguir
gráficas en donde nos indiquen como está bajando y subiendo la potencia e indicar en
donde exactamente está situada el objeto. Al finalizar y haber obtenido con éxito lo
buscado, se comenzará a hacer montaje de todo, tanto del ventilador junto con la tarjeta,
vincular Matlab con el mismo ventilador o con lo que sea necesario para graficar la
potencia del aire y el posicionamiento. Y solamente terminar el dicho reporte con todas
las especificaciones indicadas y todos los códigos de programación, etc.
CRONOGRAMA
LISTADO DE RECURSOS NECESARIOS PARA LA EJECUCIÓN DEL
PROYECTO
Lista de materiales:
•
Tubo PVC de 3 pulgadas: $75
•
Serrucho: En inventario
•
Lija: $29
•
Ventilador 4” de 12VCC: $130
•
Fuente de alimentación micro USB: En inventario
•
Push botton: En inventario
•
Switch: En inventario
•
Potenciómetro: En inventario
•
Resistencias: En inventario
•
Cinta eléctrica adhesiva: En inventario
•
Tornillos: En inventario
•
Set de pelotas de ping-pong: En inventario
•
Sensor de ultrasonido: $50
•
Cautín: En inventario
•
Cables: $30
•
Soldadura: En inventario
•
Protoboard: En inventario
•
Tablilla para soldar: En inventario
•
Placa de Programación Arduino Uno y Mega: En inventario
•
Dinero para imprevistos: $200
•
Software Labview: En inventario
•
Software PSOC CREATOR: En inventario
PRESUPUESTO ESTIMADO
Creemos y esperamos que el presupuesto esperado para este proyecto sea alrededor
de $500 pesos, queremos dejar en claro que el presupuesto estimado dado
anteriormente no es un presupuesto 100% fiel ya que algunos precios pueden variar
dependiendo de donde compremos los componentes o materiales.
IDENTIFICACIÓN
Y
REQUERIMENTOS
ASOCIADOS
A
LOS
MATERIALES
Para este caso contamos con bastantes elementos, en este caso usaremos el PSOC 5,
el cual utilizará el software PSOC CREATOR para programarlo y usaremos LABVIEW
para que haya un sistema de entrada y salida (los cuales nos permitirán mantener
registro de los datos que ingresen del sensor a este, de misma forma mandar señal al
PSOC para que este regule la potencia del ventilador de 12V).
El hardware del proyecto constara de un tubo de PVC, el cual por la parte inferior contara
con un ventilador y en la parte superior se encontrará una tapa el cual tenga pegado un
sensor ultrasónico (el cual mandará una señal a analógica cuyo propósito es medir la
distancia entre este y la pelota de pingpong que se encontrará flotando en el interior).
Para los elementos para preparar bien el hardware usaremos un serrucho para adecuar
el tamaño o posibles necesidades para lo que sería el tubo PVC, la lija para que lo
removido quede liso y podamos colocar bien los elementos por la parte removida.
Los cables, tablillas para soldar, soldadura, cautín y tape negro serán utilizados para
conectar los sistemas eléctricos/electrónicos del proyecto.
Cosas como Protoboard son para que nosotros podamos realizar las pruebas y en caso
de ser necesario, corregir las conexiones antes de volverlas permanentes con la soldada.
FUNDAMENTO TEORICO DE LA PARTE MECANICA
La física se ha considerado como una ciencia esencial para entender la complejidad del
universo. Combinada con otros campos, permite una observación más minuciosa del
objeto en estudio. Es así como la mecánica de fluidos, una rama de la física
conjuntamente con la aplicación de conocimientos de mecánica básica, permite estudiar
los fluidos tanto en reposo como en movimiento; en otras palabras, se enfoca en el
movimiento de fluidos. A partir de esta, se desarrolla el teorema de Bernoulli, también
conocido como el principio de Bernoulli; una postulación del científico suizo Daniel
Bernoulli.
Este enunciado se enfoca en probar el comportamiento de un fluido que circula en una
línea de corriente. Se establece que el fluido ideal no posee ningún tipo de viscosidad, y
no está sometido a fricción. Así mismo, al encontrarse en circulación dentro de un
conducto cerrado, si se cumplen estas características, su energía permanecerá
constante.
La aplicación de este teorema se ha relacionado
estrechamente con la ingeniería. Y puede ser
usado para el estudio de distintos tipos de fluidos,
por lo que se han detallado distintas formas de la
ecuación de Bernoulli.
¿Qué es el teorema de Bernoulli?
El principio de Bernoulli se basa en el estudio del comportamiento de un fluido que se
mueve a través de un sistema cerrado. El fluido en cuestión de cumplir con ciertas
características para ser considerado como ideal; teniendo esto, se declara que durante
su movimiento no debe existir rozamiento ni viscosidad. Y al encontrarse en un conducto
cerrado, la energía permanece constante durante todo el recorrido.
Al tratarse de un postulado que tiene sus bases en la física y en la mecánica, se ha
comprobado que puede derivarse de distintas leyes y teorías. En primer lugar, este
teorema tiene influencias del principio de conservación de la energía, expresándose
que al presentarse un flujo constante, la suma de todas las formas de energía de un
fluido permanece constante en todos los puntos de la línea de flujo. De esta manera,
dentro de este postulado se trabaja con las energías cinética, potencial e interna para
obtener los resultados.
Pero también trabaja de la mano con la Segunda Ley del Movimiento de Newton,
afirmando que al movilizarse un fluido en una línea horizontal desde una región de alta
presión hacia una de baja presión, se concluye que existe mayor presión detrás del fluido,
adquiriendo fuerza en el volumen, lo que permite darle aceleración a lo largo de la línea
de corriente.
Ecuación del teorema de Bernoulli
Teniendo en cuenta la teoría, se tiene que el teorema trabajo únicamente con tres tipos
de energía:
•
•
•
Cinética: hace referencia a la velocidad que posee un fluido.
Potencial: relacionada con la altitud que posee un fluido.
De presión: equivale a la energía de un fluido resultado de la presión a la que
está sometido.
A partir de estas, se establece la siguiente fórmula:
Definiendo las variables:
•
•
•
•
•
V = velocidad del fluido
p = densidad del fluido
P = presión del fluido en la línea de corriente
g = aceleración gravitatoria
z = altura en la dirección de la gravedad
Historia del teorema de Bernoulli
Fue Daniel Bernoulli quien presentó al mundo este postulado. Pero para llegar a esta
conclusión, tomo en cuenta las teorías que otros habían presentado con anterioridad.
En 1598, Benedetto Castelli refuta las ideas propuestas por Giovanni Fontana en relación
a su método para medir en ríos. Presenta una nueva perspectiva, donde incluye otros
factores: la sección y la velocidad; además, aclara que cuando la medición se realiza en
orificios, no solo se debe tomar en cuenta la variable del tamaño de estos, sino también
la carga. A partir de este enunciado, desarrolla la Ecuación de Castelli: Q = AV.
Se presenta una nueva hipótesis en 1638, cuyo autor es Galileo Galilei. Afirmaba que un
cuerpo presenta una aceleración uniforme durante una caída al vacío. Así presenta un
teorema, basándose en las premisas de que existe una relación entre la velocidad
uniforme de un cuerpo al caer al vacío con la velocidad uniformemente acelerada del
mismo. Tomando este postulado y la Ecuación de Castelli, Evangelista Torricelli
estableció el chorro que se produce al salir un líquido por un orifico de un tanque, tiene
la forma de hipérbola de cuarto orden. Así mismo, declaró una similitud entre el chorro
que sale de un tanque, con cuerpo cayendo al vacío desde la misma altura del tanque.
Esto es complementado con la hipótesis de Isaac Newton, que agrega como una variable
la presencia de un hielo en la superficie del tanque, lo que genera una presión para que
el agua salga a través del orificio.
Aplicaciones del teorema de Bernoulli
Las aplicaciones del teorema de Bernoulli pueden ir desde el campo profesional, como
la ingeniería, hasta la vida cotidiana. Un ejemplo claro son las chimeneas de los
hogares, cuya boca suele estar ubicada a una gran altura para aprovechar la velocidad
del viento. Si este sopla muy rápido, entonces la presión será más baja, creando una
diferencia entre las presiones de la boca y de la base, creando un entorno propicio para
la combustión. En los deportes también puede ser aplicable, destacando la natación. Un
nadador al realizar brazadas, corta el agua lo que genera una menor presión, pero que
a su vez favorece la propulsión del cuerpo.
Pero existen casos más elaborados, como el carburador de un auto. La presión del aire
fluye a través de este, y desciende en los puntos donde pasa por un estrangulamiento.
En el momento en que esto ocurre, se inicia el flujo de gasolina, vaporizándose y
mezclándose con la corriente del aire.
Una de las aplicaciones más
resaltantes, se responde con la
interrogante de por qué vuelan los
aviones. Para lograrlo, es necesario
aplicar el principio de Bernoulli en el
diseño de las alas. La parte superior
del ala de un avión se conoce como
extradós, y la parte inferior intradós.
La forma de la primera es mucho
más curva que la de la segunda. Al
aumentar la velocidad de la masa
superior de aire, disminuye la
presión, lo que permite que el avión permanezca suspendido en el aire y pueda volar
sin problemas.
Bibliografía
Teorema de Bernoulli con explicación Sencilla. (2019, noviembre 5). Teorema.
https://www.teorema.top/teorema-de-bernoulli/
PROPIEDADES DEL ACRILICO Y SU USO
Aquí encontrará información acerca de las propiedades del acrílico o PMMA:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Resistencia al Impacto
Transmisión de Luz
Peso
Resistencia Química
Resistencia a la Intemperie
Estabilidad Dimensional
Conductividad Eléctrica
Propiedades relativas a su termoformado
Propiedades relativas a su moldeo en frío
Quisimos utilizar este tipo de plástico ya que es un plástico que a nuestro parecer es
resistente, moldeable y nos serviría para demostrar que si estamos controlando el
sistema y para que la gente pueda observar lo que está pasando en el sistema, pudimos
haber utilizado un tubo PVC ya que era barato y nos serviría para realizar el conducto o
la corriente por donde pasaría el fluido como se menciona en el “Teorema de Bernoulli”,
pero no nos serviría al 100% ya que no podríamos demostrar el proyecto y como
controlaríamos el sistema ya que no se vería nada más que por la parte de arriba donde
saldría el aire y sería difícil demostrar nuestro proyecto, en cambio al utilizar el plástico
acrílico ya que es transparente se podría observar perfectamente el sistema y como se
estaría controlando el aire del conducto.
Nuestro objetivo al escoger este plástico es por el simple hecho de que sea sencillo para
la gente alrededor el poder observar a simple vista lo que está ocurriendo en el conducto
mientras esté en funcionamiento.
Motor DC
El dínamo de corriente directa básico consiste en un elemento con una armadura,
escobas y bobinas de campo en serie, paralelo o la combinación de ellas, el cual viene
siendo usado por muchos años como un convertidor básico de energía. Estos motores
son usados en procesos como elevadores eléctricos, laminadores, vehículos eléctricos
y algunas bombas donde se requiere de velocidad variable.
Los elementos más importantes de un motor DC vienen representados por la siguiente
figura:
La armadura del motor DC se modela como si tuviera una resistencia constante R en
serie con una inductancia constante L que representa la inductancia de la bobina de la
armadura, y una fuente de alimentación v que representa la tensión generada en la
armadura.
La primera ecuación se realiza haciendo un análisis de la malla del circuito:
Donde Ea(t) (Fuerza contraelectromotriz [volts]) es una tensión generada que resulta
cuando los conductores de la armadura se mueven a través del flujo de campo
establecido por la corriente del campo if
Naturalmente, en toda potencia mecánica desarrollada en el rotor se entrega a la carga
mecánica conectado al eje del motor de CC.
Parte de la potencia desarrollada se pierde a través de la resistencia de la bobina del
rotor, la fricción, por histéresis y perdidas por corrientes de Foucault en el hierro del rotor.
Desde aquí las perdidas por fricción y parte de la energía desarrollada es almacenada
como energía cinética en la masa girante del rotor. La ecuación de la sección mecánica
viene dada por el modelo:
onde T_m(t) es el torque del motor de corriente continua, B es el coeficiente de fricción
equivalente al motor de CD (corriente continua) y la carga montados sobre el eje del
motor, J es el momento de inercia total del
rotor y de la carga con relación al eje del motor, \omega(t) es la velocidad angular del
motor y
es la aceleración angular.
Para poder lograr la interacción entre las ecuaciones anteriores se proponen las
siguientes relaciones que asumen que existe una relación proporcional, Ka (Constante
contraelectromotriz [v/rad s]), entre el voltaje inducido en la armadura y la velocidad
angular del eje del motor.
Y se supone la siguiente relación electromecánica que establece que el torque mecánico
es proporcional, Km (Constante de Torque [Nm / A]), a la corriente eléctrica que circula
por el motor DC.
Funciones de Transferencia del Motor de Corriente Continua DC
Comenzamos aplicando transformada de Laplace a las ecuaciones 1 al 4.
sustituimos ec 7 y ec 8 en la ec 5
De la Ec 6, podemos obtener la velocidad angular:
Sustituyendo Ec 10 en Ec 9
De esta forma podemos obtener la función de transferencia que relaciona la salida
(torque) del motor de CD con la entrada (voltaje).
Notemos que el motor posee diferentes salidas como puede apreciarse en el siguiente
diagrama de bloques del motor DC.
De la misma forma, se pueden usar las ecuaciones para obtener la función de
transferencia que relacionen cualquier salida con la entrada que es voltaje.
Función de transferencia de la velocidad angular con relación al voltaje:
Una vez obtuvimos las funciones de transferencia, el espacio de estados también es muy
sencillo de obtener, partiendo de las ecuaciones del 1 al 4, podemos nombrar nuestros
estados como:
Reescribiendo las ecuaciones del 1 al 4 usando las definiciones del espacio de estado,
se tiene:
La representación del modelo del Motor DC en espacio de Estados es:
FUNDAMENTO TEORICO DE LA PARTE ELECTRONICA
Sensores
El sensor HC-SR04 es un sensor de distancia de bajo costo que utiliza ultrasonido para
determinar la distancia de un objeto en un rango de 2 a 450 cm. Destaca por su pequeño
tamaño, bajo consumo energético, buena precisión y excelente precio. El sensor HCSR04 es el más utilizado dentro de los sensores de tipo ultrasonido, principalmente por
la cantidad de información y proyectos disponibles en la web. De igual forma es el más
empleado en proyectos de robótica como robots laberinto o sumo, y en proyectos de
automatización como sistemas de medición de nivel o distancia.
El sensor HC-SR04 posee dos transductores: un
emisor y un receptor piezoeléctricos, además de la
electrónica necesaria para su operación. El
funcionamiento del sensor es el siguiente: el emisor
piezoeléctrico emite 8 pulsos de ultrasonido(40KHz)
luego de recibir la orden en el pin TRIG, las ondas
de sonido viajan en el aire y rebotan al encontrar un
objeto, el sonido de rebote es detectado por el
receptor piezoeléctrico, luego el pin ECHO cambia
a Alto (5V) por un tiempo igual al que demoró la onda desde que fue emitida hasta que
fue detectada, el tiempo del pulso ECO es medido por el microcontrolador y asi se puede
calcular la distancia al objeto. El funcionamiento del sensor no se ve afectado por la luz
solar o material de color negro (aunque los materiales blandos acústicamente como tela
o lana pueden llegar a ser difíciles de detectar).
La distancia se puede calcular utilizando la siguiente formula:
Distancia(m) = {(Tiempo del pulso ECO) * (Velocidad del sonido=340m/s)}/2
El sensor US-016 es similar al HC-SR04 pero con salida de tipo analógico, otro sensor
ultrasonido es el sensor US-100 con salida de tipo uart/serial.
Qué es Arduino
Arduino es una plataforma de creación de
electrónica de código abierto, la cual está
basada en hardware y software libre, flexible y
fácil de utilizar para los creadores y
desarrolladores. Esta plataforma permite crear
diferentes tipos de microordenadores de una
sola placa a los que la comunidad de creadores
puede darles diferentes tipos de uso.
Para poder entender este concepto, primero vas a tener que entender los conceptos de
hardware libre y el software libre. El hardware libre son los dispositivos cuyas especificaciones
y diagramas son de acceso público, de manera que cualquiera puede replicarlos. Esto quiere
decir que Arduino ofrece las bases para que cualquier otra persona o empresa pueda crear
sus propias placas, pudiendo ser diferentes entre ellas pero igualmente funcionales al partir
de la misma base.
El software libre son los programas informáticos cuyo código es accesible por
cualquiera para que quien quiera pueda utilizarlo y modificarlo. Arduino ofrece la plataforma
Arduino IDE (Entorno de Desarrollo Integrado), que es un entorno de programación con el que
cualquiera puede crear aplicaciones para las placas Arduino, de manera que se les puede dar
todo tipo de utilidades.
El proyecto nació en 2003, cuando varios estudiantes del Instituto de Diseño Interactivo de Ivrea,
Italia, con el fin de facilitar el acceso y uso de la electrónico y programación. Lo hicieron para
que los estudiantes de electrónica tuviesen una alternativa más económica a las
populares BASIC Stamp, unas placas que por aquel entonces valían más de cien dólares, y que
no todos se podían permitir.
El resultado fue Arduino, una placa con todos los elementos necesarios para conectar
periféricos a las entradas y salidas de un microcontrolador, y que puede ser programada
tanto en Windows como macOS y GNU/Linux. Un proyecto que promueve la filosofía 'learning
by doing', que viene a querer decir que la mejor manera de aprender es cacharreando.
Cómo funciona Arduino
El Arduino es una placa basada en un
microcontrolador
ATMEL.
Los
microcontroladores
son circuitos
integrados en los que se pueden
grabar instrucciones, las cuales las
escribes
con
el
lenguaje
de
programación que puedes utilizar en el
entorno
Arduino
IDE.
Estas
instrucciones permiten crear programas
que interactúan con los circuitos de la
placa.
El microcontrolador de Arduino posee lo que se llama una interfaz de entrada, que es una
conexión en la que podemos conectar en la placa diferentes tipos de periféricos. La información
de estos periféricos que conectes se trasladará al microcontrolador, el cual se encargará de
procesar los datos que le lleguen a través de ellos.
El tipo de periféricos que puedas utilizar para enviar datos al microcontrolador depende en gran
medida de qué uso le estés pensando dar. Pueden ser cámaras para obtener imágenes,
teclados para introducir datos, o diferentes tipos de sensores.
También cuenta con una interfaz de salida, que
es la que se encarga de llevar la información que
se ha procesado en el Arduino a otros periféricos.
Estos periféricos pueden ser pantallas o altavoces
en los que reproducir los datos procesados, pero
también pueden ser otras placas o controladores.
Arduino es un proyecto y no un modelo concreto de placa, lo que quiere decir que compartiendo
su diseño básico te puedes encontrar con diferentes tipos de placas. Las hay de varias
formas, tamaños y colores para a las necesidades del proyecto en el que estés trabajando, las
hay sencillas o con características mejoradas, Arduinos orientados al Internet de las Cosas o la
impresión 3D y, por supuesto, dependiendo de estas características te encontrarás con todo
tipo de precios.
Además, las placas Arduino también cuentan con otro tipo de componentes llamados Escudos
(Shields) o mochilas. Se trata de una especie de placas que se conectan a la placa principal
para añadirle una infinidad de funciones, como GPS, relojes en tiempo real, conectividad por
radio, pantallas táctiles LCD, placas de desarrollo, y un larguísimo etcétera de elementos.
Incluso hay tiendas con secciones especializadas en dichos elementos.
Pines de Entrada y Salida (Pinout)
La siguiente imagen muestra el pinout de la tarjeta UNO R3 compatible con Arduino®:
Cada uno de los 14 pines digitales del Arduino UNO R3 se puede usar como entrada o salida,
utilizando las funciones pinMode(), digitalWrite() y digitalRead(). Operan a 5 voltios. Cada pin
puede proporcionar o recibir 20mA como condición de funcionamiento recomendada y tiene una
resistencia pull-up interna (desconectada por defecto) de 20-50k ohm. Un máximo de 40mA es
el valor que no debe superarse en ningún pin de E/S para evitar daños permanentes en el
microcontrolador.
Además, el pinout permite identificar algunos pines que tienen funciones especializadas:
Comunicación Serie: 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y transmitir (TX) datos TTL
en serie. Estos pines están conectados a los pines correspondientes del chip serial USB a TTL
ATmega16U2.
Interrupciones externas: 2 y 3. Estos pines se pueden configurar para activar una interrupción
en un valor bajo, un borde ascendente o descendente, o un cambio en el valor. Vea la función
attachInterrupt () para más detalles.
PWM: 3, 5, 6, 9, 10 y 11. Proporciona una salida PWM de 8 bits con la función analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines admiten la comunicación SPI
utilizando la biblioteca SPI.
LED: 13. Hay un LED incorporado accionado por el pin digital 13. Cuando el pin tiene un valor
ALTO, el LED está encendido, cuando el pin está BAJO, está apagado.
TWI: pin A4 o SDA y pin A5 o SCL. Admite la comunicación TWI utilizando la biblioteca Wire.
El pinout del Arduino UNO R3 muestra 6 entradas analógicas, etiquetadas de A0 a A5, cada
una de las cuales proporciona 10 bits de resolución (es decir, 1024 valores diferentes). Por
defecto miden desde tierra hasta 5 voltios, aunque es posible cambiar el extremo superior de
su rango utilizando el pin AREF y la función analogReference(). Hay un par de otros pines en
esta placa:
AREF: Tensión de referencia para las entradas analógicas. Usado con analogReference().
RESET: Conecte este pin a nivel BAJO para reiniciar el microcontrolador. Normalmente se usa
para agregar un botón de reinicio a los escudos (shields) que bloquean el que está en la propia
placa.
Fundamento Teórico de la parte de Control
Función de transferencia
Hallar la función de transferencia del sistema formado por un Motor DC y su carga, como
se muestra en la Figura 1:
Figura 1. Motor DC con su carga.
Dinámica del sistema
Considerando que:
La dinámica de este sistema es la siguiente:
Transformada de Laplace
Al aplicar la transformada de Laplace a este sistema de ecuaciones obtenemos:
Función de transferencia
La función de transferencia directa del motor Gm(s), donde:
la obtenemos mediante el siguiente procedimiento. Sustituimos la ecuación (6) en (9) y
luego despejamos Ia(s):
Luego, sustituimos este resultado y la ecuación (8) en la ecuación (7):
Es decir:
De donde obtenemos Gm(s), la función de transferencia directa del motor:
Utilizando las ecuaciones (10) y (11), podemos representar el sistema de la Figura 1
mediante el siguiente diagrama de bloques:
Para ilustrar el caso de un lazo cerrado, presentamos ahora el siguiente ejemplo, donde
el motor DC y su carga se incorporan a un sistema de control de posición.
Hallar la función de transferencia del sistema de seguimiento de la la Figura 2:
Figura 2. Sistema de control de posición.
Considerando que:
Al aplicar la transformada de Laplace:
Con estas últimas y las ecuaciones del sistema motor-carga, podemos asegurar que la
función de transferencia θL(s)/ θr(s) del sistema de seguimiento de la Figura 2, y su
diagrama de bloques, son:
Figura 3. Diagrama de bloques del sistema de control de posición de la Figura 2.
La dinámica de un Motor DC es determinada por un conjunto de ecuaciones que
gobiernan su comportamiento. Obtener estas ecuaciones requiere la aplicación de leyes
de mecánica, principios de electricidad y conocimiento de campo magnético.
Especialmente, implica el conocimiento de los conceptos básicos del movimiento
rotatorio.
Las ecuaciones de un Motor DC a lazo abierto son:
Deducción a partir de principios físicos
Un Motor DC puede estar controlado por campo o por armadura. El caso más frecuente
es el control por corriente (o voltaje) de armadura. Haciendo referencia a la Figura 1, un
imán estacionario permanente o un electroimán genera un flujo magnético Φ, constante,
denominado Fixed Field. Este flujo Φ es generado a su vez por una corriente de campo
if que se supone constante (de allí deriva el nombre de Motor DC o motor de corriente
continua).
Figura 1. Motor DC a lazo abierto. a) Esquema general; b) Diagrama de bloques.
El motor es controlado por un voltaje ea(t) aplicado a los terminales de la armadura.
Aplicando el método de análisis de circuitos eléctricos de Kirchhoff al circuito de la Figura
1.a , deducimos la primera ecuación importante del sistema:
Donde La y Ra representan la inductancia y la resistencia de la armadura
respectivamente.
La armadura es un circuito rotativo a través del cual circula una corriente i a(t). Cuando la
armadura pasa en ángulos rectos a través del flujo magnético Φ, siente una fuerza
F=BLia(t) donde B es la intensidad del campo magnético y L es la longitud de la bobina o
conductor. El torque Tm(t) que resulta de esta interacción hace girar el rotor, el cual es el
miembro rotatorio del motor. Para un análisis lineal es necesario suponer que este torque
o par es proporcional al flujo magnético Φ y a la corriente ia(t). De esta suposición
obtenemos la siguiente ecuación del sistema:
Donde Km es constante. Como hemos dicho que Φ también es constante, el factor
Km*Φ de la ecuación anterior se reduce a una constante denominada Ki. De esta manera,
dicha ecuación se reduce a:
Donde Ki es La Constante de Proporcionalidad, también llamada constante de torque del
motor (o constante de par) y es uno de los parámetros dados por los fabricantes de
motores. Ki, con frecuencia denominada también Kt , viene en N-m/A.
Nota: cuando el motor es controlado por una corriente en el campo, con el fin de obtener
un sistema lineal la corriente de armadura debe ser considerada constante y así el torque
del motor viene dado por Tm= Kmif, donde if es la corriente de campo.
Otro importante fenómeno ocurre en el motor: Cuando el conductor (o bobina) de la
armadura se mueve en ángulos rectos a través del campo magnético Φ,se genera un
voltaje vb(t) en las terminales del conductor. Ya que la armadura rota en un campo
magnético, el voltaje generado en su bobina es proporcional a la velocidad ω m(t) de
rotación de la armadura. De esta manera obtenemos otra ecuación de gran importancia:
Dónde:
Denominamos a vb(t) la Fuerza Contraelectromotriz (o back emf por sus siglas en inglés);
Kb es la constante de proporcionalidad llamada también constante emf.
Aunque el Motor DC es por sí mismo un sistema en lazo abierto, veremos más adelante
que la fuerza contraelectromotriz vb(t), provoca un lazo realimentado dentro del motor,
actuando como una “fricción eléctrica” que tiende a mejorar la estabilidad del motor.
Por último, aplicando las leyes de Newton para movimientos mecánicos rotacionales
obtenemos:
Donde Jm es el momento inercial (inercia) del rotor, y bm es el coeficiente de fricción
viscosa del motor.
Es importante recalcar que estamos definiendo las ecuaciones del motor «a lazoabierto»,
es decir, sin realimentación. Por tanto, hemos logrado definir el conjunto de ecuaciones
que determina la Dinámica del Motor DC operando en lazo abierto:
dónde:
Obtención del diagrama de bloques del sistema
Para representar la dinámica del Motor DC en diagrama de bloques, el siguiente paso
consiste en aplicar la Transformada de Laplace al sistema de ecuaciones obtenidas
anteriormente.
Luego de aplicar Laplace, obtenemos el siguiente conjunto de ecuaciones:
Para elaborar el diagrama de bloques del motor DC a lazo abierto a partir de este sistema
de ecuaciones, empezamos dibujando el diagrama de bloques para la salida θm(s), luego
mediante un integrador obtenemos Ωm(s):
Paso siguiente, despejamos Ωm(s) de la ecuación (1) y agregamos este resultado de
manera conveniente al diagrama de bloques:
Ahora, podemos obtener Tm(s) directamente de la ecuación (4), y seguimos agregando
bloques al diagrama de bloques del sistema:
Por último, utilizamos las ecuaciones (2) y (3) para despejar y obtener la expresión
para Ia(s):
De esta manera, tomando a Ea(s) como la entrada y a θm(s) como la salida, se representael
sistema a continuación mediante El Diagrama de Bloques para un Motor DC operandoa
lazo abierto:
Figura 2. Diagrama de bloques de un Motor DC a lazo abierto.
Aquí podemos corroborar lo que señalamos antes, que la fuerza contraelectromotriz,
proporcional a KbΩm(s), genera un lazo realimentado negativo que tiende a estabilizar el
sistema.
Función de Transferencia del motor DC a lazo abierto
A continuación, vamos a deducir La Función de Transferencia Gm(s) a lazo abierto de un
Motor DC. Dicha función la podemos obtener reduciendo el diagrama de bloques del
sistema, Figura 2.
Tal como se muestra en la Figura 1.b:
Para repasar el álgebra de diagrama de bloques.
En primer lugar, reducimos los bloques que están en cascada a uno solo:
Luego, reducimos la realimentación negativa, aplicando la siguiente regla:
Dónde:
Entonces:
Es decir:
Al reducir el diagrama de bloques, obtenemos:
De donde podemos deducir fácilmente la Función de Transferencia G m(s) para un Motor
DC a lazo abierto, la cual es:
El cociente θm(s)/Ea(s) es conocido como Función de Transferencia Directa Gm(s).
El Motor DC a lazo cerrado
El Servomotor DC controlado por armadura es ampliamente utilizado en sistemas
electromecánicos. La configuración del sistema electromecánico más comúnmente
utilizado se muestra en la Figura 2.15 mediante un diagrama de bloques, operando a una
velocidad constante y sin lazo de realimentación. Mientras, en la Figura 4-38 se muestra
el motor DC funcionando en lazo cerrado, es decir, con realimentación, formando parte
de un sistema de control de posición. Cuando el motor DC forma parte de un mecanismo
de control de posición, como este último caso, se denomina
«Servomotor».
Controlador PID
Un controlador o regulador PID es un dispositivo que permite controlar un sistema en
lazo cerrado para que alcance el estado de salida deseado. El controlador PID está
compuesto de tres elementos que proporcionan una acción Proporcional, Integral y
Derivativa. Estas tres acciones son las que dan nombre al controlador PID.
Señal de referencia y señal de error
La señal r(t) se denomina referencia e indica el estado que se desea conseguir en la
salida del sistema y(t). En un sistema de control de temperatura, la referencia r(t) será la
temperatura deseada y la salida y(t) será la temperatura real del sistema controlado.
Como puede verse en el esquema anterior, la entrada al controlador PID es la señal
de error e(t). Esta señal indica al controlador la diferencia que existe entre el estado que
se quiere conseguir o referencia r(t) y el estado real del sistema medido por el sensor,
señal h(t).
Si la señal de error es grande, significa que el estado del sistema se encuentra lejos del
estado de referencia deseado. Si por el contrario el error es pequeño, significa que el
sistema ha alcanzado el estado deseado.
Acción de control Proporcional
Como su nombre indica, esta acción de control es proporcional a la señal de error e(t).
Internamente la acción proporcional multiplica la señal de error por una constante Kp.
Esta acción de control intenta minimizar el error del sistema. Cuando el error es grande,
la acción de control es grande y tiende a minimizar este error.
Aumentar la acción proporcional Kp tiene los siguientes efectos:
1. Aumenta la velocidad de respuesta del sistema.
2. Disminuye el error del sistema en régimen permanente.
3. Aumenta la inestabilidad del sistema.
Los dos primeros efectos son positivos y deseables. El último efecto es negativo y hay
que intentar minimizarle. Por lo tanto al aumentar la acción proporcional existe un punto
de equilibrio en el que se consigue suficiente rapidez de respuesta del sistema y
reducción del error, sin que el sistema sea demasiado inestable. Aumentar la acción
proporcional más allá de este punto producirá una inestabilidad indeseable. Reducir la
acción proporcional, reducirá la velocidad de respuesta del sistema y aumentará su error
permanente.
En los gráficos anteriores puede observarse el efecto de aumentar progresivamente la
acción proporcional en un control de posición.
•
Con una acción proporcional pequeña Kp=2, el sistema es lento, tardando 20
segundos en alcanzar la posición deseada y el error de posición es grande, de 50
milímetros. A medida que se aumenta la acción proporcional, el error disminuye y
la velocidad de respuesta aumenta.
•
Con una ganancia proporcional Kp=20 el sistema es más rápido, tardando 12
segundos en establecerse la posición permanente. Asimismo el error se ha
reducido hasta una décima parte, solo 5 milímetros. También se puede observar
un sobrepulso en la respuesta, y el comienzo de cierta inestabilidad.
•
Con ganancias mayores se consigue disminuir todavía más el error permanente,
pero la velocidad de respuesta no aumenta porque el sistema se vuelve tan
inestable que la posición tarda mucho en establecerse en su estado final.
En este ejemplo la acción proporcional se ha escalado de forma que sus valores se
encuentren entre 0 y 100.
Llegado a este punto, puede verse que la acción proporcional no puede mejorar más la
respuesta del sistema. La mejor opción con Kp=20 presenta un sobrepulso de unos 30
milímetros y un error permanente de 5 milímetros. Si se desea mejorar esta respuesta
hay que incorporar otro tipo de control. Aquí es dónde el control derivativo puede ayudar
a mejorar la respuesta del sistema.
Acción de control Derivativa
Como su nombre indica, esta acción de control es proporcional a la derivada de la señal
de error e(t). La derivada del error es otra forma de llamar a la "velocidad" del error. A
continuación se verá porqué es tan importante calcular esta velocidad. En las gráficas
anteriores, cuando la posición se encuentra por debajo de 150mm, la acción de control
proporcional siempre intenta aumentar la posición. El problema viene al tener en cuenta
las inercias. Cuando el sistema se mueve a una velocidad alta hacia el punto de
referencia, el sistema se pasará de largo debido a su inercia. Esto produce un sobrepulso
y oscilaciones en torno a la referencia. Para evitar este problema, el controlador debe
reconocer la velocidad a la que el sistema se acerca a la referencia para poder frenarle
con antelación a medida que se acerque a la referencia deseada y evitar que la
sobrepase.
Aumentar la constante de control derivativa Kd tiene los siguientes efectos:
1. Aumenta la estabilidad del sistema controlado.
2. Disminuye un poco la velocidad del sistema.
3. El error en régimen permanente permanecerá igual.
Esta acción de control servirá por lo tanto para estabilizar una respuesta que oscile
demasiado.
En los gráficos anteriores puede verse como, al aumentar la acción derivativa Kd, se
consigue disminuir las oscilaciones hasta el punto de que desaparecen para Kd=50.
También puede apreciarse cómo la respuesta se hace un poco más lenta al aumentar la
constante derivativa. Con Kd=0 el sistema tarda 1.8 segundos en subir hasta el valor de
referencia. Con Kd=20 el sistema tarda 2 segundos en subir hasta el valor de referencia.
En este ejemplo la acción derivativa se ha escalado de forma que sus valores se
encuentren entre 0 y 100.
Un problema que presenta el control derivativo consiste en que amplifica las señales que
varían rápidamente, por ejemplo el ruido de alta frecuencia. Debido a este efecto, el ruido
de la señal de error aparece amplificado en el accionamiento de la planta. Para poder
reducir este efecto es necesario reducir el ruido de la señal de error mediante un filtro
paso bajos antes de aplicarla al término derivativo. Con este filtro la acción derivativa se
encuentra limitada, por lo que es deseable reducir el ruido de la señal de error por otros
medios antes de recurrir a un filtro paso bajos.
Llegado a este punto, el sistema es rápido y estable, pero mantiene todavía un pequeño
error en régimen permanente. Esto significa que la posición real del sistema no es
exactamente la posición deseada. Para poder reducir este error se recurre a la tercera
acción del controlador PID, el control Integral.
Acción de control Integral
Esta acción de control como su nombre indica, calcula la integral de la señal de error e(t).
La integral se puede ver como la suma o acumulación de la señal de error. A medida que
pasa el tiempo pequeños errores se van sumando para hacer que la acción integral sea
cada vez mayor. Con esto se consigue reducir el error del sistema en régimen
permanente. La desventaja de utilizar la acción integral consiste en que esta añade una
cierta inercia al sistema y por lo tanto le hace más inestable.
Aumentar la acción integral Ki tiene los siguientes efectos:
1. Disminuye el error del sistema en régimen permanente.
2. Aumenta la inestabilidad del sistema.
3. Aumenta un poco la velocidad del sistema.
Esta acción de control servirá para disminuir el error en régimen permanente.
En las gráficas anteriores se ha añadido una señal de error ampliada, de color verde,
para apreciar mejor cómo se reduce el error a medida que aumenta la acción integral.
Otro efecto visible es el aumento de la inestabilidad del sistema a medida que aumenta
Ki. Por esta razón el control integral se suele combinar con el control derivativo para
evitar las oscilaciones del sistema.
Sintonización manual de un controlador PID
Después de ver las diferentes acciones proporcional, integral y derivativa de un control
PID, se pueden aplicar unas reglas sencillas para sintonizar este controlador de forma
manual.
1º - Acción Proporcional.
Se aumenta poco a poco la acción proporcional para disminuir el error (diferencia entre
el estado deseado y el estado conseguido) y para aumentar la velocidad de respuesta.
Si se alcanza la respuesta deseada en velocidad y error, el PID ya está sintonizado.
Si el sistema se vuelve inestable antes de conseguir la respuesta deseada, se debe
aumentar la acción derivativa.
2º - Acción Derivativa.
Si el sistema es demasiado inestable, se aumentará poco a poco la constante derivativa
Kd para conseguir de nuevo estabilidad en la respuesta.
3º - Acción Integral.
En el caso de que el error del sistema sea mayor que el deseado, se aumentará la
constante integral Ki hasta que el error se minimice con la rapidez deseada.
Si el sistema se vuelve inestable antes de conseguir la respuesta deseada, se debe
aumentar la acción derivativa.
Con estas sencillas reglas es sencillo afinar poco a poco el controlador PID hasta
conseguir la respuesta deseada.
Ecuación del controlador
La ecuación del control PID es la siguiente:
Para:
•
c(t) = señal de control
•
e(t) = señal de error
•
Kp, Ki, Kd = parámetros del controlador PID
Saturación y límites del controlador PID
En los sistemas reales existen limitaciones que reducen la capacidad del controlador
para conseguir la respuesta deseada. Por mucho que se aumente la acción proporcional,
llegará un momento en el que el accionador se saturará y no podrá dar más de sí. Por
ejemplo en un sistema de control de temperatura, la resistencia calefactora podrá
suministrar potencia hasta los 2000 vatios. Si el controlador intenta entregar máspotencia
para conseguir más velocidad de calentamiento, no se podrá y el sistema no conseguirá
mayor rapidez. Aunque se aumente la acción de control proporcional el límite del
accionador de 2000 vatios limita la velocidad máxima de calentamiento.
Por lo tanto hay que tener en cuenta que la velocidad de respuesta de los sistemas reales
tiene ciertos límites que el control no podrá superar.
Simuladores de control PID
Este pequeño programa simula un carro guiado de forma automática y controlado por un
controlador PID. El objetivo del programa es aprender a modificar los parámetros del
controlador PID para conseguir que el carro se posicione con rapidez y sin error.
Motion Control. Versión 0.31
Este otro programa simula el calentamiento de una caldera utilizada para calentar a su
vez agua de calefacción. El sistema térmico utiliza dos controles PID para controlar las
dos distintas temperaturas del agua.
Thermal Control. Versión 0.11
Fundamento teórico del uso de sensores
Un sensor es un dispositivo que detecta el cambio en el entorno y responde a alguna salida en
el otro sistema. Un sensor convierte un fenómeno físico en un voltaje analógico medible (o, a
veces, una señal digital) convertido en una pantalla legible para humanos o transmitida para
lectura o procesamiento adicional.
Los sensores se usan en nuestra vida cotidiana. Por ejemplo, el termómetro de mercurio común
es un tipo de sensor muy antiguo utilizado para medir la temperatura. Usando mercurio
coloreado en un tubo cerrado, se basa en el hecho de que este producto químico tiene una
reacción constante y lineal a los cambios de temperatura.
Dependiendo del tipo de sensor, su salida eléctrica puede ser un voltaje, corriente, resistencia
u otro atributo eléctrico que varía con el tiempo. Algunos sensores están disponibles con salidas
digitales, por lo que generan una serie de bytes de datos escalados o no escalados. La salida
de estos sensores analógicos generalmente está conectada a la entrada de un acondicionador
de señal, que discutiremos en la siguiente sección.
Millones de estos sensores funcionan todos los días en todo tipo de aplicaciones, desde la
temperatura del motor que se muestra en el tablero de instrumentos de nuestro automóvil, hasta
las temperaturas medidas en la fabricación de productos farmacéuticos. Prácticamente todas
las industrias utilizan la medición de temperatura de alguna manera.
Para la elaboración de nuestro proyecto, decidimos utilizar el sensor ultrasónico, como ya se
menciono anteriormente, ya que es el que suple mejor las necesidades para nuestro proyecto.
A continuación; se explicará brevemente que son los sensores digitales, que es a la familia que
pertenece nuestro sensor ultrasónico.
Cuando hablamos de sensores digitales, nos referimos a aquellos sensores que emiten valores
discretos, generalmente relacionados con la posición lineal o angular, así como aquellos
sensores que se utilizan para detectar cuando un objeto está cerca. Brevemente se explicarán
los sensores más utilizados.
Sensores de Proximidad
Un sensor de proximidad puede detectar un objeto cercano sin hacer contacto con él y luego
emitir una señal de pulso o voltaje. Existen varios tipos de sensores de proximidad, que se
eligen en función de la composición de los objetos que se deben detectar.
Codificadores rotativos
Un codificador rotatorio generalmente proporciona una excelente resolución de ángulo, ya que
están disponibles con hasta miles de pasos por revolución de 360 °, lo que permite pasos mucho
más pequeños que 1 °. Muchos codificadores también pueden detectar la dirección de rotación,
que es esencial en algunas aplicaciones.
Codificadores Incrementales
Los codificadores incrementales informan cambios relativos en la posición y la dirección; no
siguen la posición absoluta (ángulo).
Los codificadores incrementales emiten señales A y B, que indican cambios en el movimiento y
la dirección. Algunos de ellos son capaces de ser "dirigidos" o referenciados a una posición
particular. Cuando se alcanza esta posición, se genera una señal de salida Z adicional. Los
codificadores incrementales son los tipos de codificadores más comunes y populares.
Codificadores lineales
Un codificador lineal mide la posición a lo largo de una ruta lineal. A diferencia de un codificador
rotatorio que tiene una placa circular en el interior que le permite medir la posición del eje, la
mayoría de los codificadores lineales se mueven a lo largo de una escala externa y determinan
su posición a partir de las marcas en la escala.
Sensores de engranajes
Este sensor basado en ángulo consiste en un engranaje con dientes alrededor de su
circunferencia más un sensor de proximidad de algún tipo colocado de modo que cuando los
dientes pasen, sean detectados. Este sensor de proximidad es típicamente un tipo de efecto
Hall, pero otros son posibles. El engranaje debe montarse en el eje giratorio que queremos
monitorear.
Aplicaciones de Sensores Digitales
•
Sensores de proximidad: Cuenta RPM del eje giratorio (aplicaciones de tacómetro);
Contando piezas que pasan por la línea de producción; Detección de vehículos de
intersección (enterrados en la carretera)
•
Codificadores rotativos: medición de velocidad de motores, transportadores, sistemas
de llenado, sistemas de recogida y colocación; Mediciones de velocidad, posición y
distancia de la máquina (textiles, pulpa y papel, fabricación de metales)
•
Encoders lineales: máquinas CNC; Impresoras de inyección de tinta; escáneres láser;
sistemas de fabricación de recogida y colocación; robótica
•
Sensores de dientes de engranajes: RPM de medición de ejes rotativos; análisis de
combustión del motor; estudios de vibraciones torsionales y rotacionales
Ventajas del Sensor Digital
•
Sensores de proximidad: muy confiables; bajo costo; los tipos capacitivos también se
pueden usar para medir el espesor; los tipos inductivos no se ven afectados por el agua,
el lodo, etc.
•
Codificadores rotativos: alta velocidad / baja latencia; alta resolución; altamente
confiable y preciso.
•
Codificadores lineales: igual que con los codificadores rotativos.
•
Sensores de dientes de engranaje: típicamente muy resistentes y difíciles de romper;
muy bajo costo inicial y operativo.
Desventajas del Sensor Digital
•
Sensores de proximidad: distancias de detección limitadas (~ 70 mm); requiere energía
externa
•
Codificadores rotativos: posible interferencia de RF y EM con codificadores
magnéticos; posible interferencia de luz con codificadores ópticos.
•
Codificadores lineales: igual que con los codificadores rotativos.
•
Sensores de dientes de engranaje: distancias de detección limitadas; Resolución de
ángulo limitada en comparación con los codificadores, que pueden proporcionar cientos
o miles de pasos alrededor de la rotación de 360 ° de un eje.
Después de la teoría antes vista, se explicará la función tan importante que tiene un sensor
ultrasónico, el cual fue el que escogimos para la realización de este proyecto.
Los sensores de ultrasonidos o sensores ultrasónicos son detectores de proximidad que
trabajan libres de roces mecánicos y que detectan objetos a distancias que van desde pocos
centímetros hasta varios metros. El sensor emite un sonido y mide el tiempo que la señal tarda
en regresar.
Estos reflejan en un objeto, el sensor recibe el eco producido y lo convierte en señales
eléctricas, las cuales son elaboradas en el aparato de valoración. Estos sensores trabajan
solamente donde tenemos presencia de aire (no pueden trabajar en el vacío, necesitan medio
de propagación) y pueden detectar objetos con diferentes formas, colores y superficies. Así
como materiales, que pueden ser sólidos, líquidos o polvorientos. Sin embargo, han de ser
deflectores de sonido.
Los sensores trabajan según el tiempo de transcurso del eco, es decir, se valora la distancia
temporal entre el impulso de emisión y el impulso del eco.
Es por ello que nosotros decidimos usar este sensor ya que como se menciona en la explicación
anterior, este sensor trabaja con aire y como nuestro proyecto esta relacionado con aire ya que
es un levitador neumático que esta controlado mediante un ambiente de control, nos sirve
perfectamente para el objetivo que tiene este proyecto.
Sistema de adquisición de datos diseñado
Uso e implementación del microcontrolador PSOC 5
La palabra PSoC es el acrónimo de (Programmable System on Chip), estos dispositivos
fabricados por la empresa cypress son microcontroladores cuya principal característica y
atractivo es el contar con módulos tanto análogos como digitales en un solo chip, así mismo
poder reconfigurar dinámicamente las entradas y salidas de estos módulos. De esta manera se
obtiene un componente electrónico con una gran flexibilidad en su estructura y que permite una
gran facilidad para el desarrollo de sistemas electrónicos embebidos.
Algunas características de la arquitectura de estos microcontroladores son las siguientes:
•
Unidad multiplicadora MAC.
•
Reloj tanto interno como externo.
•
El voltaje de referencia puede ser variado para actuar con distintos sensores.
•
Voltaje de funcionamiento de 5 voltios ó 3,3 voltios.
•
Posibilidad de reconfiguración.
Si nos preguntamos cómo está diseñado el Psoc, consta de 2 tipos de bloques para desarrollo,
análogos y digitales; la cantidad puede variar de acuerdo a la familia del microprocesador
seleccionado, la más común es la CY8C27443, la cual consta de 9 bloques análogos y 9
digitales, además posee una unidad multiplicadora MAC de 8X8 pudiendo almacenar resultados
de 32 bits.
Este puede funcionar con un clock interno que múltiple configuración pudiendo operar con
48Mhz, 24Mhz, 12Mhz, 6Mhz, 3Mhz o hasta 32 Mhz. Si el usuario lo desea puede operar con
un cristal externo. También cuenta con una unidad de referencia de voltaje múltiple la cual
permite variar el voltaje de referencia para trabajar con sensores y otros dispositivos. Es
alimentado con 0.5V – 3.0V hasta 1.0V.
¿Cómo se programa?
Para trabajar con este dispositivo se deben descargar 2 programas gratis, el PSOC DESIGNER
y el PSOC PROGRAMER. El primero de ellos nos permite diseñar, seleccionar de forma gráfica
nuestros bloques y programarlos, ya sea en Assembler por defecto o a través de lenguaje C
para lo cual se requiere una licencia que se debe comprar.
En este programa además encuentra un datasheet detallado de cada componente seleccionado
y sus características principales, como programarlo y obtener su mejor rendimiento a través de
instrucciones API. Una vez diseñado y compilado nuestro programa, debemos descargar el
archivo. hex al microcontrolador, mediante el software PSOC PROGRAMER y por el puerto, ya
que este dispositivo posee una memoria Flash, por lo que no requiere de un grabador externo.
Los programas de alto nivel, tales como c o basic, se caracterizan por utilizar palabras
provenientes del inglés común. Es decir, de muy fácil entendimiento para las personas, en vez
de usar número directamente o abreviaciones.
La invención de este lenguaje, permitió que se llevarán a cabo tareas mucho más complejas de
una manera más sencilla. El programa traductor en este caso se llama compilador y se encarga
de traducir el programa hecho en lenguaje de alto nivel en lenguaje de máquina.
Como todo entorno de programación, la construcción de un código en c debe incluir ciertas
partes. Estas son las directivas, las funciones, las instrucciones y los comentarios.
Para los microcontroladores, se usan dos secciones:
•
Primera sección: directivas
Las directivas controlan la conversión del programa a código de máquina por parte del
compilador [Compilador C CCs y simulador Proteus para Microcontroladores PIC].
Estas son palabras reservadas que proveen información, ya que pueden ser extensiones del C
estándar o propios del compilador, tal como se presenta en la interactividad y se explica en el
gráfico principal de esta pantalla.
•
Segunda sección: funciones
En la segunda sección de un programa hecho en lenguaje C para microcontroladores se
encuentran las funciones, es decir, las instrucciones que debe realizar el microcontrolador para
realizar una tarea en específico. A continuación, se listan estos comandos.
Así mismo existen funciones que son heredadas del lenguaje C estándar. En otras palabras,
son instrucciones que cumplen la misma función y que existen también en el lenguaje C,
utilizado para la programación de computadores.
El lenguaje C para microcontroladores también contiene comandos orientados al manejo del
tiempo, tales como retardos y otros orientados al manejo de los recursos internos del
microcontrolador, tales como el almacenamiento o lectura de las memorias RAM o EEPROM.
Primer Avance
1er Avance parte mecánica
Aquí puedo decirles que no está armado el levitado ya que preferimos irnos por la parte
electrónica y de control por el hecho de que a nuestro parecer es más sencilla la parte mecánica
que la parte electrónica y de control.
El pequeño avance que tenemos que en cuanto a la parte mecánica vendría siendo un poco de
la programación de los sensores, lo cual hemos tenido un poco de problemas con el sensor y
la placa de programación y tuvimos que utilizar un Osciloscopio para ver si el problema era la
placa o el sensor.
En las imágenes anteriores podemos observar que se están haciendo las pruebas con el
Osciloscopio y la placa es un Arduino ya que al parecer en el Arduino si dispara la señal más
en el PSOC no dispara esta señal.
Primer avance parte electrónica
Aquí tenemos el código de programación del sensor, pero el problema es que es en Arduino
porque estábamos viendo la función del sensor, si es que funcionaba o no funcionaba.
Aquí podemos ver que el código este hecho en PSOC pero al parecer con el código que
tenemos en PSOC el sensor no llega a funcionar, por esa razón utilizamos el Arduino, para ver
si es cosa de la placa o del sensor y al parecer es cosa de la placa entonces tenemos que
encontrar alguna forma de cómo hacer funcionar el sensor ya que es esencial para nuestro
proyecto y para el área de control.
2do Avance del Proyecto
Adquisicion del driver para motores L298N
Utilizaremos una fuente de computadora para la alimentación requerida en este proyecto,
además de la fuente que proporciona el Arduino.
Adquisicion de un embudo, su función es llevar el aire concentradamente hacia arriba para
obtener mayor presión de aire y un mejor funcionamiento, se hicieron intentos para escoger el
mejor ventilador en cuanto a nuestras necesidades y se determino que seria el de 120 mm.
Colocacion de una pequeña base para el ventilador, lamentablemente no se consiguieron las
4 tapas para las 4 esquinas, pero es una mejora que es capaz de realizarse eventualmente
sin dañar al proyecto en si.
Se corto el embudo para que funcionara de acorde a nuestras necesidades.
Originalemente el sensor iría en la cara de arriba del ventilador, pero la señal del ultrasónico
no podía llegar hacia arriba, nuestra hipótesis se basa en que la onda se dispersa de manera
en que pega en las paredes conicas del embudo y no logra salir del todo, entonces regresa
anticipadamente. Es por ello que optamos por utilizar una caja como base para colcoar el
sensor y asi hacer que funcione todo correctamente. Se reforzaron con las aperturas
laterales, las zonas de arriba, abajo y posterior de la caja para una mejor firmeza.
Se realizaron las extensiones para las conexiones del sensor ultrasónico y un agujero para la
salida fácil del cable usb que interconecta la computadora con todo el sistema del proyecto.
3er Avance del Proyecto
Quisimos remover el circuito que posee el ventilador original para utilizar, ya que no nos
permitia variar las revoluciones a nuestro gusto. Esto es porque únicamente trabajaba a 12v o
no funcionaba, prácticamente como un sistema ON / OFF. Lamentablemente no se logro
hacer ya que se encuentra resguardado.
Debido a lo mencionado, decidimos adquirir un motor de corriente directa y le adaptamos
unas hélices para generar aire.
Con la caja que usamos ahora para colocar el sensor, la base rectangular de base cuadrada
que hicimos, no cabia en cuanto a la altura, asi que requerimos cortar los pedazos de acrilico
nuevamente.
Lamentablemente se rompieron algunos trozos de acrilico cuando quisimos volver a
atornillarlos, asi que utilizamos pegamento de doble cara para crear nuevamente la base.
Ademas de esto, se realizo una base para el motor, de esta manera, ya no se moverá tan
drásticamente, y se relleno con papel para lo mismo.
Quedaria de esta manera al final.
Buscando diferentes objetos para hacer que levitaran, decidimos usar globos con aire.
Al principio se nos ocurrió hacer que el aire fuera mas concentrado, puesto que el globo no
levitaba correctamente, asi que decidimos hacer unos tubos de papel, pero esto no funciono
ya que generaban mucha estatica y obtamos por removerlos.
Por ultimo, colocanmos unas pequeñas bases para que el globo no fuera haca abajo, ya que
de ocurrir esto, no podría volver a levantarse. Y prácticamente este fue el resultado final en
cuanto a la parte física del proyecto.
Sim implementación PID
AHORA AGARRAMOS LOS DATOS MEDIANTE UNA MODIFICACIÓN EN EL PROGRAMA
CORREMOS EL PROGRAMA Y ADQUIRIMOS LOS DATOS EN EL EXCEL
UNA VEZ HECHO ESO, COLOCAMOS LOS DATOS EN MATLAB, PARA QUE ASÍ SE CREE
NUESTRO PDI
AHORA CREAMOS EL MODELO DEL PROCESO CON UN POLO
LE PICAMOS A MODEL OUTPUT
COMO SE OBSERVA, EL MODELO PID ES DE 11.45, LO QUE NOS DICE QUE NECESITA OTRA
ESTIMACIÓN PARA OBTENER EL PDI.
AHORA SE SELECCIONO UNO DE 2 POLOS Y MUESTRA LO SIGUIENTE:
INDICANDO QUE TIENE 11.85
ASÍ QUE PARA TRABAJAR MEJOR, SE CREO UNA FUNCION DE TRANSFERENCIA EN BASE A
LOS DATOS DE ENTRADA.
DANDONOS QUE LO MÁS APROXIMADO SERÍA UN MODELO DE FUNCIÓN DE
TRANSFERENCIA CON 62% EXACTITUD.
NOTA: ESTO SE DEBE A CAUSA DE LA INCONCISTENCIA A CAUSA DEL MODELO FÍSICO, ESTO
SIENDO POR DIVERSOS FACTORES.
NUEVAMENTE CORREMOS EL PROGRAMA HASTA OBTENER UN RESULTADO MÁS DESEADO
EN ESTE CASO OBTENIENDO UNO CON 74% DE EXACTITUD, EL MÁS ALTO HASTA EL
MOMENTO
(Tf10 es el más exacto)
DE AHÍ VAMOS A MATLAB PARA QUE ESTE CREA UN PID ACORDE A LA FUNCIÓN VISTA
ANTERIORMENTE.
PARA ESO LE DIREMOS A MATLAB QUE TRAEMOS UNA FUNCIÓN DE TRANSFERENCIA:
AHORA VAMOS A PID TUNER
AHORA VAMOS A DONDE DICE PLANT E IMPORTAMOS
AHORA SI, PODEMOS TRABAJAR CON EL PID EN LABVIEW
REALIZADA ESTA PRUEBA, PUDIMOS COMPROBAR QUE EFECTIVAMENTE, SI SE CUENTA
CON UN CONTROL PID, PERO SE OCUPAN AJUSTAR VALORES, POR LO QUE SE VUELVE A
REALIZAR EL VI QUE PROCESA LOS DATOS PARA PODERLO REALIZAR DE FORMA EFICIENTE
Y DETECTAR PROBLEMAS
Video multimedia de la funcionalidad del proyecto:
CLIC AQUI
CONCLUSION
Con este proyecto podemos concluir los beneficios que tiene utilizar los sistemas PID,
pues en este caso, el motor del ventilador gira de forma variable dependiendo de la
altura a la que indiquemos que suba (en este caso se representaría por la gráfica de la
función de transferencia ya con el PID implementado).
Como lo mencionamos anteriormente, muchas personas cuando comienzan a trabajar
en la industria o estudiando a fin, es difícil entender el comportamiento del PID, como
ejemplificarlo y demás. Entonces se nos ocurrió demostrarlo de esta forma, que incluso,
hasta personas que no tienen nada que ver con este mundo industrial o estudiantil,
podrán entender y comprender de lo que se trata.
Es por ello que nosotros esperamos que, para la realización de este proyecto, podamos
poner en práctica lo aprendido en clases y materias anteriores. Más adelante, en el
siguiente reporte se explicará de manera detallada los resultados obtenidos después de
realizar esta práctica.
BIBLIOGRAFIA
Teorema de Bernoulli con explicación Sencilla. (2019, noviembre 5). Teorema.
https://www.teorema.top/teorema-de-bernoulli/
Controlador PID - Control Automático - Picuino. (s/f). Picuino.com. Recuperado el 17
de junio de 2022, de https://www.picuino.com/es/control-pid.html
Función de transferencia del Motor DC y su carga. (2019, abril 24).
dademuchconnection. https://dademuch.com/2019/04/24/funcion-detransferencia-del-motor-dc-y-su-carga/
Sensor Ultrasonido HC-SR04. (s/f). Naylamp Mechatronics - Perú. Recuperado el 17 de
junio de 2022, de https://naylampmechatronics.com/sensores-proximidad/10sensor-ultrasonido-hc-sr04.html
Propiedades del Acrilico. (s/f). Acrilico-y-policarbonato.com. Recuperado el 17 de junio
de 2022, de http://www.acrilico-y-policarbonato.com/acrilico-propiedades.html
Download