Notice To Unregistered Users: By visiting this forum, you are automatically agreeing to the terms and conditions set forth in our Safety Notice & User Agreement. All electrical work shall be completed by a qualified and licensed electrician. Admins, moderators, and members do not accept any liability for the information posted here. Please make sure to read the Safety Notice & User Agreement for the full disclosure. To remove this message, please register for an account.
Thread Rating:
  • 2 Vote(s) - 4.5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Constantin PowerWall
#41
(01-16-2018, 05:29 PM)mrconstantin Wrote: Hi all,

     EGoksy suggest to me on youtube to try use the CE pin of the TP4056

     In order to simply more the schematics and lower price for the components i make few test with CE pin of the TP4056.
     From data sheet:
     CE(Pin8): Chip Enable Input. A high input will put the device in the normal operating mode. Pulling the CE pin to low level will put the YP4056 into disable mode. The CE pin can be driven by TTL or CMOS logic level.
      
     

     So by putting an pull down resistor of 10k from GND to Pin8 the cip go in disable mode and dont charge anymore.
     I use the digital pin for the IRFU5305 P channel Mosfet to pull up de Pin8 and like that i remove from the schematics the P-Channel Mosfet.

     Now u can control the charge without P-Channel Mosfet

     To do this u need to unsold the Pin8 from the +5V rail

Hope this will help u too.

Best regards

Check this thread
Check if you have the right TP4056 chip Wink
All mine are counterfeits and CE doesn't work Sad
Reply
#42
hi constantin,

how do you read out the „fully charged“ status via led. it is either red or blue, sometimes blinking... how do you identify what status it is?

regards
karl
Reply
#43
(09-04-2017, 04:27 PM)mrconstantin Wrote: Hi,


     I am Constantin from Romania, and i will start the first PowerWall project. 

     I wish to make an modular PowerWall system for easy upgrading.

     I will use 18650 Li-Ion Recycled battery buy-it from dismantling company. 

     For the frame i will use BOSH x shape aluminiu modular frame.
     
     The electronics i will try to use as much i can the DIY circuits.

     
     FIRST STEP  - Battery

     I bought 1000 Li-Ion 18650 Recycled Battery!!! the price was  less then 0.4 usd/cell



     Also some 100 pcs 5x4 support from China



     Imax B6 Charger  - chose that one becouse i can charge also some 6s pacs during the constraction, and also have a lot of function for charge and discharge!


     
     Let's START Building!!

     FIRST PROBLEM - Testing the cells

     If u use recycled cells u need to test the capacity of each one! For that u need only a charger with tester function!

     BUT
 
     Every cell will need about 4 hours to charge and also will need about 6 hours to discharge if u charge it with 0.5Ah, and also discharge with low discharge function. 
     For me my first 1000 cels will take at minimum 10000 hours that meens  416 days if i work 24 hours on day with 1 charger !!!
     The solution is to work with many chargers usuly i see is used the 4 cels version, so if u do the math if i have 16 chargers i will make 64 cels / day that will take about 15 days for 1000 cels. 

      On ebay the option are:

      3.25$ - only the discharge function and 1 battery  for 64 pcs = 208$ + tax
      40$   -  Charger + discharger C3100 - with analyzer function 4 cels, for 64 i need 16 pcs =  640$ - is more expensive then the cells!

      This option was not ok for me!

       Next QUEST - Build an DIY Multi Battery Tester - Charger Discharge
       
       After some documentation i make this solution:

       This is my first Modular 16 Cell Smart Battery Tester

       

       Specification:
       
       Max 8 module - 128 cell
       Charging module - TP4056 with discharge protection at 2.5V
       Charging Curent 520mA - 1A Fix 
       Discharge Curent: 420mA - 250mA by Rezistor Load
       Simultan Charge max 64 cells
       Display LCD 128x64
       Keypad 16 keys
       Smart Option
       Lan/Internet Server
       Online Raport / Email
       SD card Data Storage



       Charging Board:



        Discharge Board



        Battery Holders 3D Printed

        That is it for the moment!

Best regards

Wow this is really cool. Nice work.
Reply
#44
(03-27-2018, 09:01 PM)brettwatty Wrote:
(09-04-2017, 04:27 PM)mrconstantin Wrote: Hi,


     I am Constantin from Romania, and i will start the first PowerWall project. 

     I wish to make an modular PowerWall system for easy upgrading.

     I will use 18650 Li-Ion Recycled battery buy-it from dismantling company. 

     For the frame i will use BOSH x shape aluminiu modular frame.
     
     The electronics i will try to use as much i can the DIY circuits.

     
     FIRST STEP  - Battery

     I bought 1000 Li-Ion 18650 Recycled Battery!!! the price was  less then 0.4 usd/cell



     Also some 100 pcs 5x4 support from China



     Imax B6 Charger  - chose that one becouse i can charge also some 6s pacs during the constraction, and also have a lot of function for charge and discharge!


     
     Let's START Building!!

     FIRST PROBLEM - Testing the cells

     If u use recycled cells u need to test the capacity of each one! For that u need only a charger with tester function!

     BUT
 
     Every cell will need about 4 hours to charge and also will need about 6 hours to discharge if u charge it with 0.5Ah, and also discharge with low discharge function. 
     For me my first 1000 cels will take at minimum 10000 hours that meens  416 days if i work 24 hours on day with 1 charger !!!
     The solution is to work with many chargers usuly i see is used the 4 cels version, so if u do the math if i have 16 chargers i will make 64 cels / day that will take about 15 days for 1000 cels. 

      On ebay the option are:

      3.25$ - only the discharge function and 1 battery  for 64 pcs = 208$ + tax
      40$   -  Charger + discharger C3100 - with analyzer function 4 cels, for 64 i need 16 pcs =  640$ - is more expensive then the cells!

      This option was not ok for me!

       Next QUEST - Build an DIY Multi Battery Tester - Charger Discharge
       
       After some documentation i make this solution:

       This is my first Modular 16 Cell Smart Battery Tester

       

       Specification:
       
       Max 8 module - 128 cell
       Charging module - TP4056 with discharge protection at 2.5V
       Charging Curent 520mA - 1A Fix 
       Discharge Curent: 420mA - 250mA by Rezistor Load
       Simultan Charge max 64 cells
       Display LCD 128x64
       Keypad 16 keys
       Smart Option
       Lan/Internet Server
       Online Raport / Email
       SD card Data Storage



       Charging Board:



        Discharge Board



        Battery Holders 3D Printed

        That is it for the moment!

Best regards

Wow this is really cool. Nice work.
You may of already done this but this is an exert from my code to test milliOhms
Code:
batteryMilliOhmsCount[i] = batteryMilliOhmsCount[i] + milliOhms(i);
tempMilliOhmsValue[i] = tempMilliOhmsValue[i] + milliOhmsValue[i];
if (batteryMilliOhmsCount[i] == 16) // Check 16 times
{
    milliOhmsValue[i] = tempMilliOhmsValue[i] / 16; // Get the average
    if (milliOhmsValue[i] > highMilliOhms) // Check if Milli Ohms is greater than the set high Milli Ohms value
    {
        batteryFaultCode[i] = 3; // Set the Battery Fault Code to 3 High Milli Ohms

    } else {
        //Good to go
    }
}


byte milliOhms(byte j)
{
    float resistanceAmps = 0.00;
    float voltageDrop = 0.00;
    float batteryVoltageInput = 0.00;
    float batteryShuntVoltage = 0.00;
    digitalWrite(dischargeMosfetPins[j], LOW);
    getBatteryVoltage(j);
    batteryVoltageInput = batteryVoltage[j];
    digitalWrite(dischargeMosfetPins[j], HIGH);
    getBatteryVoltage(j);
    batteryShuntVoltage = batteryVoltage[j];
    digitalWrite(dischargeMosfetPins[j], LOW);
    resistanceAmps = batteryShuntVoltage / shuntResistor; // const float shuntResistor = 3.3; // In Ohms - Shunt resistor resistance
    voltageDrop = batteryVoltageInput - batteryShuntVoltage;
    milliOhmsValue[j] = ((voltageDrop / resistanceAmps) * 1000) - 150; // 150 Calibration Offset
    if (milliOhmsValue[j] > 9999) milliOhmsValue[j] = 9999; // Keeps it at 4 digits
    return 1;
}


