Regulace buzení autoalternátoru 24V

Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
Rams
Příspěvky: 69
Registrován: pát srp 12, 2011 1:56 pm

Re: Regulace buzení autoalternátoru 24V

Příspěvek od Rams »

Tady je poslední verze kódu pro ovládání vyvíječe dřevoplynu včetně MOSFETového regulátoru. Funguje to, takže sere pes.

Kód: Vybrat vše

    int trigPin01 = 12;  //nasypka
    int echoPin01 = 10;  //nasypka
    int motorove_tlacitko = 4;  //kontakt kompaktoru
    int Rele01 = 8; //rele kompaktoru
    int Rele02 = 7; //rele podavace
    int bypass_tlacitko = 6; //tlacitko pro rucni plneni nasypky
    int plneni_tlacitko = 5; //mikrospinac konpaktoru (plneni)

    int analog, pwm;
    int Rele01State = LOW;  //vychozi stav rele kompaktoru
    int Rele02State = LOW; //vychozi stav rele podavace
     
    #include <SPI.h>
    int duration,distance,percentage,heightTank,deviation;
    unsigned long previousMillis = 0;
             long interval01 = 20000; //cas za jak dlouho probehne sepnuti rele kompaktoru
             long interval02 = 1600;  //cas jak dlouho bude sepnute rele podavace
             long interval03 = 1500;  //cas vypisu bypass stavu
         
    void setup(){
          Serial.begin (9600);
          pinMode(trigPin01,OUTPUT);
          pinMode(echoPin01,INPUT);
          pinMode(motorove_tlacitko,INPUT);
          pinMode(Rele01,OUTPUT);
          pinMode(Rele02,OUTPUT);
          pinMode(bypass_tlacitko,INPUT);
          pinMode(plneni_tlacitko,INPUT);
//          pinMode(control,OUTPUT);
  //        pinMode(volt,INPUT);
        
          heightTank=45;  //hloubka nasypky
          deviation=0;  //vzdalenost cidla od horni hladiny paliva v nasypce        
    }

    void loop(){  //1A
          unsigned long currentMillis = millis();
       if (currentMillis - previousMillis > interval01){  //2A - pokud je rozdil mezi aktualnim casem a casem predeslym vetsi nez hodnota intervalu, proved nasledujici:
          previousMillis = currentMillis; //aktualizuj cas
//          Rele01State = HIGH; //sepni rele kompaktoru
//          digitalWrite(Rele01, Rele01State);  //zapis stav rele do prommene
          
          digitalWrite(trigPin01,LOW);  //zacatek procesu mereni nasypky         
          delayMicroseconds(2);
          digitalWrite(trigPin01,HIGH);
          delayMicroseconds(10);
          digitalWrite(trigPin01,LOW);     
          duration=pulseIn(echoPin01,HIGH); //konec procesu mereni nasypky
          distance=(duration/2)/29.1; //vypocitej vzdalenost mezi cidlem a hladinou paliva v cm
          percentage=100-(((distance-deviation)*100)/heightTank); //vypocitej vzdalenost mezi cidlem a hladinou paliva v procentech, po odectu vzdalenosti cidla od max. hladiny paliva

          Serial.println("_________________________");  //zacatek vypisu na seriovou linku stavu predesleho mereni a vypoctu   
          Serial.println();
          Serial.println("Stav nasypky:");
          Serial.print(percentage);
          Serial.println("% naplneni");
          Serial.print(distance);
          Serial.println("cm od okraje");
          Serial.println(); //konec vypisu na seriovou linku

       if (percentage >= 5){ //3A
           Rele01State = HIGH; //sepni rele kompaktoru
          digitalWrite(Rele01, Rele01State);  //zapis stav rele do prommene
        }  //3B
       
       if ((digitalRead(plneni_tlacitko) == HIGH)&&(percentage >= 5)){   //4A - pokud je sepnute tlacitko plneni a v nasypce je 5% a vice paliva proved nasledujici
          Rele02State = HIGH; //sepni rele podavace
          digitalWrite(Rele02, Rele02State);  //zapis stav rele do promenne 
          Serial.println("Zapinam podavac paliva... "); //vypis cinnosti na seriovou linku
          Serial.print("Rele podavace ve stavu: ");
          Serial.println(digitalRead(Rele02));
          Serial.println("-------------------------");
          Serial.println(); //konec vypisu  
        } //4B
          
  else if (Serial.println("Cekam na dalsi mereni... ")){  //5A - pokud se predesly blok neprovedl, vypis stav rele na seriovou linku
          Serial.print("Rele podavace ve stavu: ");
          Serial.println(digitalRead(Rele02));
          Serial.println("-------------------------");
          Serial.println();    
        } //5B
       }  //2B

       if ((digitalRead(Rele01) == HIGH)&&(digitalRead(motorove_tlacitko) == LOW)){ //6A preruseni otaceni kompaktoru
      //  if (digitalRead(motorove_tlacitko) == LOW){//3A
          Rele01State = LOW;  //vypni rele kompaktoru
          digitalWrite(Rele01, Rele01State);  //zapis stav rele do promenne
       }  //6B
          
       if ((digitalRead(Rele02) == HIGH)&&(currentMillis - previousMillis >= interval02)&&(digitalRead(bypass_tlacitko) == LOW)){  //7A - pokud je rele sepnute a cas od posledniho zapisu je vetsi nebo stejny nez hodnota intervalu02 a tlacitko bypassu neni sepnute, proved nasledujici:
          previousMillis = currentMillis; //aktualizuj cas
          Rele02State = LOW;  //vypni rele podavace
          digitalWrite(Rele02, Rele02State);  //zapis stav rele do promenne
          Serial.println("Vypinam podavac paliva... "); //vypis cinnosti na seriovou linku
          Serial.print("Rele podavace ve stavu: ");
          Serial.println(digitalRead(Rele02));
          Serial.println("-------------------------");
          Serial.println(); //konec vypisu na seriovou linku
        } //7B

       if (digitalRead(bypass_tlacitko)){ //8A - pokud napeti na pinu tlacitka    
          Rele02State = HIGH; //sepni rele podavace
          digitalWrite(Rele02, Rele02State);  //zapis stav rele do prommene
        } //8B
        
       if ((digitalRead(bypass_tlacitko))&&(currentMillis - previousMillis >= interval03)){ //9A - pokud napeti na pinu tlacitka a cas od posledniho zapisu je vetsi nez interval03
          previousMillis = currentMillis; //aktualizuj cas
          Serial.println("Provadim rucni plneni... "); //vypis cinnosti na seriovou linku
          Serial.print("Rele podavace ve stavu: ");
          Serial.println(digitalRead(Rele02));
          Serial.println("-------------------------");
          Serial.println(); //konec vypisu na seriovou linku
        } //9B
        { //10A
      analog = analogRead(A0);  //kde cist hodnotu napeti
          pwm = map(analog,0,1023,190,10);  //mapovani rozsahu cteni/zapis
//          Serial.print("Analog: "); //kontrolni vypis hodnoty mereni napeti
//          Serial.print(analog); //kontrolni vypis hodnoty mereni napeti
//          Serial.print("   PWM: "); //kontrolni vypis hodnoty PWM
//          Serial.println(pwm);  //kontrolni vypis hodnoty PWM
          analogWrite(3,pwm); //zapis na pin 3 hodnotu pwm podle mapovani
        } //10B
       } //1B
       
