• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Przełącznik instalacji lpg na arduino
#1
Witam,

Składam automatyczny przełącznik do instalacji lpg do starej instalacji na gaźniku impco w amerykańcu.
Zasada bardzo prosta, szczytuję temperaturę z silnika (czujnik licznika) oraz tps (czujnik położenia przepustnicy)
gdy silnik osiągnie zadaną temperaturę i obroty arduino ma włączyć przekaźnik.
Na załączonym tylko zapłonie wszystko działa, problem występuje po odpaleniu silnika gdy sczytuję wartości temperatury, wygląda mi to na zakłucenia.
Na wejściu czujnika mam dzielnik napięcia z diodą zenera 5.1v.
Arduino nano. Czujnik rezystancyjny jest podłączony pod ecu zegary samochodu.
poniżej screen z odczytu wartości w trakcie odpalania
Jestem świeżakiem w arduino, da się jakoś wyeliminować te zakłucenia?
Kod:
float tempsilnika =0;
float vtps = 0;
float vtempin = 0;
float vtempout = 0;
float vtaver= 0;
float odczyt = 0;
float vLPG = 5.00;
float vtpsLPG = 0.8;

void setup()
{
  Serial.begin(9600);
  pinMode(13, OUTPUT); //led
  pinMode(3, OUTPUT); // przekaznik
  digitalWrite(3, HIGH);
  pinMode(4, INPUT_PULLUP); //przycisk
}

void loop()
{
  
//odczytywanie
  vtps = analogRead(0)*5/1024.0;
  vtempin = analogRead(2)*5/1024.0;
  vtempin = vtempin - 0.5;
  vtempin = vtempin / 0.01;
  
// średnia napiecia temperatury silnika
for (int i=0; i<10; i++)
      {
      tempsilnika = analogRead(1)*5/1024.0 ;

      if (tempsilnika < tempsilnika - 1.5)

      {} else {
        tempsilnika = tempsilnika;
        }
        vtaver = (vtaver+tempsilnika);
      }
        vtaver /= 10;

Serial.print(vtaver); Serial.print(" AVC  ");
Serial.print(tempsilnika); Serial.print(" C ENG  ");
Serial.print(vtps); Serial.print(" TPS  "); Serial.print(vtempin); Serial.println(" C INT  ");
//automatyczne przelaczanie lpg

  if (digitalRead(4) == LOW) {
  
  if (tempsilnika>vLPG)
      {
        digitalWrite(13,HIGH);
        delay(200);
        digitalWrite(13,LOW);
       }

      else if (vtps>=vtpsLPG)

      {      
        digitalWrite(3, LOW);
        digitalWrite(13,HIGH);
     }}

      else
     {
      digitalWrite(3, HIGH);
      digitalWrite(13, LOW);
      }

      

      
    
  

//logi

delay(1000);
}
 
Odpowiedź
  


Wiadomości w tym wątku
Przełącznik instalacji lpg na arduino - przez kiepas96 - 25-03-2016, 18:54

Skocz do:


Przeglądający: 2 gości