Buggfix Plus
Aktuellt datum och tid: 09.25 2018-04-24

Alla tidsangivelser är UTC + 1 timme




Svara på tråd  [ 275 inlägg ]  Gå till sida 1, 2, 3, 4, 5 ... 19  Nästa
Författare Meddelande
InläggPostat: 09.26 2016-12-01 

Blev medlem: 09.06 2016-12-01
Inlägg: 341
Ort: Marks Kommun
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...


Upp
 Profil  
 
InläggPostat: 09.36 2016-12-01 
Användarvisningsbild

Blev medlem: 16.34 2004-09-06
Inlägg: 21242
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Ta en titt på http://www.diptrace.com/ istället.


Upp
 Profil  
 
InläggPostat: 10.37 2016-12-01 

Blev medlem: 09.06 2016-12-01
Inlägg: 341
Ort: Marks Kommun
Tack tecno, det här programmet kommer jag igång med direkt, det är ganska likt mitt gamla.


Upp
 Profil  
 
InläggPostat: 20.46 2016-12-02 

Blev medlem: 09.06 2016-12-01
Inlägg: 341
Ort: Marks Kommun
Ingen som har grejat med sånt här förut?


Upp
 Profil  
 
InläggPostat: 07.20 2016-12-07 

Blev medlem: 09.06 2016-12-01
Inlägg: 341
Ort: Marks Kommun
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?


Upp
 Profil  
 
InläggPostat: 11.02 2016-12-07 
EF Sponsor
Användarvisningsbild

Blev medlem: 17.53 2010-01-04
Inlägg: 4346
Ort: Skogen mellan Uppsala-Gävle
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.

Bilaga:
Vevpulser.JPG


Logga in för att visa de filer som bifogats till detta inlägg.


Upp
 Profil  
 
InläggPostat: 16.41 2016-12-07 
Användarvisningsbild

Blev medlem: 20.53 2010-09-23
Inlägg: 1003
Ort: Ljusfallshammar
kan inte detta vara nått? http://megasquirt.info/


Upp
 Profil  
 
InläggPostat: 22.14 2016-12-07 

Blev medlem: 09.06 2016-12-01
Inlägg: 341
Ort: Marks Kommun
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).


Upp
 Profil  
 
InläggPostat: 22.36 2016-12-07 
EF Sponsor

Blev medlem: 11.54 2014-05-26
Inlägg: 456
Ort: Karlskoga
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....


Upp
 Profil  
 
InläggPostat: 07.54 2016-12-08 

Blev medlem: 09.06 2016-12-01
Inlägg: 341
Ort: Marks Kommun
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.


Upp
 Profil  
 
InläggPostat: 14.42 2016-12-08 
EF Sponsor
Användarvisningsbild

Blev medlem: 22.58 2005-10-01
Inlägg: 1105
Ort: Torestorp
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.


Upp
 Profil  
 
InläggPostat: 23.01 2016-12-08 
EF Sponsor

Blev medlem: 11.54 2014-05-26
Inlägg: 456
Ort: Karlskoga
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.


Upp
 Profil  
 
InläggPostat: 13.15 2016-12-09 

Blev medlem: 09.06 2016-12-01
Inlägg: 341
Ort: Marks Kommun
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.


Upp
 Profil  
 
InläggPostat: 07.26 2016-12-14 

Blev medlem: 09.06 2016-12-01
Inlägg: 341
Ort: Marks Kommun
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.


Upp
 Profil  
 
InläggPostat: 12.59 2016-12-14 

Blev medlem: 20.20 2010-08-30
Inlägg: 2707
Ort: Umeå
ingen wastegate?
inte en vnt turbo heller?


Upp
 Profil  
 
Visa inlägg nyare än:  Sortera efter  
Svara på tråd  [ 275 inlägg ]  Gå till sida 1, 2, 3, 4, 5 ... 19  Nästa

Alla tidsangivelser är UTC + 1 timme


Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 8 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
    Electrokit
Drivs av phpBB® Forum Software © phpBB Group
Swedish translation by Peetra & phpBB Sweden © 2006-2010