Jump to content

DIY prosjekt : Enkel dieselforbruksmåler kan lages selv


nimba

Recommended Posts

Tja...der finnes jo en masse ting som kan kjøpes og inkluderes , men hovedprinsippet mitt her var å gjøre det "billigst" mulig :smiley:

Ellers er det uansett kjekt med supplerende informasjon , for det jeg vet kan jo der finnes flere som holder på med "samme" prosjekt og synes infoen din er interessant .

 

Kjølingen tenkte jeg å gjøre på en enkel måte med å la returen passere igjennom sjøvannskjølingen før den blir målt i sensoren

ala dette :

 

 

kjoeling.jpg

 

 

 

 

 

 

 

 

Det jeg lurer på er om jeg kan bruke kobberrør , evnt. rustfritt med tanke på tæring .

 

 

 

 

:smiley:

Link to post
  • 3 måneder senere...
Guest Kaptein Fredrik

Her er så langt jeg har fått laget og testet på denne sketchen. Den fungerer med to væske målere som Nimba linket til i starten av tråden.

 

Koden er dog grovere enn grus, men jeg skal finpusse den siden.

 


#define IRQ_A 0
#define IRQ_B 1
#define PIN_A 2
#define PIN_B 3


volatile unsigned long countIN = 0;
volatile unsigned long countOUT = 0;
unsigned long oldTime  = 0;
float flowRate;

volatile byte pulseCountIN;
volatile byte pulseCountOUT;
volatile byte pulseCount;

float liters;

void setup()
{
  Serial.begin(57600);
  
  pulseCountIN = 0;
  pulseCountOUT = 0;
  pulseCount = 0;
  flowRate = 0.0;

  pinMode(PIN_A, INPUT);
  pinMode(PIN_B, INPUT);
  digitalWrite(PIN_A, HIGH);
  digitalWrite(PIN_B, HIGH);
  
  liters = 0.0;

  attachInterrupt(IRQ_A, CounterIN, FALLING);
  attachInterrupt(IRQ_B, CounterOUT, FALLING);
}

void loop()
{
  
  unsigned long now = millis();
  if((now - oldTime > 1000))
  {
    unsigned long duration = now - oldTime;
    oldTime = now;

    
    liters = (countIN - countOUT); 
    float litersPerMinute = (1000 * liters)/duration; 
    Serial.println(litersPerMinute, 3);     
    int LPM = litersPerMinute;               
    
    pulseCount = pulseCountIN - pulseCountOUT;
       

    flowRate = ((1000.0 / (millis() - oldTime)) * pulseCount);
    unsigned int frac = (flowRate - int(flowRate))*10;
    Serial.print("pulseCount: ");
    Serial.print(pulseCount, DEC);
    Serial.println(" ");

        
    pulseCountIN = 0;
    pulseCountOUT = 0;
    
    attachInterrupt(IRQ_A, CounterIN, FALLING);
    attachInterrupt(IRQ_B, CounterOUT, FALLING);  
  }
}

void CounterIN()
{
  countIN++;
  pulseCountIN++;
}

void CounterOUT()
{
  countOUT++;
  pulseCountOUT++;
}
Redigert av Kaptein Fredrik (see edit history)
Link to post

Flott arbeid Kaptein :smiley:

 

I den "gamle" scetchen var der en faktor som kunne endre utfallet på display ihht. mengde passert i sensor , hvilket tall er det i den nye?

sensoren "skal gi" 2500 pulser pr. liter står det i spesifikasjonene , men når jeg målte dette med 10liter vann fikk jeg en annen verdi en 25000 på pulscounteren , er det slik at antall pulser pr. min forsatt ligger i kalkulasjonen må det nok en ny måling på banen....

En annen ting jeg lurte på er om det forsatt avleses liter pr. minutt i display LPM ? og om du tenker på å implisere GPS signal .

 

Stå på Fredrik , godt ut i januar er jeg tilbake for uttesting på Arduinoen

 

:smiley: :smiley:

 

Link to post
Guest Kaptein Fredrik

