Mostrando entradas con la etiqueta electronica. Mostrar todas las entradas
Mostrando entradas con la etiqueta electronica. Mostrar todas las entradas

jueves, 12 de diciembre de 2013

Driver para iluminación led con corriente constante.

Acabada la fase de desarrollo, está listo para producción el prototipo de "driver" para iluminación LED (u otras aplicaciones que requieran control de intensidad). Características:

-Modos totalmente programables con microcontrolador.
-Convertidor tipo "Buck" con rendimiento superior al 90%
-Generador de intensidad constante con modulación PWM.
-Control de nivel de batería (100%, 50%, 25% y agotada)

En entorno de pruebas se han usado dos emisores led XM-L U2 capaces de proporcionar un máximo de 1000 luménes cada uno para un consumo de 3000mA, aunque se ha limitado su intensidad a 2000mA con lo que obtenemos 730 lumenes por cada LED.






domingo, 31 de marzo de 2013

Batería externa para el Garmin 405

Muchos usuarios de Garmin, entre los que me encuentro, han tenido problemas con la duración de su batería. En un primer momento recurrí al "Blog de Chiritema" para reemplazar la batería original de reloj por otra genérica,  pero al cabo de poco tiempo, seguía teniendo los mismos problemas de duración. Usando el GPS y la cinta del pulsómetro, la batería no me duraba más de 2 horas. Ese tiempo hace el reloj inútil para la mayor parte de las actividades, así que a grandes males, grandes remedios. Decidí reemplazar la batería interna por una externa con mayor capacidad y más asequible, en mi caso gratis. La batería del Garmin 405 tiene una capacidad de 300mA/hora y para mi modificación reciclé una batería de un móvil de Li-Ion de 1100 mA/hora. Al ser de la misma tecnología las dos baterías (Li-Ion), no debería haber problemas ni con el voltaje ni con la carga, lógicamente el cargador tardaría más en cargar la nueva batería. En las primeras pruebas, he hecho dos salidas de 2 horas y media cada una con GPS y pulsómetro, una de ellas con lluvia, y la carga seguía estando por encima del 50%, sin haber recargado la batería entre salida y salida. Si no os importa perder la estética del reloj y queréis ganar capacidad os podéis poner manos a la obra, haciendo la siguiente modificación bajo vuestra responsabilidad y teniendo en cuenta que perderéis la garantía de Garmin.

  • Abrimos la tapa trasera con una llave "torch".
  • Desoldamos la batería del pequeño circuito impreso al que está conectada.


  • Soldamos en su lugar dos cables de distinto color a ser posible rojo-negro para poder identificar el positivo y negativo de la batería.


  • Realizamos un pequeño taladro en la tapa del reloj para pasar los cables.

  • Encintamos el circuito impreso al que hemos conectado los cables y cerramos la tapa.

  • Añadimos un conector a nuestra batería de móvil.

  • Sujetamos nuestra batería a la correa del reloj y ya lo tenemos listo para cargar.












martes, 4 de mayo de 2010

Escudo de prácticas para arduino con Fritzing

Todos los que estamos relacionados con el mundillo de la electrónica , sabemos que para realizar PCB's (circuitos impresos) se suelen emplear programas más o menos profesionales para su construcción a partir de un esquema determinado. Estos programas pueden ser ORCAD, EAGLE, PROTEUS, etc. Pero en muchos casos puede que estemos matando moscas a cañonazos, como se dice vulgarmente. Por ejemplo en el caso de la enseñanza de Formación Profesional de grado medio o incluso en Tecnología de la ESO, podríamos usar erramientas gratuitas que cumplen perfectamente su misión y con una curva de aprendizaje muy rápida. Este es el caso de la herramienta que voy a presentar y que estoy usando en mis clases de "Electrónica Digital y Microprogramable" dentro del ciclo de grado medio de "Equipos Electrónicos de Consumo". Esta herramienta de código abierto se denomina Fritzing y como indica su lema, nos permite realizar toda una aplicación eletrónica desde el prototipo al producto integrándose perfectamente con Arduino permitiendo un aprendizaje muy rápido e intuitivo. En este artículo voy a mostrar el escudo o placa para su integración con arduino que realizamos en clase para luego ser usada por los alumnos en las prácticas. El objetivo de la placa es que se pudieran realizar las operaciones más básicas de entrada y salida, como son:
  • Salidas digitales mediante tres diodos led conectados a las salidas 11, 12 y 13.
  • Entrada digital con un pulsador conectado a la entrada 10.
  • Salida analógica PWM con un led conectado a la salida 11 de arduino.
  • Entrada analógica con un potenciómetro conectado a la entrada analog0.
  • Salida para conectar cargas de 220 voltios a través de un relé conectado en la salida 9 de arduino.

El esquema de la placa tal y como se muestra en la pestaña esquema de Fritzing sería el siguiente:
Los compoenetes que se utilizaron para realizar el circuito son:

  • R7 potenciómetro de 10k
  • S1 pulsador
  • R3 resistencia de 10k
  • R1, R2 y R6 resistencias de 220 ohmios
  • LED1, LED2, LED3 diodos leds
  • R5 resistencia de 1000 ohmios
  • D1 194935
  • K1 relé de 5 voltios
  • Q1 transistor BC547B
  • J1 regleta de conexión de 2 contactos
