ECU- styrning till en VW pumpdysediesel.

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

ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Hej alla. Jag är helt ny på detta forum och jag har ett projekt sedan flera år tillbaka, att bygga en egen ECU till en VW dieselmotor med separata pumpelement per cylinder (4 st). 2002 byggde jag en hårdvara för detta och tilltänkt processor var PIC16F877 i PLCC 44 utförande. Hela projektet har gått i stå pga att jag inte kunde och kan inte i dag heller programmera kretsen...
Nu har det kommit Arduino och jag kar köpt ett kit och faktiskt fått igång programmering på 0 nivå, med hjälp av boken och div färdiga projekt kan jag i alla fall få in dom i min processor och det funkar men till ingen nytta.
Vidare ritade jag ganska mycket mönsterkort några år i början på detta årtusende. Jag hade ett program som hette Protel EDA client 3,5
och som tyvärr har kommit bort med alla datorbyten mm, så det önskar jag hitta igen. I dag har jag ett halvt gratisprogram från Eagle och jag kan inte ens hitta ett footprint.bibliotek...
Jag har kort och gott kört fast och behöver nog nya upplägg och nya infallsvinklar...
Användarvisningsbild
tecno
Inlägg: 27022
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av tecno »

Ta en titt på http://www.diptrace.com/ istället.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Tack tecno, det här programmet kommer jag igång med direkt, det är ganska likt mitt gamla.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Ingen som har grejat med sånt här förut?
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Ok, här är lite data och "kravbild" vad som krävs och vad som behövs.
Analoga insignaler: Gaspot, vattentemp, turbotrycksgivare, atmosfärsgivare, oljetemp? Oljetryck?
Digitala insignaler: Vevaxelgivare, kamaxelgivare.
Digitala utgångar: 4 st spridare (elektromagneterna) en varvräknarutgång av något slag, frekvens eller PWM.
Gärna en display och knappar så man kan göra små justeringar av tex. öpnningstiden av spridarna, detta kopplat till ett litet seriellt minne som förändringsdatan hamnar.
Själva motorns utsignaler är väl beskrivet i VW:s manual SSP 209 som finns på nätet, bara att söka på detta.
Maxvarv sätter jag till 4200 rpm vilket ger 70 rps= 0,014 sek/varv
Vid max varv och nästan ingen belastning uppskattar jag spridartiden till 5 grader
5 grader av 360 grader får jag till 0,19 millisekunder om jag fått nollorna rätt??
Detta måste tilltänkt krets (Arduino?) klara.
Det första man skall fokusera på är nog att ta hand om vevaxelpulserna, det kommer 28 st sedan ett uppehåll sedan 28 till. Det är dom som skall styra hela förloppet men först måste Arduinon hitta luckan mellan två 28 pulståg.
Hur kommer man igång? Hur skall man tänka?
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Magnus_K »

Hej Janson1!

När det kommer till pulståget (bild nedan) så går det lösa på flera sätt.
Spontant tänker jag på att låta en timer snurra på i Arduinon och låta denna nollas vid varje puls, skulle timern "slå i taket" så innebär det ett glapp mellan pulserna, dvs mellanrummet.
Problemet blir dock det varierande varvtalet som då även påverkar tiden mellan pulserna. Det kan man nog lösa genom att låta tiden mellan glappen avgöra hur högt till tak pulstimern ska ha.
Du kan nog få mycket bättre lösningar från andra här på forumet, men för att ge dig en idé.

Angående CAD-program så kika runt lite på forumet under FAQ och Mjukvaru-kategorierna.Ämnet har diskuterats mycket :) . Dom som oftas brukar komma på tal tror jag är KiCAD, Eagle, Diptrace och en till som jag inte minns namnet på nu.
Vevpulser.JPG
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
stenD
Inlägg: 1347
Blev medlem: 23 september 2010, 21:53:35
Ort: Ljusfallshammar

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av stenD »

kan inte detta vara nått? http://megasquirt.info/
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Ang kretskortscad så har det löst sig, det blev diptrace och det skall jag försöka lära mig så gott det går.
Jag har faktiskt blivit föreslagen en timer som skall nollas vid varje puls, jag tror 500 khz skulle funka från lägsta till högsta varv.
Däremot kommer jag inte att kunna programmera detta helt själv så där behöver jag hjälp för att komma igång.
Jag har nyligen köpt mitt Arduinokit och är väl bara i startgroparna...
Jag läser på om programmering på kvällarna när tid finns och jag gör även små projekt som jag sen försöker bygga om och få annan funktion, ibland lyckas jag, ibland inte.
Först måste timern aktiveras och rätt delning (prescaler) företagas med 16 Mhz som grundfrekvens.
Sedan skall ingående pulser räknas och luckan identifieras och där skall en total nollning göras för att sen räknas upp till tex 20, där skall nästa funktion träda in (spridare x öppna).
kodar-holger
EF Sponsor
Inlägg: 916
Blev medlem: 26 maj 2014, 12:54:35
Ort: Karlskoga

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av kodar-holger »

Måste du verkligen hitta luckan baserat på bara luckan?

Jag tolkar diagrammet ovan som att det skulle gå att använda kamaxelgivaren för att synka på.

