ECU- styrning till en VW pumpdysediesel.

Berätta om dina pågående projekt.
Janson1
Inlägg: 1351
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Några frågor här om en 8 bitars processor resp en med 32 bitar: Tar kompilatorn hänsyn till vilket och gör om tex en byte till nåt annat för att fylla upp "hålrummet" ? Blir koden användareffektiv? Jo jag förstår att denna processor är mycket snabbare/bättre men vad händer egentligen när man ändrar från 8 till 32 bitar, är det bara göra rakt av? Behöver inte jag som "programmerare" ta hänsyn till detta på nåt sett?
Användarvisningsbild
hawkan
Inlägg: 2619
Blev medlem: 14 augusti 2011, 10:27:40

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av hawkan »

Ja bara att göra rakt av. Har du programmerat nåt speciellt för att atmegan är 8-bitars? Tror inte det. Storlek på datatyper hanteras av kompilatorn. Byte = byte. Det kan finnas alignment- problematik vad det kan heta på svenska. Men det hanteras av kompilatorn och en 32-bitars har mer av allt så dét spelar ingen roll om man slösar lite. Håller du dej på c/c++-nivån och arduino-nivå så är det bara att kompilera och köra. Lågnivå-grejor som register och sånt ja det kan hända och det är troligt att det görs på helt annat sätt på en ny arkitektur.
Janson1
Inlägg: 1351
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Ahh, det låter ju lätt och trevligt. Det ända som jag egentligen har tagit hänsyn vid programmering är att använda byte istället för int där det varit möjligt och unsigned int istället för long och inte gödslat med float i onödan, allt för att hålla nere koden och uppe hastigheten. Men med denna förbättring av processor så behöver man inte ta hänsyn till detta lika mycket?
Användarvisningsbild
hawkan
Inlägg: 2619
Blev medlem: 14 augusti 2011, 10:27:40

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av hawkan »

Alltid bra att undvika float/double om det inte finns flyttalshårdvara. Bara att köra på annars.
Men som med allt så finns det till slut saker som blir en flaskhals, även på en 32-bitars.
Det tar lite längre tid att komma dit bara. Det är ingen mirakelkur som löser allt, och till
slut händer det att man ändå sitter där och försöker optimera saker. Och man kanske
behöver ge sej in på lågnivågrejor och man inser då att det ska göras på ett helt annat
sätt och att det tar en hel del tid att läsa in sej på det och att testa av så man fattat
det rätt.
Janson1
Inlägg: 1351
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Janno: Jag testade nu att lägga casen efter varandra och det funkade fint! Tackar för tipset. Nu kan jag skriva ner koden ganska rejält och ändå ha kvar allt nödvändigt.
janno
Inlägg: 403
Blev medlem: 11 oktober 2009, 07:34:45
Ort: Västerås

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av janno »

Vad kul att du fick det att funka. Det gäller bara att se till att man kommer ihåg att sätta break på rätt ställe.
Man kan även göra såna här saker om man har kod som är delvis är lika.

Kod: Markera allt

switch (a)
{
  case 1:
      ...
  case 2:
      ...
  case 3:
  case 4:
      ...
      break;
  default:
      break;
}
Nu kommer 1 att göra allt från 1-4, 2 allt från 2-4, 3 och 4 gör samma sak, alla andra värden gör inget (hamnar i default).

Edit: satte dit parenteser runt (a) i switch
Janson1
Inlägg: 1351
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

När jag själv nu tittar på min ECU-sketch så behövs det nog lite förtydliganden: Det är ju tänkt att ha 2 tryckgivare, en för turbotryck, en för atmosfärstryck. 3 tempgivare, en för motortemp, en för ute temp, en för turbons utgångstemp. 1 spänningsavkännare också för att bedöma systemspänningen till spridarna. I dag har jag gjort fixvärden på dom för att kunna komma igång och sedan simulera olika tryck/temperaturer/spänningar för att efterlikna verklig miljö. Märk sedan att jag kommer inte att göra om några värden från tex 10 bit analogread till Celsius/Bar utan använda den som den är och bara skifta ner värdena tills dom stämmer bättre om så behövs, allt för att spara på tid/plats i kretsen. I min ECU-kontrolldel gör jag däremot om all rådata till temp, tryck mm så det blir förståeligt. Både ECU och ECU-kontroll kommer att delvis dela på givarna så jag bör direkt kunna se om en givare lämnar ut rätt signal till ECU:n via kontrollens utdata. Case 13/43: behandlar korrigeringsfaktorer som ökar/minskar insprutningstiden (mängden soppa) Insprutningtidens början beräknas i case 10, 11 och själva korrigering av insprutningsbörjan ("tändning") avgörs i case 14, 44 där även lägsta praktiska startvarv sätts. Jag har nu slagit samman dom case
som jag tror kan vara exakt lika, alla dom som bara räknar ut tandtid för att sen dividera i 26 ligger nu tillsammans (16-17 st) Det tar mycket mindre plats i IDE:n men blir givetvis samma storlek när det är kompilerat...
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Bosen »

