Autolaturi mökille varavoimaksi Arduinon avulla

tosin tollasella systeemillä et voi käyttää ehkä esim monitoria joka vaatii 12v koska autosähkössä 12v on vain nimellisjännite ja todellisuudessa moottorin käydessä sen 13,8-14.4v uskoisin että autosähkökäyttöön olevat vehkeet kestää sen 16v vielä helposti, ja jos jotain elektroniikkaa pitää ajaa regu siellä olisi oltava.ja joo kyllä siellä pitäisi olla logiigga joka ei anna sammutus funktion ajaa pwm 100 jos moottori käy
 
@ississ, Joo tuohan oli hyvä. Eli periaatteessa kolmelta anturilta ikään kuin tuossa vahvistus ennen kuin palautetaan akkujännite lataussäätimeen.

Kysyit, että mitä muita laitteita järjestelmässä on. On perus mökkivarusteita: aurinkolataussäädin, radio, lamppuja, jääkaappi, tarpeen mukaan erikseen päälle kytkettävä 230 V invertteri.

Jääkaape on ainakin tarkoitettu karavaanikäyttöön, joten siinä ainakin lienee jännitteen yläraja korkeampi.
 
@TemeV , mutta voiko jännite kuitenkin nousta 16 volttiin? Miten käy laitteille, jotka kytkettynä systeemiin, jossa jännite hetkellisesti 16 volttia?
Ei sen pitäisi pystyä noin korkealle hyppäämään sekuntien aikaskaalassa. Jos mietitään että latausvirta olisi vaikkapa 50A normaalisti. Jos saisit jollain erikoisella vikatilanteella nostettua vaikkapa 150 ampeeriin, akku latautuu ja jännite nousee siinä kahdessa sekunnissa saman verran kuin normaalisti kuudessa sekunnissa Eli ei juurikaan.

Johtojen resistanssit toki nostaa jännitettä laturin päässä ja siellä päässä saatettaisiin jo lähennellä sitä 16 volttia, riippuen johtojen paksuudesta ja liitosten laadusta. Jos kuitenkin laitteet on kytketty akkuun, eikä suoraan laturiin, ei ne näe sitä jännitettä. Akun resistanssi lienee joitain milliohmeja, ja tuo 150 ampeeria nostaisi siis jännitettä joitain satoja millivoltteja.
 
@TemeV , no tuolla perusteella, jos siis saa laitettua tuommoisen lisäturvapiirin katkaisemaan ohjauksen laturilta, niin riittäisi aivan ok tämän systeemiin suojaukseksi. Toki silti kannattaa tuossa nuo @ississ :n aiemmin mainitsemat jutut laittaa sinne koodiin.

Täytyy toki muistaa, että varmaan todennäköisyys tämmöiselle tapahtumalle on lähellä nollaa, mutta ei sitä varmaan liian varovainen tässä olla.
 
Tähän väliin sujuvasti koodikysymys taas. Voiko tuossa ajastuksissa käyttää tuota samaa lastTime -muuttuja vai pitääkö kaikille ajastuksille olla omat? Yritän saada noita delay() funktioita pois tuosta koodista, että olisi "nätimpi" koodi.

Näyttääkö toimivalta äkkiseltään katsottuna:

C++:
void shutDown() {  //engine shutdown, execute relay

  //If the charging current drops to 0 to 5 amperes and charging voltage is under 15 volts (safety) and motor is running
  // start the shutdown function and turn off the relay
  if (current >= 0 && current < 5 && sensVoltage < 15 && digitalRead(motorPin) == HIGH && motorStatus == 2) {
    digitalWrite(relayPin, LOW);

    if (millis() - lastTime >= 2000) {  //wait at least 2 seconds to engine stall down

      analogWrite(pwmPin, 255);  // Stop Duty Cycle at 100 %, alternator electromagnet off

      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Sammutus");

      motorStatus = 3;  //motor has run, to reset, switch power off, on next startup, it will be reset

#ifdef DEBUG
      Serial.println("Sammutettu.");
#endif
    }

  } else if (motorStatus == 2) {
    lastTime = millis();

    digitalWrite(relayPin, HIGH);  //else, keep relay on

#ifdef DEBUG
    Serial.println("Kaynnissa.");
#endif
  }
}
 
Viimeksi muokattu:

Statistiikka

Viestiketjuista
264 524
Viestejä
4 578 966
Jäsenet
75 463
Uusin jäsen
Jimip

Hinta.fi

Back
Ylös Bottom