 |

|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2023 12 08, 07:23. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » Automobilio starterio reles valdymas Arduino Nano
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
Puslapis 1 iš 4 Pereiti prie 1, 2, 3, 4 Toliau |
|
 |
 |
 |
Automobilio starterio reles valdymas Arduino Nano |
Parašytas: 2022 04 22, 09:09 |
|
|
|
Sveiki, neesu programuotojas, bandau padaryti starterio reles valdyma automobiliui.
Veikimo principas: Ijungus degima 2sekundes tikrinama P(parking) pavara, stabdziu pedalo daviklis ir variklio sukiai, jeigu variklio sukiai 0-15Hz, ijungiama starterio rele, kai sukiai padideja iki 16.5Hz(variklis dirba tusciaja eiga), sterterio rele isjungiama.
Beda: dirbant varikliui nuspaudus stabdzio pedala po 2 sekundziu starterio rele vel jungiasi, ignoruojami variklio sukiai.
Padekit issprest, aciu
Kodas: |
//Range Rover TDV8 2013 starterio reles valdymas
const int rpmPin = 3;
const int brakePin = 2;
const int ignPin = 5;
const int parkPin = 4;
const int startPin = 12;
const unsigned long maxPulseWidthRunning = 30000ul; // gaunasi apie 15HZ starterio atjungimas
unsigned long LastTimeNotReady = 0;
void setup()
{
// Serial.begin(9600); // Not using any Serial I/O
pinMode(rpmPin, INPUT); //rpm input up to 15HZ(engine running = 18HZ)
pinMode(brakePin, INPUT); //brake switch +
pinMode(parkPin, INPUT); //park/neutral swith +
pinMode(ignPin, INPUT); //15 terminal IGNITION +
digitalWrite(startPin, LOW);
pinMode(startPin, OUTPUT); //Starter relay control
}
void loop()
{
int brakeState = digitalRead(brakePin);
int ignState = digitalRead(ignPin);
int parkState = digitalRead(parkPin);
// If everything is ready for starting
if (ignState == LOW && brakeState == LOW && parkState == LOW)
{
unsigned long pulseWidth = pulseIn(rpmPin, LOW, maxPulseWidthRunning * 2);
// If the engine is not running
if (pulseWidth == 0 || pulseWidth > maxPulseWidthRunning)
{
// Turn on the starter if everything has been ready for at least 2 seconds
if (millis() - LastTimeNotReady >= 2000)
digitalWrite(startPin, HIGH);
}
else
{
// Engine running. Turn off the starter
digitalWrite(startPin, LOW);
LastTimeNotReady = millis();
}
}
else
{
// NOT READY TO START. Make sure the starter is off
digitalWrite(startPin, LOW);
LastTimeNotReady = millis();
}
}
|
|
|
_________________ Kuo daugiau meistru, tuo daugiau darbo:)
CARCHIP Ltd |
|
|
|
 |
 |
Automobilio starterio reles valdymas Arduino Nano |
Parašytas: 2022 04 22, 11:00 |
|
|
|
Ne, ne pasizaidimui, todel ir parasiau cia, palauksiu, kol parasys tie, kas nusimano sketchu rasyme. |
|
_________________ Kuo daugiau meistru, tuo daugiau darbo:)
CARCHIP Ltd |
|
|
|
 |
Automobilio starterio reles valdymas Arduino Nano |
Parašytas: 2022 04 22, 18:38 |
|
|
|
Iš pirmo žvilgsnio klaidų nesimato. Gal funkcija pulseIn() kvailioja esant dideliems sūkiams? Butų gerai pasijungti ekranėlį ir patikrinti ką ji grąžina. Ar bent jau LEDą pajungt su vienokiu ar kitokiu ifu.
Dar variantas: pamėgink pulseIn(rpmPin, LOW, maxPulseWidthRunning * 3); |
|
|
|
|
 |
Automobilio starterio reles valdymas Arduino Nano |
Parašytas: 2022 04 24, 13:59 |
|
|
|
Socrates rašo: |
O nuo kur sukiai paimami? Kazkokio holo daviklio? Visi tie ieinantys signalai kazkaip optiskai atristi? Nes automobily triuksmu buna kruvos. |
Sukiai imami nuo camshaft sensoriaus(holo daviklis), tuscioje eigoje matomas 16.5HZ, 50% lygio, grazus staciakampis, be triuksmu. Visi signalai atristi per optronus. |
|
Paskutinį kartą redagavo keturi, 2022 04 24, 14:08. Redaguota 1 kartą _________________ Kuo daugiau meistru, tuo daugiau darbo:)
CARCHIP Ltd |
|
|
|
| |