Räkna vevaxelpulser när dom kommer. Varje gång det kommer en puls från kamaxelgivaren kan du veta hur många vevaxelpulser som kommit sen sist.

~2 = Vi är i cylinder 3.
~4 = Vi är i cylinder 2.
~6 = Vi är i cylinder 1.
~28-6 = Just kommit till cylinder 3
~28-4 = Just kommit till cylinder 1.
~28-2 = Just kommit till cylinder 4.
28 = Just kommit till cylinder 2.

Jag orkade inte räkna pulserna på det "ultralilla" diagrammet (jag ser helt enkelt för dåligt) så det var ungefär.

Sen älskar jag tillståndsmaskiner så en med 7 tillstånd som beskriver de olika faserna skulle förmodligen kännas rätt. När man kommer till ett av cylinderstart-tillstånden kan man ju räkna ut hur länge det var sen sist och därmed räkna ut hastigheten.

Timrar för styrningen av exaktare tider och naturligtvis interuptstyrt så blir det en massa tid över till din display och knappsats. Om du verkligen vill blanda den koden på samma processor....
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Ja som första programmering så kan man ju ta med både vev och kamaxelgivare men min tanke är att (våldsam överkurs) om kamaxelgivaren går sönder skall motorn gå vidare, däremot behöver den inte kunna starta igen. Det viktigaste är att den inte stannar om den givaren ger upp, sen är det önskvärt att motorn kan gå på begränsad effekt om vevgivaren ger upp men kamgivaren finns kvar.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1339
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av baron3d »

Bäst vore väl att ha 4st kamaxelgivare, en för varje burk.
Vid start utgår man endast från kamaxelgivarna.
Det är också lätt att få motorn att gå bra även utan någon givare.
kodar-holger
EF Sponsor
Inlägg: 916
Blev medlem: 26 maj 2014, 12:54:35
Ort: Karlskoga

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av kodar-holger »

Det går ju också att göra en "fri" räknare som delar 2 varv i ett antal delar. Periodiskt ökar man räknaren med ett värde x som beror på aktuellt varvtal. Det måste förmodligen ske väldigt ofta. Typ > 20ggr frekvensen på vevaxelpulserna. Med hjälp av pulserna från respektive givare justerar du sen x. Kommer pulsen innan den borde, höj X, kommer den för sent, sänk x. En slags digital PLL helt enkelt. För att du inte skall få köra startmotorn i en kvart innan den synkat in får man väl ha något initieringsförfarande som gissar att båda sensorerna fungerar perfekt.

Men jag tror du får ta dig en funderare på hur du skall hantera krånglande sensorer. Det är lätt att tänka att först fungerar den och sen lägger den helt av. Men en sensor som lägger av kan säkert glappa och ge underliga värden som något slags mellanting mellan funkar perfekt och helt död.

Och vilka krav har du på upplösning? Du skrev något om en spridartid, men hur noga skall du styra den relativt något annat. 1 radian, 1 grad, 1 milliradian?

Kalmanfilter någon?
Partikelfilter (Alltså datorsorten, inte det man sätter i avgasröret på en diesel) skulle nog gå, men lär få svårt att synka in i starten och är sen overkill.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Det finns många aspekter att ta hänsyn till ang givare som är hela eller trasiga och dessutom kan vara någonstans mittemellan...
En annan tanke jag haft är att ha en givare som först känner en tand som ligger 45 grader innan ödp och en tand som ligger på ödp och låta första tanden styra spridare på med en tidsförskjutning som motsvarar varvtalet (vid lågt varv skall insprutningens början vara bara några grader innan ödp och vid fullvarv skall insprutningen börja mycket tidigare pga att det tar tid för bränslet att beredas/förgasas/tändas) och sen låta tand 2 vara absolut sista avstängningstid för spridaren och sen låta kamaxelgivaren bara indikera cyl 1 eller 4 resp 2 eller 3 i tändföljd. Men detta kräver ombyggnad av motorn och det vill jag helst slippa. Spridarens ontid bestäms av motorns varvtal.
Jag vill helst ha en potentiometer som ger tex 0,8 v till 4,2 volt vilket skall motsvara 800 till 4200 rpm. Det som kommer att styra när spridaren skall öppna blir varvtalet och när spridaren skall stänga blir reglerat av målvarvet, ställer man den på 4000 rpm ökar och minskar pulsbrädden på spridaren allt eftersom belastningen varierar. Sedan skall ju turbotrycket avläsas också, blir det för högt turbotryck skall pulsbrädden minskas i första hand och sen låta varvet gå ner om den belastas mera än vad turbotrycket tillåter. (det finns ingen wastegate ventil).
Jag gissar på att regleringen ligger betydligt inom 1 grad för att få jämnt varv.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av Janson1 »

Jag har löst första delen nu, detektering av luckan som blir där det saknas två tänder på vevaxelgivaren (det tog 3% av kodutrymme). Nästa problem blir att räkna till tand 20 där insprutningen skall börja vid start och lågvarv.
svanted
Inlägg: 5082
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: ECU- styrning till en VW pumpdysediesel.

Inlägg av svanted »

ingen wastegate?
inte en vnt turbo heller?
Skriv svar