La realización del esquema con Fritzing es muy rápida ya que básicamente consiste en arrastrar los componentes de la ventana "PARTES", a la zona de diseño para su posterior interconexión con el ratón.
Una vez realizado el esquema y dando en la pestaña de "PCB" de Fritzing, podemos ver todos nuestros componentes descolocados y unidos mediante una serie de líneas que indican su conexión eléctrica. Para realizar el circuito impreso, es fundamental colocar de una forma lo más lógica posible los componentes dentro de nuestra placa, ya que una mala colocación hará que las pistas se crucen y por lo tanto Fritzing no será capaz de trazarlas sin que se crucen, en cuyo caso nos propondrá la realización de un puente para solventral el problema, aunque siempre podemos recurrir a una edición manual de las pistas para ver si somos capaces de eliminarlos.
En el caso que nos ocupa, la colocación que dió lugar a una placa de circuito impreso realizada a una cara fue:


En la imagen anterior podemos ver la pestaña de "PCB" con los componentes colocados y las pistas trazadas. Para que Fritzing nos ayude a trazar las pistas podemos dar al botón inferior de "Autorutear" y si el trazado no nos convence podemos editar las pistas y recolocar los componentes a nuestro gusto.
Una vez que hemos terminado nuestro PCB, podemos dar al botón "Exportar PDF para grabado al aguafuerte". Con esta opción se nos creará un fichero en formato PDF listo para imprimir a escala 1:1 que nos permitirá la realización física de nuestro circuito impreso.

En las siguientes imágenes podemos ver el circuito visto desde el lado de los componentes, visto desde el lado de las pistas e insertado en la placa arduino.




El proyecto de Fritzing y la placa en formato PDF lo podéis descargar de aquí.

domingo, 12 de abril de 2009

Apuntes de electrónica digital de E.E.C.




Arduino
En este enlace encontrarás una introducción a la plataforma de desarrollo arduino y en éste, un manual de programación en arduino.
El IDE de programación de arduino lo podéis descargar desde aquí y si usáis Windows necesitaréis el driver USB.
Para las prácticas de clase haremos un "escudo", que es como se denomina a la placa de periféricos que se puede conectar directamente a arduino, mediante una placa de circuito universal y una serie de componentes. A continuación podéis ver el esquema de la placa y una foto por el lado de los componentes y por el lado de las soldaduras:





Ejemplos
Aquí os dejo una serie de ejemplos básicos de programas de Arduino. En ellos se muestra el uso de variables, entradas y salidas digitales, condiciones con "if" y bucles "while". Si lo descomprimimos detro de "Mis Documentos", creará la carpeta Arduino y en ella una carpeta por cada uno de los ejercicios para poder abrirlos directamente desde el programa.

Ejemplo que rota el encendido de los leds mientras este pulsado el pulsador ---- Descargar

Ejemplos de envío y recepción de datos por el puerto serie ---- Descargar

Ejemplo de lectura de una entrada analógica y salida condicional a dicha entrada ---- Descargar

Este ejemplo lee una entrada analógica, y saca una salida analógica (PWM), además de mostrar el uso de condiciones con operadores lógicos AND y OR. ---- Descargar

Ejemplo que muestra el uso de la memoria EEPROM. El programa cuenta las veces que se pulsa el pulsador conectado a la entrada 10 de arduino, envía el valor por el puerto serie y lo almacena en la dirección cero de la memoria EEPROM. ---- Descargar

Ejemplo de programa que lee la entrada analogica y saca su valor equivalente por la salida analogica. Si el valor es mayor que 600 enciende el LED 12 y si es menor que 500 apaga el LED 12. Además el programa memorizará en EEPROM el último estado, encendido o apagado. El programa no empezará a actuar hasta que no pulsemos el pulsador conectado a la entrada 10. ---- Descargar
Este ejemplo enciende y apaga el led 11 progresivamente de manera analógica ( mediante PWM). ---- Descargar

El siguiente ejemplo enciende progresivamente el LED 11 cuando se está pulsando el pulsador conectado al puerto 10 de nuestra placa y lo apaga progresivamente cuando soltamos. El código es el siguiente:

/************************************************************************
Realiza un programa que vaya aumentando la iluminacion del LED 11 si esta
pulsado el pulsador y la disminuya si soltamos
*************************************************************************/

int valor =0; //En esta variable se almacenará el valor que se sacará
//como salida analógica PWM por el pin 11

void setup()
{
pinMode(11,OUTPUT); // Configuramos el pin 11 como salida
pinMode(10,INPUT); // Configuramos el pin 10 como entrada
}

void loop()
{

while (digitalRead (10)==1) //Mientras el pulsador estè pulsado
{
valor ++; //Incrementamos el valor de la variable valor

/* Si la variable valor es más de 255 que se quede ahí, porque esa es
la máxima cantidad que podemos sacar como valor analógico por las salidas PWM */
if (valor>255)
{
valor=255;
}
analogWrite(11,valor); // Sacamos valor por la salida analógica 11
delay (100); //Retarde de 100 milisegundos para que se vea el encendido progresivo
}
while (digitalRead (10)==0) //Mientras el pulsador esté suelto
{
valor --; //Decrementamos la variable valor
if (valor<0)
{
valor=0;
}
analogWrite(11,valor);  // Sacamos valor por la salida analógica 11
delay (100); //Retarde de 100 milisegundos para que se vea el apagado progresivo
}
}