Elektronika.lt
 2024 m. gruodžio 13 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

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 2024 12 13, 17:48. 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 14
Pereiti prie 1, 2, 3, 4  Toliau
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 22, 09:09 Pranešti apie taisyklių pažeidimą Atsakyti su citata
keturi
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
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
PranešimasParašytas: 2022 04 22, 09:43 Pranešti apie taisyklių pažeidimą Atsakyti su citata
XgN
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Tikiuosi tu tik sau čia pasižaidimui, o ne užsakovui kokiam. Normaliai yra daroma ne su arduino ir tai atlieka žmonės, kurie supranta ir nusimano, ką daro.
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 22, 11:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
keturi
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
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
PranešimasParašytas: 2022 04 22, 18:38 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Badas
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
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
PranešimasParašytas: 2022 04 22, 19:55 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Socrates
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
O nuo kur sukiai paimami? Kazkokio holo daviklio? Visi tie ieinantys signalai kazkaip optiskai atristi? Nes automobily triuksmu buna kruvos.
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 24, 13:59 Pranešti apie taisyklių pažeidimą Atsakyti su citata
keturi
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
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
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 24, 14:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
keturi
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
ElektroXL rašo:
kokia auto marke bent zinot Very Happy ?

Tiesiog pasiziuri sketch pirma eilute ir viskas pasidaro aisku Wink
Galu gale marke sioje situacijoje nevaidina visiskai jokio roles, 80% automobiliu camshaft daznis yra butent toks, o kiti parametrai pajungti per optrona, tai nors ir 1000V ten bus, iejime i Arduino pina bus high arba low.


Paskutinį kartą redagavo keturi, 2022 04 24, 14:12. Redaguota 2 kartus(ų)

_________________
Kuo daugiau meistru, tuo daugiau darbo:)
CARCHIP Ltd
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 24, 14:06 Pranešti apie taisyklių pažeidimą Atsakyti su citata
keturi
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Badas rašo:
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);

Butent, kad kvailioja, esant maziems sukiams, testuojant ant stalo(gaila starterio ir smagracio), sujungus P(parking), I(ignition) ir B(brake) ir reguliuojant camshaft sensoriaus imitacija nuo 14HZ iki 18 HZ didziausios nesamones ir vyksta, jei pastatyt generatoriu ant 16,3HZ, tada aplamai starteris pats isijungineja kas 2 sekundes su 1000 delay, nesamone kazkokia.
Jei bus idomu, imesiu live data screenu, neveikia taip, kaip parasiau, reiskia parasiau blogai Smile
P.S. dekoju uz pagalba

_________________
Kuo daugiau meistru, tuo daugiau darbo:)
CARCHIP Ltd
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 24, 15:40 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Netobulas algoritmas, nes nevertina busenu, priklausomai kas veikiama.
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 24, 17:11 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vaidas2
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
keturi rašo:
ElektroXL rašo:
kokia auto marke bent zinot Very Happy ?

Tiesiog pasiziuri sketch pirma eilute ir viskas pasidaro aisku Wink
Galu gale marke sioje situacijoje nevaidina visiskai jokio roles, 80% automobiliu camshaft daznis yra butent toks, o kiti parametrai pajungti per optrona, tai nors ir 1000V ten bus, iejime i Arduino pina bus high arba low.

Nešerk superio trolio, greičiau nusibaigs. Negi dar nedašuto Question
http://forum.elektronika.lt/search.php?search_author=ElektroXL
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 24, 17:27 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Badas
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Pakeisk visus pinMode(xxx, INPUT) į pinMode(xxx, INPUT_PULLUP)
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 25, 09:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
keturi
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Badas rašo:
Pakeisk visus pinMode(xxx, INPUT) į pinMode(xxx, INPUT_PULLUP)

Isbandyta, niekas nesikeicia.

_________________
Kuo daugiau meistru, tuo daugiau darbo:)
CARCHIP Ltd
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 25, 09:43 Pranešti apie taisyklių pažeidimą Atsakyti su citata
gintaras_bar
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
keturi rašo:
Badas rašo:
Pakeisk visus pinMode(xxx, INPUT) į pinMode(xxx, INPUT_PULLUP)

