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

viernes, 29 de agosto de 2025

PLA 3D Bateria para Walkie FD-150A

  Página principal

PLA  3D
Bateria para Walkie
FD-150A


Tengo un par de Walkie de 2 m modelo FD-150A.
El problema es que las baterías ya están gastadas y solo duran 5 minutos, no son útiles en modo portátil.
Si buscas el modelo de batería FD-16 ya no las encuentras.



Cuando las desarmé, estaban compuesta de 5 baterías  de níquel cadmio (1200mA) en serie, con lo que se conseguía 6V.
Como tenía baterías de  Litio 18650 de 3,7V ,m
e puse manos a la obra para hacer unas baterías compatibles.
El caso que colocar 2 baterías en serie de 3,7V, no produce una tensión de 7,4V.
Solo era cuestión de probar si el FD-150 puede funcionar con esa tensión.  Después de varias pruebas funcionaba perfectamente.
Hemos de decir que cuando el Walkie se enciende, nos indica la tensión de la batería.
He decidido utilizar un módulo cargador balanceado del tipo USB 3.0.

Lo siguiente es hacer una caja en PLA para meter las dos baterías y el módulo cargador.




Diseño de la caja en FREECAD.


Opcional , adorno lateral.


Laminador de mi impresora Ender 3 V3 SE



Varios diseños.


Diseño final.


Las baterías funcionando con los USB para cargar.

Después de imprimir la piezas en PLA  vemos que están demasiado justas, no os preocupéis.
Existe lo que se llama contracción del plástico, si esperáis un día, veréis que la pieza a reducido.

Y si no ya se sabe, un poco de lija. ;)

MODELOS STL

MANUAL_FD-150A

Saludos.
Juan Galaz

Bibliografía:
https://firstmold.com/es/guides/plastic-shrinkage/


jueves, 7 de septiembre de 2017

Probador nivel de batería con arduino y TM1638

Página principal


Arduino
TM1638
Probador nivel de batería
xsetaseta@gmail.com


En mi anterior artículo había realizado un voltímetro con el CHIP TM1638.
Aprovechando el medidor de tensión realizo un comprobador de baterías.
En este montaje mido el voltaje de la batería a comprobar, con una resistencia de carga 470 ohmios.
Los 8 LEDS del módulo son utilizados como señalador de nivel de batería.
Para cambiar de escala se utilizan los botones S1 al S4.
Las escalas son:
S1 - escala 1.2V - Niveles 1.20V a 1.00V
S2 - escala 1.5V - Niveles 1.50V a 1.10V
S3 - escala 3.0V - Niveles 3.00V a 2.40V
S4 - escala
3.7V
- Niveles 3.70V a 3.00V



Esquema de conexión.



Montaje del circuito.


/*
xsetaseta@gmail.com
Juan Galaz
7/SEP/2017
Nivel de carga de bateria
*/


#include <TM1638.h>

//data(I/O) pin 8, clock(CLK) pin 9 , strobe(STB) pin 7
TM1638 module(8, 9, 7);


#define ENTRADA1 A0


char cadena[50];
unsigned int vv1,test3v3;
// modo=12 1.2V
// modo=15 1.5V
// modo=30 3.0V
// modo=37 3.7V

char modo=12;

void setup()
 {
  //Serial.begin(9600);
  pinMode(ENTRADA1, INPUT);
  pinMode(A7, INPUT);
  //intensidad al minimo
  module.setupDisplay(1,0);
  module.setDisplayToString("test bat",0,0);
  delay(500);
  //toma la referencia de 3.3V
  test3v3=analogRead10(A7);
  modo=15;
 }


void loop()
{
  byte keys;
  long voltios1;
  int z1;
 
  vv1=analogRead10(ENTRADA1);
  voltios1=vv1*33; voltios1*=10;  voltios1/=test3v3;
 
  z1=voltios1;  
  
  switch(modo)
  {
   case 12:
      sprintf(cadena,"12u %03du",z1);
       module.setLEDs(vumeter(z1,120,100));
   break;
   case 15:
      sprintf(cadena,"15u %03du",z1);
      module.setLEDs(vumeter(z1,150,110));
   break;
   case 30:
      sprintf(cadena,"30u %03du",z1);
      module.setLEDs(vumeter(z1,300,240));
   break;
   case 37:
      sprintf(cadena,"37u %03du",z1);
      module.setLEDs(vumeter(z1,370,300));
   break;
  }
 
  module.setDisplayToString(cadena,0,0);
  module.setDisplayDigit(cadena[0]-48,0,1);
  module.setDisplayDigit(cadena[4]-48,4,1);
//  Serial.println(cadena); 
//  sprintf(cadena,"vv1=%05d   test=%05d ",vv1,test3v3);
//  Serial.println(cadena);
 
  keys = module.getButtons(); 
  switch(keys)
  {
   case 1:
      modo=12;
   break;
   case 2:
      modo=15;
   break;
   case 4:
      modo=30;
   break;
   case 8:
      modo=37;
   break;
  }
 // while( 0 != module.getButtons());
 
  delay(300);
}

// vumeter
unsigned char vumeter(int vol,int ini, int fin)
{
 unsigned int z,z1,z2,led,vu;
 
   z=ini-fin;   z/=8;
   z1=1; z2=0; vu=0;
   for(led=0;led<8;led++)
     {
       if(vol>fin) vu=vu+z1;
       fin+=z;
       z1+=z1;
     }
     return(vu);
}
//lectura de 10 medidas y hace la media
int analogRead10(int entrada)
{
 int z,v;
  for(z=0,v=0;z<10;z++)v+=analogRead(entrada);
  v/=10;
  return(v);
}



Hasta pronto.
JUAN GALAZ

Bibliografía:
https://github.com/rjbatista/tm1638-library
tm16vol.html