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

9 ene 2017

Avisador inteligente de necesidad de recarga de batería para la bici eléctrica con alarma antirrobo 2/2


Como comentamos en la anterior entrada, mis objetivos al poner un microcontrolador programado con Arduino en la bici eléctrica eran los siguientes:
  • Con un LED RGB mostrar la carga/situación de la batería monitorizando una de las celdas (la más débil si es posible) el voltaje de la batería, para evitar sorpresas de no tener carga suficiente para el viaje del día siguiente, indicando en naranja cuando sea necesario recarga (entre el 20 y 40%).
  • Con un acelerómetro y un altavoz piezoeléctrico potente (y un mosfet para activarlo) podemos añadir una alarma anti-robo, sólo desarmable por un botón escondido de la vista, lo que es muy práctico contra amigos de lo ajeno.
  • E incluso (esto de momento pendiente), añadir luz de freno automática mediante el acelerómetro (que cambie de baja intensidad a intensidad mayor cuando el acelerómetro perciba una deceleración en el eje de la marcha), poder guardar estadísticas de uso (número de recargas, tiempo de uso, o añadir pequeña pantalla OLED para mostrar consumo instantáneo en Ah con un sensor Hall (como el Allegro ACS75x, etc), carga de batería, etc.
Así que estas navidades he podido ponerme manos a la obra, y con el banco de pruebas he testeado posibilidades hasta obtener algo funcional:


18 nov 2016

Mejorando la refrigeración de un portátil de gráfica potente con un transistor y Arduino


Los portátiles con gráficas potentes suelen venir muy mal refrigerados; este es el caso de mi querido Acer 5930G (del que ya os hablé anteriormente) que lleva una tarjeta gráfica Geforce extraíble.
Los ingenieros de Acer creyeron que bastaba con regular el ventilador con la temperatura del procesador, ya que el disipador une ambos elementos, pero la gráfica consume más, con lo que puede llegar a 70ºC fácilmente, mientras que la CPU tiene 40ºC y el ventilador a medio gas.
Veremos cómo regular nosotros directamente el ventilador de 5V, según temperatura de la zona que nos interese, con la ventaja de poder usar cualquier ventilador que se pueda acoplar a nuestro equipo, además de poder personalizar el nivel de refrigeración en el código Arduino.

El resultado: He conseguido bajarle más de 20ºC a la gráfica respecto a la regulación de fábrica, de 70ºC a alrededor de 45ºC en reposo. Y en juegos de 90ºC a 70ºC máximo. Se oye más, porque casi constantemente está al 100%, pero si con ello gano en durabilidad, bienvenido sea el siseo resultante. Otra ventaja es que, al tomar la fuente del puerto USB, cuando lo apagas no tiene picos de temperatura, sino que sigue refrigerando apagado mientras esté conectado a red, hasta que lo enfría del todo y se para.

Material Necesario:
- Chip Attiny85
- Transistor NPN típico 50V y 5Vgs (2N4401 he usado yo).
- Condensador de 6V y 220uF mínimo.
- Diodo que aguante 5V y 200mAh mínimo.
- Tubo termorretráctil.




Como vimos hace poco, podemos regular ventiladores (y lo que queramos) con un pequeño chip, ideal para pequeños proyectos donde se requieren pocas entradas/salidas, el ATtiny85.
En este caso, reutilizando el código, en vez de mandar una señal PWM al chip del ventilador, regularemos directamente el voltaje de 5V que recibe, de forma que al mínimo arrancará sobre 1V.
Pero esto no podemos hacerlo directamente con el Attiny, sino que tenemos que usar un pequeño transistor NPN que, con una pequeña señal positiva en su base, actúe de regulador de paso de corriente entre su colector y emisor.
Nota: Se llama NPN porque regulamos una señal negativa (N de negativa), y en la base le entregamos la señal Positiva para ello.

5 oct 2016

Avisador inteligente de necesidad de recarga de batería para la bici eléctrica basado en ATtiny85 1/2



Ya es la segunda vez que me pasa; cojo la bici, y tras el viaje al trabajo, me deja tirado por batería descargada en mitad de la cuesta... con la molestia de tener que subir sus 30 kgs. por pendientes del 14% (y el perjuicio que le produce a la batería descargarse totalmente, por suerte son LiFePo que soportan bastante bien ésto).

No tengo indicador de carga (la maneta que me suministraron es para 48V) para calcular si tiene suficiente energía para los 4 km que tengo que hacer, y además las LiFePo4 tienen una variación muy pequeña de voltaje entre el 20% y el 80% de capacidad (entre 3,15V y 3,35V), con lo que es fácil descuidarse. Y ponerla a cargar todos los días no es algo práctico ni lo mejor para la batería (lo ideal sería recargarla cuando le quede el 20% para maximizar su vida útil). Y los indicadores de carga de batería me parecen demasiado "tragones" de energía. Así que...

A cada necesidad... una solución

16 ago 2016

DIY: Evita problemas de sobrecalentamiento en tu PS3 con un chip y sensor por 7€


En este tuto veremos cómo regular el ventilador de la PS3 y la PS3 Slim según la temperatura (sirve todas las versiones de PS3 y posiblemente la PS4, además de cualquier ventilador controlado por PWM), evitando que se estropee prematuramente. 
Los ingenieros de la PS3 le dieron prioridad al silencio de la PS3, ya que está destinada a ser un centro de juegos y multimedia, por lo que la temperatura que puede llegar a alcanzar va dañando las soldaduras del mismo, y al cabo de pocos años termina estropeándose por mal contacto de soldaduras (sólo reparable con un reflow o reballing).
La PS3 tiene un ventilador regulado por pulsos PWM, y el attiny85 de Atmel se puede programar fácilmente con el IDE de Arduino. También podemos usar cualquier placa compatible con Arduino (como el Nano, que por su tamaño también podríamos buscarle un sitio).
Hay ejemplos en Youtube e internet de gente que ha regulado el ventilador de forma fija para que vaya siempre más acelerado (con una resistencia en el cable gris conectado a los 12V, regulando a 1V aprox., o bien con un potenciómetro para hacerlo manualmente), pero no es la mejor solución ya que no tiene en cuenta la temperatura del procesador (que puede variar mucho según la temperatura ambiente), y aunque funciona, al tener que cubrir todos los casos, suele quedar más ruidoso. Además con esta solución tenemos la ventaja de que si oímos el ventilador muy fuerte, es que seguramente tenga un problema de falta de ventilación por polvo u otro problema.

20 jul 2016

Ahorrar energía con un enchufe temporizado: Hazlo tú mismo con Arduino

He aprovechado este enchufe Wifi para construir un enchufe con cuenta atrás
Tenía un enchufe wi-fi programable Contros de Broadlink estropeada la tarjeta wifi (ya me habían enviado otro en su lugar):



 y dándole al coco me dí cuenta que podía venir muy bien un enchufe que se activara por un determinado tiempo sólo con pulsar su botón, con incrementos del mismo tiempo a cada pulsación (similar a como trabajan los microondas electrónicos, que con cada pulsación del botón de calentado rápido añade 30 segundos al tiempo). Una imagen vale más que mil palabras:

Podríamos usar este enchufe en muchos casos; yo por ejemplo tengo una cafetera Philips con el botón bastante inaccesible que hay que encender y apagar cada vez que se usa para que no esté consumiendo siempre al mantenerse caliente. En este caso la activaríamos a la mañana con una simple pulsación del botón y la tendríamos preparada por una hora.Otro ejemplo son los enchufes mata-mosquitos (de líquido o pastillas) que muchas veces se olvidan encendidos, contaminando el ambiente con veneno sin necesidad ya que, si os fijáis, todos mueren al de media hora y dos horas, y no es necesario más tiempo a menos que dejemos una ventana abierta. En este caso evitaremos veneno en nuestro organismo que a la larga puede afectar a nuestro sistema nervioso (o puede que no, y los máximos de exposición por los que se regulan estos aparatos sean saludables, pero lo más saludable es evitarlo), además de ahorrar en el consumible.
Actualización: Si queréis prácticamente la misma funcionalidad, con la ventaja de apagarlo también desde el botón, he encontrado a la venta en internet el Ansmann AES 1 Zero después de haber montado el mío (aunque lo aprendido también cuenta ;):