Styra elektriskt gasspjäll med PWM-styrning

Planering och tankar kring eventuella framtida projekt.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av Janson1 »

Spjället är i princip helt balanserat (mitt i alla fall på VW:n) så det blir kvar där man ställer det oavsett, detta var jag också orolig för i början men eftersom det inte verkar vara ett problem så skippar jag återkopplingen helt. Nu skall jag bara ha mitt spjäll till aktiv avstängning för att slippa kompressionsstötarna och sen försök mig på att reglera ner till några få % öppet på lägsta tomgång. Nu är min app en dieselmotor. Däremot har jag en systemspänningskännare som korrigerar både bränslespridare och kommande gaspjäll. Jag har också en elmotor istället för en elektromagnet som jag tycker vore bättre och säkrare.
EPG
Tidigare pellebeefmaster
Inlägg: 395
Blev medlem: 28 mars 2005, 20:27:58
Ort: Oskarshamn
Kontakt:

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av EPG »

Hedis skrev:Det är ju en vanlig DC-motor i spjället om jag minns rätt, sedan används dom dubbla spjällpotentiometrarna för återkoppling till T7.
Nja, det är ju inte en DC-motor av traditionell typ så som med släpringar och kolborstar utan den ser mer ut som spolen på en magnetventil.

Kolla denna länken så ser du en del bilder på hur det ser ut i verkligheten (https://www.saablink.net/forum/car-prob ... 102873.htm).
Hedis skrev: En fast PWM kommer nog inte lira så bra när det börjar flöda luft mot spjället som både vill öppna och stänga det beroende på lastfall.

Testa att mäta med oscilloskopet på motorn till spjället samtidigt som du putter lite på spjällskivan med fingret.
Precis som Janson skriver så ska inte ett sånt här typ av spjäll påverkas särskilt mycket av att det går ett luftflöde över den, ventilen är ju av typen "butterfly valve" (vet inte om det heter fjärilsventil på svenska) och är konstruerad för att krafterna på båda sidorna av axeln som spjällskivan är fäst i ska ta ut varandra.
Användarvisningsbild
Hedis
Inlägg: 2487
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av Hedis »

EPG: Ah, jag blandade nog ihop T7-spjället med spjällhuset för T8, sorry.

Att krafterna tar ut varandra var däremot något jag inte tänkt på tidigare, det är ju rätt smart. ;)
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av Janson1 »

Den spjällmotor som SAAB har kommer nog att funka ännu bättre en vad en vanlig elmotor med kol gör, jag har en sådan kol-elmotor som sitter med lite nerväxling i mitt nuvarande spjällhus.
EPG
Tidigare pellebeefmaster
Inlägg: 395
Blev medlem: 28 mars 2005, 20:27:58
Ort: Oskarshamn
Kontakt:

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av EPG »

Nu har jag testat lite till, det var ju skoj det här! :D

Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av Janson1 »

EPG: Kan du få spjället att stå still på valfritt ställe om du gör en manuell justering via en pot?
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av Janson1 »

Jag hade lite tid över och gjorde en egen test på mitt gasspjäll som skall sitta på en VW diesel. Den har en kol-elmotor och den funkade inget vidare som PWM-styrd. Om man krämade på rejält så stängde spjället så hårt att den inte orkade öppna igen trots att den blev strömlös... Sktchen som jag gjorde är i alla fall här:

Kod: Markera allt

// en sketch för att kunna PWM-styra 0-255 via en potentiometer som sen ger ut både 490 och 980 hz grundfrekvens
int pot = A0;                   // En valfri potentiometer från nåt kilo-ohm till 1 megaohm
int spjall_1 = 6;               // En PWM utgång med 980 hz grundfrekvens
int spjall_2 = 10;              // En PWM utgång med 490 hz grundfrekvens
byte value;

void setup()
{
 pinMode(spjall_1, OUTPUT);     // Spjäll 1 sätts som utgång
 pinMode(spjall_2, OUTPUT);     // Spjäll 2 sätts som utgång
}

void loop()
{
 value = analogRead(pot)>>2;    // Läser av analogingång och bitskiftar 2 steg så värdet blir 0-255
 analogWrite(spjall_1, value);  // Värdet 0-255 PWM:as ut här med 980 hz grundfrekvens
 analogWrite(spjall_2, value);  // Värdet 0-255 PWM:as ut här med 490 hz grundfrekvens
}
Den lät lite mindre gnissligt på 490 hz men jag kan inte avgöra vilket som var mest rätt...
Som slutsteg hade jag 2 st mostransistorer och ett par dioder.
EPG: du får väl göra samma test.
EPG
Tidigare pellebeefmaster
Inlägg: 395
Blev medlem: 28 mars 2005, 20:27:58
Ort: Oskarshamn
Kontakt:

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av EPG »

Kör du båda utgångarna parallellt och kopplar spjället på båda samtidigt (med dioder för att skydda dem från varann) eller har du helt enkelt programmerat det så för att bara kunna växla emellan dem på ett smidigt sätt utan att behöva ändra i koden?

Det jag håller på att experimentera med just nu är att försöka få till ett så stort spann som möjligt (alltså att vid analogWrite(X, 0); är det stängt, vid analogWrite(X, 1); börjar den öppna, vid analogWrite(X, 255); är det fullt öppet och vid analogWrite(X, 254); börjar den stänga. Att få till det så optimalt är nog en utopi men man vill ju självklart ha så hög upplösning som bara är möjligt. Jag märkte även att MOSFETen blir extremt varm vid "höga duty cycle värden" (eller vad man nu ska kalla det), risken är till och med att jag har lyckas bränna en (breadborden smälte lite) men jag beställde ett 10-pack och har lite kylflänsar liggandes så experimenterandet fortsätter.

Det är ju inte självklart att man ökar spannet bara genom att öka spänningen, i själva verket så kanske man bara flyttar spannet så spjället öppnar tidigare men i gengäld även når WOT tidigare.

Visar det sig att exempelvis att det är omöjligt att få spjället att röra sig fulla slag 0 - 100% vid motsvarande duty cycle 0 - 100% på utgången på mosfeten så kanske man med hjälp av hårdvara istället måste fixa någon typ av skalerare/multiplikator för att få det att funka tillfredställande.
EPG
Tidigare pellebeefmaster
Inlägg: 395
Blev medlem: 28 mars 2005, 20:27:58
Ort: Oskarshamn
Kontakt:

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av EPG »

När jag tänker efter så är det ju egentligen "bara" att jag vill höja "tomgången" så att säga.
Alltså att jag får WOT vid 100% duty cycle går ju enkelt att justera med hjälp av drivspänningen men det jag vill göra är ju att få till så att nollan hamnar precis där drivkraften till spolen övervinner fjäderkraften som ska stänga spjället om drivspänningen upphör.

Med andra ord att spannet 0-100% kanske inte motsvarar 0-5V utan snarare 2-5V?

Hur löser man detta lättast, någon typ av spänningsdelare (som man justerar till med hjälp av potentiometrar)?
Använda negativa drivspänningar med hjälp av 79XX-spänningsregulatorer för att på så sätt hamna på minusspänning relativt jordpotential?
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av Janson1 »

Jag skulle skalat det i koden, använda map-funktionen. Det jag märkte vid mitt test vara att spjället var fullt stängt långt innan 100% (255) och det var drivspänningsberoende. (mitt spjäll är vidöppet när det är strömlöst) Jag såg på amp-metern att först stängde spjället vid kanske 80-90 och sen över 100 började det dra ström, typ 4 amp vid 255.
Anledningen till att jag gjorde 2 utgångar med olika frekvens var just för att det skulle vara lätt att jämföra, jag körde inte bägge samtidigt. Jag vet inte om det går att köra bägge parallellt? Men det skulle ju gå att prova...
svanted
Inlägg: 5082
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av svanted »

det är snarare en regel att den digitala världen inte stämmer överrens med den analoga,
just att ett servo inte har ett mekaniskt spann som motsvarar 0 - 255 på inspänningen,
och det är ju i koden man ska kalibrera detta, servot kommer garanterat att ändras över tid så en inbyggd kalibrering
är nog ett nödvändigt ont.
jag har en potentiometer på gaspedalen på en bil, som en av inkällorna för att styra växellådan, och där behövs en 0 reset,
vilket är nödvändigt, för om man skruvar på tomgångsskruven på förgasaren ändras 0 värdet för helt släppt gaspedal.
det är dumt att kalibrera bara vid strömtillslag om någon omedveten har foten på gaspdalen, då blir det helt knas,
med negativa värden för TPS...
gjorde så att man får dra växelspaken till L och bromsa samtidigt, då nollställs gaspedalen.
ett förfarande att skriva in i instruktionsboken typ.
undrar hur det görs på en vanlig bil?
man kanske kan ta medelvärdet från 10 senaste strömtillslagen, och att de måste ligga inom ett litet spann,
där e.v. stora avvikelser maskas bort...
men det gör att e.v. tomgångsjustering inte kommer att kalibreras bort direkt.
ett annat sätt är att sätta en ändlägesbrytare, lite besvärligt.
EPG
Tidigare pellebeefmaster
Inlägg: 395
Blev medlem: 28 mars 2005, 20:27:58
Ort: Oskarshamn
Kontakt:

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av EPG »

Det börjar bli lite jobbigare detta än vad jag först hade väntat mig, jag måste troligtvis ta med spjällägesgivaren och använda som återkoppling och sen snarare reglera spjälläget istället för att bara försöka styra det utan nån form av återkoppling alls.

Om området är 0-5V så...
Börjar spjället att öppna vid cirka 2,2-2,3V.
Är det fullt öppet vid 4,6-4,7V.
Utgår man däremot från fullt öppet så...
Börjar spjället att stänga vid cirka 2,6V
Är helt stängt vid 0,1-0,2V.

Det finns alltså ett dödband som inte är att leka med :P.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Styra elektriskt gasspjäll med PWM-styrning

Inlägg av Janson1 »

Jag utvecklade mitt program till UNO:n lite så nu har det variabel frekvens från 100 till 10000 hz också. Tyvärr gjorde det ingen skillnad på mitt spjällhus, det fungerar lika bra/dåligt oavsett frekvens... Det måste till en återkoppling om det skall bli nåt att hänga i granen.
Skriv svar