Isbandyta, niekas nesikeicia.
Pull Up bet kokiu atveju yra labai rekomenduojama, nes padidina atsparumą įėjimo triukšmams. O dar geriau papildomai išorinės varžas (10Komų) prilituoti tarp įėjimo ir maitinimo.

Paprogramėje loop() nematau delay(), tai dabar ciklas sukasi maksimaliu greičiu ir "velniai žino" į kokius trikdžius reaguoja. Pradžiai reiktų pabandyti pvz. delay(500) įterpti ir pasižiūrėti ar kas nors pasikeis.

O dar geriau atsižvelgti į AlgisL rekomendaciją ir patobulinti algoritmą, įvedant būsenas. Taip bus kur kas paprasčiau programą derinti ir matyti kada koks signalas atsiranda ir kur programa "šokinėja".

Ir įėjimo impulsų trukmes matuoti panaudojant tiesioginį taimerio įėjimą (net nežinau ar Arduino yra tokia galimybė) arba pertraukimus (attachInterrupt()), o ne papgrastą GPIO, kurio apklausimo laikas Arduino aplinkoje yra visiškai neprognozuojamas.
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 25, 09:53 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Mari
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Arduino mano zinios apie nuli.
Bet galioja bendri principai.
Jei kazkas neveikia kaip noretusi, tai pasirasai programele, tik problemai, pvz., kad procesintu tuos impulsus ir duotu i isejima LOW HIGH, plius duotu impulso trukme i analogini isejima.
Tada su osicilu pasiziuri kas ten kaip gyvena.
 Automobilio starterio reles valdymas Arduino Nano
PranešimasParašytas: 2022 04 25, 12:14 Pranešti apie taisyklių pažeidimą Atsakyti su citata
keturi
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
gintaras_bar rašo:
keturi rašo:
Badas rašo:
Pakeisk visus pinMode(xxx, INPUT) į pinMode(xxx, INPUT_PULLUP)

Isbandyta, niekas nesikeicia.
Pull Up bet kokiu atveju yra labai rekomenduojama, nes padidina atsparumą įėjimo triukšmams. O dar geriau papildomai išorinės varžas (10Komų) prilituoti tarp įėjimo ir maitinimo.

Paprogramėje loop() nematau delay(), tai dabar ciklas sukasi maksimaliu greičiu ir "velniai žino" į kokius trikdžius reaguoja. Pradžiai reiktų pabandyti pvz. delay(500) įterpti ir pasižiūrėti ar kas nors pasikeis.

O dar geriau atsižvelgti į AlgisL rekomendaciją ir patobulinti algoritmą, įvedant būsenas. Taip bus kur kas paprasčiau programą derinti ir matyti kada koks signalas atsiranda ir kur programa "šokinėja".

Ir įėjimo impulsų trukmes matuoti panaudojant tiesioginį taimerio įėjimą (net nežinau ar Arduino yra tokia galimybė) arba pertraukimus (attachInterrupt()), o ne papgrastą GPIO, kurio apklausimo laikas Arduino aplinkoje yra visiškai neprognozuojamas.

Realus fizinis pullup techniskai jau buvo padarytas pacioje pradzioje, tik veliau yrasiau sketche
Gera ideja del delay, uzdejau 200 ant stalo panasu, kad gerai, bandysiu masinoje.
Del kitokiu budu skaiciuojamu impulsu gal kas galetu pakeist, pats nemoku.
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()
{

  pinMode(rpmPin, INPUT_PULLUP); //rpm input up to 15HZ(engine running = 18HZ)
  pinMode(brakePin, INPUT_PULLUP); //brake switch +
  pinMode(parkPin, INPUT_PULLUP); //park/neutral swith +
  pinMode(ignPin, INPUT_PULLUP); //15 terminal IGNITION +
  digitalWrite(startPin, LOW);
  pinMode(startPin, OUTPUT); //Starter relay control
}

void loop(){
delay(200);
{
  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();
  }
}
}

bandysiu kol kas sita versija

_________________
Kuo daugiau meistru, tuo daugiau darbo:)
CARCHIP Ltd
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie 1, 2, 3, 4  Toliau
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama