“Pinchis” es como llama el bicho a todo componente electrónico del que desconoce su funcionamiento o utilidad, es decir, a todos los componentes electrónicos.
Cuando uno no es un profesional de la electrónica y va poco a poco acumulando “pinchis”, llega un momento en que, o los organiza, o no sirve de nada seguir almacenandolos y lo mas inteligente es pedir a la tienda online de turno cada vez lo que se necesita. Esto último no es muy práctico, sobre todo teniendo en cuenta que hay ocasiones en que los pedidos de material a una tienda on-line de electrónica no superan los 2 euros, con lo que el envío te sale mucho mas caro que la mercancía… eso si te lo mandan, que algunas tiendas tienen un pedido mínimo.
De manera fortuita mientras escribía alguno de los ultimos posts acerca de reciclar CDs, me di cuenta de que una caja de estos es un contenedor magnífico para los componentes electrónicos.
Con las cajas de los CD y un poco de espuma de embalaje, poliestireno expandido o similar, se pueden crear unos organizadores para las resistencias, diodos, transistores y circuitos integrados muy prácticos y hasta bonitos!!
Lo mejor que tienen es que de un solo vistazo sabes el valor del componente y los puedes separar por tipos de componente: resistores, condensadores, diodos, leds, integrados, reguladores, etc. con lo que los tienes organizados y a mano. La caja se cierra, así que no se caen y puedes colocarla en vertical como si fuese una colección de CDs, incluso poner etiquetas en el lomo para identificar el contenido de cada caja.
Si a esto le sumas un organizador de CDs que probablemente ya no usas porque toda la música la tienes en algún pendrive o servicio de música online, pues la solución es redonda… no solo es gratis, además me ayuda a gastar los cientos de cajas que aún me quedan!
Tengo la impresión últimamente de que los dispositivos electrónicos de consumo cada vez los hacen peor. Yo pensaba que precisamente la electrónica, al carecer de partes móviles que pudieran sufrir desgaste, tendía a durar mas que la mecánica, pero estas navidades pasadas, coincidiendo con el momento en el que mas necesitaba el GPS por estar de viaje, resulta que el Parrot CK3300 con antena GPS que venía instalado en mi coche ha dejado de funcionar.
El primer síntoma fueron las palabras “no signal” en la pantalla del manos libres. Luego ya no se encendía y por supuesto no había ni rastro de la señal bluetooth de la antena GPS.
Ya de vuelta a casa, como no podía ser de otro modo, busqué, encontré y saqué la centralita del aparato, una caja azul escondida en la parte mas recóndita de las inferioridades del salpicadero.
En los foros del SAT de parrot la solución que dan a quien le pasa esto es que desconecten la alimentación de la unidad de control durante un tiempo, para resetear el micro del parrot, y que si después de eso no vuelve a funcionar… pues simplemente puedes darte por jodido. O se arregla con una actualización de firmware o te toca cambio de unidad de control, 75 E mas IVA (y si encima no eres manitas, mas la instalación).
Como cabía esperar he desconectado la alimentación, abierto la caja, desmontado el aparato, rociado con limpia contactos y esperado una semana a tener un rato libre para volver a montarlo. Pero los resultados no han variado. NO SIGNAL.
Dentro del circuito, ni un mal jumper o microinterruptor para hacer reset. Solo SMDs por todos lados y micros con miles de patillas. Así no hay quien juegue a reparar cacharros.
Si es que ya no hacen las cosas como antes.
En fin, que no me ha quedado mas remedio que llevarlo a “reparar” al servicio técnico, donde por el módico precio de 15 euros lo único que han hecho es una actualización del firmware que se hace con un cable serie especial que cuesta unas 20 libras, siguiendo unas simples instrucciones y usando un software que es gratis y se descarga de aquí. Si la reparación dura al menos un año, bien empleado está porque ademas tiene garantía… me estoy volviendo un blando de mierda… es la falta de tiempo, sin duda .
No es un error, estoy convirtiendo mi coche en una cámara de vídeo ambulante. ¿Para que? Pues para grabar recorridos en carreteras recónditas, subidas imposibles o lugares míticos del ciclismo y luego reproducirlos en mi rodillo de entrenamiento Tacx Fortius.
Los RLV (Real Life Video) no los he inventado yo, ya me gustaría, solo los he retroingenierizado (toma palabra) para averiguar como están hechos y poder crear los míos propios. Pero de eso ya hablaré mas adelante.
De momento he tenido que construir un soporte para anclar firmemente la cámara de vídeo al salpicadero del coche. Como en todo lo que hago, pretendo que sea reversible, es decir, que se pueda deshacer sin romper nada, por ello no puedo simplemente atornillar la cámara al salpicadero, que sería una opción rápida y fácil.
El lugar elegido para ubicar la cámara es un porta documentos que tiene mi coche en la parte central del salpicadero. Dentro de ese porta documentos ya alojé en su día la PDA reciclada que me hace de GPS. Ese porta documentos se puede extraer, con cuidado, dejando un hueco ideal para mis propósitos.
Con dos pequeñas planchas de madera, una ancha, la que sostendrá la cámara, y otra estrecha, la que amarra el conjunto al plástico del salpicadero, he construido una especie de mordaza o tornillo, que una vez apretado conforma una base plana perfecta para colocar la cámara.
Pero la cámara necesita poder ser girada y cambiada de ángulo para ajustar la posición antes de comenzar la grabación. ¡Que mejor que la cabeza de un trípode de fotografía, de esos minúsculos de a 7 euros la pieza!. El tornillo encaja a la perfección en el agujero para trípode de la cámara, y al ser totalmente desmontable, se le pueden quitar las patas sin siquiera romperlo, con lo que podemos seguir usándolo para lo que en un principio fue ideado, cuando no lo estemos usando.
La cabeza del trípode tiene un agujero para atornillar tornillos de métrica 4. Con uno de estos tornillos atravesando la plancha de madera desde abajo consigo asegurar la cabeza del trípode a la base y de este modo obtengo el sitio perfecto para poner la cámara.
Para mis propósitos también necesito grabar el recorrido con un GPS que guarde tracks (los de coche normalmente no lo hacen). Mi Garmin tiene un hueco reservado en la base de madera, con un soporte hecho de aluminio que imita el que tengo en el manillar de la bici y en el que encaja perfectamente.
Una vez montado el conjunto, usando el mando a distancia de la cámara, puedo poner a grabar los dos aparatos al tiempo y así obtengo un metraje de vídeo que se corresponde con un track GPS que me proporciona alturas y velocidades. De este modo puedo luego escribir los archivos de Tacx con las pendientes de las cuestas y sincronizarlas con los puntos del vídeo donde comienzan, para que el rodillo aumente o disminuya de dureza dependiendo de si vas cuesta arriba o cuesta abajo y ademas, puedo escribir también la velocidad en Km/h a la que fue grabado el vídeo para que el software del RLV pueda acelerar o frenar la reproducción del mismo dependiendo de la diferencia entre esa velocidad a la que fue grabado y la velocidad que le imprimo a la bici al dar pedales en el rodillo.
La primera prueba está hecha, y me ha servido para detectar unos cuantos problemas.
Las vibraciones. Cuando el firme está un poco irregular se transmiten demasiadas vibraciones y la cámara tiembla. El estabilizador de imagen no es capaz de “comérselas”. Supongo que esto tiene algo que ver también con el tipo de coche y la cutre suspensión. He probado con un poco de goma espuma y juntas tóricas de goma en las arandelas para desacoplar un poco la cámara del coche, pero no ha sido una gran diferencia.
El parabrisas. Hay que limpiar el cristal a conciencia para que no se vean las manchas. Voy a tener que echarle cristasol o algo. (Corrección: el cristal no está manchado, está “chinado”, tiene multitud de impactos de pequeñas chinas de tierra que no se quitan limpiando, quizás se puedan quitar puliendo, tendré que visitar a mi colega de Shinycars). Una solución sería poner la cámara fuera del coche (tiene mando a distancia), pero no se puede por la apertura focal que explico mas abajo.
Los reflejos. Hay que tapar con una tela negra u otro material que no refleje la luz para evitar que la propia base de la cámara se refleje en el parabrisas del coche y se vea en la grabación.
El sol. Hay que evitar grabar de cara al sol, está es de perogrullo jeje. Es mejor en las horas centrales del dia ya que el sol está alto y normalmente no pega directamente en la cámara. No es solo por los cambios de luz, sino porque los defectos del parabrisas se hacen demasiado evidentes a contraluz.
La apertura focal. Las cámaras domésticas no tienen una gran apertura focal lo que hace que al tomar curvas demasiado cerradas en ocasiones el foco pierde de vista la propia carretera y eso queda muy feo en los vídeos que intento grabar. La solución estaría en atrasar un poco mas la cámara, pero esto haría que se grabase mas zona del parabrisas, captando mas imperfecciones. Por eso tampoco se puede poner la cámara en el capó, porque cuanto mas cerca de las ruedas directrices, menos carretera se ve en los giros cerrados.
Por lo demás no estoy demasiado contento con la calidad. He grabado en XP y se ve bien si la imagen no se mueve mucho, pero si hay mucho movimiento (como cuando se va en coche) se ven líneas, como si tuviera un entrelazado (interleaved). La calidad no es mala, el problema del entrelazado de lineas se soluciona poniendo en el reproductor que haga blending con el entrelazado. Entonces dejan de verse las lineas. Aún me queda mucho por aprender de esto del video .
En la primera prueba no me he dado cuenta y grabé un trocito del capó, pero con la base del trípode como soporte eso se ha corregido muy fácilmente .
Aquí va una primera prueba. La compresión que hace youtube no permite apreciar la calidad real de la grabación, y además me ha cambiado el aspect ratio, pero es para hacerse una idea.
Desde hace algún tiempo vengo experimentando un problema con mi GPS Garmin etrex Venture Cx. Cada cierto tiempo, de manera aleatoria, sin una relación causa efecto distinguible, se apaga solo. Eso si, solo si esta siendo alimentado a pilas.
Al parecer es un problema bastante común en los GPS de mano de Garmin e históricamente se ha venido echando la culpa al posible movimiento de las pilas dentro de su compartimento, lo que hacía perder contacto e interrumpir la alimentación durante un instante lo que hacia apagarse al aparato.
Este diagnóstico tan ámpliamente aceptado por los sufridos usuarios de Garmin tendría que haberse solucionado con la introducción de unas pequeñas almohadillas de neopreno en la parte trasera de las pestañas que hacen contacto con las pilas, solución que adoptó Garmin hace tiempo y que viene en GPS como el mio. Pero esto no ha evitado los problemas en mi GPS, que se apaga mientras voy en bici tanto si estoy en medio de una vertiginosa bajada, como si estoy subiendo a 8 Kph a paso de caracol escalador o incluso a veces estando parado.
De todas las explicaciones que he visto por internet, la que mas me ha convencido ha sido la de DarrelC en su post Garmin mysterious power-off symptoms explained. En su exposición explica que el problema proviene de la solución que ha dado la gente de Garmin para la conexión entre el circuito impreso del GPS y el compartimento de pilas. Se trata de dos láminas metálicas dobladas que hacen contacto con dos “pads” en el circuito impreso. Debido al traqueteo propio de viajar en el manillar de una bici, estas láminas rozan continuamente los pads en el circuito impreso creando un rayajo que elimina parte del material conductor. Cuando las láminas se vuelven a mover o se produce cualquier cambio físico (temperatura) o químico (humedad) en el ambiente existen muchas probabilidades de que el contacto eléctrico entre lámina y pad desaparezca durante unos microsegundos, suficientes para hacer que se apague la unidad.
Solo había una manera de saber si este problema es el que estaba aquejando a mi GPS: desmontarlo, destriparlo, abrirlo en canal. ¡Bieeeennnnnn!
Al principio tuve ciertos recelos, ya que teoricamente el GPS está en garantía aun, pero recordando que durante el descenso del puerto de la Tornería, en la marcha de los lagos de Covadonga, el pobre aparato sufrió una caída a 40Kph, no creí ser capaz de convencer al servicio técnico de Garmin de que las marcas de la carcasa eran fruto del uso normal (Garmin dice: “This warranty does not cover failures due to abuse, misuse, accident or unauthorized alterations or repairs.”).
Otra pega era que supuestamente esta unidad es “water resistant”, por lo que debería llevar algún tipo de sellado que probablemente se perdería al desmontar.
Al final pudieron mas mis ansias de destripar cacharros y pronto me di cuenta de que la resistencia al agua era sin duda fruto de un milagro, ayudado levemente por una fina lámina de plástico adhesivo (vulgarmente llamado “celofán”) que recubría -casi- toda la junta de unión entre la parte superior e inferior de la carcasa y que se encontraba bajo el protector de goma perimetral.
Una vez retirada la protección y abierta la carcasa, que se cierra a presión mediante cinco pequeñas pestañas (nada de tornillos, ni juntas de estanqueidad de goma ni nada por el estilo), me encontré exactamente con lo que comentaba DarrellC, los pads del circuito impreso presentaban una clara abrasión que era lo que estaría provocando el apagado automático.
Procedí a limpiarlo con un spray limpiacontactos, aunque de no haberlo tenido lo habría hecho con alcohol, como siempre, y de paso desdoblé un poco las láminas metálicas para que hicieran mejor contacto. Tras esperar a que se evaporase el disolvente del limpiacontactos, cerré la unidad y la volví a sellar con celo para luego colocar la banda de goma en su sitio. Esta banda iba pegada originalmente con un pegamento un tanto asqueroso que parecía haberse desecho con el calor de estos días. Aún no he sustituido el pegamento y no lo haré hasta que compruebe que el arreglo ha surtido efecto.
Comprobaré si todo ha ido bien en la próxima salida, si se sigue apagando tendré que recurrir a medios mas contundentes, como una pequeña gota de estaño en cada pad, por ejemplo.
Y ya sabéis amiguitos, ¡si se puede desarmar, habrá que desarmarlo!
Actualización 2008-07-27: En efecto, el GPS ya no se apaga después de la intervención. Lo he probado en dos ocasiones, una a pie y otra en bici y no ha vuelto a presentar ese comportamiento aberrante. Espero no tener que hacer esta operación muy a menudo.
Con el tema del coche nuevo y el reproductor MP3 me he introducido sin querer en otro jardín del que hasta ahora solo había odio hablar de lejos, el de los sistemas de diagnóstico electrónico de los coches modernos.
En mi caso, un Volkswagen, se utiliza un protocolo llamado CAN-BUS (Controller Area Network) de la casa BOSCH para la comunicación entre los diversos elementos electrónicos del coche y para el acceso a todos los datos de diagnóstico del vehículo. Aquí tenéis una introducción al mismo.
Por supuesto, para conectarse al bus y extraer la información se necesita un cable con un conector especial especificado por la norma EOBD (European OnBoard Diagnosis) o la OBDII que es mas moderno.
En un principio los cables estaban dotados de lo que se llama una línea K, la responsable de transmitir los datos. Mas tarde llegaron los K/L, para vehículos en los que hacía falta “despertar” el sistema de diagnóstico, para lo que se usaba la línea L, y por último hasta el 2004 o 2005, antes de que los VAG adoptaran el sistema CAN-BUS, todas las opciones se podían verificar con unos cables llamados Dual K o KKL (doble línea K y una línea L) que se pueden encontrar en Ebay por cantidades irrisorias (sobre los 15 o 20 Euros). A partir de esta fecha la mayoría de los coches solo mantienen por KKL la diagnosis del motor (por compatibilidad), el resto de elementos funcionan ya en CAN-BUS y se necesita un cable especial, que lleva integrada una circuitería distinta y que se denomina HEX-CAN.
Los talleres habitualmente utilizan costosos aparatos de diagnostico multimarca o de una marca concreta si son talleres oficiales, pero los cables de los que hablo, específico para VAG, fueron originalmente diseñados por una empresa llamada Ross-Tech que los popularizó junto con su software VAG-COM.
El cable HEX-CAN usb con el VAG-COM (software) cuesta aproximadamente $350. Los asiáticos, muy manitas en esto de copiar la electrónica, no han tardado en sacar cables “piratas” que en el caso de los HEX-CAN cuestan alrededor de los 100 Euros… el software lo compras como puedas o utilizas algunas aplicaciones gratuitas que existen.
Lo mas sangrante, sobre todo para los clientes de Ross Tech, es que el software VAG-COM es capaz de detectar que versión de cable tiene el usuario, y si no coincide con la versión del software, el propio software lo “desactiva”, por decirlo de una forma fina (la forma basta es: ¡TE JODE EL CABLE!). Los cables así desactivados no se pueden volver a usar y tienes que adquirir otro. El cable actúa como una “mochila” o “dongle” que dicen los angloparlantes, donde va incrustado el numero de licencia de uso del software.
Para ahondar mas en la herida, el software se actualiza por Internet automáticamente, por lo que si no estás espabilado puede que tu cable se joda automáticamente también, y eso, para algo que te ha costado $350 (o 100 Euros), no mola ni un poquito.
Pero claro, la gente que se exprime mucho el cerebro se ha puesto a hacer una especie de ingeniería inversa hasta que han dado con la solución hace un par de meses. He leído con avidez y por completo un hilo del foro VAG-Club en el que unos españolitos se han currado una guía para volver a la vida a los cables desactivados. Advierto que es bastante complicado y denso de leer el tema si no se tienen nociones de electrónica y de programación de microcontroladores.
El cable lleva un Amtel Atmega162 y una memoria eprom responsable de la detección del USB que hay que reflashear para que el cable vuelva a la vida.
De paso han conseguido el firmware del Atmega para la versión de cable compatible con la versión 704.1 del software, que es la última, y con ello pueden hacer el “upgrade” a cualquier cable HEX de versiones anteriores, aunque lo mas probable es que a nadie se le ocurra montar todo el tinglado que hay que montar si su cable funciona correctamente, simplemente para actualizarse.
Según iba avanzando con mi proyecto de la cabina de pilotaje para F1, proyecto que ya está terminado y del que pondré un post en breve, me iba rondando la idea de ponerle algo que vi alguna vez pero que no sabía muy bien como llamarlo. Se trataba de una especie de altavoz que pegado al asiento producía vibraciones que hacían que quien estuviera sentado pudiese “sentir” el sonido del motor y de los efectos de audio producidos por el juego.
El aparato en concreto se llama “Tactile Transducer” o “Bass shaker” y aunque realmente no es un altavoz, utiliza los mismos principios físicos que este para su funcionamiento, un imán, una bobina (voice coil) y en lugar de un cono de papel para provocar vibraciones en el aire, usa una plancha rígida y pesada para producir vibraciones y transmitirlas por los cuerpos sólidos a los que dicha plancha esté unida.
Comercialmente se venden desde hace bastantes años, pero no he encontrado ningún sitio en español donde trabajen con estos elementos, cuya marca mas extendida es Aura. De cualquier modo salen bastante caros para simplemente hacer pruebas así que me puse a buscar si había alguien que lo hubiese hecho “HUM” (hágalo usted mismo).
Como siempre hay gente para todo en este mundo, encontré varios modelos, a cual mas económico, que reutilizaban un altavoz defenestrado y se fabricaban su propio TT. Como ese es el espíritu de esta página, los estudié con avidez.
El artículo mas antiguo, de 1997, es el de Chad Gray que usa plomos para darle peso y que desafortunadamente ha perdido las fotos.
También interesante, por ser el mas sencillo de todos, es el que presentan en este foro.
Otra aproximación, usando el principio de la “plate reverb” que se usa en los estudios de grabación es la página de Gary Wolansky.
Pero el mas completo de todos, que te explica incluso los circuitos electrónicos necesarios para hacer un filtro de audio que solo deje pasar los graves y construir un amplificador a partir de componentes baratos es el de Rolan Van Roy y su simulador de vuelo.
Con toda esta información me he puesto a escarbar en mi montaña de basura a ver si tenía los ingredientes necesarios. Tengo altavoz, tengo pletina metálica, tengo tornillos e incluso un poco de pegamento epoxídico.
Así que aquí va un video-howto mas:
Para el proyecto en el que estoy enfrascado he necesitado montar un array de leds infrarrojos con la menor focalidad posible, es decir, con mayor angulo de apertura de la luz.
Dado que no es fácil ir a una tienda de electrónica y pedir unos LEDs infrarrojos de 5mm y 30º de apertura (ya cuando dices infrarrojo alguno se te queda mirando como si fueras de otro mundo), una forma muy común y efectiva de conseguir hacer la luz de un LED mas difusa es aplanar el extremo redondeado que hace de lente y que concentra el haz, haciéndolo mas luminoso y directivo.
El inconveniente es que para aplanar hay que lijar, y con ello se pierde transparencia en el LED. Además para lijar todos los LEDs iguales hay que fabricarse alguna herramienta que permita hacer con todos la misma secuencia de acciones.
Mi herramienta es una pequeña pletina metálica de 4mm de espesor con un orificio de 5mm de diámetro y una moneda de 25 pesetas, de las que llevan un agujero en el centro (curiosamente, el agujero es de 5mm). Con esto consigo justo la altura hasta la que quiero lijar el los LEDs, todos iguales. No me puedo pasar por que la moneda metálica hace de tope para la lija de tambor de la Dremel.
Luego para evitar el efecto atenuador del lijado, lijo un pelín a mano con una lija de 600 y le paso el disco de fieltro con pulimento Titanlux.
Queda de lujo!!!
Aprovecho este post para estrenarme en esto de los vídeos guía y meter por fin un vídeo en mi página, siempre tarde en todo:
Por fin me pongo en marcha con este proyecto tan completito y a la vez tan inútil que llevo meses intentando empezar.
Voy a fabricarme un anemómetro digital casero con la sana intención de medir el viento reinante en la zona donde vivo y sopesar si merece la pena montarme un generador eólico de “pinipon“, que por supuesto también estaría amparado bajo la filosofía del HUM.
Mi primera idea era la que suele aparecer en todos los sitios en los que te explican como construir un anemómetro casero de cazoletas. Al conjunto rotatorio que forman las 3 cazoletas con el rodamiento se le incorpora un imán que al pasar por el sensor de efecto hall cierra un circuito que permite contabilizar una vuelta. Si calculas las vueltas por segundo ya tienes una medida de velocidad base que comparar con la velocidad del viento.
Es algo relativamente sencillo pero tiene un problema. No mide la dirección del viento. Se necesita una veleta adicional para medirlo.
Para construir una veleta también había varias opciones, las mas simples con 8 sensores magnéticos como el comentado antes te permitían saber -mas o menos- la dirección del viento de entre 8 posibilidades. Bastante patético.
Sin embargo la aproximación mas directa era la del potenciómetro. Un potenciómetro rotativo al que se le incorporaba la veleta, va quedando siempre en una posición determinada dependiendo de la dirección en que sopla el viento. Para cada posición la resistencia ofrecida por el potenciómetro es distinta por lo que mediante un simple conversor analógico digital de resolución suficiente podemos obtener un amplio abanico de valores que nos indiquen la dirección exacta del viento.
Desde luego parece la mejor solución si no fuera porque los potenciómetros normales que existen en el mercado no superan en el mejor de los casos los 270º de giro, por lo que siempre quedaría una zona muerta de 90º en la que no podríamos medir el viento.
Por supuesto hay potenciómetros de 360º, incluso los hay sin tope para que puedan girar locos, pero su precio en España es mayor que el de un kit de veleta completo comprado en USA, y yo, además de pasarlo bien haciendo inventos, espero también que no me arruine con ellos.
Seguí investigando y leyendo sobre el tema hasta que di con un curioso invento: un anemómetro que combina en el mismo aparato la captación de la velocidad y dirección del viento. Se llama Rotorvane Anemometer y hasta hace unos años vendían un kit para hacértelo tu mismo. Ahora RayMarine les ha comprado la patente y ya no se puede ver libremente que tecnología usan, aunque explican a grandes rasgos como funciona el invento.
Se trata de un anemómetro de cazoletas tradicional en el que una de sus cazoletas tiene una asimetría aerodinámica con respecto a las otras dos. Esto hace que a una velocidad de viento constante, la velocidad angular del conjunto varíe en determinado momento de cada giro dependiendo de por donde sopla el viento. Es decir, existe una diferencia entre la velocidad media del conjunto y la velocidad instantánea en algún punto de cada giro. Si sabes en que punto del giro se produce esa diferencia, sabes de donde viene el viento. Enrevesado, pero muy inteligente.
Afortunadamente el mundo esta lleno de frikis y James Derrick, que hizo el proyecto en 1999 (no ha llovido ni na), lo documentó de manera escueta, lo que me permite entender un poco mejor cuales son los pasos a seguir.
Lo que se me ocurrió a continuación fue fantástico y constata que tengo algún tipo de fijación con los ratones de ordenador. El principio por el que funcionan los ratones de bola es que un disco con perforaciones pasa por delante de un puente óptico que al ser interrumpido se interpreta como movimiento. Un ratón es capaz de dar distancia recorrida en 2 ejes mediante este principio y ademas el sistema es circular, así que me bastaría acoplar un disco perforado y engancharlo al sensor óptico de un ratón para que la circuitería del mismo me fuese diciendo el movimiento que realiza el rotor del anemómetro. La información me llegaría por el puerto PS/2 y un programa podría calcular la velocidad a partir de esos datos.
Así que me puse manos a la obra para hacer alguna pequeña prueba. Desmonté el ratón, enganché la rueda dentada al rodamiento y la uní a un pequeño motor de DC mediante una goma de transmisión, conecté el motor a la línea de 5V de mi fuente de alimentación de pruebas intercalando un potenciómetro para controlar la velocidad de giro y conecté el cable al puerto PS/2 de mi servidor Linux.
En el servidor hice un pequeño programa en C que abre el /dev/psaux y se pone a leer de el. Ayudandome de la información que encontré en la página de Computer-Engineering he podido configurar el ratón para que actúe a la máxima capacidad de muestreo (200 muestras por segundo) y máxima resolución (8 counts por mm) y me ha permitido saber para que sirven cada uno de los 4 bytes que envía el ratón en cada muestreo. El programa acumula todos los movimientos que le llegan del eje Y y va calculando la velocidad media cada segundo.
#include
#include
#define TRUE 1
#define FALSE 0
int main (int argc, char *argv[])
{
FILE *pfile;
char data[4];
int end=FALSE;
long acumulado=0L;
struct timeval starttime, endtime, diff;
long elapsed, totaltime=0;
double velocidad, vmax=0;
pfile = fopen("/dev/psaux", "r+");
// Set sampling rate a 200
fputc(0xF2, pfile);
printf("Preguntando por el device id, respuesta: 0x%x 0x%x\n", fgetc(pfile), fgetc(pfile));
fputc(0xF3, pfile);
printf("Cambiando el sample rate, respuesta: 0x%x\n", fgetc(pfile));
fputc(200, pfile);
printf("Cambiado el sample rate a 200, respuesta: 0x%x\n", fgetc(pfile));
fputc(0xE8, pfile);
printf("Cambiando la resolucion, respuesta: 0x%x\n", fgetc(pfile));
fputc(0x03, pfile);
printf("Resolucion, a 8count/mm respuesta: 0x%x\n", fgetc(pfile));
gettimeofday(&starttime, NULL);
elapsed = 0;
while(! end)
{
data[0] = fgetc(pfile); // Info de los botones y desbordamientos
data[1] = fgetc(pfile); // Incrementos del eje X
data[2] = fgetc(pfile); // Incrementos del eje Y
data[3] = fgetc(pfile); // Incrementos del eje Z (wheel)
acumulado += data[2];
/* Subtract the `struct timeval' values X and Y,
storing the result in RESULT.
Return 1 if the difference is negative, otherwise 0. */
int
timeval_subtract (result, x, y)
struct timeval *result, *x, *y;
{
/* Perform the carry for the later subtraction by updating y. */
if (x->tv_usec < y->tv_usec) {
int nsec = (y->tv_usec - x->tv_usec) / 1000000 + 1;
y->tv_usec -= 1000000 * nsec;
y->tv_sec += nsec;
}
if (x->tv_usec - y->tv_usec > 1000000) {
int nsec = (x->tv_usec - y->tv_usec) / 1000000;
y->tv_usec += 1000000 * nsec;
y->tv_sec -= nsec;
}
/* Compute the time remaining to wait.
tv_usec is certainly positive. */
result->tv_sec = x->tv_sec - y->tv_sec;
result->tv_usec = x->tv_usec - y->tv_usec;
/* Return 1 if result is negative. */
return x->tv_sec < y->tv_sec;
}
Los tiempos se toman en microsegundos (usec) y la velocidad lineal real de la rueda, que no tiene por qué ser la velocidad del viento cuando el invento esté montado, se calcula una vez por segundo y se hace a partir de los siguientes datos:
Velocidad es la velocidad calculada tics por microsegundo. Se multiplica por 1000000 para tenerla en tics por segundo.
La rueda de mi ratón tiene exactamente 40 agujeros. Esto quiere decir que cada agujero representa aproximadamente 9 grados de circunferencia (360/40 = 9). Al multiplicar por 9 los tics por segundo, consigo la velocidad en grados por segundo. Como 1 grado = 0.0174 radianes (2*Pi/360), multiplico y obtengo la velocidad en radianes por segundo.
¿Para que necesito la velocidad en radianes / segundo?, porque esta es la velocidad angular y para averiguar la velocidad lineal de un punto del borde del disco dentado tengo la fórmula:
v = r * w (uve igual a erre por omega)
donde omega es la velocidad angular y r el radio de la circunferencia. Como el radio de la rueda de mi ratón mide 0.9 cm multiplico por esa cantidad y obtengo la velocidad en cm/s. Ahora solo queda multiplicar por 3600 segundos/hora y dividir por 100000 cm / Km y obtenemos la velocidad en Km/h.
Por supuesto esta expresión y otras partes del código se pueden simplificar, pero lo dejo así por motivos didácticos… vamos que si la simplifico no me entero ni yo de por qué he hecho lo que he hecho
Con este montaje y estos cálculos he logrado que la rueda alcance los 50Km/h. Supongo que si le meto 12V o quemo el motor, o consigo mas velocidad, pero no me preocupa demasiado ya que teniendo en cuenta que el anemómetro entero va a tener un radio de giro de 5 cm, para la misma velocidad angular, la velocidad del punto central de una cazoleta tendría que ser de ¡mas de 300 Km/h!
¡Esto no ha hecho mas que empezar! Os mantendré informados de los progresos.
Aprovechando que mi ansia de desmontar cosas se ha juntado con una batería del portátil que no funciona y con un cartelito que reza “DO NOT disassemble”, me he propuesto aprender un poco mas acerca de estas caras muestras de la hijoputez de las multinacionales.
Como decía hace no mucho Dan Knight, de Low End Mac, en su artículo Inside Your Notebook’s Battery: Ordinary AA Li-Ion Cells, la batería de un portátil no deja de ser mas que una mera caja de plástico carísima que contiene pilas recargables de Iones de Litio de a 5 Euros la pieza acompañadas de un pequeño circuito integrado.
Ya intuía que estas baterías debían llevar dentro algo más. Al parecer todos esos integrados sirven para regular el régimen de carga y descarga y controlar el nivel de la batería y su temperatura, lo que debe implicar cierto nivel de comunicación entre baterías y portátiles. Investigando un poco he concluido que de los 5 contactos que posee la mía, 1 lleva la alimentación (14.8V), 1 es la masa, 2 se usan para las comunicaciones (clock y data) y el último para la medición de temperatura, pero es imposible saber con certeza cual es cual porque no hay forma de encontrar una hoja de especificaciones de una batería de estas, aunque si que he leído que algún manitas que se ha hecho un programa para comunicarse con la batería vía I2C (muy usado en la programación con microcontroladores) mediante el protocolo SMBus que es el estándar que se usa.
Mirando cuidadosamente el circuito que lleva la batería se descubren sus componentes básicos:
Un integrado encargado de monitorizar las pilas, en mi batería es uno marcado como bq2040 que resulta ser un medidor de carga con interface SMBus de transmisión serie implementando el estandar Smart Battery System. Es un circuito capaz de recalibrarse fijandose en lo que dura un ciclo completo de carga/descarga usando un timer y un sensor de temperatura internos. Parece ser que este chip se programa mediante una eprom externa para inicializarlo, lo que explicaría en cierta medida por qué mi batería, a pesar de dar casi 16V. a la salida, no funciona. Este maldito chip ha decidido que la edad de la batería, o el número de ciclos de carga, es suficiente para darla por desahuciada y a pesar de que se recarga, informa al portátil de que la batería está agotada. Hay otros integrados con la misma función aunque mucho mas complejos y completos, como el MAX1780.
Un fusible térmico que corta la corriente si hay un exceso de temperatura no controlado por el integrado anterior. No es recuperable ni reemplazable. Al mio, también fácilmente ubicable, le he medido la continuidad y da infinito… osea que está frito. Puede que el bq2040 no sea el culpable de todo al fin y al cabo.
Un grupo de TPC8103, transistores FET que al parecer actúan como interruptores de control que cortan el ciclo de carga o descarga bajo las señales de control del integrado .
Dan Knight apunta muy acertadamente que si los fabricantes de portátiles incluyesen esa poca circuitería para el control de la batería dentro del propio portatil, el resto de los mortales podríamos comprar cualquier pila recargable y usarla para dar autonomía al mismo. Pero claro, eso le restaría unos suculentos ingresos a las citadas compañías. La batería de portátil mas barata debe andar por los 100Euros, que es probablemente la mitad de lo que cuesta todo el portátil en el momento que este necesite dicha batería.
Esto no soy yo ni el segundo ni el tercero en pensarlo, y para muestra un enlace, una página donde enseñan paso a paso como cambiar las pilas de una batería recargable modelo FPCBP25 de un Fujitsu – Siemens Lifebook S-Series además de dar unas cuantas lecciones acerca de esta parte del hardware tan desconocida.
Lo que se les olvida mencionar en este fantástico artículo es la reprogramación del integrado de control de la batería. Resulta que para eso también hay software disponible. El AccPlus es una utilidad para comunicarse con una Smart Battery (se denominan así a las que implementan el SMInterface) y permite reprogramarla y leer sus EEPROMs a través de un adaptador del puerto paralelo del PC que lleva un integrado de Philips implementando el estandar de comunicación I2C. Algo de esto cuentan en el apartado de “How to service laptop batteries” de la página de la universidad de las baterías.
De todos modos tengo que advertir, aunque no lo he vivido en carne propia, que las baterías de Iones de Litio son tan caras y vienen siempre montadas en packs por la sencilla razón de que son MUY PELIGROSAS si están dañadas o se manipulan de forma erronea… y tiene su lógica. 4400mAh que es la capacidad de mi batería, por ejemplo, significa que es capaz de descargar 4,4Amp a lo largo de una hora. Si por cualquier razon, cortocircuito, temperatura excesiva, rotura en el envoltorio, se produjese una descarga inmediata, 4,4 Amperios son muchos Amperios y sueltos en un ambiente lleno de sustancias químicas como son las pilas, puede producir una explosión bastante seria.
Además los iones de Litio se pueden llegar a convertir en Litio si hay escapes, y el litio combustiona al contacto con el H20, incluso si solo es el de la humedad del aire.
Por eso os digo amiguitos, NO JUGUEIS CON LAS BATERÍAS EN CASA… hacedlo por lo menos al aire libre y con algo de protección, eso si, como siempre, bajo vuestra propia responsabilidad, si es que la tenéis. Y si no la tenéis, compraros una.
Tal y como prometí aquí voy con la guia “howto” de la pointing gun.
Como ya comenté en mi anterior post, se trata de una recreación hecha en casa del producto comercial Pistol Mouse FPS.
Como la guia tiene muchas fotos y es relativamente extensa, no la pongo aqui directamente. Entra en ella para leerla completa.