Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by JustinSchoeman

  1. The only way to properly balance cells is to charge them. The best once-off balance is to connect the cells in parallel and charge them. The only way to actually maintain any real balance is to permanently use a balancer board.
  2. Correct - but it will be a lot quicker and more accurate than using a balancer board.
  3. These balancers only work to equalize the voltage across each cell. The resistive ones just discharge the cell with highest voltage. The capacitive ones transfer charge from the cells with highest voltage to lowest voltage. Most can achieve <10mV difference between the cells, some as low as 5mV. But none will actually perfectly match the voltage. If you disassemble the battery and connect the cells in parallel, then they will eventually settle to perfectly matched voltages. As others have pointed out above, at nominal cell voltages, charge level is very insensitive to voltage, so a 5-10mV difference would generally be quite a large charge imbalance (perfectly matched voltages will still have some imbalance, but less). The easiest way to actually balance the cells is to charge them. When they are close to maximum voltage, then small charge differences lead to large voltage differences, and balancing the voltages will give you well balanced charge levels.
  4. They are available locally at lbsa.co.za . But they will do a worse job than just connecting the cells in parallel.
  5. Deye is the OEM. I am not sure to what extent they allow others to develop firmware, or if they update the firmware to other's specifications. Either way, I think the main board firmware is likely shared - the changes I have seen seem only to be related to the UI (which is a separate board).
  6. Not sure what display that is, but if 52.1Hz if the gen frequency, then it is above 'Grid Hz High' on the Deye, and it will not be accepted.
  7. Almost certainly frequency related. Try bump Grid Hz high to max and Grid Hz Low to min, and see if it helps.
  8. For arduino, yes, but you only need the calculation to go from voltage to temperature, and you should easily be able to do that in any language/reporting platform of your choice. The calculation is: // Thermistor [email protected] #define TEMP_R 10000.0 // Thermistor B val #define TEMP_B 4200.0 // Kelvin offset #define TEMP_K 273.15 // 25C in Kelvin #define TEMP_REF (TEMP_K + 25.0) // to current through 3k resistor double i = (5.0 - v) / 3000.0; // resistance double r = v/i; // calculate temp from r double c = (TEMP_B * TEMP_REF); c /= TEMP_B + (TEMP_REF * log(r / TEMP_R)); c -= TEMP_K; if(c <= 0) { mb_temp = 0; } else if(c >= 999.0) { mb_temp = 999; } else { mb_temp = c; } Thermistor constants are defined above, then the basic calculations to go from the voltage across the sensor (v) to the temperature (mb_temp). NOTE: This calculation is slightly different from that in my code. My code is based on the voltage between the sensor and ground, so I have swapped it around in the above sample to work with the voltage across the sensor.
  9. If you tee the temperature sensor on the Geyserwize, you can connect it to any HA device with 5V analog input. You can then use the calculations from my code above to convert this voltage to a temperature.
  10. He only replaced the sensor (inside the brass tube), not the whole thermostat. If you are using a D1, you can probably use the existing sensor (10k NTC) as-is. My hardware + code for interfacing is here: https://github.com/justinschoeman/ModbusThermostat/blob/master/temp_geyserwise.h If you use that code, you will need to adjust the 'to voltage' calculation according to the power supply voltage and ADC resolution. /* * Geyserwise input/conditioning: * * ------- 5V (PIN 5 MCU) * | * / * \ 10k NTC * / * \ * | 1k 5% * + ----/\/\/\-----+ ---------> PIN 32 (MCU) * | | * / ----- * \ ----- * / 3k 1% | 10uF ? * \ | * | | * --------------------------- 0V (PIN 1 MCU) */
  11. I believe https://lithiumbatteriessa.co.za have a Daly Smart BMS with customised firmware that can communicate with Deye/Sunsynk. Not sure if they can parallel though. Maybe contact them and find out?
  12. Correct. But one thing I forgot - you must check 'Use Timer' as well. If not checked, then battery is only used when grid is not available (and charging is according to the battery configuration pages only). No need to restart the inverter - settings are applied immediately.
  13. 1) Check 'Priority Load' - this will direct solar energy to first power the load, with any excess used to charge the battery. 2) Set time of use settings (you can make them all the same). Set SOC/V to your minimum acceptable battery charge. If battery charge is above this, additional load will come from batteries. When battery charge is lower than SOC, then load will be powered by grid. If you check 'Grid' for a time slot, then the battery will also charge to that SOC from grid in that time window.
  14. There are a number of BMSs which are compatible - but they are not generally sold on the DIY market. Mostly wholesale to manufacturers. The ones that are available separately tend to be ludicrously expensive. The 'cheapies' generally used on the DIY market are intended for electric bikes/scooters/other vehicles, so they don't really bother with inverter comms.
  15. There is a guy on the other forum who did something similar, except he heats the 'old' geyser with excess solar once his battery is charged. I am not sure how much ambient heating will get you, as geysers tend to be fairly well insulated.
  16. You can read *everything* from the inverter... I read and use, time, inverter output power, load output power, battery state of charge, battery current, pv voltage and pv power, and then have a big look up table to determine target temperature based on all of those. I did contemplate using proportional control (Google PV diverters). It would make life a bit easier, but I don't like the idea of putting such a large non-linear load on the inverter.
  17. I just use a bang-bang controller. If PV voltage is above 'x', turn on the geyser for 10 seconds. Check PV output and battery draw, then leave it on/turn it off based on time of day and geyser temp. This is the logic I use: https://github.com/justinschoeman/ModbusThermostat/blob/master/SunsynkController/config.h Has worked perfectly for me for the past 6 months.
  18. Ewww. That does not look like a DC rated isolator. If it is ever switched off under load, it will just arc until enough burns away to break the loop... Does not explain the heat though. Probably bad connections and/or too thin wire.
  19. It should be pure sine wave... Damaged output drivers or output filter could provide a really nasty waveform.
  20. Fridge motors are usually quite robust. Hard to cook them with start up/change over spikes. I would suspect a waveform issue on the inverter. Easy to test if you have the right equipment, impossible if you don't...
  21. I uploaded the modbus protocol document here: You will need to find a suitable modbus library for your platform to send the requests, and process the responses.
  22. How are you sending modbus requests? If the TX light is not blinking, then the request is not being sent.
  23. It can run without batteries, but: 1) it can not run in parallel 2) you should not connect anything to the load/gen inputs
  24. You should be able to use my Arduino project pretty much as-is. Grab your favorite Arduino + a CAN shield (MCP2515 based for direct compatibility) + a RS485 shield.
  • Create New...