Discharge circuit, dump circuit

MisterBill2

Joined Jan 23, 2018
27,522
hello

im looking for a circuit that can remove access power from a battery, but i can not find it anywhere.
im not that competent in designing circuits so i wil try in forum.

maybe someone have a circuit that i can use.

i did not ask about safety, i did not ask about other ways of doing this, i only ask for circuit and discussing about discharge circuit please respect that.


ok i have a few "requirements" for way of function
no programming
pwm based discharge
pwm 0-100% (not critical can be for example 10 - 90%)
pwm start voltage adjustable if batteryvoltage 5v over start voltage =100% pwm
pwm start voltage adjustable dc240v - dc265v (example start 265,05=1%pwm 270=100%pwm
pwm ramp up and down slowly
pwm is limited by a current shunt adjustable from 1A to 100A
pwm frequency not critical about 3khz


explaining of circuit work:
start voltage adjusted to 240vdc
current limit set to 10A

voltage increase to 240,1vdc
pwm start 2%

voltage increase to 241vdc
pwm adjust slowly to 20%

voltage increase to 242vdc
pwm try to adjust slowly to 40% but the current limit stop and hold the pwm at 30%

voltage increase to 243vdc
current limit still hold the pwm at 30%

voltage decrease to 240,5
pwm adjust slowly to 10%

voltage decrease to 240
pwm stop
There is a company that will be happy to sell you a system that will do exactly what you are requesting, and if you choose to sell thousands of the systems they will be happy to help. They are not cheap, although many claim that they offer bargains for what you get. AND they have all kinds of licensing agreements available.
The system design that is requested is by no means simple or small, by the way
 

Thread Starter

Mrusten

Joined Dec 23, 2015
62
There is a company that will be happy to sell you a system that will do exactly what you are requesting, and if you choose to sell thousands of the systems they will be happy to help. They are not cheap, although many claim that they offer bargains for what you get. AND they have all kinds of licensing agreements available.
The system design that is requested is by no means simple or small, by the way
well if you look at the diagram i drew there is not much to what i want.
offcorse there is a lot of companies that sell easy stuff for a high price.

im not considering to give that kind of buisniss any support thanks
 

ebeowulf17

Joined Aug 12, 2014
3,307
well if you look at the diagram i drew there is not much to what i want.
Part of why your diagram makes it look simple and easy is because you've oversimplified things in ways that won't work. For example, you say you want to drop voltage for monitoring from a source that runs 240-245V into a signal that's 0-5V. You show that being done with a simple resistive voltage divider.

Unfortunately for you, a voltage divider scales things proportionally - it doesn't magically know how you wanted the signal scaled. So, if you choose a voltage divider that reduces your max reading of 245V down to 5V, then your low reading of 240V will become 4.898V. Now you need to convert 4.898V to 0% and 5V to 100% PWM.

Of course, that's still possible, but it's a few more op amp stages, with more precision and care required in terms of noise and drift. With a magical 0-5V signal it looks much easier than with a real 4.898-5V signal.

I don't have strong opinions on the rest of the circuit concept, but I'm guessing there are more examples like that one. If you want to make your own system, go for it, but don't kid yourself about how simple it will be!
 

Thread Starter

Mrusten

Joined Dec 23, 2015
62
i see, the battery voltage vs 0-5v is not critical, it do not matter if its a few volts off.

anyway i completly understand what you mean, i do not have the knowlege to make the circuit correctly and are hoping for help
 

nsaspook

Joined Aug 27, 2009
16,325
To the OP. This is not a recommendation for your circuit, it's just a way to explain the hidden complexity of the task you want. While it's possible to make a simple circuit that turns on/off a load a X voltages setpoints using PWM, even in software, it's not simple to have reliable and stable power diversion when you must also keep batteries charged at a usable level or have a reserve of energy. It requires a bit of non-linear system prediction about future energy conditions and the knowledge of system State far beyond simple current voltage and current levels unless you want to limit diversion to a low level.

This is some old PIC18 controller code I wrote a few years back for one type of simple system while testing some concepts.

Check flags and system conditions for possible diversion control during a interrupt timer loop
C:
        if (!PIE1bits.TX1IE) { // don't update during host xmit
            // PWM Duty Cycle logic control
            MBMC.diversion.power_control = 0; // reset control bits

            if (((R.currentin * R.inputvoltage) / 10000) > PWM_POWER) MBMC.diversion.power_control |= PWM_FLAG_OK;

            if ((MBMC.diversion.power_control & PWM_FLAG_OK) && ((R.inputvoltage > PWMHIGH) || (CCMODE == ABSORP_M) || ((CCMODE == FLOAT_W) || (CCMODE == FLOAT_M))) && ((CHARGERL == R_OFF) || PWMTEST)) {
                MBMC.diversion.power = (uint8_t) CCEFF_DIFF;
            } else {
                if (MBMC.diversion.power > 1) {
                    if (!pwm_delay++) MBMC.diversion.power = MBMC.diversion.power / 2; // no power, slowly
                } else {
                    MBMC.diversion.power = 0; // no power
                }
                if ((CHARGERL == R_ON) && !PWMTEST) { // set all PWM to zero if charger is on and not testing
                    MBMC.diversion.power = 0; // no power
                    CCEFF_DIFF = 0;
                }
            }
            if (SIM_FLAG & 0b00001000) { // PWM SIM testing
                SIM_FLAG &= 0b11110011; // reset PWM SIM flags
            }
            if (SIM_FLAG & 0b00000100) MBMC.diversion.power = 33;
        }
Functions to calculate the charge controller power efficiency factor CCEFF_DIFF (power usage to possible power) we should divert using a duty-cycle variable
C:
void pv_pwm_calc(float slope) // calc a duty-cycle from the PV power excess supply, CCEFF_DIFF is a global variable
{
    static int16_t CCEFF_DIFF_tmp;
    static float power_exp;

    power_exp = PWM_EXP + slope;
    CCEFF_DIFF_tmp = (int16_t) (99 - CCEFF); // power offset
    if ((CHARGERL == R_ON) && !PWMTEST) { // set all PWM to zero if charger is on and not testing
        pv_pwm_shutdown();
        CCEFF_DIFF_tmp = 0;
    }
    if (CCEFF_DIFF_tmp > PWM_LIMIT)
        CCEFF_DIFF_tmp = PWM_LIMIT;
    if (CCEFF_DIFF_tmp > PWM_SLOPE) {
        CCEFF_DIFF = (int16_t) lp_filter(pow((float) CCEFF_DIFF_tmp, power_exp), LP_PWM, TRUE); // control power
    } else {
        CCEFF_DIFF = (int16_t) lp_filter((float) CCEFF_DIFF_tmp, LP_PWM, TRUE); // control power
    }
    if (CCEFF_DIFF > 100)
        CCEFF_DIFF = 100; // limit max value to 100% power

}

void pv_pwm_shutdown(void)
{
    while (PIE1bits.TX1IE) {
    }; // don't update during host xmit
    MBMC.diversion.power = NULL0; // no power
    CCEFF_DIFF = NULL0; // shutdown the PWM system
    lp_filter(0.0, LP_PWM, (-1)); // zero control power filter
}
This section of code sets the PWM in a safe and stable manner after a series of system and error condition checks.
C:
/* function to stop fast switching of diversion power, d_on and d_off are global static variables */

/* 'sw' is the OFF/ON toggle/ 'now' is the timed action toggle YES/NO, the state of the DIVERSION output latch is returned */
uint8_t divert_power(uint8_t sw, uint8_t now, uint8_t status_code)
{
    if (DIPSW8 || SIM_MODE || DIVERSION_set) { // just turn on "FORCE" DIVERSION and return it's status
        if (DIVERSION == R_OFF) {
            alarm_buffer[almctr].bn = CCS.boc;
            alarm_buffer[almctr++].alm_num = 10;
            alarm_codes.alm_flag = TRUE;
            check_alarm(CCS.boi, " divert2 "); // send alarm codes to terminal if alarm_flag is set
        }
        DIVERSION = R_ON;
        return DIVERSION;
    }

    if (AC_OFF_I && DIVERSION == R_ON) { /* the inverter has tripped while diversion is running */
        if (DIVERSION == R_ON) { // if on then off
            alarm_buffer[almctr].bn = CCS.boi + (status_code << 4);
            alarm_buffer[almctr++].alm_num = 11;
            alarm_codes.alm_flag = TRUE;
            check_alarm(CCS.boi, " divert3 "); // send alarm codes to terminal if alm_flag is set
        }
        DIVERSION = R_OFF;
        return DIVERSION;
    }

    if (sw == ON) {
        s_crit(HL);
        d_on = V.timerint_count;
        e_crit();
        if (now == YES) { // Do it now
            if (!AC_OFF_I) {
                if (DIVERSION == R_OFF) { // if off then on
                    alarm_buffer[almctr].bn = CCS.boi + (status_code << 4);
                    alarm_buffer[almctr++].alm_num = 10;
                    alarm_codes.alm_flag = TRUE;
                    check_alarm(CCS.boi, " divert1 "); // send alarm codes to terminal if alarm_flag is set
                }
            }
        } else { // Wait to stop power glitching
            if (((d_on - d_off) > D_TIME) || (d_off == NULL0)) { // wait if diversion was just shut off.
                if (!AC_OFF_I) {
                    if ((B.diversion <= PW_DIVERSION) && (B.today >= TODAY_Q) && (B.yesterday >= YESTER_Q)) { // check for good sunny weather
                        if (DIVERSION == R_OFF) { // if off then on, log
                            alarm_buffer[almctr].bn = CCS.boi + (status_code << 4);
                            alarm_buffer[almctr++].alm_num = 10;
                            alarm_codes.alm_flag = TRUE;
                            check_alarm(CCS.boi, " divert2 "); // send alarm codes to terminal if alarm_flag is set
                        }
                        DIVERSION = R_ON; // check for inverter power
                    }
                }
            }
        }
    } else {
        s_crit(HL);
        d_off = V.timerint_count;
        e_crit();
        if (now == YES) { // Do it now
            if (DIVERSION == R_ON) { // if on then off
                alarm_buffer[almctr].bn = CCS.boi + (status_code << 4);
                alarm_buffer[almctr++].alm_num = 11;
                alarm_codes.alm_flag = TRUE;
                check_alarm(CCS.boi, " divert3 "); // send alarm codes to terminal if alarm_flag is set
            }
            DIVERSION = R_OFF;
        } else {
            if (((d_off - d_on) > D_TIME) || (d_on == NULL0)) { // wait if diversion was just turned on.
                if (DIVERSION == R_ON) { // if on then off
                    alarm_buffer[almctr].bn = CCS.boi + (status_code << 4);
                    alarm_buffer[almctr++].alm_num = 11;
                    alarm_codes.alm_flag = TRUE;
                    check_alarm(CCS.boi, " divert4 "); // send alarm codes to terminal if alarm_flag is set
                }
                DIVERSION = R_OFF;
            }
        }
    }
    return DIVERSION;
}
 
Last edited:

Thread Starter

Mrusten

Joined Dec 23, 2015
62
To the OP. This is not a recommendation for your circuit, it's just a way to explain the hidden complexity of the task you want. While it's possible to make a simple circuit that turns on/off a load a X voltages setpoints using PWM, even in software, it's not simple to have reliable and stable power diversion when you must also keep batteries charged at a usable level or have a reserve of energy. It requires a bit of non-linear system prediction about future energy conditions and the knowledge of system State far beyond simple current voltage and current levels unless you want to limit diversion to a low level.

This is some old PIC18 controller code I wrote a few years back for one type of simple system while testing some concepts.

Check flags and system conditions for possible diversion control during a interrupt timer loop
C:
        if (!PIE1bits.TX1IE) { // don't update during host xmit
            // PWM Duty Cycle logic control
            MBMC.diversion.power_control = 0; // reset control bits

            if (((R.currentin * R.inputvoltage) / 10000) > PWM_POWER) MBMC.diversion.power_control |= PWM_FLAG_OK;

            if ((MBMC.diversion.power_control & PWM_FLAG_OK) && ((R.inputvoltage > PWMHIGH) || (CCMODE == ABSORP_M) || ((CCMODE == FLOAT_W) || (CCMODE == FLOAT_M))) && ((CHARGERL == R_OFF) || PWMTEST)) {
                MBMC.diversion.power = (uint8_t) CCEFF_DIFF;
            } else {
                if (MBMC.diversion.power > 1) {
                    if (!pwm_delay++) MBMC.diversion.power = MBMC.diversion.power / 2; // no power, slowly
                } else {
                    MBMC.diversion.power = 0; // no power
                }
                if ((CHARGERL == R_ON) && !PWMTEST) { // set all PWM to zero if charger is on and not testing
                    MBMC.diversion.power = 0; // no power
                    CCEFF_DIFF = 0;
                }
            }
            if (SIM_FLAG & 0b00001000) { // PWM SIM testing
                SIM_FLAG &= 0b11110011; // reset PWM SIM flags
            }
            if (SIM_FLAG & 0b00000100) MBMC.diversion.power = 33;
        }
Functions to calculate the charge controller power efficiency factor CCEFF_DIFF (power usage to possible power) we should divert using a duty-cycle variable
C:
void pv_pwm_calc(float slope) // calc a duty-cycle from the PV power excess supply, CCEFF_DIFF is a global variable
{
    static int16_t CCEFF_DIFF_tmp;
    static float power_exp;

    power_exp = PWM_EXP + slope;
    CCEFF_DIFF_tmp = (int16_t) (99 - CCEFF); // power offset
    if ((CHARGERL == R_ON) && !PWMTEST) { // set all PWM to zero if charger is on and not testing
        pv_pwm_shutdown();
        CCEFF_DIFF_tmp = 0;
    }
    if (CCEFF_DIFF_tmp > PWM_LIMIT)
        CCEFF_DIFF_tmp = PWM_LIMIT;
    if (CCEFF_DIFF_tmp > PWM_SLOPE) {
        CCEFF_DIFF = (int16_t) lp_filter(pow((float) CCEFF_DIFF_tmp, power_exp), LP_PWM, TRUE); // control power
    } else {
        CCEFF_DIFF = (int16_t) lp_filter((float) CCEFF_DIFF_tmp, LP_PWM, TRUE); // control power
    }
    if (CCEFF_DIFF > 100)
        CCEFF_DIFF = 100; // limit max value to 100% power

}

void pv_pwm_shutdown(void)
{
    while (PIE1bits.TX1IE) {
    }; // don't update during host xmit
    MBMC.diversion.power = NULL0; // no power
    CCEFF_DIFF = NULL0; // shutdown the PWM system
    lp_filter(0.0, LP_PWM, (-1)); // zero control power filter
}
This section of code sets the PWM in a safe and stable manner after a series of system and error condition checks.
C:
/* function to stop fast switching of diversion power, d_on and d_off are global static variables */

/* 'sw' is the OFF/ON toggle/ 'now' is the timed action toggle YES/NO, the state of the DIVERSION output latch is returned */
uint8_t divert_power(uint8_t sw, uint8_t now, uint8_t status_code)
{
    if (DIPSW8 || SIM_MODE || DIVERSION_set) { // just turn on "FORCE" DIVERSION and return it's status
        if (DIVERSION == R_OFF) {
            alarm_buffer[almctr].bn = CCS.boc;
            alarm_buffer[almctr++].alm_num = 10;
            alarm_codes.alm_flag = TRUE;
            check_alarm(CCS.boi, " divert2 "); // send alarm codes to terminal if alarm_flag is set
        }
        DIVERSION = R_ON;
        return DIVERSION;
    }

    if (AC_OFF_I && DIVERSION == R_ON) { /* the inverter has tripped while diversion is running */
        if (DIVERSION == R_ON) { // if on then off
            alarm_buffer[almctr].bn = CCS.boi + (status_code << 4);
            alarm_buffer[almctr++].alm_num = 11;
            alarm_codes.alm_flag = TRUE;
            check_alarm(CCS.boi, " divert3 "); // send alarm codes to terminal if alm_flag is set
        }
        DIVERSION = R_OFF;
        return DIVERSION;
    }

    if (sw == ON) {
        s_crit(HL);
        d_on = V.timerint_count;
        e_crit();
        if (now == YES) { // Do it now
            if (!AC_OFF_I) {
                if (DIVERSION == R_OFF) { // if off then on
                    alarm_buffer[almctr].bn = CCS.boi + (status_code << 4);
                    alarm_buffer[almctr++].alm_num = 10;
                    alarm_codes.alm_flag = TRUE;
                    check_alarm(CCS.boi, " divert1 "); // send alarm codes to terminal if alarm_flag is set
                }
            }
        } else { // Wait to stop power glitching
            if (((d_on - d_off) > D_TIME) || (d_off == NULL0)) { // wait if diversion was just shut off.
                if (!AC_OFF_I) {
                    if ((B.diversion <= PW_DIVERSION) && (B.today >= TODAY_Q) && (B.yesterday >= YESTER_Q)) { // check for good sunny weather
                        if (DIVERSION == R_OFF) { // if off then on, log
                            alarm_buffer[almctr].bn = CCS.boi + (status_code << 4);
                            alarm_buffer[almctr++].alm_num = 10;
                            alarm_codes.alm_flag = TRUE;
                            check_alarm(CCS.boi, " divert2 "); // send alarm codes to terminal if alarm_flag is set
                        }
                        DIVERSION = R_ON; // check for inverter power
                    }
                }
            }
        }
    } else {
        s_crit(HL);
        d_off = V.timerint_count;
        e_crit();
        if (now == YES) { // Do it now
            if (DIVERSION == R_ON) { // if on then off
                alarm_buffer[almctr].bn = CCS.boi + (status_code << 4);
                alarm_buffer[almctr++].alm_num = 11;
                alarm_codes.alm_flag = TRUE;
                check_alarm(CCS.boi, " divert3 "); // send alarm codes to terminal if alarm_flag is set
            }
            DIVERSION = R_OFF;
        } else {
            if (((d_off - d_on) > D_TIME) || (d_on == NULL0)) { // wait if diversion was just turned on.
                if (DIVERSION == R_ON) { // if on then off
                    alarm_buffer[almctr].bn = CCS.boi + (status_code << 4);
                    alarm_buffer[almctr++].alm_num = 11;
                    alarm_codes.alm_flag = TRUE;
                    check_alarm(CCS.boi, " divert4 "); // send alarm codes to terminal if alarm_flag is set
                }
                DIVERSION = R_OFF;
            }
        }
    }
    return DIVERSION;
}
it seem like you here get information from charger and inverter to calculate the access power avalible.

its also possible by current shunts on the input and output of the battery.

but im thinking that its more easy to use the battery voltage to determend the dutycycle of the pwm.

yes when the battery volage is less than 240v or setpoint the duty wil be 0%
and offcourse if the battery voltage is 241v the dutycycle is 20%

i understand voltage devider wil not work but a op-amp circuit or a dc-dc converter witch is not regulated on the output would work good enough

by 240 and 245v at the battery i mean that the battery is 100% charged at 245v so if the diversion circuit get that far and is outputting 100%pwm then the input is larger than the input and charge controllers wil shut itself off.

if the battery get to 241v the pwm output 20%
when the battery is discharged 1v pwm stop again.

battery is large so there is werry small voltage drop when connectiong a load, plus the pwm wil always start at 1% and work its way up to 100%
 
Last edited:

nsaspook

Joined Aug 27, 2009
16,325
it seem like you here get information from charger and inverter to calculate the access power avalible.

its also possible by current shunts on the input and output of the battery.

but im thinking that its more easy to use the battery voltage to determend the dutycycle of the pwm.

yes when the battery volage is less than 240v or setpoint the duty wil be 0%
and offcourse if the battery voltage is 241v the dutycycle is 20%

i understand voltage devider wil not work but a op-amp circuit or a dc-dc converter witch is not regulated on the output would work good enough

by 240 and 245v at the battery i mean that the battery is 100% charged at 245v so if the diversion circuit get that far and is outputting 100%pwm then the input is larger than the input and charge controllers wil shut itself off.

if the battery get to 241v the pwm output 20%
when the battery is discharged 1v pwm stop again.

battery is large so there is werry small voltage drop when connectiong a load, plus the pwm wil always start at 1% and work its way up to 100%
Depending on the type, battery voltage as a single indicator can change from a unreliable indicator of power to a useless indicator of power. What you want to actually control is the optimization of energy transfer from energy sources (wind/solar) to energy consumers(loads). You can't just use battery voltage as a proxy for energy in a analog or digital circuit unless you have a static load condition. Having a diversion percentage setpoints at specific conditions of changing voltage with varying loads is by definition dynamic. If you keep the diversion loads at a low level 10% -> 20% of guestimated total energy source operating power capability, things become much easier as you don't need to optimize and simple on/off control with interlocks for charging modes and main load power needs becomes possible without too much complexity.
 
Last edited:

Thread Starter

Mrusten

Joined Dec 23, 2015
62
Depending on the type, battery voltage as a single indicator can change from a unreliable indicator of power to a useless indicator of power. What you want to actually control is the optimization of energy transfer from energy sources (wind/solar) to energy consumers(loads). You can't just use battery voltage as a proxy for energy in a analog or digital circuit unless you have a static load condition. Having a diversion percentage setpoints at specific conditions of changing voltage with varying loads is by definition dynamic. If you keep the diversion loads at a low level 10% -> 20% of guestimated total energy source operating power capability, things become much easier as you don't need to optimize and simple on/off control with interlocks for charging modes and main load power needs becomes possible without too much complexity.
you mix in stuff i newer intended to mix in.

the normal loads and the solar and wind chargers they work on their own completly independent of this circuit.

this circuit only control extra power and oviesly if the battery volatge is higher than setpoint there is to much energy there witch should be removed,
this circuit wil stop to discharge the battery at setpoint witch is 95% state of charge for the battery

the charge controllers and inverter they are allways connected to the battery and do their thing completly independent
 

nsaspook

Joined Aug 27, 2009
16,325
you mix in stuff i newer intended to mix in.

the normal loads and the solar and wind chargers they work on their own completly independent of this circuit.

this circuit only control extra power and oviesly if the battery volatge is higher than setpoint there is to much energy there witch should be removed,
this circuit wil stop to discharge the battery at setpoint witch is 95% state of charge for the battery

the charge controllers and inverter they are allways connected to the battery and do their thing completly independent
I mix in stuff you didn't think about or with that post above, obviously don't know about. The first is how to you get that battery state of charge number for your diversion circuit?
https://batteryuniversity.com/learn/article/how_to_measure_state_of_charge
Measuring state-of-charge by voltage is simple, but it can be inaccurate because cell materials and temperature affect the voltage. The most blatant error of the voltage-based SoC occurs when disturbing a battery with a charge or discharge. The resulting agitation distorts the voltage and it no longer represents a correct SoC reference. To get accurate readings, the battery needs to rest in the open circuit state for at least four hours; battery manufacturers recommend 24 hours for lead acid. This makes the voltage-based SoC method impractical for a battery in active duty.
The independent normal loads and solar/wind chargers make the diversion load calculation of to much energy problem harder, not easier.

There is a reason you couldn't find simple circuits for this.
 

Thread Starter

Mrusten

Joined Dec 23, 2015
62
I mix in stuff you didn't think about or with that post above, obviously don't know about. The first is how to you get that battery state of charge number for your diversion circuit?
https://batteryuniversity.com/learn/article/how_to_measure_state_of_charge


The independent normal loads and solar/wind chargers make the diversion load calculation of to much energy problem harder, not easier.

There is a reason you couldn't find simple circuits for this.
i do not need to know the stat of charge, all i want is to slowly ramp up a pwm signal according to input voltage, nothing more nothing less

as i say its only for the top 5% of the battery capacity
the inverter draw whatewer it want to draw and the chargers charge whatewer it want to charge

this circuit discharge the top 5% of the battery capacity based on battery voltage

my example of voltage devider to convert 240v - 245v to 0v - 5v wil not work offcorse, but i do not know any circuits how to do that
 

Thread Starter

Mrusten

Joined Dec 23, 2015
62
so funny i wrote in the begining i want discuss about the circuit nothing else, eaven then we ended up discussing ewryhing else than the circuit....

why to spend the time to think about eqrything else?
isnt it better just to focus on the first problem witch is to convert 240-245v to 0-5v
if it in your mind do not work dont mean that it wil not so that was not the question
 

nsaspook

Joined Aug 27, 2009
16,325
so funny i wrote in the begining i want discuss about the circuit nothing else, eaven then we ended up discussing ewryhing else than the circuit....

why to spend the time to think about eqrything else?
isnt it better just to focus on the first problem witch is to convert 240-245v to 0-5v
if it in your mind do not work dont mean that it wil not so that was not the question
Yes, it's funny but not funny like a clown. My trying to stop you wasting time on something that won't work the way you think it will.
 

Thread Starter

Mrusten

Joined Dec 23, 2015
62
Yes, it's funny but not funny like a clown. My trying to stop you wasting time on something that won't work the way you think it will.
it wil work the way i want, its you witch do not understand what i want.
i want 0-100% pwm based on 0-5v signal witch is converted from 240-245v
thats possible to do and wil work
 

ebeowulf17

Joined Aug 12, 2014
3,307
it wil work the way i want, its you witch do not understand what i want.
i want 0-100% pwm based on 0-5v signal witch is converted from 240-245v
thats possible to do and wil work
I need practice with op amp circuits, so I'll take a crack at the circuit that does just what you've said in this last post. I'm still skeptical about the overall application, just like the others, but I'll enjoy the op amp challenge, so I'll see what I can do on that. What you do with the finished circuit (assuming I'm able to come up with one) is your problem, and I assume no liability!!!
 

