Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
LABORATORIO DE CIRCUITOS DIGITALES “PRÁCTICA #4: ENTRADAS Y SALIDAS ANALÓGICAS” UNIVERSIDAD DE ANTIOQUIA FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA ELÉCTRICA MEDELLÍN – ANTIOQUIA 2020-1 INTRODUCCIÓN La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse-width modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga. En la actualidad existen muchos circuitos integrados en los que se implementa la modulación PWM, además de otros muy particulares para lograr circuitos funcionales que puedan controlar fuentes conmutadas, controles de motores, controles de elementos termoeléctricos, choppers para sensores en ambientes ruidosos y algunas otras aplicaciones. Se distinguen por fabricar este tipo de integrados, compañías como Texas Instruments, National Semiconductor, Maxim, y algunas otras más. En el siguiente montaje, se trabaja con el controlador Arduino Uno y se realizan pruebas de PWM con leds RGB Y entradas analógicas, donde se analizan los distintos valores que toma cada entrada analógica y el PWM respectivamente. OBJETIVOS Familiarizarse con el hardware y software de la plataforma de desarrollo Arduino. Aprender a utilizar las entradas Analógicas y las salidas PWM de la placa Arduino UNO. Aprender a utilizar la comunicación serial del Arduino. Entender el condicional IF. Controlar el color de un LED RGB. MARCO TEÓRICO ¿QUÉ ES UN CONVERSOR ANALÓGICO DIGITAL (ADC)? Un conversor o convertidor de señal analógica a digital (Conversor Analógico Digital, CAD; Analog- to-Digital Converter, ADC) es un dispositivo electrónico capaz de convertir una señal analógica, ya sea de tensión o corriente, en una señal digital mediante un cuantificador y codificándose en muchos casos en un código binario en particular. Donde un código es la representación unívoca de los elementos, en este caso, cada valor numérico binario hace corresponder a un solo valor de tensión o corriente. En la cuantificación de la señal se produce pérdida de la información que no puede ser recuperada en el proceso inverso, es decir, en la conversión de señal digital a analógica y esto es debido a que se truncan los valores entre 2 niveles de cuantificación, mientras mayor cantidad de bits mayor resolución y por lo tanto menor información perdida. ¿CUÁNTAS ENTRADAS ANALÓGICAS TIENE EL ARDUINO UNO? Arduino cuenta con 6 pines para entradas analógicas los cuales están marcados del A0 al A5. Son pines que únicamente se usan como entradas analógicas. Toma valores comprendidos entre 0 y 1023. Debemos tener en cuenta que no podemos sobrepasar los límites de voltaje permitidos, es decir, si le aplicamos un voltaje que supere 5 voltios en la entrada digital, es posible que la placa se queme. También se aplica a voltajes negativos, es por esto por lo que debemos asegurar que el voltaje aplicado esté entre el rango de 0 a 5V. ¿QUÉ ES LA RESOLUCIÓN DE UN ADC Y CUÁL ES LA RESOLUCIÓN ADC DEL ARDUINO UNO? La señal digital obtenida de una analógica tiene dos propiedades fundamentales: Valores: Que valor de voltios define 0 y 1. En nuestro caso es tecnología TTL (0 – 5V) Resolución analógica: nº de bits que usamos para representar con una notación digital una señal analógica: En el caso de un Arduino Uno, el valor de 0 voltios analógico es expresado en digital como B0000000000 (0) y el valor de 5V analógico es expresado en digital como B1111111111 (1023). Por lo tanto todo valor analógico intermedio es expresado con un valor entre 0 y 1023, es decir, sumo 1 en binario cada 4,883 mV. Arduino Uno tiene una resolución de 10 bits, es decir, unos valores entre 0 y 1023. Arduino Due tiene una resolución de 12 bits, es decir, unos valores entre 0 y 4095. ¿QUÉ ES PWM? La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse-width modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga. El PWM nace de la necesidad de tener varios niveles de tensión a partir de una señal continua, ya sea que venga del mundo digital (microcontroladores) o del mundo analógico (una simple «señal» de continua) que queremos que «parezca de menos» tensión. ¿CUÁNTAS SALIDAS PWM TIENE EL ARDUINO UNO? En Arduino tenemos 6 pines analógicos PWM marcados con el signo de corriente alterna (~), estos pines son 11,10, 9, 5, 3. La salida analógica PWM toma valores comprendidos entre 0 y 255. Estos pines de salida se diseñaron para suministrar voltaje, no se diseñaron para entregar corriente a un circuito. El máximo valor de corriente que puede entregar un pin es de aproximadamente 40mA con lo cual nos alcanza para encender un LED. Las cargas que se alimentarán no deben superar los 5V o consumir más de 40mA. ¿QUÉ FUNCIONES SE UTILIZAN PARA LEER LAS ENTRADAS ANALÓGICAS Y ESCRIBIR LAS SALIDAS PWM DEL ARDUINO? Las Salidas PWM (Pulse Width Modulation) permiten generar salidas analógicas desde pines digitales. Arduino Uno no posee salidas analógicas puras, sin embargo el Arduino Due sí tiene salidas analógicas puras mediante dos DAC. El Arduino Due, posee dos salidas analógicas puras mediante dos conversores digital a analógico. Estos pines pueden usarse para crear salidas de audio usando la librería correspondiente. La función para hacer una salida PWM en un pin es: analogWrite() – escribe un valor analógico (onda PWM) al pin especificado. No en todos los pines digitales se puede aplicar PWM. ¿QUÉ ES LA COMUNICACIÓN SERIAL DE ARDUINO? Arduino tiene una característica muy importante que tiene la habilidad de comunicarse con nuestro PC a través de un puerto serie. Esta es la conocida comunicación serial. Este tipo de puerto ha quedado en desuso ya que la tecnología USB se ha apoderado de los dispositivos electrónicos, Arduino cuenta con un convertidor de Serial a USB para que la placa pueda ser reconocida como un dispositivo conectado a un puerto COM a pesar de que la conexión se haga a través de un cable USB. La interfaz de desarrollo de Arduino nos proporciona una sencilla herramienta que nos permite enviar y ver datos que se manejan a través de estos puertos Serie. Este es el Monitor Serial y lo tenemos en el menú de herramientas. Esta es la forma más eficiente y sencilla para establecer una comunicación serial con nuestro Arduino. Usando esta ventana podemos enviar o recibir información mediante el puerto serie. Esta ventana no se activa si el Arduino está desconectado, es necesario tener una conexión estable y segura mediante USB. ¿QUÉ SON LOS BAUDIOS? El baudio (en inglés baud) es una unidad de medida utilizada en telecomunicaciones, que representa el número de símbolos por segundo en un medio de transmisión digital.1Cada símbolo puede comprender 1 o más bits, dependiendo del esquema de modulación. Es importante resaltar que no se debe confundir la velocidad en baudios (baud rate) con la tasa de bits (bit rate), ya que cada evento de señalización (símbolo) transmitido puede transportar uno o más bits. Solo cuando cada evento de señalización (símbolo) transporta un solo bit coinciden la velocidad de transmisión de datos en baudios y en bits por segundo. ¿QUÉ FUNCIONES SE UTILIZAN PARA ENVIAR Y RECIBIR INFORMACIÓN A TRAVÉS DEL PUERTO SERIAL? Para poder usar este puerto Serie de Arduino existen varias funciones, estas son: Begin (velocidad): Abre el puerto serie y establece la velocidad.La velocidad de conexión (baudios o Baud Rate) es la velocidad que llegan los datos al puerto serie. Normalmente se usa 9600bps o 115000bps. available(): Esta función devuelve el estado del buffer del puerto serie y revela si hay datos dentro de este. read(): Lee un carácter del buffer. Es importante entender que lee un solo carácter (byte). write(): Escribe caracteres a través del puerto serie. A diferencia de read(), escribe tantos caracteres como quieras. print(): Imprime los datos al puerto serie como texto ASCII. println(): Imprime los datos al puerto serie como texto ASCII seguido de un retorno de carro (ASCII 13, o ‘\r’) y un carácter de avance de línea (ASCII 10, o ‘\n’). Este comando tiene la misma forma que Serial.print (). flush(): Vacía el buffer de entrada de datos. end(): Desactiva la comunicación serie, permitiendo a los pines 0(RX) y 1 (TX) ser usados como entradas o salidas digitales. Para volver a activar la comunicación serie, llamar la función Serial.begin(). ELEMENTOS NECESARIOS PARA LA SIMULACIÓN Arduino UNO. Software de Arduino. TinkerCad. DESARROLLO DE LA PRÁCTICA MONTAJE EN TINKERCAD DEL ESQUEMA PROPUESTO EN LA GUÍA CÓDIGO Y SIMULACIÓN PARA QUE AL VARIAR EL NIVEL DEL VOLTAJE DE LA ENTRADA A0 CAMBIE LA INTENSIDAD DE LOS LEDS Y OBSERVAR LOS VALORES A TRAVÉS DEL PUERTO SERIE ENCENDER LED RECIBIENDO ORDENES POR EL MONITOR SERIAL CONCLUSIONES Usar el puerto serial de Arduino es una manera sencilla y efectiva de enviar y recibir información a nuestro circuito a través del monitor serial, esto nos permite crear funciones y condiciones que dependan del dato ingresado por el monitor serial. Aprender las funciones lógicas y condicionales de Arduino nos ayudan a optimizar procesos y componentes en un circuito electrónico, nos permiten desarrollar secuencias de código que cumplen varias funciones en pocos renglones. Teniendo en cuenta las prácticas anteriores es importante reconocer que Arduino nos brinda muchas facilidades a la hora de montar un circuito electrónico, tiene muchas funciones, salidas analógicas y digitales y también a través de su interfaz programable nos permite configurar todos sus complementos para poder realizar infinidad de proyectos relacionados con la electrónica y otras áreas académicas. CIBERGRAFÍA https://es.wikipedia.org/wiki/Conversor_de_se%C3%B1al_anal%C3%B3gica_a_digital https://www.programoergosum.com/cursos-online/arduino/257-entradas-analogicas- con-arduino/entradas- analogicas#:~:text=En%20arduino%20disponemos%20de%206,comprendidos%20entre%2 00%20y%201023. https://aprendiendoarduino.wordpress.com/tag/conversor-analogico- digital/#:~:text=El%20ADC%20interno%20del%20microcontrolador,num%C3%A9rico%20e ntre%200%20y%201023 https://www.programoergosum.com/cursos-online/arduino/255-salidas-analogicas-pwm- con-arduino/salidas-analogicas-pwm https://aprendiendoarduino.wordpress.com/2017/10/22/entradas-y-salidas-analogicas- arduino-pwm/ https://es.wikipedia.org/wiki/Baudio http://panamahitek.com/comunicacion-serial-con-arduino/ http://diymakers.es/usando-el-puerto-serie-del-arduino/
Compartir