goodbie
Příspěvky: 1453
Registrován: pát bře 08, 2013 7:19 pm
Bydliště:

Re: Regulace buzení autoalternátoru 24V

Příspěvek od goodbie »

něco mi uniklo v souvislosti z regulací alternátoru??
Rams
Příspěvky: 69
Registrován: pát srp 12, 2011 1:56 pm

Re: Regulace buzení autoalternátoru 24V

Příspěvek od Rams »

goodbie píše:něco mi uniklo v souvislosti z regulací alternátoru??
Ani ne, dnes jsem si hrál na bastlíře a sestrojil to co jsem popisoval v úvodu vlákna. Zapojil, odzkoušel, poladil. Funguje to. Arduino mám totiž metr od centrály a centrála jede na dřevoplyn, který vyrábím poloautomatem řízeným právě tím arduinem.

Edit: inspirace na Youtube kanálu Drizzler
Matess
Příspěvky: 1734
Registrován: pon zář 09, 2013 5:16 pm
Lokalita: Šumperk
Bydliště: Šumperk

Re: Regulace buzení autoalternátoru 24V

Příspěvek od Matess »

a neni? ohmuv zakon nejak neresi prubeh napeti... ztrata je porad R*I*I. AC ma vyhodu ve snadne transformaci na vyssi napeti a tim nizsi proud pro stejny vykon = mnohem nizsi ztraty, ale pokud mame napeti stejne, tak ubytek bude taky snad stejny.
Rams
Příspěvky: 69
Registrován: pát srp 12, 2011 1:56 pm