void getBatteryVoltage(byte j)
{
    float batterySampleVoltage = 0.00;
    for(byte i = 0; i < 100; i++)
    {
        batterySampleVoltage = batterySampleVoltage + analogRead(batteryVolatgePins[j]);
    }
    batterySampleVoltage = batterySampleVoltage / 100;
    batteryVoltage[j] = batterySampleVoltage * referenceVoltage / 1023.0;
}
mormor1971 likes this post
Reply
#45
(03-27-2018, 10:46 PM)brettwatty Wrote: You may of already done this but this is an exert from my code to test milliOhms
Code:
batteryMilliOhmsCount[i] = batteryMilliOhmsCount[i] + milliOhms(i);
tempMilliOhmsValue[i] = tempMilliOhmsValue[i] + milliOhmsValue[i];
if (batteryMilliOhmsCount[i] == 16) // Check 16 times
{
    milliOhmsValue[i] = tempMilliOhmsValue[i] / 16; // Get the average
    if (milliOhmsValue[i] > highMilliOhms) // Check if Milli Ohms is greater than the set high Milli Ohms value
    {
        batteryFaultCode[i] = 3; // Set the Battery Fault Code to 3 High Milli Ohms

    } else {
        //Good to go
    }
}


byte milliOhms(byte j)
{
    float resistanceAmps = 0.00;
    float voltageDrop = 0.00;
    float batteryVoltageInput = 0.00;
    float batteryShuntVoltage = 0.00;
    digitalWrite(dischargeMosfetPins[j], LOW);
    getBatteryVoltage(j);
    batteryVoltageInput = batteryVoltage[j];
    digitalWrite(dischargeMosfetPins[j], HIGH);
    getBatteryVoltage(j);
    batteryShuntVoltage = batteryVoltage[j];
    digitalWrite(dischargeMosfetPins[j], LOW);
    resistanceAmps = batteryShuntVoltage / shuntResistor; // const float shuntResistor = 3.3; // In Ohms - Shunt resistor resistance
    voltageDrop = batteryVoltageInput - batteryShuntVoltage;
    milliOhmsValue[j] = ((voltageDrop / resistanceAmps) * 1000) - 150; // 150 Calibration Offset
    if (milliOhmsValue[j] > 9999) milliOhmsValue[j] = 9999; // Keeps it at 4 digits
    return 1;
}


void getBatteryVoltage(byte j)
{
    float batterySampleVoltage = 0.00;
    for(byte i = 0; i < 100; i++)
    {
        batterySampleVoltage = batterySampleVoltage + analogRead(batteryVolatgePins[j]);
    }
    batterySampleVoltage = batterySampleVoltage / 100;
    batteryVoltage[j] = batterySampleVoltage * referenceVoltage / 1023.0;
}

i see you don't add load the first measurement ... and use averaging after

i use the IEC 61960-2003  for DC resistance



adding 250mA(I1) Load for V1 and then 1A(I2) load for V2 .. and time is  1.5s Wink

after OPUS upgrade resistances calculated  in OPUS and in my tester is ±7mOhms
brettwatty and mormor1971 like this post
Reply
#46
Hi,

I don't know how i missed your post. Really nice job!
Reply


Who read this thread?
100 User(s) read this thread:
hbpowerwall (04-02-2018, 06:17 AM), Chickey (09-14-2017, 11:27 AM), daromer (12-17-2017, 05:10 PM), mike (03-28-2018, 12:08 AM), goodnowm (01-02-2018, 05:47 PM), AveRageJoe (09-18-2017, 03:56 AM), PaulKennett (09-25-2017, 08:10 AM), NiVa (09-18-2017, 11:01 PM), Lux_Gamer (02-04-2018, 11:08 AM), Andreas Kvernes (10-01-2017, 10:04 AM), owitte (03-28-2018, 03:18 PM), opus40 (12-11-2017, 07:12 AM), Majorphill (02-14-2018, 12:04 PM), BatteryDIY (09-07-2017, 10:58 PM), ruby2 (01-17-2018, 12:48 AM), JustJim (12-26-2017, 02:29 AM), Korishan (04-01-2018, 12:29 PM), A + A (03-27-2018, 10:45 PM), P.Tasyo Powerwall (02-01-2018, 03:43 PM), PAF (04-02-2018, 03:41 PM), brettwatty (04-30-2018, 05:19 AM), FERCSA (09-05-2017, 08:14 PM), Wattsup (02-02-2018, 05:41 PM), JGaspar (10-01-2017, 06:46 AM), Tristan Timmer (09-04-2017, 08:55 PM), Frnandu Martiński (12-14-2017, 09:43 AM), Alan Blake (09-25-2017, 01:18 AM), flight4900 (12-18-2017, 08:20 AM), eAnic (12-18-2017, 03:11 PM), jdeadman (04-01-2018, 06:09 PM), charlie246 (12-09-2017, 07:41 AM), camils (01-16-2018, 10:22 PM), 2146 (11-02-2017, 07:48 PM), wim (04-01-2018, 09:56 AM), wimpie007 (01-28-2018, 03:35 PM), coconut2k13 (03-04-2018, 09:04 AM), ericg (12-19-2017, 10:50 PM), frnandu (10-02-2017, 11:00 AM), melsom (04-02-2018, 03:30 PM), typ49 (09-13-2017, 12:59 PM), The-J-Man (02-22-2018, 01:33 PM), Jeremy Choy (09-15-2017, 07:33 PM), Abarth595 (09-29-2017, 05:59 PM), kktuo (09-14-2017, 08:56 PM), Off Grid Power wall (09-27-2017, 09:26 AM), Em Em Silverghost (09-18-2017, 11:22 AM), rebelrider.mike (02-19-2018, 02:14 PM), kaits31 (09-06-2017, 09:42 PM), watts-on (04-02-2018, 09:43 AM), Dan Lim (09-17-2017, 09:53 AM), jesusangel (02-01-2018, 05:45 AM), fcbrand (02-15-2018, 06:06 AM), alexcj (01-18-2018, 08:21 PM), Hanssing (03-28-2018, 12:32 AM), IronSky (Yesterday, 06:03 PM), Mark Daniel Olsen (01-16-2018, 08:15 PM), silverse2m6 (09-04-2017, 04:46 PM), kot (03-13-2018, 07:14 PM), ismaildoganw (09-06-2017, 02:42 AM), Stefaan De Ridder (04-01-2018, 06:01 PM), Chiptosser (11-17-2017, 02:52 AM), systemtm (09-06-2017, 07:50 AM), Lawcomleo (09-09-2017, 08:55 PM), BlueSwordM (04-04-2018, 01:08 AM), tremors (02-13-2018, 01:47 AM), piotrek111989 (09-29-2017, 06:33 AM), Johnny Stauersbøl (09-14-2017, 06:44 PM), Dennis Van Hoek (09-20-2017, 07:41 PM), brafi (09-17-2017, 07:32 PM), Nitroghost (09-06-2017, 11:36 PM), Terry (09-14-2017, 02:20 PM), N00bPwr (09-14-2017, 06:56 PM), KaminoReal (02-17-2018, 04:35 PM), Shade (12-10-2017, 02:56 AM), Robert Crawley (09-08-2017, 05:12 AM), KtB (09-30-2017, 09:36 PM), barthy (09-24-2017, 08:18 AM), Daveyboy (04-06-2018, 09:43 AM), al4sound (02-14-2018, 02:38 AM), Seedser (09-18-2017, 12:37 PM), paraskevas (09-29-2017, 02:28 PM), kiwi (01-19-2018, 03:19 PM), ivnz (10-01-2017, 07:29 AM), iofosho (11-24-2017, 05:21 AM), iceisfun (10-01-2017, 01:07 AM), Geek (04-03-2018, 02:35 AM), TAGG (09-17-2017, 07:57 PM), Dave Tucker II (09-22-2017, 06:41 PM), Rad (01-21-2018, 04:27 AM), SWEwall (09-14-2017, 07:57 PM), Jon (05-13-2018, 03:40 AM), WildCard_25 (09-30-2017, 10:10 PM), Ivo Staelens (10-01-2017, 05:52 AM), jose215 (11-09-2017, 01:29 AM), Bloater (12-11-2017, 11:55 PM), Mrsmith (09-07-2017, 10:45 AM), fabioelsabio (09-20-2017, 02:51 PM), jamesk9 (12-13-2017, 06:32 PM), mr_hypno (02-21-2018, 08:10 PM), costasc68 (12-07-2017, 11:24 AM)

Forum Jump:


Users browsing this thread: 2 Guest(s)