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