Re: Regulace buzení autoalternátoru 24V

Příspěvek od Rams »

Podle teto online kalkulacky, pri 25m, 70A, 24V bych musel tahat lana o 140mm2, abych se vlezl do 2% tolerance ubytku napeti.
pezizka
Příspěvky: 741
Registrován: úte čer 24, 2014 8:23 pm
Lokalita: Kyjovsko
Systémové napětí: 48V
Výkon panelů [Wp]: 9170
Kapacita baterie [kWh]: 33
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Regulace buzení autoalternátoru 24V

Příspěvek od pezizka »

No to je teda fest :shock: Ale co si pomůžete pokud to potáhnete z fází? Vodiče budou slabší, ale za to 3 :( A nebo to míníte u alternátoru transformovat na vyšší napětí a u aku zpět? Jedině by jste měl patřičná trafa za pusu, jinak se to asi neoplatí. A nejsem si jist kde se hýbe frekvence, to by běžná trafa taky mohlo hatit.
PavelR
Příspěvky: 3276
Registrován: ned led 29, 2012 3:59 pm
Lokalita: Žabčice
Systémové napětí: 48V
Výkon panelů [Wp]: 29139
Kapacita baterie [kWh]: 12
Chci prodávat energii: ANO
Chci/Mám dotaci: NE

Re: Regulace buzení autoalternátoru 24V

Příspěvek od PavelR »

Rams píše:Od kdy je pro AC a DC stejný průřez vodiče? To by se pan Tesla obracel v hrobě
pravda na AC by mel byt prurez vetsi ne? ikdyz skinefekt tady hraje mizivou roli.

Takovy prurezy budou levnejsi v hliniku.

http://www.emat.cz/kabely-vodice/pevne- ... ove-kabely
Rams
Příspěvky: 69
Registrován: pát srp 12, 2011 1:56 pm

Re: Regulace buzení autoalternátoru 24V

Příspěvek od Rams »

Fajn by byl alternator na 110V~ soustavu, usmernit, vyhladit a prasknout to primo do epsolaru, ktery vezme az 150VDC...
pezizka
Příspěvky: 741
Registrován: úte čer 24, 2014 8:23 pm
Lokalita: Kyjovsko
Systémové napětí: 48V
Výkon panelů [Wp]: 9170
Kapacita baterie [kWh]: 33
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Regulace buzení autoalternátoru 24V

Příspěvek od pezizka »

S tím bych byl opatrnější :roll: Popisoval jsem jinde jak mně :hell: EP MPPT 10A krmený "tvrdým" toroidem. Nezal si akorát ani omylem, na 33V DC zatížil zdroj ca. 30A :eek2: Tady ale krom vyššího napětí jiné řešení nevidím. Alternátor má fáze do hvězdy nebo trojůhelníka?
Rams
Příspěvky: 69
Registrován: pát srp 12, 2011 1:56 pm

Re: Regulace buzení autoalternátoru 24V

Příspěvek od Rams »

Nejsem si vedom, ze bych tam videl nekde nulak, tak asi trojuhelnik
Edit: goodbie ma ten samy, snad bude vedet
Uživatelský avatar
fugas
Příspěvky: 2244
Registrován: sob pro 21, 2013 6:58 pm

Re: Regulace buzení autoalternátoru 24V

Příspěvek od fugas »

pezizka píše:S tím bych byl opatrnější :roll: Popisoval jsem jinde jak mně :hell: EP MPPT 10A krmený "tvrdým" toroidem. Nezal si akorát ani omylem, na 33V DC zatížil zdroj ca. 30A :eek2: Tady ale krom vyššího napětí jiné řešení nevidím. Alternátor má fáze do hvězdy nebo trojůhelníka?
Ano i můj nedávný pokus nahradit panely tvrdým zdrojem dopadl podobně úspěšně.
Isolar 5kW (Axpert klon), LiFePo4 202Ah Lishen 18s.Nyní v přestavbě P106 Electric z projektu LiFePo4 na LiIon 100Ah.
Rams
Příspěvky: 69
Registrován: pát srp 12, 2011 1:56 pm

Re: Regulace buzení autoalternátoru 24V

Příspěvek od Rams »

Predloni jsem nouzove krmil baterky: Centrala > IGBT svarecka > epsolar. Ale tam je vystupni proudova regulace.
pezizka
Příspěvky: 741
Registrován: úte čer 24, 2014 8:23 pm
Lokalita: Kyjovsko
Systémové napětí: 48V
Výkon panelů [Wp]: 9170
Kapacita baterie [kWh]: 33
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Regulace buzení autoalternátoru 24V

Příspěvek od pezizka »

Rams píše:Nejsem si vedom, ze bych tam videl nekde nulak, tak asi trojuhelnik
Edit: goodbie ma ten samy, snad bude vedet
Pokud je to z Karosy, většinou to byly trojůhelníky. Až poslední typy do hvězdy a nebo naopak, nejsem si jist :? Ale vím jistě, že se dělaly oba typy. Jen mne napadlo z "trojůhelníkového" udělat hvězdu, a napětí musí jít nahoru. Je fakt, že trujůhelník je účinější. Snad je úvaha správná, u motoru je to 240/400V, tak by mohl tlačit 48V. Navíc je shopný dát bez regulace víc, tak ca. 34V a s tím přepojením tak okolo 55V. A to už začíná být zajímavější ;) Jestli teda něco nepomíjím :?
fugas píše:Ano i můj nedávný pokus nahradit panely tvrdým zdrojem dopadl podobně úspěšně.
Tehdy jsem to pořešil tlumivkou v primáru trafa a toroid rapidně "změknul" :D Fachčí to dodnes, sofistikovanost a účinnost jsem tehdy neřešil :lol:
Rams
Příspěvky: 69
Registrován: pát srp 12, 2011 1:56 pm