MisterBill2

Joined Jan 23, 2018
27,522
OK, now I see that the system is to prevent overcharging a battery system that is being charged by a solar cell array. That is a whole different thing. I was imagining a system that was life testing battery arrays.
A very simple system to avoid over charging is a variable rate charger that monitors the battery voltage. There is no need to use up the power after the battery charge reaches 100% full, just have it disconnect the battery pack when the voltage is right, and switch it back on when the voltage drops a bit. You could even use a standard voltage regulator circuit with only adding a feature to prevent current from flowing back when the solar cell array did not deliver enough voltage.
 

Thread Starter

Mrusten

Joined Dec 23, 2015
62
OK, now I see that the system is to prevent overcharging a battery system that is being charged by a solar cell array. That is a whole different thing. I was imagining a system that was life testing battery arrays.
A very simple system to avoid over charging is a variable rate charger that monitors the battery voltage. There is no need to use up the power after the battery charge reaches 100% full, just have it disconnect the battery pack when the voltage is right, and switch it back on when the voltage drops a bit. You could even use a standard voltage regulator circuit with only adding a feature to prevent current from flowing back when the solar cell array did not deliver enough voltage.
im sorry im not to good at explaining but you got it yes.

howewer my charge controllers wil stop charging at setpoint and the bms wil also protect for over charging.

the reason for this circuit is to use the extra power for something useful to prevent the charge controllers to shut off
 

Thread Starter

Mrusten

Joined Dec 23, 2015
62
I need practice with op amp circuits, so I'll take a crack at the circuit that does just what you've said in this last post. I'm still skeptical about the overall application, just like the others, but I'll enjoy the op amp challenge, so I'll see what I can do on that. What you do with the finished circuit (assuming I'm able to come up with one) is your problem, and I assume no liability!!!
thank you sir im exited to see the result, i mannaged to figure that i need a differential amplifier circuit.

so that means first a voltage devider to bring the 240v down to a volt or something then use a differential amplifier circuit to convert the small change in voltage signal to make 0-5v
 

Thread Starter

Mrusten

Joined Dec 23, 2015
62
I need practice with op amp circuits, so I'll take a crack at the circuit that does just what you've said in this last post. I'm still skeptical about the overall application, just like the others, but I'll enjoy the op amp challenge, so I'll see what I can do on that. What you do with the finished circuit (assuming I'm able to come up with one) is your problem, and I assume no liability!!!
one more thing, to be able to adjust the battery full voltage the 240v need to be adjustable.

adjustable from
240-245v = 0-5v
to
265-270v = 0-5v
 

MisterBill2

Joined Jan 23, 2018
27,522
If you draw power from the system to "do something useful" while the batteries are charging then a voltage regulator will automatically provide that additional power without anything extra. So what you need is a voltage regulated charging system, Do you already have the solar cell system? Do you already have some sort of regulator already? And what sort of batteries? The type of batteries does make a big difference in how they should be charged.
 
Top