1

Téma: Program pro řízení přebytků el. energie prostřednictvím PWM a SSR rele

Prosím o pomoc při doladění programu pro řízení přebytků elektrické energie z FVE prostřednictvím PWM výstupu SDS Micro ovládáním SSR rele.
V historii na stránce www.nesvara.cz je vidět výsledek, ale ještě zbývá poměrně dost v přebytcích. Program potřebuja asi trochu doladit.

K SSR rele je připojeno topné těleso 3000W, které dohřívá akumulační nádrž.

Zde je

/* kazdou sekundu */
if (sys[10] != _beh_sec )
{
  // _v_4 = vypocitany vykon spotreby

  
  _v_2 = (14400000 / sys[592]; // vypocet okamziteho vykonu spotreba 1
  _v_3 = (14400000 / sys[625]; // vypocet okamziteho vykonu spotreba 2

  if (sys[592] > sys[625]) {
    _v_4 = _v_2;
  }
  else {
    _v_4 = _v_3;
  }               

                         // okamzity vykon spotreba
  
  
  
  _v_8 = (14400000 / sys[593]; // vypocet okamziteho vykonu dodavka 1
  _v_9 = (14400000 / sys[626]; // vypocet okamziteho vykonu dodavka 2


  if (sys[593] > sys[626]) {
        _v_10 = _v_8;
  }                                                                 
  else {
        _v_10 = _v_9;
  }  
                          // okamzity vykon dodavka
                           

      if (_v_10 > 3000)  {
       _v_10 = 3000;            // vykon max 3000 w
  }
  
  _v_11 = 1966 * _v_10 / 1000 ;

  
  
     if (_v_10 > 100 && _v_4 < 130)  {      // podmínka rizeni PWM


sys[192] = 7000 - ( _v_11 + _v_12) ;         // připočtení hodnoty vykonu pred zmenou 
  
}  else   {
  
sys[192] = 7000 ;
}


// POZOR! jen docasne, az bude fungovat, tak to vymaz
 echo('Zpracovavam jednu sekundu ',sys[192],' ', _v_10,' ', _v_11,' ', _v_4 , _v_12);

 _v_12 = _v_11;        // paměť z minilé sekundy

  
  
  
  _beh_sec = sys[10];

}  /* kazdou sekundu */

Děkuji za pomoc.

Josef Nešvara

2

Re: Program pro řízení přebytků el. energie prostřednictvím PWM a SSR rele

Kdysi jsem se s tímto protrápil a zjistil, že to nikdy nebude spolehlivě fungovat.

Pokud je nízký výkon jsou prodlevy na S0 hooooodně dlouhé. Takže řízení není nikdy přesné. Musel byste odečítat výkon na výstupu z elektrárny (panelů) a podle toho řídit spotřebiče. Pokud to dáte až na konec, tedy podle co zbývá sepnu ještě něco, dostanete se do dlouhých časů pro S0 a bude to dělat problémy.

Podle mě to prostě z principu nejde udělat, aby to perfektně kopírovalo zbývající výkon.

3

Re: Program pro řízení přebytků el. energie prostřednictvím PWM a SSR rele

Zatím to nějak funguje.

Do budoucna připojím elektroměr i na teplotní těleso, které spotřebovává el. energii  z přebytků (až vyměním Micro za Macro) Snad to bude lepší.

4

Re: Program pro řízení přebytků el. energie prostřednictvím PWM a SSR rele

j@m napsal:

Kdysi jsem se s tímto protrápil a zjistil, že to nikdy nebude spolehlivě fungovat.

Pokud je nízký výkon jsou prodlevy na S0 hooooodně dlouhé. Takže řízení není nikdy přesné. Musel byste odečítat výkon na výstupu z elektrárny (panelů) a podle toho řídit spotřebiče. Pokud to dáte až na konec, tedy podle co zbývá sepnu ještě něco, dostanete se do dlouhých časů pro S0 a bude to dělat problémy.

Podle mě to prostě z principu nejde udělat, aby to perfektně kopírovalo zbývající výkon.


Mohu Vás poprosit o vzor programu na řízení přebytků z FVE do SSR relé rád bych se pokusil ten můj vylepšit:

vypadá takto:

/* kazdou sekundu */
if (sys[10] != _beh_sec )
{
  // _v_4 = vypocitany vykon spotreby

  
  _v_2 = (14400000 / sys[592]; // vypocet okamziteho vykonu spotreba 1
  _v_3 = (14400000 / sys[625]; // vypocet okamziteho vykonu spotreba 2

  _v_3x = (sys[625] / 1000; // doba od posledniko impulsu spotreba v sec

  if (sys[592] > sys[625]) {
    _v_4 = _v_2;
  }
  else {
    _v_4 = _v_3;
  }               

                         // okamzity vykon spotreba
  
  
  
  _v_8 = (14400000 / sys[593]; // vypocet okamziteho vykonu dodavka 1
  _v_9 = (14400000 / sys[626]; // vypocet okamziteho vykonu dodavka 2

  _v_9x = (sys[626] / 1000; // doba od posledniko impulsu dodavka v sec


  if (sys[593] > sys[626]) {
        _v_10 = _v_8;
  }                                                                 
  else {
        _v_10 = _v_9;
  }  
                          // okamzity vykon dodavka
  
                           

      if (_v_10 > 3000)  {
       _v_10 = 3000;            // vykon max 3000 w
  }
  
 
  
  _v_11 = 1966 * _v_10 / 1000 ;

//echo('parametr vykonu ',_v_11,);
  
  
 if ( _v_9x + 5 < _v_3x )  {      // podmínka rizeni PWM
  
  


_v_13 = 7000 - ( _v_11 + _v_12) ;      // připočtení hodnoty vykonu pred zmenou


 if (_v_13  < 1100)  {


sys[192] =  1100 ;           // sys[192] = MIN  1100

//echo('Omezuji PWM 1100 ');

} else {

sys[192] = _v_13;
//echo('reguluji pro sys192 ',_v_13,'= 7000 - '_v_11,'+',_v_12);
}
}  else   {
  
sys[192] = 7000  ;

//echo('nereguluji');


}




 _v_12 = _v_11;        // paměť z minulého kola
 
 // POZOR! jen docasne, az bude fungovat, tak to vymaz
//echo('Zpracovavam jednu sekundu ',_v_4,'vyk spo ', _v_10,'vyk dod ', sys[192],'regulacni hodnota ', _v_13,' | ', _v_12);

_v_13 = 0;

a výsledek je tento

http://eportal.merenienergie.cz/ext-board.php?uid=aab6e47568e6e8800b996e58e07b31f2226e7cf6&datumod=07.06.16&datumdo=07.06.16&tarif=0&typgrafu=sp

Měl jsem i jiné řešení, ale zjistil jsem, že se tím spotřebovává i elektřina ze sítě.

Děkuji