Smart styrning av start o stopp relä I IVT490
Postat: 21 oktober 2022, 14:02:53
Har kompletterat med en TRINKET MO och Arduino mjukvara så start reläets tillslags ögonblick blir nära nollgenomgången mot elnätet.
Har solfångare som gör att IVT490 står still på sommarhalvåret och nu kom tanken, kanske tvångs starta kompressorn i IVT490 med jämna mellanrum för att inte förkorta livslängden på kompressorn. I länken nedan lite mera förklaringar.
https://www.varmepumpsforum.com/vpforum ... #msg778400
https://www.varmepumpsforum.com/vpforum ... #msg805050
Tanken kom då kompressorn inte fått startorder under längre tid, en räknare som räknar varige nollgenomgång som sker i följd i elnätet som sedan beordrar en kortare start av kompressorn.
Alltså ingen fysisk förändring bara mjukvaruförändring.
Någon som kan komma med tipps på ändring i mjukvaran nedan, som sköter normala start och stopp sekvensen av startreläet???
(Börjar tyvärr få svårt att koncentrera mig på detta, är ju bra en amatör).
Nedan är mjukvaran som startar kompressorn när startorder kommer från CPU kortet i IVT490.
________________________________________________________________________________________________________________________________________________________
//Styra tillslag av startrelä för kompressor IVT490
//20200216 skriven för Arduino, TRINKET MO välj old bootloader, senast ändring 2021-04-13 efter driftsättning i IVT490
//230 V 50Hz nollgenomgång via en capasitans 0,1 microF och en optokopplare där av kommer nollgenomgången 90grader förskjutet
//När start beordras från CPU kortet styrs tillslaget av startreläet via TRINKER MO så startreläts tillslag sker så nära nollgenomgången som möjligt.
// D13 Gets high at restart
//..................................
int counter = 0;
void setup() { // initialize the digital pin as an input.
pinMode(2, INPUT); // Nollgenomgångs avkänning
pinMode(3, INPUT); // Start ordet från IVT490
pinMode(1,OUTPUT);
pinMode(4,OUTPUT); // Utgång för startreläet till kompressorn
pinMode(13,OUTPUT); // Röd led på kortet
}
void loop(){
if (digitalRead(3) == LOW){ // kompressor till order från IVT490 vid LOW
if (digitalRead(2) == HIGH){ // Är hög i nollgenomgång på 50Hz? Förskjuten ca. 90 grd./5mS via kondensatorström.
counter ++;
if (counter >= 20){ // För säkerställa att det är flera nollgenomgångs detekteringar i följd vid en och samma nollgenomsgång
delay(5); // Efter 5 mS får det inte vara nollgenomgång
if (digitalRead(2) == LOW){ // För att säkerställa nolldetekteringens komponenter är ok.
delay(2); // Anpassad för tillslagsfördröjningen av kompressor reläet OMRON G2Rl-1 E 7ms i medeltal max15ms
digitalWrite(4,1); // Start kompressor (Reläet på fläktkortet CTU får tillslagsorder)
digitalWrite(1,1);
digitalWrite(13,1); // Röd led på kortet
}
}
}
else counter = 0;
}
else
if (digitalRead(2) == HIGH){
delay(7); // Ändrat till 7ms
digitalWrite(4,0); // Stopp kompressor reläet, 7 ms frånslagstid så detta sker då strömmen är nära noll genom startreläet.
digitalWrite(1,0);
digitalWrite(13,0); // Röd led på kortet
counter = 0;
}
}
__________________________________________________________________________________________________________________________________________________________________
Har solfångare som gör att IVT490 står still på sommarhalvåret och nu kom tanken, kanske tvångs starta kompressorn i IVT490 med jämna mellanrum för att inte förkorta livslängden på kompressorn. I länken nedan lite mera förklaringar.
https://www.varmepumpsforum.com/vpforum ... #msg778400
https://www.varmepumpsforum.com/vpforum ... #msg805050
Tanken kom då kompressorn inte fått startorder under längre tid, en räknare som räknar varige nollgenomgång som sker i följd i elnätet som sedan beordrar en kortare start av kompressorn.
Alltså ingen fysisk förändring bara mjukvaruförändring.
Någon som kan komma med tipps på ändring i mjukvaran nedan, som sköter normala start och stopp sekvensen av startreläet???
(Börjar tyvärr få svårt att koncentrera mig på detta, är ju bra en amatör).
Nedan är mjukvaran som startar kompressorn när startorder kommer från CPU kortet i IVT490.
________________________________________________________________________________________________________________________________________________________
//Styra tillslag av startrelä för kompressor IVT490
//20200216 skriven för Arduino, TRINKET MO välj old bootloader, senast ändring 2021-04-13 efter driftsättning i IVT490
//230 V 50Hz nollgenomgång via en capasitans 0,1 microF och en optokopplare där av kommer nollgenomgången 90grader förskjutet
//När start beordras från CPU kortet styrs tillslaget av startreläet via TRINKER MO så startreläts tillslag sker så nära nollgenomgången som möjligt.
// D13 Gets high at restart
//..................................
int counter = 0;
void setup() { // initialize the digital pin as an input.
pinMode(2, INPUT); // Nollgenomgångs avkänning
pinMode(3, INPUT); // Start ordet från IVT490
pinMode(1,OUTPUT);
pinMode(4,OUTPUT); // Utgång för startreläet till kompressorn
pinMode(13,OUTPUT); // Röd led på kortet
}
void loop(){
if (digitalRead(3) == LOW){ // kompressor till order från IVT490 vid LOW
if (digitalRead(2) == HIGH){ // Är hög i nollgenomgång på 50Hz? Förskjuten ca. 90 grd./5mS via kondensatorström.
counter ++;
if (counter >= 20){ // För säkerställa att det är flera nollgenomgångs detekteringar i följd vid en och samma nollgenomsgång
delay(5); // Efter 5 mS får det inte vara nollgenomgång
if (digitalRead(2) == LOW){ // För att säkerställa nolldetekteringens komponenter är ok.
delay(2); // Anpassad för tillslagsfördröjningen av kompressor reläet OMRON G2Rl-1 E 7ms i medeltal max15ms
digitalWrite(4,1); // Start kompressor (Reläet på fläktkortet CTU får tillslagsorder)
digitalWrite(1,1);
digitalWrite(13,1); // Röd led på kortet
}
}
}
else counter = 0;
}
else
if (digitalRead(2) == HIGH){
delay(7); // Ändrat till 7ms
digitalWrite(4,0); // Stopp kompressor reläet, 7 ms frånslagstid så detta sker då strömmen är nära noll genom startreläet.
digitalWrite(1,0);
digitalWrite(13,0); // Röd led på kortet
counter = 0;
}
}
__________________________________________________________________________________________________________________________________________________________________