miércoles, 30 de marzo de 2016

SIMULACIÓN DE SENSOR ULTRASÓNICO EN PROTEUS

Los sensores ultrasónicos son ampliamente utilizados en proyectos donde es necesario realizar mediciones de distancia, esta clase de sensores generan un sonido con una frecuencia ultrasónica (inaudible por el oído humano) el cual al chocar con un objeto es devuelto y captado por el sensor, teniendo en cuenta la velocidad del sonido y el tiempo que se demora en ir y volver el sonido es posible calcular la distancia a la cual se encuentra el objeto.

En esta ocasión se va a presentar una forma para simular en proteus un sensor ultrasónico hc-sr04 el cual consta de 4 pines (2 de alimentación, 1 de activación, 1 de señal de eco), en próximas publicaciones se explicará más a fondo el funcionamiento de este sensor y su uso con Arduino.


Sensor Ultrasonico (HC-SR04)


Para realizar la simulación en proteus es necesario descargar e instalar una librería, la cual quiero aclarar que no es de mi autoría, esta librería que se va a utilizar es realizada por las personas del blog embarcado, en el link que se encuentra a continuación pueden descargar la librería necesaria para hacer la simulación en proteus.


Esta librería además del modelo de sensor ultrasónico, también incluye modelos de algunas tarjetas de arduino como son Arduino UNO, Mega, Lilipad y Nano.






Si no sabes cómo simular arduino con proteus puedes consultar la publicación que en geek electrónica realizamos sobre ese tema en el siguiente link.


Instalación de la librería en proteus


El procedimiento para instalar esta librería es demasiado sencillo, tan solo es necesario copiar el archivo .LIB que viene incluido en la carpeta que se descargo y pegarlo en la carpeta de librerías de proteus, a continuación se indica la ruta a seguir para ubicar la carpeta de librerías dependiendo de la versión de proteus que se esté utilizando.

Para proteus versión 7:

Para instalar la librería en proteus 7 es necesario seguir la siguiente ruta y pegar el archivo antes copiado en esa ubicación.


C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional\LIBRARY


Para proteus versión 8.x


Para el caso de las versiones 8 de proteus el procedimiento es similar al anterior, solamente que en lugar de buscar la carpeta de Program Files se va a buscar la carpeta de Program Data la cual por lo general se encuentra como archivo oculto y por esta razón es importante que activen la visualización de archivos ocultos de su sistema operativo.

La ruta que deben seguir es la siguiente:


C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\LIBRARY


Al igual que se indico para el caso de proteus 7, dentro de la carpeta LIBRARY se pega el archivo .LIB que anteriormente se descargo y copió.

Uso de la librería


Una vez instalada la librería como se indico anteriormente ya se puede abrir el programa proteus e iniciar un nuevo proyecto en isis y en el apartado de dispositivos basta con escribir arduino para que aparezcan los nuevos elementos que tenemos a nuestra disposición.






Luego de seleccionar e importar el sensor al área de trabajo, también es necesario seleccionar un potenciómetro que se debe configurar como divisor de voltaje y con el cual se va a simular la variación de distancia, el potenciómetro debe ser conectado al terminal del sensor llamado SimPin tal como se muestra a continuación.






Este modelo de sensor está construido a partir de un microcontrolador que contiene internamente y es el que recibe la variación de voltaje del potenciómetro con lo que se indica una variación de distancia, los otros dos terminales que tiene este sensor deben ser conectados a la tarjeta arduino, microcontrolador o cualquier dispositivo con el que se vaya a completar el proyecto.

El terminal Trigger recibe un pulso que le indica al sensor el momento en el que se va a realizar una medición.

El terminal Echo entrega un pulso que indica la distancia que se está midiendo, esta distancia se calcula a partir del tiempo que dura el pulso y de la velocidad del sonido.

Por último como ya se menciono, este modelo está construido a partir de un microcontrolador, por lo tanto antes de simular es necesario cargar el archivo .HEX que contiene el programa de ese microcontrolador que se encuentra al interior del modelo, para esto se siguen los pasos acostumbrados para cargar un programa en un microcontrolador en proteus, se hace un doble click sobre el dispositivo y en la ventaja emergente se selecciona la opción UltraSonicSensor.HEX y se selecciona la ruta en donde se encuentre alojado el archivo .HEX que viene incluido en la carpeta que se descargo previamente.






Para finalizar, a continuación pueden ver una imagen de un proyecto realizado con este sensor y un Arduino, como ya se había mencionado anteriormente, en próximas publicaciones de Geek Electrónica se explicará cómo utilizar este sensor con Arduino y con algunos microcontroladores.







Si requieren saber como se programa en arduino la lectura, cálculos y visualización de datos de un sensor ultrasonico, pueden leer la publicación de Geek Electrónica en donde explicamos como hacer esto. Para leer esa publicación solo tienen que seguir el siguiente link:

Medición de distancia con sensor ultrasonico y Arduino (Geek Electronica)


Por ultimo, si desean descargar los archivos del proyecto que se utilizo como ejemplo en esta publicación, lo pueden hacer siguiendo el siguiente link.

Descargar archivos del proyecto de ejemplo

sábado, 26 de marzo de 2016

PWM CON ARDUINO

La modulación por ancho de pulsos más conocida como PWM, es una técnica mediante la cual se modifica el ciclo de trabajo de una señal periódica, esta modificación se puede hacer para controlar la cantidad de energía que le va a ser entregada a una carga o para comunicación.

Esta señal PWM por lo general es producida por un circuito digital como por ejemplo un microcontrolador, dicho circuito genera una señal cuadrada a la que le puede variar el ciclo útil y con lo cual emular una señal análoga de diferentes amplitudes de voltaje con la cual controlar la carga que desee, algunas de las aplicaciones en las que más se usa el PWM es el control de velocidad de motores o el control de intensidad de brillo de un bombillo.

El ciclo útil o ciclo de trabajo de la señal viene determinado por los tiempos que dura en alto la señal cuadrada, respecto al periodo de la señal.



Donde:
D= Ciclo útil o ciclo de trabajo
t1= Tiempo que la señal dura en valor alto (en un periodo)
T= Periodo de la señal


Señal PWM generada por Arduino con ciclo util del 50%


El resultado de ese ciclo útil es un valor de porcentaje que representará el porcentaje del valor máximo de la señal que le será entregado a la carga que se quiere controlar. Por ejemplo si se tiene un ciclo útil del 50% y un valor máximo de señal de 5 voltios, el valor análogo emulado es de 2,5 voltios.

Arduino cuenta con la posibilidad de generar señales PWM, la cantidad de señales que puede generar depende de la tarjeta que se esté utilizando, por ejemplo la tarjeta Arduino UNO puede generar hasta 6 señales PWM (Pines 3, 5, 6, 9, 10, 11) o para el caso del Arduino MEGA puede generar hasta 15 señales PWM (Pines 2 al 13 y 44 al 46).

El comando utilizado para generar dicha señal PWM es el comando analogWrite(pin, valor) donde pin representa el terminal en el cual se va a generar la señal y valor representa el valor de ciclo útil que se le quiere asignar al PWM.

Los PWM de Arduino tienen una resolución de 8 bits, ósea que puede representar 256 valores (0 a 255), estos valores entre 0 y 255 son los que acepta el comando analogWrite en el parámetro de valor para especificar el ciclo útil, lo que quiere decir que si se quiere ajustar un ciclo útil del 100% se deberá colocar 255 en el espacio del parámetro que antes indicamos como valor.






En la línea de código anterior se está configurando una señal PWM que va a ser generada por el pin 13 del Arduino y que va a tener un ciclo útil de 49.8%, se puede calcular de forma sencilla el ciclo útil del PWM o el valor que se debe colocar en la instrucción analogWrite mediante una sencilla regla de 3, teniendo en cuenta que un ciclo útil del 100% debe ser representado como un 255 dentro del comando analogWrite.

Es importante tener claro ya que es algo que suele confundir a quienes están comenzando en la electrónica, que aunque la traducción literal del comando analogWrite sea “Escritura analoga”, en ningún momento se está generando una señal análoga por el arduino, la señal PWM que se genera es una señal de tipo digital que puede emular de cierta forma a una señal análoga sin llegar a serlo.

Una de las formas de hacer control de velocidad de motores o de luminosidad de bombillos por medio de un PWM es utilizar como valor de referencia del ciclo útil del PWM un valor de entrada análogo, con el cual dependiendo de ese valor de entrada se pueda variar el ciclo útil del PWM.

A continuación se muestra un código de programación para arduino, donde se toma un valor análogo y este valor es utilizado posteriormente para ajustar el ciclo útil del PWM.






Hay que tener en cuenta que si se va a utilizar una lectura de un canal análogo del Arduino como medio de control del ciclo útil del PWM, que ambos dispositivos (ADC y PWM) trabajan con resoluciones diferentes, mientras el convertidor análogo a digital del arduino trabaja por defecto con una resolución de 10 bits (1024 valores), el PWM de Arduino trabaja con una resolución de 8 bits (256 valores), por lo cual es necesario implementar alguna estrategia para que los valores del ADC de 10 bits puedan ser utilizados para controlar el ciclo útil del PWM de 8 bits. Para el caso especifico del código anterior se opto por dividir el valor de convertidor análogo a digital entre 4.01176.

A continuación se presenta un esquema de conexión de Arduino para controlar la luminosidad de un LED mediante un potenciómetro.



miércoles, 23 de marzo de 2016

LCD CON ARDUINO

En algunos circuitos electrónicos es necesario presentar alguna clase de información, para esta tarea se cuentan con diferentes dispositivos, desde leds, displays de led por segmentos o pantallas.

Dentro de las pantallas, tenemos los LCD que son pantallas de cristal liquido que pueden ser solamente alfanuméricas o también pantallas graficas, una de las pantallas LCD mas utilizadas es la pantalla LCD 2*16.

Este tipo de pantallas vienen configuradas por filas y columnas como si se tratara de una matriz, en cada una de las posiciones se puede representar una carácter. Para el caso de la pantalla 2*16 significa que es una pantalla de 2 filas por 16 columnas, con lo cual se podrán representar hasta 32 caracteres de forma simultanea.



La pantalla 2*16 cuenta con 16 pines de conexión que sirven para configurar el LCD, la descripción de estos 16 pines es la siguiente:

  • Pin 1 - Vss (Tierra)
  • Pin 2 - VCC (5 Voltios)
  • Pin 3 - Ajuste de contraste
  • Pin 4 - RS (Selección de Registro)
  • Pin 5 - R/W (Lectura – Escritura)
  • Pin 6 - Enable
  • Pines 7 a 14 (Pines de datos D0 a D7)
  • Pin 15 - Ánodo
  • Pin 16 - Cátodo

Ajuste de contraste

El ajuste de contraste de la pantalla se hace por medio de un nivel de voltaje entre cero y cinco voltios que se ingresa por el pin tres del LCD. Una opción para poder ajustar el contraste es utilizar un potenciómetro como divisor de voltaje  y conectar directamente al LCD.



Pines 7 a 14

La escritura en esta pantalla se realiza por medio de los pines 7 a 14 (8 bits), sin embargo también se pueden utilizar tan solo cuatro bits para lo cual se utilizan solamente los últimos cuatro pines (11 a 14).

Pines 15 y 16

Este LCD tiene un led para hacer una retroiluminación a la pantalla y poder visualizar la información de una forma más clara, los pines 15 y 16 representan el ánodo y cátodo de dicho led. Si no se quiere utilizar la función de retroiluminación no es necesario conectar estos pines.

Utilizar un LCD 16*2 con Arduino

El IDE de Arduino incluye una librería con la cual es posible utilizar un LCD de 2*16, con esta librería se puede utilizar la pantalla tanto en el modo de 8 bits como en el modo de 4 bits. Para poder hacer uso del lcd es necesario incluir en el programa de arduino la librería LiquidCrystal.h


Luego de esto se declaran los pines que se van a utilizar en la programación:


El modo de conexión entre el arduino y el LCD se describe en la siguiente imagen:
















Funciones de la librería LiquidCrystal

La librería LiquidCrystal contiene un gran numero de funciones que simplifican la tarea de programación, a continuación se van a mencionar tan solo algunas de ellas, si requieren mayor información acerca de las funciones de la librería LiquidCrystal, pueden consultar la sección de página de arduino que habla sobre dicha función.


lcd.begin(16,2); Inicializa el LCD que se va a utilizar, recibe dos parámetros el primero de ellos indica la cantidad de columnas del LCD y el segundo indica la cantidad de filas.

lcd.print(“Texto a mostrar”);

lcd.print(variable,basenumerica);

la función lcd.print es utilizada para imprimir un texto o el valor de una variable en la pantalla, en caso de querer imprimir un texto hay que encerrar entre comillas lo que se quiera imprimir, en caso de querer imprimir el valor guardado en una variable, se escribe el nombre de la variable seguido por la base numérica en la que se quiera imprimir el valor de la variable, HEX para hexadecimal, BIN para binario, OCT para octal, en caso de querer imprimir en formato decimal no es necesario especificar este parámetro.

lcd.noDisplay(); Desactiva la visualización del LCD

lcd.display(); Activa la visualización del LCD

lcd.setCursor(Columna,Fila); Recibe dos parámetros y ubica el cursor del LCD para una posterior impresión en la posición especificada.

A continuación se puede ver un ejemplo de un programa utilizando un LCD en arduino, el programa toma un valor por el convertidor análogo a digital, luego hace una conversión a voltaje y por ultimo muestra en el LCD el valor de voltaje calculado.



domingo, 20 de marzo de 2016

ANÁLISIS DE CIRCUITOS POR MEDIO DE LEYES DE OHM Y KIRCHHOFF


Existen diferentes métodos para realizar el análisis de circuitos eléctricos, por ejemplo el análisis por mallas o el análisis por nodos (métodos que se van a explicar en futuras publicaciones del blog), sin embargo cuando se está iniciando el aprendizaje en la electricidad o electrónica los primeros conocimientos que se adquieren para hacer análisis de circuitos son la ley de Ohm y las leyes de Kirchhoff, razón por la cual en el siguiente vídeo se va a explicar cómo hacer el análisis de un circuito solamente utilizando estas leyes.




sábado, 19 de marzo de 2016

LEYES DE KIRCHHOFF

Las leyes de Kirchhoff junto con la ley de ohm son las tres leyes básicas para el análisis de circuitos en electricidad y electrónica, con ellas se puede entender el comportamiento de los tres parámetros más utilizados en estas áreas que son la resistencia, el voltaje y la corriente.

Para el caso de las leyes de Kirchhoff estas fueron dos leyes planteadas por el físico Gustav Kirchhof en las cuales describe el comportamiento del voltaje y la corriente en los circuitos eléctricos. 

Ley de corrientes de Kirchhoff (LCK)


La ley de corrientes de Kirchhoff o también llamada primera ley de Kirchhoff y denotada por la sigla “LCK” describe cómo se comportan las corrientes presentes en un nodo de un circuito eléctrico.

Esta ley dice lo siguiente:

“En cualquier nodo, la suma de las corrientes que entran en ese nodo es igual a la suma de las corrientes que salen. De forma equivalente, la suma algebraica de todas las corrientes que pasan por el nodo es igual a cero.”

Por lo tanto si tenemos el siguiente nodo:



En el nodo anterior están presentes cuatro corrientes, de las cuales solamente una de ellas ingresa al nodo (I1), las otras tres (I2, I3, I4) salen del nodo, por lo tanto siguiendo el planteamiento de la ley de corrientes de Kirchhoff que dice que la suma de las corrientes que salen debe ser igual a la suma de las corrientes que entran al nodo, se tendría lo siguiente:


O lo que es igual:


Ley de voltajes de Kirchhoff (LVK)


La ley de voltajes de Kirchhoff o también llamada segunda ley de Kirchhoff y denotada por su sigla “LVK” describe cómo se comporta el voltaje en un lazo cerrado o malla, por lo tanto con esta ley es posible determinar las caídas de voltaje de cada elemento que compone a la malla que se esté analizando.

Esta ley dice lo siguiente:

“En un lazo cerrado, la suma de todas las caídas de tensión es igual a la tensión total administrada. De forma equivalente, la suma algebraica de las diferencias de potencial eléctrico en un lazo es igual a cero.”

Por lo tanto, si tenemos el siguiente circuito:


La fuente de voltaje (Vf) va a estar suministrando una tensión de 12V y en cada una de las resistencias (R1, R2, R3 y R4) se va a presentar una caída de tensión que va a ser el valor de voltaje de esas resistencias y la suma de dichas caídas de tensión debe ser igual al valor entregado por la fuente:


Donde:

VR1, VR2, VR3 y VR4 son las caídas de tensión en cada una de las resistencias.

O lo que es igual:

lunes, 14 de marzo de 2016

CIRCUITOS ELÉCTRICOS

Un circuito eléctrico o electrónico es un conjunto de componentes que se encuentran interconectados entre sí formando como mínimo un camino cerrado por el cual puede circular el flujo de corriente. Dicho circuito puede estar conformado por diferentes tipos de elementos como fuentes, interruptores, condensadores, bobinas, diodos, motores, etc.

El funcionamiento de estos circuitos eléctricos varía dependiendo de los elementos que lo compongan así como del tipo de fuente que se esté utilizando para alimentar el circuito, por ejemplo un circuito que contenga un condensador va a funcionar de una forma si su alimentación es una fuente de corriente continua y de otra forma diferente si su alimentación es una fuente de corriente alterna, sin embargo estas diferencias ya se explicaran en futuras publicaciones de Geek Electrónica.

Para comenzar con el tema de análisis de circuitos eléctricos en corriente continua, primero se tendrán que definir algunos conceptos básicos de circuitos eléctricos como los son:

  • Conductor
  • Fuente
  • Nodo
  • Rama
  • Malla

Conductor:


Un conductor es un material con muy baja resistencia al paso de la corriente, lo cual permite que los electrones mantengan un flujo constante, estos materiales son los cables, alambres o pistas de circuitos impresos que generalmente se utilizan en la construcción de circuitos eléctricos o electrónicos, algunos materiales utilizados como conductores eléctricos son el cobre, la plata y el oro.

Fuente:


La fuente es el componente que se encarga de proporcionarle energía al circuito eléctrico para que pueda desempeñar la función para la cual fue diseñado, las fuentes pueden ser fuentes de voltaje o fuentes de corriente, siendo las primeras las que se utilizan generalmente (al menos en los primeros pasos en la electrónica).

Las fuentes de voltaje generan entre sus terminales una diferencia de potencial (Voltaje) constante y que es completamente independiente de la carga que les sea conectada.

Por su parte las fuentes de corriente generan un flujo de electrones (Corriente) constante sin importar la carga que les sea conectada.

Nodo:


Un nodo es un punto en donde se encuentran más de dos conductores o terminales de componentes y que le permite a la corriente tener varios caminos por los cuales transitar.

Ejemplo de un Nodo

Rama:


Una rama es un camino por el cual puede circular la corriente y que se encuentra entre dos nodos consecutivos.

Ejemplo de una Rama

Malla:


La malla es un camino cerrado por el cual puede circular la corriente y la cual puede estar compuesta por varias ramas.

