Sida 1 av 1

Lite råd om mitt arduino-projekt (hoppas på)

Postat: 9 februari 2011, 22:46:05
av Hauge
Hej, ny på forumet och mitt första inlägg. :-)

Jo, har införskaffat 1 st Arduino uno och har prövat den lite fram o tebax. Lite konstigt med c-kod när man programmerat basic o pascal innan... + nån liten kurs assembler på högskolan. Men det är inga större problem.... ett par rader kod.. kompilera...lite serial out för att kolla variabelvärden.... rätta till osv.

Jag hade från början tänkt att ha den som hastighetsmätare, varvräknare och styra tändningskurvan på min sommarbil... en cheva. Sen lite andra småsaker som oljetempmätare, automatiskt tillslag av kylfläkt vid låga hastigheter o så.

Anledningen till styrningen av tändkurvan är att tändförställningen i fördelaren arbetar med vikter och fjädrar. För att uttrycka det enkelt så funkar skiten inte bra när man modifierar tändkurvan, genom att byta fjädrar o vikter. Jag har slagits med det fram o tebax o gett upp. Till saken hör att motorn är trimmad och behöver en mer aggressiv kurva.

Det var lite bakgrund

Fördelaren är halvelektronisk. Det sitter en spole i den. I spolen så roterar ett 8 tandat hjul. En elektronisk tändmodul känner av signalen från spolen och gör en fyrkantvåg som skickas till tändspolen. Modulen innehåller också "dwell-control", för att variera tiden för tändspolens magnetisering beroende på varvtal. För att variera tändläget avseende på varv så vrider fjädrarna/vikterna innanmätet på fördelaren.

alltså: spole med 8kantigt hjul => tändmodul => tändspole

Jag hade hela tiden tänkt att tjöpa en modernare tändmodul till en nyare bil, då nyare bilar har elektroniskt styrd tändkurva och fler anslutningar på tändmodulen förståss och inga fjädrar/vikter i fördelaren. Vikterna o fjädrarna i min fördelare tänkte jag förpassa.
I min enfald så trodde jag att tändningsförställningen var analogt styrd på dessa och att en inspänning på ett av benen på mellan 0 och 5 volt då enkelt skulle tala om för tändmodulen hur många graders förtändning man ville ha... lätt som en plätt.
Ha-ha.. lång näsa. De funkar som så att tändmodulen sköter tändningen själv tills en "CPU" anser att motorn har startat...runt 400 rpm. CPU:n lägger då en spänning på tändmodulen varvid modulen skickar tändpulserna till CPU:n istället.
CPU:n läser av varvtalet och beräknar när nästa tändpuls skall ske och skickar då en puls i rätt ögonblick tillbaka till tändmodulen som driver tändspolen. Om det inte framgått så eftersläpar CPU:n en tändpuls hela tiden. Den tar signalen från 1:a pulsen från tändmodulen räknar lite och skickar tändpulsen för 2:a pulsen, och så tar den signalen för den andra o skickar iväg för den tredje osv.

Skit o pannkaka...gick omkring o tjurade nån dag innan jag kom på att det var ju inga problem. Jo jag får skriva om koden jag redan börjat på och så får jag trixa lite med att skriva direkt till utgångarna på arduinon, itället för att använda de långsamma färdiga kommandona... har för mig att det är ca 50 ggr snabbare att skriva direkt.
Sen kom jag på att jag behöver ju inte tjöpa nån modern tändmodul alls...som för övrigt måste trixas in i fördelaren och så slipper jag leta efter specialkontakterna till en sån. 1000 spänn sparade kanske.

Min tanke är att simulera en modern tändmodul... lite pseudosimulering kanske:
Behåll original tändmodul: Koppla bort utgångssignalen till tändspolen och ge den till arduinon istället. En spänningsdelare och en zener drar ner spänningen till straxt under 5 volt för att arduinon inte skall få hicka. Arduinon får räkna ut varvtal och när den skall skicka utsignalen till tändspolen (när den skall läggas låg). Exakta tiden när den skall gå regleras med DelayMicroseconds().
Utsignalen från arduinon driver en effekttransistor som är kopplad till tändspolen.

Alltså: spole med 8kantigt hjul => tändmodul => modulens utgång till tändspole => spänningsdelare => arduino => effekttransistor => tändspole.

Som effekttransistor tänkte jag välja Darlington för att jag är bekväm o lat. dvs dålig på att räkna på mer än en transistor och har aldrig testat MOSFET, vilka jag inte riktigt fattat hur de funkar än annat än att de är spänningsstyrda isället . MED Darlington borde jag kunna styra effekttransistorn direkt från arduinon. Vi talar om 4-6 ampere. Gjorde uppskattning i huvudet om att jag behövde minst 700 i hfe på transistorn. Den storleksordningen i alla fall...

Sen så hade jag tänkt att ha en "limp-mode" på det hela, precis som de moderna tändmodulerna har. Alltså om min arduino inte behagar att fungera så skall de funka ändå... motorn alltså. Det hade jag tänkt lösa genom ännu en effekttransistor som ligger i serie med tändspolen (och den effekttransistor som sitter inne i tändmodulen). Den transistorn skall leda till arduinon tycker att det är dags att styra tändningen själv varvid den stängs.

mitt problem är tvådelat:

1: har jag tänkt vettigt ???
2: Limp-mode-transistorn skall leda strömmen så att jag har tändning om arduinon går sönder eller så. Det är alltså arduinon som skall stänga transistorn. Hur löser jag det ??


Jag har bifogat två bilder.. hopkluddade i något GAMMALT student edition. ORIGINAL OCH MODIFIED. Transistorn längst till vänster på båda bilderna är utgångstransistorn i tändmodulen. Att inte bry sig om heller är eventuella värden på komponenterna (lite besvärligt program än så länge)...

Hur kopplar jag den vänstra darlingtonen så att arduinon bryter den ???... nu har jag dragit en tåt från basen till arduinon och det funkar ju inte. En tanke var att ta en resistor från plus till basen och sen låta arduinon jorda basen när den skall kopplas ur.. kanske via en mellantransistor för att hindra för mycket ström in i arduinon, men kan jag vara säker på att darlingtonen stänger helt då och går det inte onödigt mycket ström till jord då ??

Hoppas på hjälp

/Mats

Mycke text men vill att det skall förstås

jo... frekvensen på tändpulserna kommer att variera mellan ca 40-440 Hz.

Det känns också som om den inte kommer hinna med att mäta hastigheten på bilen samtidigt. För hastighetsmätning så varierar pulserna från bakaxeln 0 Hz - 3000 Hz ca. Känns lite nervöst att ha två interrupt när frekvensen för hstigheten kan bli så hög. Har inte progrmmerat på en 15 år kanske och det är nytt för mig med att processorn skall jobba i "realtid"

tackar på förhand

Re: Lite råd om mitt arduino-projekt (hoppas på)

Postat: 11 februari 2011, 19:46:49
av Hauge
*bump*

Re: Lite råd om mitt arduino-projekt (hoppas på)

Postat: 11 februari 2011, 19:54:20
av xraid
tror du har bra koll på hur du ska framåt . gör det, kom sen med resultaten kompakt beskrivet ...

"förlåt att brevet är så långt . jag hade inte tid skriva ett kort"
-- nån lär ha sagt ovan kända ...

Re: Lite råd om mitt arduino-projekt (hoppas på)

Postat: 12 februari 2011, 12:34:17
av Hauge
okidoki :-) Jag kör på...

ville bara säker på att de som läste förstod problematiken.. därav den långa texten

Re: Lite råd om mitt arduino-projekt (hoppas på)

Postat: 12 februari 2011, 13:48:15
av Fransson
Hej Hauge, och välkommen till forumet.

Så som du har ritat kommer Q3 och Q5 aldrig kunna släppa igenom mer än 3,8 V max till tändspolen.
Alltså Arduinons logikspänning (5V) minus bas-emitter spänningsfallet (ca: 1,2 - 1,4V).
Jag kan för lite om fordonselektronik för att avgöra om det är tillräckligt. Men det borde gå att åtgärda genom att byta Q3 till en PNP-trissa, lägga till en hanfull motstånd och två till NPN-trissor.

Jag återkommer med en skiss om någon timme eller så.

Re: Lite råd om mitt arduino-projekt (hoppas på)

Postat: 12 februari 2011, 14:48:37
av Fransson
OK. Här är utlovad skiss.
Biltändning.png
Hoppas att du kan tolka min skiss och känna igen vad som är vad.


Har någonstans i bakhuvudet att andra som har byggt tändningar har använt IGBT-trissor. :humm:

Som sagt kan jag väldigt lite om fordonsel och tändningar så du får tolka och anpassa själv.