brandstofverbruik meten (simulatie)

Projecten die niet passen in bovenstaande onderwerpen
Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: brandstofverbruik meten (simulatie)

Berichtdoor pjh » 21 Jan 2013, 22:15

Als service: paar kleine dingetjes werkend gemaakt.
1x ';'
FALSE = false
TRUE =true
NB: HIGH is uppercase, true is lower case. Why? Ik weet het niet
En 1 x constant = const.

Ik lijk mijn moeder wel. Bemoei me overal mee.
Gaat verder heren. Gaat verder.
:D Paul
Code: Alles selecteren

volatile boolean voorgloeien = false;
const long max_gloeitijd = 25000; // Zet de maximale voorgloeitijd op 25 seconden.

// Hier de interrupt functies definieren
void voorgloeien_aan()
{
  voorgloeien = true;
}

void voorgloeien_uit()
{
  voorgloeien = false;
}

void setup()
{
  attachInterrupt(0, voorgloeien_aan, RISING);
  attachInterrupt(0, voorgloeien_uit, FALLING);
}

void loop()
{
  static long gloeitijd = 0; // een static variabele behoudt zijn waarde bij het meerdere keren aanroepen
  // van een functie
  // initialisatie van een static gebeurt alleen bij de eerste aanroep van de functie

  // Als er niet (meer) wordt voorgegloeid en de gloeitijd is > 0, zet dan de gloeitijd op 0;
  if ( ( voorgloeien == false ) && ( gloeitijd > 0 ) )
  {
    gloeitijd = 0;
  }
  else if ( ( voorgloeien == true ) && ( gloeitijd == 0 ) )
  {
    gloeitijd = millis();     // starttijd van de voorgloeitijd wordt vastgelegd
  }
  // Check of voorgloeien true is  EN gloeitijd > 0 EN millis() - gloeitijd > max_gloeitijd
  else if (voorgloeien && gloeitijd && ( (millis() - gloeitijd ) > max_gloeitijd ))   
  {
    // stop voorgloeien, alarm activeren
  }

} // einde van loop()



Advertisement

Berichten: 29
Geregistreerd: 01 Dec 2012, 18:34

Re: brandstofverbruik meten (simulatie)

Berichtdoor h.lith » 21 Jan 2013, 23:18

Ik moet eerst maar weer even die statements die jullie uit de hoge hoed toveren gaan bestuderen.
Op zich is het gegeven dat als je de uC start, gelijk de timer gaat lopen en start vanaf 0 neem ik aan wel interesssant.
In mijn opzet gaat eerst panning op de uC, maar ik heb dan nog niet op de "start max gloeitijd" button gerukt, pas als ik dat doe dus na het ramen schoonmaken om even de verbeelding te prikkelen, start ik het gloeiproces.
Dan moet de timer, die inmiddels al was vertrokken weer op 0 gezet worden, kan allemaal, maar het blijft trickie, want ik zou die timer dan ook voor de nagloeitiming willen gebruiken, die gaat in nadat ik eerst de startmotor button heb ingedrukt, en zeg 4 seconde later weer losgelaten, dus na dat loslaten (lopende motor!? ) gloeit ie nog even na, eventueel zelfs na dat de maximale gloeitijd is verstreken.
Dit laatste is niet echt een te verwachten situatie natuurlijk, omdat 25 seconde al ruim genomen is voor de hele cyclus.

Ik begin aan de andere kant toch ook steeds meer te zien in een apparte tijdgever, bv. een 4060B bijvoorbeeld kan je in alle soorten en maten een pulstrein laten produceren.
Zeg elke 50 m. seconde, dus een loop in het programma kijkt continu of er weer zo'n 50 m. seconde is gepassert, de uitgang Q van de 4060 is dan van potentiaal verandert, want die verandering moet flink groter/langer zijn dan de sample frequentie van de loop
In de loop kan de uC ook best nog wat anders doen, bv. een toetsenborje scannen, of een temperatuur meten.

Maar goed, ik moet al die mogelijkheden nog eens goed overdenken, er gaat momenteel nog geen dag voorbij of er komen weer nieuwe inzichten en mogelijkheden in beeld zowel qua techniek als qua programma in C, of desnoods een stukkie in assembler.
Maar goed, Eigenlijk wil ik eerst maar is grip en inzicht in de potentie van die timers zien te krijgen.

Groet, Henk Lith

Berichten: 2
Geregistreerd: 31 Okt 2022, 16:05

Re: brandstofverbruik meten (simulatie)

Berichtdoor KasjuszMag » 21 Mrt 2023, 16:05

super

Vorige

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 17 gasten