Hallo igjen Nimba! Alt jeg ikke fikk bruk for denne gangen har jeg fjernet for at det skal bli enklere for meg for å få til logikken i bruk av to interrupt osv.

 

Jeg har også fjernet mengde passert, reset av dette tallet og noe annet. Alle kalkulasjoner har jeg også fjernet da dem gjorde tallene som kom ut så lave fordi når jeg testet måtte jeg ha noe hvor jeg så tydelige forskjeller. Jeg skal fortsette og mekke på denne sketchen til jeg kommer helt over mållinjen :thumbsup:

Link to post
  • 1 måned senere...
Hei! Har fulgt dette prosjektet, veldig spennende! Har forsket litt på egenhånd. Man trenger ikke flowsensorene for utvikle dette videre. Man kan lage 2 stk. "frekvensgeneratorer" av en IC som heter NE 555. Google NE555 og velg Wikipedia, det finner dere koblingsskjema og en komponent kalkulator for antall pulser (Hz). koster ca kr. 10,00 pr. stk. kun 4 komponenter. Fungerer med mine frekvenstellere som er de samme som er brukt i denne tråden. Har prøvd med bilde, men mine kretser er så kompakte at bilde ikke gir mening.

 

Hei Petriksen

 

Interessant innlegg dette..... kjekt om du kunne lagd en enkel forklarende skisse på oppsettet ditt , det hadde jo så absolutt bidratt i "low cost" prosjektet :smiley:

Link to post
  • 3 måneder senere...
Svart (redigert)

Har desverre ikke kommet noe lenger på dette prosjektet ombord , men hjemme ligger det meste som trengs klart... for fullføring , når det gjelder den programmeringen måtte jeg tilslutt hive inn hånkle , lærekurven ble bratt og krevde mye tid , så jeg sendte 2 sensorer over til Kaptein Fredrik som tok på seg oppdraget med videreutvikling .
Og det ga resultater , det foreligger nå software som skal kunne brukes.... (stemmer det Kaptein ?)
Ellers har du full anledning til å legge ut info og evnt stille spørsmål her i tråden om du ønsker .

Lykke til

 

 

 

:smiley::smiley:

Redigert av nimba (see edit history)
Link to post

Jeg jobber med saken, så hvis jeg kommer i mål i nærmeste fremtid så legger jeg ut sketchen. :) er litt travelt fremmover med eksamner og slikt :pray: sketchen som ligger på BP fungerer så lenge den går via pc. mangler bare å få infoen over på displayet. :smiley:

 

 

Dette klinger godt i mine ører Daredevil , kan jo og hende Kapteinen kommer med noen innspill når han våkner...

Når det gjelder kjøling av returen har jeg revurdert løsningen som ble publisert her tidligere med dieselrøret inni kjølevannslangen , hva med å feks. "tvinne" et kobberrør rundt på utsiden av kjølevannslangen , kunne det vært en løsning , den er i hvertfall enklere og sikrere.. noen som har noe inspill ?

 

 

bilde

 

:smiley::smiley:

Link to post

Du vil nok redusere temperaturen noe, men langt ifra nok. Utvidelseskoeffisient for diesel er 0,00084. pr grad. så hvis du legger inn en temp sensor på returen og en på tur kan du regne det ut, er mye enklere en kjøling av retur diesel. Så hvis du bruker 100L/h så blir det:

V1*(1+ρ*Δt)= 100L/h*(1+0,00084*20°C)=101,68Liter. (ved 20 grader differanse)

V1=volum av veske før oppvarming

Ρ=utvidelsekoeffisient(0,00084 for diesel)

Δt= temperaturdifferansen på V1 og V2(før og etter oppvarming)

flow*0,00084*temp diff-returflow'0,00084*temp diff= reelt forbruk.

 

Tror dette blir rett. :smiley: temp følere koster nesten ikke noe på Ebay. vil anbetale PT100 følere- linjære motstands følere.100 Ohm ved 0 grader.

Feks:http://www.ebay.com/itm/RTD-PT100-Temperature-Sensor-Probe-with-Compressing-Fittings-Threads-1-8-NPT-/251144768315?pt=LH_DefaultDomain_2&hash=item3a79650b3b eller http://www.ebay.com/itm/PT100-Thermocouple-Temperature-Control-Sensor-Probe-2m-Cable-With-3-fork-white-/200924149028?pt=AU_B_I_Electrical_Test_Equipment&hash=item2ec8033524

 

Man kan jo bare legge den utenpå retur røret og isolerer litt rundt.

Link to post
Guest Kaptein Fredrik

Bra vi er flere Daredevil! Jeg skal se om jeg får lagt inn tempkompansering i sketchen jeg lagde først. Nå blir det fullt kjør her også med eksamener og slikt, så jeg har det også travelt for tiden.

 

Jeg ser helst at vi bruker(ihvertfall så gjør jeg det :wink: ) en DS18B20 temp sensor isteden for en analog termistor. Mye mere nøyaktig å bruke en digital sensor som også kan kobles opp i nettverk(da bruker man kun en signal pin til opptil 99 sensorer tror jeg). Også slipper man kalibrering og en del prototyping. DS18B20 får man i forskjellige typer utførelser til blant annet rørmontering.

 

https://www.sparkfun.com/products/11050

 

Btw, går du fysikk/R-matte? Jeg kjenner igjen litt av tankegangen din ifra skolebøkene :thumbsup:

 

Mvh

Kaptein Fredrik

Link to post
  • 3 måneder senere...

Noe fremgang med dette prosjektet? Forsket litt på dette i våres men la det på is da jeg så det ble litt mer ball en forventet. Men med Arduino ser det jo ut som at det kan fungere optimalt og med flere mulige parametre.

 

I første omgang er det vel strengt tatt ikke nødvendig å ta hensyn til temperaturdifferansen. Det får vel våge seg om det ikke er 100% nøyaktig.

For meg virker det mindre komplisert å kjøle ned dieselen enn å styre med tempsensoerer og kompensere for dette i softwaren. En oljekjøler ala den på hydraulisk gir burde gjøre nytten, koblet direkte inn på saltvann. Investeringen får man gjerne igjen i lengden i form av effektutnyttelse kald/varm diesel.

 

Tåler Arduino ladespenning opp mot 14,7 volt? Ser den har range på 5-12v

Link to post
Guest Kaptein Fredrik

Arduinoen klarer ikke 12,3 volt. Min kortsluttet totalt når jeg koblet den til 12,3 volt som er i bilen.

 

Når det kommer til fremgang på prosjektet så har jeg og Nimba tittet litt på det. Jeg og en nederlender(på arduino.cc forumet) har skrevet om mye av sketchen og fått med snittmåling, noe som vil gi en nøyaktighet på 0,006 istedenefor 3,6+/-(husker ikke helt konstantene i hodet).

 

Jeg tror noe har skjedd med den ene sensoren min fordi den viser rundt 100 ganger høyere tall enn den andre. Jeg skal oppdatere dere så fort jeg har fått testet mere.

Link to post
Guest Kaptein Fredrik

Det sto på pakka ja dskog. Jeg synes også det var rart at den tok kvelden i bilen, men nå har den ene min fått mye juling og blitt hardt belastet (Det står maks output ca. 20 mA per output pin). Men arduino er ikke av den dyreste typen elektronikk så litt forsøk og feiling er ikke særlig kostbart. Kan være den fikk 12v rett inn på en av pin'ene om jeg koblet "voltage-divider"'n feil. I båten bruker jeg alltid en USB adapter som gir ut 1 ampere på 5 volt, eller driver den direkte via laptopen/raspberryen.

 

Sent from my GT-I9300 using Tapatalk 4 Beta

 

 

Link to post

Delta i diskusjonen

Du kan skrive innlegget nå, det vil bli postet etter at du har registrert deg. Logg inn hvis du allerede er registrert.

Guest
Svar på dette emnet

×   Du har postet formatert tekst..   Fjern formattering

  Only 75 emoji are allowed.

×   Innholdet du linket til er satt inn i innlegget..   Klikk her for å vise kun linken.

×   Det du skrev har blitt lagret.   Slett lagret

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...