Kommersiella insprutningssystem är ju baserade på olika tabeller men du verkar förlita dig på olika beräkningar för insprutningen. Hur kommer det sig?
Ett av mina största projekt var en arduino-styrning för en automatväxellåda och där har jag en växlingstabell i eeprom som den hela tiden läser ifrån. Det gör det ju väldigt enkelt att förändra och justera jämfört med att ha beräkningar i själva ecu-sketchen.
Janson1
Inlägg: 1351
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Bosen: Tja, man får ju göra det man tror sig kunna... Nu vet jag inte hur man skulle lägga upp en tabell och få den att fungera samtidigt som jag faktiskt inte vet vad som skall stå i tabellen, det måste jag utröna och testa mig fram. Att Arduinon gör själva beräkningarna är nog inga problem, den tid det tar finns. Sen har jag alla konstanter högst upp i sketchen för att man skall slippa rota runt längre ner i koden, det lär väl behövas ändå men det minimerar. Skaffar jag mig ett EEPROM eller liknande så blir det väl där man får göra om vid förändringar istället? Jag kanske vill ha ett EEPROM ändå, måste tänka på saken.
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Bosen »

Info om vad som borde stå i tabellen finns här: https://sites.google.com/site/vagecumap/ :D
Janson1
Inlägg: 1351
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Jag kommer in där utan att vara medlem men skit samma. Jag kör nog vidare med "mitt" sätt, och skiter det på sig så får jag tänka om. Däremot så skall jag köra temperaturerna med NTC-motstånd som sitter inbyggt i turbotryckgivaren, jag har tre stycken likadana. På ECU:erna så spelar det ingen större roll men på övervakningsArduinon vill jag ju ha så någotsånär rätt visning av temp. Jag tror NTC-motståndet är på 2 kohm vid 25 grader, vad den visar vid dom andra temperaturerna vet jag inte men jag har mätt vid några olika temp och kommit fram till att den är inte linjär, speciellt inte vid kallare temperaturer.
Finns det någon färdig algoritm för detta?
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Bosen »

Jo, det finns mycket på gratis-sidorna.Det är bara att börja i vänsterkolumnen uppifrån. Det sår väldigt mycket om just PD-motorerna så jag tror det finns mycket värden du kan använda dig av. t.ex insprutningsvinkel: https://sites.google.com/site/vagecumap ... aps-part-2

Jag förstår ditt sätt att tänka, men det blir lite svårt att beräkna allt då inte effektkurvan på en turbo är speciellt linjär. En icke turbo hade varit lättare att beräkna på det sättet som du gör. Men som sagt, jag tycker ditt projekt är riktigt imponerande!!!
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Bosen »

Janson1 skrev: Jag tror NTC-motståndet är på 2 kohm vid 25 grader, vad den visar vid dom andra temperaturerna vet jag inte men jag har mätt vid några olika temp och kommit fram till att den är inte linjär, speciellt inte vid kallare temperaturer.
Finns det någon färdig algoritm för detta?
Jag tror du måste googla på givarens nummer för att få fram en tabell eller kurva på detta. Jag är ganska säker på att även detta sköts med en tabell i ECU normalt så det är inte säkert att det finns någon algoritm för det.
här finns ett exempel på en bosch-givare: http://www.bosch-motorsport.com/media/c ... 739pdf.pdf

EDIT:
Här finns faktiskt en generell algoritm för NTC-motstånd: https://www.allaboutcircuits.com/projec ... hermistor/
Janson1
Inlägg: 1351
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Bosen: tackar för länkarna. Jag är dålig, nä kass på att hitta nåt vettigt på internet hur jag än letar. Jag har letat efter relevant info om PD-dieslar i flera år utan nåt egentligen matnyttigt så alla mina beräkningar, antaganden är tagna ur luften med hänsyn till det jag vet om dieselmotorer rent allmänt. Det visade ju i och för sig stämma ganska bra då den startar och går. Tändfördröjning (dvs. den tid det tar från det att soppan sprutas in i cylindern tills dess den tar sig) har jag hittills inte kunnat utläsa någonstans. Jag antar den är beroende av flera faktorer såsom varvtal, belastning, turbotryck, motortemp, lufttemp, intern turbulens, bränslets tändvillighet och luftöverskottet, va det allt tro? Jag har i alla fall gjort en "algoritm" för det som jag tror påverkar mest. Nu har jag ju inga krav på avgasrening, inget större krav på tystgång, men jag tror i och för sig inte motorn klarar av för mycket bankningar så jag måste nog välja tystgång ändå. Bränsleförbrukningen tror jag inte jag kan göra ett skit åt mer än att hindra den från att ryka svart...
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14850
Blev medlem: 16 april 2006, 17:04:10

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av mrfrenzy »

Det var en mycket intressant och detaljerad redogörelse.

Som jag förstår ska insprutningen alltid påbörjas vid sådan tid/vinkel btc att den är färdig exakt vid tdc.

Det blir förstås enklare att koda och kräver inte lika kraftig processor om man har det i tabeller som VW har gjort men ser inget som hindrar att man gör beräkningarna direkt som du gör om man har tillräckligt snabb processor.
Skriv svar