viernes, 12 de julio de 2013

Disparador Schmitt (Schmitt trigger)


Por diversas razones, puede ser que en nuestro proyecto, las señales que estemos monitorizando con nuestros sensores, no sean tan limpias como deseáramos. Bien porque que los interruptores (switches) presentan pequeños rebotes, bien por las interferencias que generen cargas inductivas que tengamos cerca (por ejemplo motores), bien por interferencias de electrónica externa (antenas, móviles, ruidos en la red eléctrica...).
De forma que en lugar de encontrarnos con un señal ideal, tendremos que a nuestra señal se le superpone un ruido indeseable de fondo
y como al final nuestro Arduino traduce todo a valores digitales, tendremos situaciones en la que deberíamos tener una señal baja  y tenemos una señal alta, o la inversa (zonas marcadas en rojo en la imagen anterior). Imaginaos lo peligroso que puede ser eso, si nuestro circuito se encargara de disparar un sistema anti-incendios en una biblioteca. El daño por un falso incendio sería altísimo.
De modo que para minimizar este tipo de ruidos, un estadounidense llamado Otto Herbert Schmitt, inventó lo que llamamos el disparador Schmitt (Schmitt trigger).
El Disparador Schmitt (Schmitt trigger) hace uso de la histéresis, esto es la tendencia a conservar el nivel lógico hasta que no se produzca un cambio brusco. De esta manera se previene el ruido que podría tapar a la señal original y que causaría falsos cambios de estado si los niveles de referencia y entrada son parecidos.
Podemos ver una explicación detallada de este comportamiento en los siguientes videos:





jueves, 11 de julio de 2013

¿Qué son los cambios en los niveles lógicos?



En entradas anteriores estuvimos viendo en qué se diferenciaba una señal analógica de una señal digital, y cómo gracias a la lógica binaria, podíamos traducir cualquier señal en ceros y unos.

Estos niveles también los podíamos llamar Falso y Verdadero (False/True en inglés), o Alto y Bajo (High/Low en inglés).

Convirtiendo cualquier señal analógica a una señal digital y usando números binarios, nuestro Arduino podía hacer todo lo que quisiéramos. Solo tendríamos que formular la pregunta de forma que se pudiera contestar Sí o No.

De modo que no nos vale preguntarle ¿hace calor? o ¿hay un obstáculo cerca?, sino que por el contrario tendremos que preguntarle ¿hace más de 27ºC? o ¿existe un obstáculo delante mía a menos de 20 centímetros?.  De este modo y gracias a la gran potencia de nuestro microcontrolador, nuestro Arduino podrá ejecutar miles de operaciones en un instante y realizar casi cualquier tarea que le encomendemos.

Pero imaginemos que estamos controlando el movimiento de un ascensor, y queremos saber si hay algún ascensor que este libre independientemente de la planta donde se encuentre (esto es, que no se mueve), o que esté subiendo, o por el contrario que esté bajando, o simplemente que no lo estén llamando (que nadie ha pulsado el botón de llamada a una planta), en este caso los niveles Alto y Bajo, no nos van a poder ayudar de mucho.

Para ello, tendremos que ampliar un poco más la descripción de nuestra señal digital y definir dos conceptos nuevos: el flanco de subida y el flanco de bajada.



Gracias a ello, nuestro Arduino podrá contestarnos a muchas de nuestras preguntas:
  1. ¿Está la señal en nivel bajo: LOW?
  2. ¿Está la señal en nivel alto: HIGH?
  3. ¿Ha cambiado la señal de estado de LOW a HIGH?
  4. ¿Ha cambiado la señal de estado de HIGH a LOW?
  5. ¿Ha pasado la señal de nivel bajo a nivel alto?
  6. ¿Ha pasado la señal de nivel alto a nivel bajo?


Presentaremos un caso práctico más adelante cuando veamos como usar las interrupciones de nuestro Arduino.

Y ya sabéis, si tenéis alguna sugerencia o duda, no tenéis más que mandarnos un correo a 
e intentaremos responder a vuestra pregunta lo antes que podamos.




miércoles, 10 de julio de 2013

¿Qué es la lógica digital?




Una vez que hemos visto como un convertidor puede digitalizar una señal analógica, ahora vamos a dar un paso más y vamos a ver cómo la electrónica moderna consigue velocidades de computación tan rápidas a través de la simplificación máxima de las operaciones.

Para ello usan lo que se conoce como lógica de dos estados. Un sistema que se limita a emitir preguntas que se pueden contestar con un o con un No, con un Verdad o con un Falso, con un Encendido o con un Apagado, con un Alto o con un Bajo, con un 1 o con un 0.

Las señales se digitalizan, las preguntas se reformulan y cuando finalmente consigues que tu mundo sea así de simple, desaparecen las ambigüedades que nos causan tantos malos entendidos y nos consumen tantos recursos, y todo empieza a ser lógico

A estos estados se le llama ALTO y BAJO respectivamente. 

Al valor inferior de tensión BAJO le asociamos un valor lógico LOW ó ‘0’, mientras que al valor superior ALTO le asociamos HIGH ó ‘1’ lógico.

El valor "ALTO" vendría definido por el tipo de tecnología que estemos usando para definir el valor HIGH, que puede ser 5V, 3.3V ó 2.8V, y normalmente se le da el nombre genérico de Vcc, y "BAJO " sería normalmente 0V.

Pero ¿qué sucede si todavía no he llegado arriba pero estoy muy cerca?, ¿cómo puedo contestar?. Para resolver esta situación que es la más común de las situaciones en las que se puede  encontrar cualquier señal, el truco que se emplea es realizar una comparación con un valor que hace de juez, este valor se le llama tensión umbral. Si el valor medido es superior a la tensión umbral se devuelve HIGH, y si es inferior LOW. En general es razonable suponer que la tensión umbral es cercana al punto medio entre -Vcc y +Vcc.