Re: Regulace buzení autoalternátoru 24V

Příspěvek od Rams »

Jeste uvaha, jak funguji klasicke jednofazove alternatory z centraly s AVR. Ten muj vykuchanej alternator zacal davat skoro 300V, tim me vyskakaly kondenzatory na dvou zdrojich. Jestli jde o nejak buzeny vinuti, slo by treba tomu buzeni dat mene "nazrat" a ziskat tak napeti pouzitelne pro epsolar. Pokud tedy funguje model uvedeny pezizkou.
pezizka
Příspěvky: 741
Registrován: úte čer 24, 2014 8:23 pm
Lokalita: Kyjovsko
Systémové napětí: 48V
Výkon panelů [Wp]: 9170
Kapacita baterie [kWh]: 33
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Regulace buzení autoalternátoru 24V

Příspěvek od pezizka »

Tyto nevím jak fugují. Jestli je tam buzení, tak ovládat jít musí. Jen bacha jestli by i zbytkový magnetismus nebyl schopen vybudit alternátor na vysoké napětí v případě bez odběru. A taky výkon by šel dolů pokud by byl regulován na nižším napětí. Limitující by byl proud vinutím.
goodbie
Příspěvky: 1453
Registrován: pát bře 08, 2013 7:19 pm
Bydliště:

Re: Regulace buzení autoalternátoru 24V

Příspěvek od goodbie »

konkrétně tyhle alternátory pal 75A jsou zapojené do hvězdy u centrál je regulace velice podobná stále je buzený rotor u těch dněšních určitě a mají něco jak avr regulaci ty starší například vojenské 1KVA mají prozměnu buzený stator a regulaci řešenou přes odbočky transformátoru nebo tlumivky záleží na konstrukci
xxtt

Re: Regulace buzení autoalternátoru 24V

Příspěvek od xxtt »

Rams píše:Od kdy je pro AC a DC stejný průřez vodiče? To by se pan Tesla obracel v hrobě
Tak to se jich obrátí v hrobe asi víc. Pro stejný výkon a napetí potrebuje AC vetší prurez, než DC. Tesla s tímhle nemá nic společné.

Na rovinu - rešíte Arduino, ale pritom máte problém rozchodit bežný regulátor. Delal jsem i své (i rychlo)regulátory, ale zatím mi bylo výhodné pro bežné siruace použít komerční. Jediný asi problém navíc, pokud nesouvisí se špatným zapojením je v nekterých prípadech možná absence filtrace napetí za pomocným usmerňovačem, kde pomuže blokace nekolika stovkami nF, nebo jednotkami uF klasický kond. To se mi stalo, že jednou regulátor reagoval na nejaké "zbytky" harmonických z altu a neumel správne regulovat napetí. Za bežných okolností se to nestává, protože to blokuje buď baterie, nebo neco jiné.

K takovýmhle vecem pomuže jen presné a čitelné schéma. Je to jen o tom, jak zapojit 1 cívku, 1 diodu, 1 spínač/tranzistor, a 1 refereční drát, co zjišťuje napetí. Arduino vám nevyreší další vlastnosti regulátoru, pokud ho detailne neznáte, není to čiste jen pwm. Navíc chodit s procesorem na neco, kte opravdu stačí 3 trandy na 100 let je docela prepych.

Pezizka: Vinutí D není účinnejší, než Y. V prípade D jsou navíc možné další potíže a vyšší ztráty naprázdno, pokud prubeh magnetického toku není dostatečne harmonický. Proto také jsou amatérské konstrukce výrazne bezpečnejší jako Y.
xxtt

Re: Regulace buzení autoalternátoru 24V

Příspěvek od xxtt »

Rams píše:Jeste uvaha, jak funguji klasicke jednofazove alternatory z centraly s AVR. Ten muj vykuchanej alternator zacal davat skoro 300V, tim me vyskakaly kondenzatory na dvou zdrojich. Jestli jde o nejak buzeny vinuti, slo by treba tomu buzeni dat mene "nazrat" a ziskat tak napeti pouzitelne pro epsolar. Pokud tedy funguje model uvedeny pezizkou.
Normální buzené alty mají remanenci, co dá nekolik jednotek, prípadne desítek V (podle druhu a napetí), ne stovky.
Buzením je lze dobre regulovat. Nekdy jsou ale potíže, pokud musí být rychlá odezva, to normálne budící vinutí nedovolí, a musí být zapojený jiný druh regulátoru. Stejne tak napeti muže vyskočit, pokud má budící vinutí mezizávitový zkrat, muže tam pak dojít k parametrickému, nebo asynchronnímu buzení, podle druhu záteže. Nekteré elektrocentrály tuhle vlastnost vykazovaly po tom, co vypovedela regulace otážek motoru škrtící klapkou, motor vybehl do vysokých otáček, a vinutí rotoru se odstredivou sílou prodrelo o úchyty a podobne.

  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek