Welcome to IDI Electronica!!!



Welcome!!! IDI Electronica is a blog for my personal projects and articles to help electronics enthusiasts like me.

Bienvenidos!!! IDI Electronica es un blog con mis proyectos personales y artículos con el fin de ayudar a entusiastas de la electrónica como yo.
Showing posts with label español. Show all posts
Showing posts with label español. Show all posts

Monday, March 21, 2016

Divisor de Frecuencia por Número Impar con Ciclo de Trabajo de 50%

1. INTRODUCCION

En uno de mis artículos expliqué cómo dividir la frequencia de una señal de reloj para crear señales de reloj con frecuencias menores.  El concepto es muy simple, esperamos que cierto número de ciclos del reloj pasen y cambiamos nuestra señal de salida de 0 a 1, o de 1 a 0.  Por ejemplo,  la figura 1 describe el diagrama de tiempo de un divisor de frecuencia por 12.  Por cada 6 ciclos del reloj de entrada, el valor de la señal de salida cambia.


Fig 1. Diagrama de tiempo de divisor de frecuencia por 12


Si observamos el diagrama de tiempo, notamos que el contador de ciclos usa el borde de subida del reloj como referencia (instante en que el reloj cambia de 0 a 1).  Debido a ésto, el circuito es fácil de diseñar si la frecuencia es dividida por un número par.  Sin embargo, el circuito se vuelve más complicado si queremos dividir la frecuencia por un número impar.  Si observamos la figura 2, un divisor de reloj impar necesita usar el borde de subida y el de bajada del reloj.  Por lo tanto, un simple contador de bordes de subida no sirve en estos casos.


Fig 2. Diagrama de tiempo de divisor de frecuencia por 5


2. DESCRIPCION DEL CIRCUITO

Para dividir la frecuencia de un reloj digital por un número impar, necesitamos crear otras señales e implementar lógica secuencial y combinacional.

La forma más sencilla de entender cómo funciona el circuito es observando el diagrama de tiempo en la figura 3 y siguiendo las instrucciones que escribí a continuación:

- Nuestro circuito divide la frecuencia de un reloj por el número impar N.  En este ejemplo, N=5.

- La señal clk_in es nuestro reloj de entrada con frecuencia 500MHz y con ciclos de 2ns.

- El bus de señales Count es un contador de ciclos de entrada clk_in y reinicia a 0 cuando el contador llega a N-1. Para nuestro ejemplo, N-1 = 4, o sea 0100 en binario.

- La señal A es igual a 1 sólo cuando el valor en el contador Count es 0001.  Sino, es 0.

- La señal B es igual a 1 sólo cuando el valor en el contador Count es (N+1)/2.  Para nuestro ejemplo, (5+1)/2 = 3, o 0011 en binario.

- La señal Tff_A es un biestable T (T flip flop) activado por el borde de caída de la señal A.

- La señal Tff_B es un biestable T (T flip flop) activado por el borde de caída del reloj y sólamente cuando la señal B es 1.

- La señal clk_out es nuestro reloj de salida.  Para producir esta señal, usamos una puerta XOR entre las señales Tff_A y Tff_B.  La señal clk_out es alta cuando Tff_A y Tff_B son diferentes (10,01) y baja cuando ambas señas son iguales (11, 00). En nuestro ejemplo creamos una señal con frecuencia de 100MHz y ciclos de 10ns.


Fig 3. Diagrama de tiempo mostrando las señales usadas en divisor frecuencia por 5


Para una explicación más técnica de lo que hice en este circuito, les recomiendo que lean la hoja de aplicación AND8001-D publicada por ON Semiconductors.


3.  Implementación en Verilog

Para crear el circuito descrito en la sección anterior, debemos utilizar lógica secuencial (biestables, registros, etc) y lógica combinacional (puertas lógicas).

A continuación les dejo el código para el divisor de frecuencia por 5, el cual también se encuentra disponible en mi repositorio de Github  https://github.com/sphanlung/FPGA/blob/master/clk_div_odd.v 



module clk_div_odd(
input clk_in,
output  clk_out
    );

reg  [3:0] count = 4'b0;        //4-bit counter
reg    A1 = 0;
reg       B1 = 0;
reg     Tff_A = 0;
reg   Tff_B = 0;
wire   clock_out;
wire   wTff_A;
wire   wTff_B;

//Connects registers to wires for combinational logic
assign   wTff_A  = Tff_A;
assign   wTff_B  = Tff_B;

assign   clk_out = wTff_B ^ wTff_A; //XOR gate 

//Counter for division by N
always@(posedge clk_in)
begin
if(count == 4'b0100) //Count to N-1 (4) 
begin // Example: Use 4 to divide by 5        
    count <= 4'b0000;
end
else
begin
count <= count + 1;
end
end

//Set A to high for one clock cycle when counter is 0
always@(posedge clk_in)
begin
if(count == 4'b0000)
A1 <= 1;
else
A1 <= 0;
end

//Sets B to high for one clock cycle when counter is (N+1)/2
always@(posedge clk_in)
begin
if(count == 4'b0011) //Use (N+1)/2
B1 <= 1; //Ex: (5+1)/2 = 3
else
B1 <= 0;
end

//T flip flop toggles 
always@(negedge A1) // Toggle signal Tff_A 
begin  //whenever A1 goes from 1 to 0
Tff_A <= ~Tff_A;
end

always@(negedge clk_in)
begin
if(B1) // Toggle signal Tff_B whenever   
   begin //B1 is 1
Tff_B <= ~Tff_B;
end
end

endmodule




Fig 4. Diagrama de RTL generado por Xilinx ISE

Wednesday, February 10, 2016

Contador de Presiones de Botón Usando Pantalla de 7 Segmentos con 4 Dígitos y el Tiva C Launchpad

En el artículo anterior, explicamos cómo funciona una pantalla de siete segmentos simple y usamos el Tiva C Launchpad  y Keil µVision para demostrar un contador incremental.  En esta guía, vamos a usar el Launchpad para diseñar un contador de presiones de botón y mostrar la cuenta en una pantalla de 7 segmentos con 4 dígitos.


Fig 1.  Pantalla de 7 segmentos y 4 dígitos


1.  PANTALLA DE SIETE SEGMENTOS Y 4 DIGITOS

Si recordamos el artículo anterior, necesitamos 8 pines del microcontrolador para controlar una pantalla de siete segmentos simple (7 para los LEDs y 1 para conectar a la fuente de poder o tierra).  Esto significa que necesitaríamos 32 pines para controlar 4 pantallas.

La pantalla de 4 dígitos funciona de manera parecida, pero sólamente utiliza 11 pines (o más si la pantalla tiene puntos, dos puntos, etc).  Para lograr ésto, usamos 7 pines para controlar los 7 LEDs en los 4 dígitos al mismo tiempo.  Los otro 4 pines controlan cuál de los dígitos se va a encender.  Esto es más fácil de observar en el diagrama de circuito mostrado en la figura 2.

Para mostrar todos los números al mismo tiempo, el microcontrolador simplemente enciende continuamente cada uno de los dígitos por una fracción de segundo.  Cuando esto ocurre lo suficientemente rápido, nuestros ojos sólo detectan una imagen.  Este es el mismo concepto usado en las películas, donde varias imágenes son alternadas a alta velocidad para darnos la ilusión que la imagen se está moviendo.


Fig 2.  Mapa de pines y diagrama de circuito de pantalla de 7 segmentos, 4 dígitos y de anodo común 5641BH



2.  PROBANDO EL NUESTRA PANTALLA CON EL TIVA C LAUNCHPAD

2.1  DESCRIPCION

Para este proyecto vamos a usar el Tiva C Launchpad para diseñar una contador de presiones de botón y mostrar la cuenta en nuestra pantalla de 7 segmentos y 4 dígitos.

2.2  MATERIALES

- Tiva C Launchpad
- Placa de prueba (breadboard)
- 4 x Transistores NPN 2N3904
- 1 x pantalla 5641BH (pantalla de 7 segmentos y 4 dígitos de ánodo común)
- 4 x resistores 1KΩ
- 7 x resistores 47Ω


2.3  HARDWARE

El sistema utiliza 11 pines de salida del Launchpad para controlar la pantalla.  7 de esos pines van conectados directamente a la pantalla para controlar los 7 LED y los 4 pines van conectados a los transistores para conectar el riel de 3.3V a los pines de selección de dígito en la pantalla.  También vamos a usar el botón SW2 montado en el Launchpad.

La datasheet para la parte 5641BH puede ser descargada en este vínculo.

En la figura 3 tenemos el diagrama del circuito.  Noten que el botón no está incluído porque viene montado en el Launchpad.


Fig 3. Diagrama de circuito para contador de presiones de botón con pantalla 5641BH


2.4  SOFTWARE

Entra a mi repositorio en Github y encuentra el archivo SevenSegment2.c para descargar el código del microcontrodor a tu proyecto. Una vez más, las instrucciones para crear el proyecto se pueden encontrar en el artículo anterior.

El diagrama de flujo en figura 4 explica el funcionamiento del programa para el microcontrolador.


Fig 4.  Diagrama de flujo para código de microcontrolador









Sunday, January 24, 2016

Control de Pantalla de Siete Segmentos con el Tiva C Launchpad

En esta guía vamos a explicar cómo funciona una pantalla de 7 segmentos de LED.  Luego, vamos a programar una máquina de estados para probar la pantalla de 7 segmentos usando Keil μVision 4 y la placa Tiva C Launchpad.


Si quieres aprender o repasar cómo funcionan los LED (diodos luminosos), puedes visitar mi guía para diseño de circuitos con LEDs.


1. PANTALLA DE SIETE SEGMENTOS

Las pantallas de 7 segmentos son simplemente 7 luces LED contenidas en el mismo componente. Para controlar la pantalla simplemente tenemos que activar cada uno de los LEDs en diferentes combinaciones.


Fig 1. Pantalla de siete segmentos de LED


Para ahorrar espacio, los LEDs en las pantallas de 7 segmentos comparten uno de sus pines (ánodo o cátodo) ya que simplemente tenemos cortar la corriente en un lado para apagar el LED. Debido a eso, existen dos tipos de pantallas: De ánodo común (common-anode) o cátodo común (common-cathode). En pantallas de ánodo común, los ánodos de los LEDs en la pantalla están conectados a un sólo pin (normalmente a la fuente de poder). En pantallas de cátodo común, los cátodos de los LEDs están conectados (normalmente a tierra).



Fig 2. Diagrama mostrando ánodo y cátodo de LED


Fig 3. Diagrama representando los LEDs en pantalla de siete segmentos


En esta guía vamos a utilizar el componente LSD3221-11, una pantalla de siete segmentos con ánodo común.  Esta parte y su datasheet pueden ser encontradas en la página web de Jameco.

Primero haremos un corto repaso sobre el funcionamiento de LEDs.  Para encender un LED, el voltaje que aplicamos sobre el LED (Vs-Vc) debe de ser mayor al voltaje de adelanto (Vf) o forward voltage en inglés. Para eso podemos usar la ecuación Vs - Vc > Vf.  El voltaje de adelanto (Vf) puede encontrarse en la datasheet del LED.

En pantallas de ánodo común, todos los ánodos de los LED están conectados a un sólo pin que a su vez está conectado a la fuente de voltaje (Vs). Debido a eso, la única forma de controlar cada uno de los LEDs es subiendo el voltaje de los cátodos de cada LED para apagarlos.

Para probar esto simplemente usamos la ecuación Vs - Vc > Vf.  Si el voltaje Vc es igual a la fuente Vs, la diferencia entre Vs y Vf es cero y por lo tanto no sería mayor al voltaje Vf.  Por lo tanto, el LED se encenderá si el voltaje de Vc es alto (igual a Vs) y se apagará si el voltaje es bajo (igual a tierra).


Fig 4. Diagrama de circuito de LED


Para controlar el voltaje del pin Vc con el microcontrolador, simplemente conectamos el cátodo del LED (usando una resistencia en serie) a uno de sus pines de salida.



2. PROBANDO LA PANTALLA CON EL TIVA C LAUNCHPAD

2.1  MATERIALES

- 7 resistencias de 47Ω (usar 120Ω si tu fuente de poder es de 5V)
- 1 breadboard
- Tiva C Launchpad
- Pantalla de 7 segmentos de ánodo común (LSD3221-11)


2.2  HARDWARE

El diseño de este proyecto es bien simple.  Vamos a usar el riel de +3.3V del Launchpad como fuente de poder para la pantalla y resistencias en serie con los cátodos de cada LED para ser conectadas a los pines de salida del microcontrolador.

Para calcular el valor de cada resistencia, buscamos el voltaje de adelanto (Forward voltage, Vf) y la corriente de adelanto (forward current, If) en el datasheet del LED (figura 5) y simplemente aplicamos la ley de Ohm.


Fig 5. LSD3221 datasheet power ratings


R = (Vs - Vf) / If = (3.3 - 2.1) / 2.5 = 48 Ohm (el valor estándar más cercano es 47Ω).


Luego, utilizamos el datasheet de nuevo para identificar los pines de la pantalla y ver cómo conectarla al Tiva C.  Debido al número de pines disponibles en el Launchpad, vamos a usar el Puerto B (pines B0 a B6) del Launchpad para nuestro diseño.  Además, omitiremos los LEDs utilizados para los puntos a la izquierda y a la derecha de la pantalla (LD y RD) por conveniencia.




Fig 6. Datashhet del LSD3221 definiendo los pines


Fig 7. Diagrama eléctrico de nuestro circuito



2.3  PROGRAMACION

1. Abrir Keil µVision 4 y crear un proyecto nuevo. Seleccionar el microcontrolador TM4C123GH6PM y aceptar el archivo de inicio (Startup project file) cuando el programa lo ofrezca.

NOTA: Para instrucciones más detalladas para crear proyectos, visita mi guía Parpadear un LED Usando el Tiva C Launchpad.


2. Usando el explorador de Windows, entra a la carpeta donde está instalado Keil, busca el archivo system_TM4C123.c y cópialo a la carpeta donde tienes guardado tu proyecto.  En seguida, agrega el archivo a tu proyecto usando Keil.

3. Visita mi repositorio en Github en https://github.com/sphanlung/TivaC/blob/master/SevenSegment1.c y descarga el archivo SevenSegment.c (o copia el texto a un archivo nuevo en Keil).  Agrega el archivo a tu proyecto.

NOTA: El código contiene comentarios en inglés explicando cómo funciona.  Si tienes preguntas, usa la secciones de los comentarios y te responderé apenas me sea posible.

4. En Keil, haz click en Project y luego Build Target para compilar el código.

5. Si el código compila sin errores, haz click en Project otra vez y luego en Options for Target 'Target 1'.  Cuando se abra la ventana, busca la pestaña de Utilities y bajo la opción Configure Flash Menu Command, desmarca la casilla Use Debug Driver box.  Luego, selecciona Stellaris ICDI bajo Use Target Driver for Flash Programming y presiona OK.

6. Finalmente, haz click en Flash y luego Download.  Esto cargará el código al microcontrolador.



Thursday, November 12, 2015

Creación de un Proyecto con la Placa de Desarrollo de FPGA Terasic DE0-Nano

El DE0-Nano es una de las placas de desarrollo para FPGA más populares debido a su bajo costo (menos de $100) y porque usa el FPGA Cyclone IV de Altera. El Cyclone IV es un circuito integrado lógico de bajo costo y bajo consumo de poder con más de 22 mil elementos lógicos.

La placa contiene:

- 2 conectores de 20 pines, 72 GPIO (pines de entrada y salida), dos pines de +5V, dos de +3V3 y cuatro de tierra
- 1 conector de 26 pines, 18 GPIO y 8 pines de entrada analógica para el ADC
- 1 ADC (convertidor de señal analógica a digital) de 12 bits
- 1 EEPROM de 2Kb (memoria reprogramable)
- 1 acelerómetro

Fig 1. Placa de Desarrollo de FPGA Terasic DE0-Nano


Terasic también provee programas para facilitar el uso del DE0-Nano: El panel de control (Control Panel) y el creador de sistemas (System Builder). El Control Panel permite comunicaciones y control del DE0-Nano desde una computadora. Desafortunadamente, tuve problemas para instalar el programa en mis 2 computadoras, por lo que no lo incluiré en esta guía.

El System Builder es una herramienta bastante útil que simplemente crea los archivos necesarios para comenzar un proyecto. Los archivos creados incluyen:
- .QPF: Archivo proyecto para Altera Quartus II
- .V: Archivo de Verilog declarando los puertos de entrada y salida del FPGA
- .QSF: Archivo con la asignación y configuración de pines de FPGA
- .SDC: Archivo para verificación y prueba de tiempos
- .HTML: Descripción detallada de cada pin


Fig 2. Mapa físico del DE0-Nano

Toda la información en esta guía puede ser encontrada en la página web de Terasic (en inglés) en la pestaña “Resources”. A continuación les dejo los pasos para crear un proyecto en el DE0-Nano.



1. PREPARACION DEL SOFTWARE


1.1. Software de Altera

Primero, necesitamos descargar Quartus II de la página web de Altera. Quartus II es un ecosistema que nos permite compilar, sintetizar, verificar y analizar nuestro código, además de crear mapas de RTL, simulaciones, entre otras cosas.

A menos que tengas acceso a una licencia pagada, vamos a usar la versión Web Edition.


Fig 3. Altera Quartus II main window


Puedes descargar Quartus II v15.0 y ModelSim en la página web de Altera. El archivo pesa varios GB y tarda entre 10 a 20 minutos en instalar debido a su tamaño.


1.2. Software de Terasic

El DE0-Nano viene acompañado de un CD-ROM con los manuales, proyectos de muestra y los programas necesarios para usar nuestra placa. Si no tienes el CD-ROM, puedes descargar una copia en la página de Terasic.

Es posible crear nuestro proyecto sin utilizar el System Builder. Sin embargo, ese programa nos ahorrará bastante tiempo al crear el archivo QSF de sistema.


1.3. Altera USB Blaster

Para poder conectar el FPGA con Quartus II necesitamos instalar el driver respectivo. Por fortuna, este viene incluido con la descarga de Quartus II, pero tiene que ser instalado manualmente.

Para instalar el driver:

- Conecta el DE0-Nano a tu computadora utilizando un cable de mini-USB.
- Abre el menú de Inicio y escribe “Administrador de Dispositivos” o “Device Manager” dependiendo de tu versión de Windows.
- Una vez abierto el Administrador, busca la opción para “Otros Dispositivos”.
- Haz click con el botón derecho del ratón en el dispositivo con la símbolo amarillo y selecciona “Actualizar software de Controlador...”
- Luego, selecciona Buscar Controlador en mi Computadora y selecciona la carpeta donde Quartus II esta instalado. Asegúrate de seleccionar el cuadrito para Incluir Subcarpetas.



2. CREACION DEL PRIMER PROYECTO

2.1. System Builder

Necesitamos dos archivos para comenzar: El archive de proyecto para Quartus II (QPF) y el archivo de configuración (QSF). Afortunadamente, el System Builder puede crearlos por nosotros.

- En el CD-ROM, abre la carpeta Tools y dentro de ésta, la carpeta DE0_Nano_SystemBuilder. En ella encontrarás el archivo ejecutable DE0_Nano_SystemBuilder.ex
- Una vez abierto el System Builder, nombra tu proyecto,  selecciona “GPIO Default” y crea un nombre genérico para ambos conectores.
- Luego, selecciona “Generate” y escoge dónde quieres guardar tu nuevo proyecto.


Fig 4. Terasic DE0-Nano System Builder


2.2. Quartus II

- Abre la carpeta donde creaste tu Nuevo proyecto y abre el archive QPF. Esto abrirá el programa Quartus II.
- Haz click en el menú Project (proyecto) y luego en Add/Remove Files (agregar/remover archivos) y luego sobre el ícono con los puntos suspensivos (…)
- Busca y elige el archivo con formato .V (Verilog) y luego haz click en Add y luego en OK.
- Double click on the Verilog file to see the template for our project.
- En la ventana principal de Quartus II, busca la pestaña Files para ver los archivos en el proyecto y haz doble click sobre el archivo de Verilog que agregaste.


Fig 5. Agregando archivos a proyecto


Fig 6. Quartus II mostrando los archivos en el proyecto


El archivo de verilog contiene las instancias de cada pin del FPGA gracias al System Builder.

Como nuestro objetivo es simplemente crear un circuito para probar nuestra placa, reemplaza el código en tu archivo Verilog con el código que les dejo a continuación.

NOTA: El módulo principal tiene que tener el mismo nombre que el proyecto. En mi caso, uso el nombre Project1.


module Project1(        // Modulo principal debe tener mismo nombre
input CLOCK_50,         // que el archive de proyecto
output reg [7:0]LED
);

reg   [25:0]count;     
reg   clk2;
reg   state=0;

// divisor de freqcuencia 50MHz a 1Hz
always@(posedge CLOCK_50)
    begin
        if(count==26'd25_000_000)    // cuenta hasta 25M ciclos de reloj
            begin                    // cambia clk2 hi or lo
             count<=0;               
             clk2 <= ~clk2;         
            end
        else
            begin
             count<=count+1;
            end
    end    

// maquina de estados para LEDs
always @(posedge clk2)
      begin
             case(state)
             1'b0:      begin
                  LED[7:0] <= 8'b01010101;
                  state <= 1'b1;
                  end
            1'b1:       begin
                  LED[7:0] = 8'b10101010;
                  state <= 1'b0;
                  end
            Default: begin
                  state <= 1'b0;
                  end
            endcase    
      end
endmodule


El código hace dos cosas, crea un divisor de reloj de 1Hz y crea una máquina de estados para hacer parpadear los LED en la placa.

Si no deseas copiar y pegar el codigo que les deje arriba, puedes descargarlo en un archivo de Verilog desde mi repositorio de Github bajo el nombre Project1.v
Recuerda cambiar el nombre del archivo y del módulo principal con el mismo nombre de tu proyecto. Sólamente necesitas agregarlo a tu proyecto (ver sección 2.2).



2.3. Compilación el Proyecto

- Cuando tu código de Verilog este listo, haz doble click en Compile Design. El proceso normalmente tarde uno o dos minutos dependiendo de tu sistema.
- Asumiento que no hay errores, haz doble click en EDA Netlist Writer para crear un archivo binario para configurar el FPGA.
- Finalmente, haz doble click en Program Device para abrir el programador de Quartus II.


2.4. Configuración el FPGA

- En la ventana principal de Quartus II Programmer debe de aparecer el archivo SOF creado por tu proyecto.
- En la esquina superior izquierda, haz click en Hardware Setup y selecciona “USB-Blaster”. Si no te aparece esa opción, mira la sección 1.3 de esta guía.
- Finalmente, haz click en “Start” en la ventana principal de Programmer y mira tu DE0-Nano en acción.

Nota: Los FPGA son dispositivos volátiles, por lo tanto perderás la configuración apenas desconectes la fuente de poder. Para mantener la configuración, debes de guardarla en la memoria flash montada en la placa.

Fig 7. Seleccionando hardware para programar el dispositivo


Fig 8. Notificación de programación exitosa del FPGA


2.5. Código de Prueba DE0-Nano


Si simplemente deseas probar tu placa, puedes descargar el archivo SOF que he creado para este proyecto y cargarlo en el FPGA usando Quartus II Programmer (ver sección 2.4)




Wednesday, May 27, 2015

Mitos e Ideas Erróneas Sobre la Electricidad

La electricidad es un fenómeno difícil de explicar debido a que no se puede observar o medir sin instrumentos. Debido a eso, mucha gente se basa en ideas erradas o demasiado simplificadas para tratar de comprender su comportamiento.

A continuación, les presento una lista de los mitos e ideas erradas con las que normalmente me topo.


1. La corriente toma el camino de menor resistencia

Esta expresión se usa para simplificar el comportamiento de la corriente eléctrica. En realidad, la corriente toma todos los caminos existentes. Sólo que mientras menos resistencia hay, más corriente pasa por ese camino.


Una buena analogía para explicar este comportamiento sería un balde lleno de agua. Si hacemos un agujero grande y un agujero pequeño en la base del cubo, la mayoría del agua saldrá por el agujero grande. Sin embargo, una cantidad menor aun pasará por el agujero pequeño.

Esto puede ser comprobado con un ejemplo simple. Si tenemos un circuito compuesto por una batería de 9V y dos resistencias en paralelo, R1=10kΩ and R2= 500Ω, R2 sería el camino de menos resistencia. Usando la ley de Ohm calculamos que la corriente de R2 es 18mA, mientras R1 tiene 0.9mA. Por lo tanto, a pesar que casi toda la corriente fluye por R2, todavía existe un pequeño flujo de corriente en el camino de mayor resistencia.



Fig 1. Circuito con resistencias en paralelo


2. Las señales digitales no son siempre cuadradas

La mayoría de los aparatos electrónicos que nos rodean utilizan algún tipos de interfaz digital. Un sistema digital utiliza valores discretos para representar información. La mayoría de sistemas digitales usa el sistema binario utilizando los valores 0 y 1. Esto es representado físicamente a través de señales eléctricas con dos voltajes diferentes (e.g. 0V y 3.3V). Debido a eso, muchos creen que una señal digital es una onda perfectamente cuadrada (figura 2). 

Las ondas pueden parecer perfectamente cuadradas cando las señales son de baja frecuencia (figura 3). Sin embargo, cuando tomamos en consideración los componentes físicos en un circuito (cables, líneas, conectores, ruido eléctrico, etc), tenemos que agregar variables por resistencia, capacidad e inducción a nuestra ecuación. Estas variables afectan las transiciones de alto a bajo, o viceversa, en la onda digital y pueden causar oscilaciones, ruido, atenuación, diafonía (crosstalk) y otros tipos de degradación en la señal. Estos efectos se hacen más notables cuando subimos la velocidad de transmisión de las señales debido a que la impedancia causada por inducción o capacidad es proporcional a la frecuencia (figura 4).

¿Y por qué nos debería de importar este fenómeno? Un diseñador electrónico siempre debe de prestar atención a la integridad de las señales. La calidad de las señales se puede degradar fácilmente si su frecuencia es demasiado alta, si la impedancia en las líneas de transmisión no están emparejadas, si los cables usados son muy largos, o si la placa (PCB) tiene sus líneas muy juntas, con mal diseño de tierra o muy cerca a fuentes de ruido. Estos efectos pueden degradar una señal a tal punto que los 1's y 0's se vuelven irreconocibles (figure 5).

Es por esto que ingenieros han creado diferentes circuitos (e.g. filtros, ecualizadores, etc), estándares de comunicación (ethernet, bits codificados, SDI, etc.) o medios de transmisión (cable coaxial, conectores, cable RJ-45, etc) para proteger la señal. Esto no significa que debas comprar cable costosos para mejorar el rendimiento de tu sistema (figura 6).




Fig 2. Señal digital de 8 bits representando el número 77

Fig 3. Señal digital de baja frecuencia 

Fig 4. Señales digitales de alta frecuencia afectadas por atenuación

Fig 5. Señal digital degradada

Fig 6. Diferencias en impedancia pueden atenuar señales digitales. Eso no significa que necesites uno de estos cables.


3. Las baterías almacenan carga eléctrica en un circuito



Después de usar nuestros teléfonos celulares por todo un día, es normal "recargar" la batería. Este término tiende a confundir a muchos con la idea que las baterías almacenan carga eléctrica, y que al ser conectadas a un circuito, lo proveemos de carga.


En primer lugar, todos los circuitos poseen carga eléctrica. Todos los átomos contienen partículas con carga eléctrica (protones y electrones), por lo tanto las líneas de cobre y los otros componentes en un circuito poseen carga eléctrica aunque no estén conectados a una batería.


Las baterías almacenan energía potencial química, que luego es convertida en energía eléctrica. Mientras exista energía en la batería, esta mantendrá un potencial eléctrico también conocido como voltaje. El potencial eléctrico actúa como una fuerza que empuja las cargas eléctricas existentes a lo largo del circuito. Una buena analogía para este comportamiento sería una bomba de agua en un sistema cerrado. La bomba no introduce más agua al sistema, simplemente hace que el agua dentro de las tuberías circule (figura 7).

En conclusión, las baterías almacenan energía, no carga.


Fig 7. Sistema de bombeo de agua junto a un circuito eléctrico. Una batería funciona como una bomba de agua utilizando energía para empujar carga eléctrica en el circuito.


4. No es el voltaje lo que mata, sino la corriente

A mucha gente le gusta usar esa frase para demostrar que saben algo de electricidad. Normalmente, estas personas utilizan como argumento el hecho que sólo se necesitan 10mA para matar a una persona, o que una descarga electrostática puede tener miles de voltios pero no lastiman a nadie.

En realidad necesitamos de la corriente y el voltaje en conjunto para poder causar daños. Si tomamos la Ley de Ohm (V=iR), podemos observar que el voltaje y la corriente son proporcionales y por lo tanto, no podemos tener uno sin el otro. Además, la corriente y el voltaje son dos cosas diferentes. La corriente es el flujo de carga eléctrica en un circuito, mientras que el voltaje es la cantidad de fuerza que tenemos para hacer que la carga fluya. Por otro lado, algunos materiales poseen una propiedad llamada voltaje de ruptura, donde un voltaje mínimo es necesario para que la corriente fluya.

Ahora, hablemos sobre el argumento de que 10mA son necesarios para matar a una persona. Esto sólo ocurre si los 10mA pasan por el corazón. La piel humana puede tener una resistencia de decenas de kilo-Ohms y por lo tanto necesitaríamos un voltaje relativamente alto para que pueda pasar esa cantidad de corriente. Esto explica por qué no morimos electrocutados al tocar las terminales de una batería de 12V en un carro, las cuales pueden pasar más de 75A de corriente. Además de eso, el camino que toma la electricidad no es predecible, por lo que no necesariamente el corazón sería electrocutado.

Ahora, hablemos de las descargas electrostáticas que sentimos cuando usamos medias y caminamos sobre un piso alfombrado. Estas descargas pueden tener un voltaje de 7kV a 10kV y sin embargo son inofensivas. Esto ocurre por la cantidad de carga eléctrica que fluye en esas descargas. Simplemente, no es suficiente para causar daño alguno.

En conclusión, es cierto que la corriente es lo que eventualmente puede causar daños. Pero sin la presencia de un voltaje lo suficientemente alto, simplemente no habrá suficiente fuerza para empujar esos electrones a través del circuit.


5. Móviles perpetuos y máquinas de energía ilimitada


Cualquier persona que alguna vez ha tomado una clase de ciencias físicas sabe que la energía no puede ser creada ni destruida, sólo transformada. Este es lo que denominamos la 1ra Ley de la Termodinámica o el Principio de Conservación de Energía. Por lo tanto, una máquina o sistema no puede producir más energía de la que originalmente recibe.

A pesar de estos principios, siempre hay inventores ofreciendo máquinas o móviles perpetuos capaces de generar energía de forma infinita usando la gravedad terrestre, magnetos, etc. El número de éstos inventores ha crecido con la aparición de plataformas en internet para recaudar fondos como Kickstarter o Indiegogo, donde uno puede proponer un proyecto y cualquier persona puede donar dinero al autor. Desafortunadamente, todo lo que se necesita para que la gente ingenua empiece a donar es un buen diseñador gráfico y una buena campaña en en las redes sociales.


Fig 8. Ejemplos de máquinas perpetuas que nunca funcionarán


Una de las campañas para recaudar fondos que vale la pena mencionar es el proyecto para crear carreteras solares. Este proyecto se hizo viral en las redes sociales gracias al impresionante video animado y a la campaña publicitaria que se le hizo. El proyecto básicamente consiste en cubrir caminos con paneles solares para proveer de energía eléctrica a postes de luz, carteles luminosos e incluso derretir la nieve acumulada en el suelo. Para no dañar los paneles, éstos serían cubiertos por paneles de vidrio templado.

¿Y por qué menciono este proyecto? Desde el punto de vista de científico, el proyecto es implementable. Desde el punto de vista de un ingeniero, estamos hablando del uso de paneles solares en las peores condiciones posibles y a más alto costo. Los paneles solares y los paneles de vidrio son costosos; los paneles de vidrio bloquearían parte de la luz llegando al panel solar, además el paso de los transeuntes haría que se ensucien rápido; debido al ángulo de los paneles, estos no recibirían mucha luz solar durante el día. No obstante, el proyecto ha recibido más de $2.2M en donaciones. Lo cómico es que es mucho más eficiente instalar paneles solares en techos o postes. Además, estos paneles producirían más energía ya que estarían inclinados para recibir  más luz solar.

Uno de los objetivos de la ingeniería es la eficiencia en costo vs ganancia. Este proyecto es todo lo opuesto. Los componentes son costosos, la instalación es costosa, el mantenimiento sería costoso y al final produciría poco.




Fig 9. Ejemplos de proyectos solicitando fondos que en la realidad nunca van a funcionar


6. Los teléfonos celulares causan cáncer

En primer lugar, vivimos rodeados de ondas electromagnéticas. Estas son emitidas por estaciones de radio y televisión, torres de telefonía celular, radares, routers de wi-fi, satélites e incluso el sol, entre otros. Todas estas ondas son lo que se llama radiación no ionizante, pues no poseen suficiente energía como para arrancar electrones de los átomos en otros objetos.

La única forma por la que este tipo de ondas podría causarnos daño es mediante el uso de radiación de alta energía, como los hornos microondas. Sin embargo, las antenas de televisión, radio o telefonía celular producen ondas electromagnéticas miles de veces menos intensas.

De acuerdo a la Sociedad Norteamericana del Cáncer , se han hecho múltiples estudios para investigar los efectos de las ondas en los teléfonos celulares y ninguna encontro evidencia alguna que éstos puedan causar cancer.

Y cómo es que los hornos microondas calientan nuestra comida? Los hornos microondas simplemente producen ondas que hacen vibrar las moléculas de agua en las comidas. Estas vibraciones simplemente generan calor y no modifican la configuración molecular de la comida. Tampoco la hace radioactiva como muchos creen. La diferencia entre las ondas emitidas por teléfonos celulares y hornos microondas, es que los hornos producen radiación miles de veces más intensas. Para proteger a sus usuarios, los hornos están hechos de metal y la puerta contiene una malla metálica, los cuales absorben o rebotan las ondas. Así que no te preocupes, la próxima vez que mires tu comida calentándose en el microondas o hables por teléfono, no te va a dar a cáncer al cerebro.


Fig 10. Si la radiación todavía te preocupa, puedes hacer un sombrero con papel de aluminio para protegerte


7. Los transformadores pueden convertir cualquier voltaje

Aunque no es muy común, de vez en cuando alguien me pregunta qué transformador usar para reducir o aumentar el voltaje de una fuente de poder de corriente directa (DC).

Los transformadores sólo funcionan con corriente alterna (AC). Un transformador es un dispositivo hecho con un núcleo ferromagnético (metal propenso al magnetismo) y dos bobinas (alambres con aislante eléctrico) enrolladas alrededor del núcleo. Cuando la corriente pasa por una de las bobinas (primaria), ésta genera un flujo magnético que es absorbido por el núcleo ferromagnético. Este flujo magnético es luego absorbido por la segunda bobina (secundaria) convirtiéndose de nuevo en corriente eléctrica. 

El voltaje en la bobina secundaria es proporcional al voltaje de la bobina primaria. La proporción se define de acuerdo al número de vueltas enrolladas alrededor del núcleo. Por ejemplo, si la bobina primaria tiene un voltaje de 100V y es enrollada 50 veces, enrollando la bobina secundaria 100 veces obtendríamos un voltaje 200V.

Sin embargo, la única forma de crear un flujo magnético es teniendo una corriente eléctrica que cambia constantemente, lo cual ocurre con corriente alterna (AC). Debido a esto, los trasformadores no funcionan con corriente directa (DC). Para cambiar los niveles de corriente DC, podemos usar convertidores de tipo buck, boost, buck-boost o reguladores de voltaje, dependiendo de la aplicación.


Fig 11. A basic transformer


8. Las llantas de caucho protegen a los carros de los rayos

Es bien sabido que uno de los lugares más seguros durante una tormenta eléctrica es dentro de un automóvil. Esto se debe a que los rayos no pueden electrocutar a los ocupantes del vehículo. Muchos creen que este fenómeno se debe a que las llantas o neumáticos del carro son de caucho, un excelente aislante eléctrico. Sin embargo, esto es falso. Todos los conductores pueden pasar corriente si el voltaje es lo suficientemente alto. Esta propiedad se llama voltaje de ruptura, y apenas se llega a éste punto, nuestro aislante se convierte en un conductor.

La resistividad eléctrica del caucho es aproximadamente 1000 veces menor a la del aire (de acuerdo a Wikipedia) y en caso que no lo hayas notado, los rayos atraviesan cientos de metros de aire antes de pegarle a un carro.

La razón por la que los ocupantes de un carro no son electrocutados es porque la carrocería actúa como una Jaula de Faraday, una jaula o caja metálica que conduce la electricidad alrededor de esta, pero no a través o dentra de ésta. Este fenómeno es descrito por la Ley de Gauss, que explica que la carga eléctrica dentro de un conductor hueco es cero, y por lo tanto, el campo eléctrico también es cero. Esta es la misma razón por la que los aviones pueden son golpeados constantemente por rayos o relámpagos sin recibir daño alguno.


Fig 12. Una jaula de Faraday protegiendo a una persona de los rayos de una bobina de Tesla


9. Tierra

Comprender el concepto de tierra es muchas veces difícil. Cuando estudiamos circuitos por primera vez, el símbolo de tierra es usado en el nodo negativo de la fuente de poder; cuando creamos un circuito en PSPICE, el simulador no nos permite ejecutar la simulación hasta que un nodo de tierra es definido; los electrodomésticos modernos tienen un pin de tierra, sin embargo la corriente no está diseñada para pasar por ahí pues esta pasa por los pines de fase o neutro.

Entonces, qué es la tierra? Cuando analizamos un circuito, es común calcular la caída de voltaje en todos los nodos. La tierra es simplemente un punto de referencia con el cual podemos medir las caídas de voltaje en nuestro circuito.

El término tiene su origen en las compañias electricas, las cuales utilizan la superficie de la tierra como parte del circuito para distribuir energía eléctrica (figura 13). Hasta hace unas décadas, la gran mayoría de dispositivos eléctricos debían de ser conectados al sistema eléctrico en nuestras casas o edificios para funcionar. Es por eso que el término tierra se convirtió en estándar para el nodo de referencia de todos los circuitos eléctricos, incluso aquellos que son portátiles y no están conectados físicamente a la tierra.

Para aquellos que están diseñando dispositivos portátiles, no hay que olvidar que a pesar de que cada uno de estos circuitos tienen un nodo de tierra, las referencias entre ambos dispositivos son diferentes. Para solucionar este problema, sólo basta conectar los nodos de tierra de ambos dispositivos.


Fig 13. A excepción de sistemas portátiles, todos los dispositivos están conectados de alguna manera a la tierra


10. La cometa de Benjamin Franklin nunca fue golpeada por un rayo

Ben Franklin fue uno de los Padres Fundadores de los Estados Unidos de América. Franklin es también conocido como el científico que voló una cometa atada a una llave en medio de una tormenta eléctrica. La historia que la mayoría conoce es que un rayo golpeó a la cometa, la electricidad fue absorbida por la llave y eso es todo lo que saben dee esa historia.

Muchos científicos creen que el experimento nunca ocurrió. Para aquellos que sí creen en ella, la historia es la siguiente: Benjamin Franklin voló una cometa con una llave atada al cordel. La llave estaba conectada a una Jarra de Leyden, uno de los primeros tipos de condensadores, para absorber la descarga eléctrica. Por su seguridad, Franklin mantuvo el final del cordel seco para que sirva como aislante al resto del circuito.

La cometa nunca fue alcanzada por los rayos. La sección de cordel seca nunca lo habría aislado de las decenas de miles de voltios en un rayo. Mucha gente es electrocutada cada año por estar parada a varios metros de donde un rayo cae. De hecho, Franklin pensó que su experimento había fallado. Sin embargo, Franklin notó que el cordel estaba repeliendo otro pedazo del cordel y cuando trató de coger la llave, ésta le pasó una pequeña descarga eléctrica. Esto ocurrió debido a que la cometa y el cordel estuvieron absorbiendo la carga eléctrica en la atmósfera.

Este fenómeno probó la existencia de partículas de carga eléctrica durante una tormenta, lo cual fue un gran descubrimiento científico para la época pues en esos tiempos nadie sabía mucho sobre los rayos.




Fig 14. Ben Franklin recibiendo una pequeña descarga eléctrica de la llave