En Arduino los valores de alimentación habituales son 0V (sería nuestro valor BAJO, y normalmente se le llama GNDy 5V (sería nuestro valor ALTO). En este caso la tensión umbral será muy cercana a 2’5V. Por tanto si medimos una tensión con un valor intermedio entre 0 a 2’5V Arduino devolverá una lectura LOW, y si medimos un valor entre 2’5V y 5V, devolverá HIGH.





De esta manera cualquier señal analógica podrá ser digitalizada para responder más rápidamente a las preguntas que le haga el microcontrolador.

¿Qué es una señal digital?

Aunque en el mundo real los valores que nos podemos encontrar en cada magnitud que medimos se encuentran dentro un espectro continuo de resultados posibles véase por ejemplo la evolución de temperatura que tenemos en nuestro dormitorio entre dos instantes de tiempo diferente T1 y T2 representada en una gráfica como ésta: 
Señal analógica
en el mundo digital, las magnitudes que queremos medir solo pueden estar en un conjunto discreto de valores: señales digitales. 

Un ejemplo que nos puede ayudar a entender este comportamiento lo podemos encontrar en el comportamiento de un ascensor, la señal que representa su estado sólo nos devolverá resultados del tipo, primera planta, segunda planta, etc. Otro ejemplo podría encontrarlo si queremos medir el estado de una lámpara, en este caso la señal sólo nos devolverá resultados del tipo, encendido o por el contrario apagado.

Entonces para trabajar en un mundo digital necesitaremos de la ayuda de un componente clave: el convertidor analógico digital (ADC, Analog to Digital Converter, en inglés).

Más adelante veremos el procedimiento de conversión de una señal analógica a digital, generando un tren de pulsos eléctricos. Muy parecido al código Morse, pero más sencillo. Traducirá cualquier seña a "ceros" y "unos": los famosos bits.
Conversión analógico digital


En la próxima entrada veremos qué son los bits.

Y ya sabéis, si tenéis alguna sugerencia o duda, no tenéis más que mandarnos un correo a
e intentaremos responder a vuestra pregunta lo antes que podamos.

¿Qué es una señal analógica?

Una magnitud analógica es aquella que toma valores continuos. Una magnitud digital es aquella que toma valores discretos. La mayoría de las cosas que se pueden medir cuantitativamente aparecen en la naturalez en forma analógica. Por ejemplo, la temperatura varía dentro de un rango continuo de valores. A lo largo de un día, la temperatura no varía entre, pro ejemplo, 20ºC y 25ºC de forma instantánea, sino que alcanza todos los infinitos valores que hay en este intervalo. Si dibujamos la gráfica de temperatura de un día típico de verano, tendríamos una curva continua suave similar a la de la figura siguiente

El problema que presenta nuestro Arduino es que solo entiende de magnitudes eléctricas, por lo que todo el resto de magnitudes físicas que necesitemos procesar, tendremos que traducírselas a señales eléctricas que pueda interpretar. Esto lo conseguiremos, como veremos más adelante, gracias al uso de los sensores. 

Pero este solo es el primer paso. Nuestro Arduino tampoco se encuentra cómodo con todas las señales eléctricas, de hecho las señales eléctricas analógicas las encuentra "ruidosas" y prefiere transformarlas en señales eléctricas digitales. En lugar de "memorizar" los infinitos valores que hay entre un intervalo concreto de valores de tensión, prefiere coger solo una muestra de ellos espaciados de igual manera, e imaginarse el resto de los puntos que se hallarían entre ellos. 




Para conseguirlo, el mismo Arduino convierte este tipo de señales gracias al uso de un convertidor analógico digital (ADC, Analog to Digital Converter, en inglés).


En la próxima, introduciremos el procedimiento de conversión de una señal analógica a digital.

Y ya sabéis, si tenéis alguna sugerencia o duda, no tenéis más que mandarnos un correo a
e intentaremos responder a vuestra pregunta lo antes que podamos.

domingo, 7 de julio de 2013

La historia de Transistor



Ahora que sabemos un poco para qué sirve un transistor, creo que es importante también conocer quienes fueron sus padres y la revolución que causó su descubrimiento.

El siguiente documental de canal Historia muestra esta apasionante aventura.



martes, 2 de julio de 2013

Fritzing

Tutorial Fritzing


Cómo hacer tus propias tarjetas de circuitos puede ser un desafío de enormes proporciones. Tienes que diseñar un esquema, pruébalo en una placa, diseñar el diseño de la placa, y después de todo eso, usted todavía tiene que imprimir y grabar un tablero.
Por suerte, tenemos Fritzing. 
Fritzing es un programa libre de código abierto suite de diseño de PCB que funciona en Windows, Mac y Linux. A diferencia de Eagle o KiCad, Fritzing tiene una interfaz sencilla y realista que hace que el diseño de circuitos intuitivo. Hoy, voy a mostrar cómo utilizar mi programa de diseño favorito para hacer su tablero del circuito profesional por primera vez. 

Paso 1 Descargue e instale Fritzing

Ir a la página de descarga Fritzing (http://fritzing.org/download/) y seleccione su sistema operativo. Siga las instrucciones de la página para instalar en su ordenador. Al instalar Fritzing, vendrá con todo tipo de bibliotecas de piezas grandes. Hay componentes básicos, como cables, botones, resistencias, etc. También hay componentes especiales como placas Arduino y sensores que pueden añadirse a sus diseños.

Imagen de ArduinoGRC 

Paso 2 Primeros pasos

La primera vez que abra un proyecto Fritzing, comenzará en la pantalla protoboard como se muestra a continuación. 

A la derecha de la pantalla esta la barra de menú con todos los componentes y opciones. Si un componente es personalizable, la mitad inferior de la barra de herramientas se mostrará las opciones de personalización disponibles para la parte específica. 


Lo primero que quiero hacer es colocar un componente. Vamos a diseñar un circuito simple, como ejemplo será el circuito de un LED. Vamos a necesitar una resistencia en nuestro circuito. Seleccione y arrastre la resistencia en el área de trabajo, como se muestra a continuación. El cuadro de texto introductorio sobre la protoboard desaparecerá cuando usted pone su primer componente. 

Arrastre de la resistencia a la placa de pruebas (Protoboard) de modo que cada cable se conecta a una columna vertical en el tablero. Cuando un componente realiza una conexión a una columna, toda la fila se vuelve verde como se muestra a continuación. La zona verde indica una conexión eléctrica entre los agujeros protoboard. 

Paso 3 Partes Personalización

Con nuestra resistencia seleccionada, podemos usar las opciones de la parte inferior de la barra de herramientas para cambiar el valor, la tolerancia y el espaciado de la resistencia, algo interesante es que cuando podemos poner cualquier valor y la resistencia cambiara de color de sus bandas. Ajustamos el resistor de 220 ohm. A continuación, tenemos que rotar la resistencia para establecer una conexión con el carril de tierra en la parte superior de la placa. Para girar cualquier componente de la placa, esquema o diseño de tablero ficha, simplemente haga clic derecho y seleccionar girar o puedes utilizar “ctrl+r”. 
Lo siguiente en el circuito es añadir un LED. Haga clic y arrastre el componente LED de la barra de herramientas a la derecha del área de trabajo. 

Coloque el LED en el tablero al lado de la resistencia como se muestra a continuación, también podemos cambiar el color de este. Hasta ahora, la resistencia y el LED no están conectado a la corriente o de la otra. Observe que las líneas verdes no se toquen. 

Al igual que un tablero real, podemos añadir pequeños cables para realizar las conexiones que necesitamos. Coloque el puntero del ratón sobre un agujero protoboard y observe que se vuelve azul. Esto significa que está listo para añadir un cable. 


Haga clic en el orificio de placa y arrastre el cable nuevo a la ubicación deseada. A continuación, se conecta el extremo positivo del LED a la placa de pruebas de la fila superior. 

Haga clic y arrastre para añadir otro cable que conecta el lado negativo del LED a la resistencia. Eso es todo. Nuestro circuito principal está listo.


Para finalizar el diseño, hay que añadir una fuente de alimentación. Haga clic y arrastre el componente de batería de la barra de herramientas a la derecha en el área de trabajo.


Coloque los cables de alimentación, como se muestra a continuación, con positivo en la barra superior y el negativo en el riel inferior. El espacio entre alambres de la salida de la batería no encaja con la separación de los carriles de alimentación superiores protoboard. Para solucionar este problema, coloque el cable rojo a través de un agujero en la fila superior. Para cambiar el color de los cables de clic derecho y seleccione color. Ahora, haga clic y arrastre un cable desde el cable negativo de la batería a la fila inferior. Su conexión de la batería debe ser similar a la imagen siguiente. 

¡Felicitaciones! Acaba de diseñar un circuito entero y todo lo que hizo fue arrastrando y soltando unos pocos componentes. Esta característica no se encuentra en ningún otro software de diseño PCB. Lo que realmente hace el proceso más fácil para poder ver las imágenes de la vida real de su circuito. La única desventaja es que no tiene emulador, pero si puede servir para demostraciones.

Paso 4 Esquema

Mientras arrastrábamos componentes en el protoboard y añadíamos cables, Fritzing estaba ocupado haciendo un esquema exacto de su circuito. Seleccione el botón esquemático en la parte superior derecha de la pantalla. 

Este es su esquema. Bueno, al menos técnicamente hablando. Fritzing se asegura de que todas las conexiones son correctas, pero la estética sigue estando fuera del alcance de una aplicación de escritorio. Aparecerá una pantalla como la de abajo con los componentes distribuidos bien separados. Algunos pueden incluso estar fuera de la pantalla. Puede desplazarse utilizando la barra de desplazamiento en la parte inferior derecha del área de trabajo. 


Una vez que encuentre todos sus componentes, hay que arrastrarlos y hacer zoom para tener una visión favorable del circuito. 


Mis conexiones comienza todo cruzando entre sí. Queremos orientar los componentes de manera que las líneas entre ellos sean tan cortas y rectas como sea posible. Haga clic con el botón y utilice la opción de rotar o ctrl+r para rotar sus componentes de manera que quede lo más correcto posible. 


Una vez que las líneas son rectas y claras, acomode el esquema tanto como sea posible. 


Una vez que su esquema se ve tan compacto como el de arriba, haga clic en el botón AutoRoute en el centro inferior del espacio de trabajo. 

Un esquema perfecto. Para compartir su nuevo diseño en la página de Fritzing hay que registrarse previamente para poder utilizar esta característica muy buena.

Paso 5 Diseño de la placa de circuito

¡Lo logramos! Estamos finalmente vamos a diseñar una tableta electrónica real por nuestra cuenta. Haga clic en la pestaña de PCB en la parte superior derecha de la barra de herramientas. Al igual que con la ficha esquemático, la ficha PCB tiene nuestros componentes dispersos desacomodados. 

Dar zoom in o zoom out (utilizando el scroll del ratón) a la pantalla y asegúrate de que puedes ver todos tus componentes. 

Arrastra los componentes, como lo hicimos con los componentes esquemáticos. Arrastra todos ellos en la placa verde.

Puesto que el propósito de una placa de circuito es hacer que ocupe el menor espacio posible, vamos a reducir el tamaño del tablero verde hacia abajo hasta que haya espacio suficiente para los componentes. Para reducir el tamaño del tablero, simplemente haga clic en cualquier esquina y arrastre hacia el centro del tablero. 

Al igual que con el esquema, hay que mover y rotar los componentes (ctrl+r) de manera que las líneas entre ellos sean rectas y claras como se muestra a continuación. Estas líneas no son todavía las trazas de cobre en el diseño de la placa final, pero nos indican qué piezas necesitan van a ser conectadas. 

Haga clic en cualquier parte de la tarjeta verde y de clic a la parte inferior de la barra de herramientas donde encontramos las opciones de personalización. Ir a "capas", desplácese hacia abajo y seleccione “one layer” (single-sided). Las tabletas de circuitos hechos en fábricas grandes pueden tener un montón de capas de pistas intercaladas en el tablero. Pero debido a que nuestro circuito es simple y por una sola cara, tendremos nuestra placa PCB común y muy bajo precio, dependiendo de cuál sea nuestro proyecto diseñaremos nuestras pistas de PCB de cobre en una sola capa. 

Después de seleccionar un tablero de una sola cara, haga clic en el botón AutoRoute en la parte inferior central de la zona de trabajo. 

Tenemos nuestras pistas de cobre que por arte de magia han reemplazado a las líneas finas. 

En este momento, técnicamente tienen un diseño de circuito en pleno funcionamiento y se puede ir a grabar una placa física en el hogar. Pero antes de perder un tablero revestido de cobre, tome unos minutos para asegurarse de que su tarjeta funciona la primera vez. 

Paso 6 limpieza de pistas.

El AutoRoute creado algunos puntos de inflexión superfluos en el alambre superior. Lleve el puntero del ratón sobre cualquiera de los pequeños círculos de color naranja sobre el alambre. Cuando el bendpoint se vuelve azul, haga clic derecho y seleccionar “eliminar bendpoint” o “eliminar puntos dobles”. 

A continuación, el alambre superior se ha seleccionado y está libre de bendpoints. Recta y sin rastros significa un grabado más consistente. 

Seleccione el cable y de clic a la parte inferior de la barra de herramientas en la parte derecha de la pantalla. Hay una opción para la personalización de la anchura de las pistas de cobre en su tableta. 

Las pistas de abajo son ahora lo suficientemente gruesas como para hacer frente a algunas imperfecciones en el proceso de fabricación. 

Ahora que funciona, y funciona bien, es el momento de añadir tu propio estilo.

Paso 7 Personalizar la tableta electrónica.

Texto e imágenes son fáciles de cargar en cualquier proyecto Fritzing. En la barra de herramientas a la desplazarse hasta donde dice "PCB View". La opción más a la derecha con la letra F es la opción de serigrafía. Haga clic y arrastre en el área de trabajo. 


La capa de serigrafía es esencial para una capa de etiquetas pintadas sobre un tablero después de que el circuito está construido. Fritzing siempre creará automáticamente el componente de la capa de serigrafía de la pantalla.
A continuación hemos colocado la imagen de serigrafía por default en nuestro directorio. Que parece blanca porque es parte de la capa de serigrafía y no la capa de cobre naranja. Pero alguien grita, "pensé que estábamos haciendo este proyecto en casa! No podemos entregar pintar esta cosa diminuta en una placa de circuito!" Tienes razón, entusiastas científicos interesados. En lugar de añadir una imagen de serigrafía, se puede agregar una imagen de cobre a ser grabado al igual que lo va a hacer con los restos. 


Con la imagen serigráfica seleccionado, vaya a la parte inferior de la barra de herramientas y seleccione "copper0" de la "capa" del menú desplegable. Su imagen se volverá naranja que indica que es parte de la capa de cobre. También le dará la vuelta horizontalmente. La capa de cobre entero es, de hecho, completamente hacia atrás. Fritzing hace porque cuando etch la tabla final , todo el patrón se invierte en la transferencia desde el papel a la superficie de cobre. 

Para cargar su propia imagen, haga clic en el botón de archivo de la imagen debajo de la capa, el tipo y tamaño de los menús de personalización de la barra de herramientas inferior. A continuación, he añadido en mi nombre, sitio web y logotipo, así como un texto simple. El texto a partir de ahora no se puede personalizar con respecto a la fuente. Fritzing está todavía en desarrollo, sin embargo, y no me sorprendería si las fuentes personalizadas cuando estén disponibles pronto. 

¡Eso es! ¿Estás listo? Hicimos un circuito en un protoboard, se diseñó un diagrama esquemático, podemos personalizar nuestro diseño de la placa final, y ahora llegamos a cosechar las recompensas! Después de comprobar todo terminado, haga clic en la opción "Exportar para PCB" en la parte inferior central de la zona de trabajo. 

Guarde los archivos donde quiera y minimize la ventana Fritzing. Vaya a los archivos nuevos y abrirlos. Los archivos estarán en formato PDF, que es bueno porque significa que sabemos que nuestra imagen es el tamaño adecuado. El primer archivo será una máscara de la capa de cobre. Esto incluye el circuito y cualquier imagen que se incluyen en la capa de cobre. Tenga en cuenta que la imagen sigue apareciendo invertida. 

El otro archivo es la máscara de serigrafía. Si se va a enviar su diseño a una fábrica de PCB, pedían ambos archivos e imprimirlos para arriba sin problemas. Para el fabricante de su casa, sin embargo, el archivo de serigrafía es inútil. 

Para obtener un archivo editable, puedo convertir mis archivos PDF a archivos GIF utilizando el GIMP editor de imágenes. Una vez que tenga el diseño en GIMP, puedo poner un conjunto de PCB en un 8,5 "x 11" hoja de papel. A continuación se muestra el diseño de PCB GIF para mi el graffiti de luz permanente . Observe que aparece de tamaño natural en esta captura de pantalla completa. Nunca escalar la imagen del circuito arriba o hacia abajo! Los agujeros de los componentes se distorsionará y sus partes no caben en el tablero! 

Ahí lo tienen! Puede enviar estos archivos fuera de una fábrica y conseguir profesionalmente hechas las placas de circuitos diseñados por ti! Si el diseño de su propio consejo le ha dado una oleada de energía y tiene que ser capaz de hacer todo el proceso con sus propias manos desnudas resistente individualistas, echa un vistazo a mi artículo sobre la casa de grabado PCB . 
Realmente espero que esto ayude a todos ustedes Científicos Locos entrar en diseño de la placa de circuitos. Me deje intimidar por los programas esotéricos CAD al principio, pero realmente es Fritzing diseño de PCB para el noobish completamente. 

Fuente traducida: http://mad-science.wonderhowto.com/how-to/create-practically-anything-part-1-fritzing-circuit-boards-0135002/