Ejemplo de Mallas

TIPOS DE CIRCUITOS ELÉCTRICOS


Los circuitos eléctricos pueden ser clasificados de diferentes formas, por ejemplo por el tipo corriente con el que se alimentan (AC o DC), por el tipo de componentes por el cual están construidos o por el tipo de configuración que tienen, para esta primera aproximación que se está haciendo de los circuitos eléctricos se va a explicar los tipos de circuitos de acuerdo a su configuración de construcción.

De acuerdo a la forma en la que están dispuestos o interconectados los elementos que componen a un circuito, se pueden clasificar en:

  • Circuito Serie
  • Circuito Paralelo
  • Circuito Mixto

Circuito Serie:

Este tipo de circuito tiene a sus componen conectados de forma tal que la corriente solo tiene un camino posible para recorrer todo el circuito.

Ejemplo de Circuito Serie
Las características principales del circuito serie son las siguientes:

  • La corriente es la misma en todo el circuito.
  • El voltaje es diferente en cada componente del circuito y de acuerdo a la ley de ohm el voltaje que se quedara en cada componente estará definido por la corriente y por la resistencia del componente.
  • La resistencia total se calcula como la suma de cada una de las resistencias que componen al circuito.

EJEMPLO:

Para realizar un ejemplo de los cálculos básicos de un circuito serie utilizando la ley de ohm, se va a utilizar el siguiente circuito.


Lo primero que se va a calcular es la resistencia total del circuito, al ser un circuito en serie la resistencia total es igual a la suma de cada una de las resistencias que componen al circuito.


Para calcular la corriente se utiliza la ley de Ohm y ya que como es un circuito serie la corriente para cada uno de los elementos es la misma, entonces se calcula de la siguiente forma:


Por último como en un circuito serie los voltajes de cada uno de los elementos es diferente, se procede a calcular por medio de la ley de Ohm el voltaje presente en cada una de las resistencias, esto se hace multiplicando la corriente que circula por cada elemento (la misma para todos) por el valor de la resistencia del elemento.


Circuito Paralelo:

Este tipo de circuito tiene a todos sus componentes conectados entre sí compartiendo a dos nodos en común.

Ejemplo de Circuito Paralelo

Las características principales de estos circuitos son:

  • El voltaje es el mismo para cada una de las ramas del circuito.
  • La corriente se divide en cada una de las ramas del circuito.


Para el caso del cálculo de la resistencia total del circuito se puede hacer de dos formas diferentes.

En caso que se quiera operar solo dos resistencias en paralelo, se puede hallar la resistencia equivalente como el producto de las dos resistencias divido en la suma de las mismas:

Si se requieren operar más de dos resistencias en paralelo puede llegar a ser conveniente utilizar el siguiente método.


EJEMPLO

Para realizar un ejemplo de los cálculos básicos de un circuito paralelo utilizando la ley de ohm, se va a utilizar el siguiente circuito.


Lo primero que se va a hallar es la resistencia total o resistencia equivalente, para esto como son más de dos resistencias que se encuentran en paralelo, vamos a utilizar el siguiente método.


Por lo tanto:


Ahora como ya se menciono, el voltaje en un circuito en paralelo, es el mismo para todos los componente por lo tanto el voltaje que tiene cada una de las resistencias es el mismo al de la fuente (V1).


Para calcular las corrientes de cada una de las ramas, se utiliza la ley de ohm. Entonces se divide el valor del voltaje de la rama en el valor de resistencia de la misma rama.

Circuito Mixto:


Esta clase de circuitos eléctricos comparten las estructuras y características tanto de los circuitos serie como de los circuitos paralelo, debido a que en partes de su estructura sus elementos están conectados en serie y en otras partes otros elementos pueden estar conectados en paralelo.

Ejemplo Circuito Mixto

El cálculo o análisis de esta clase de circuitos por diferentes métodos se explicara en futuras publicaciones del blog.