Custom-blinkers till bilen med AVR ATtiny13A

Berätta om dina pågående projekt.
Användarvisningsbild
JohnA
Inlägg: 215
Blev medlem: 19 september 2011, 12:25:51
Ort: Vallentuna
Kontakt:

Custom-blinkers till bilen med AVR ATtiny13A

Inlägg av JohnA »

Jag håller på att förvandla min gamla rostiga Saab V4 till en fräck custom-rod och efter breddning/sänkning m.m. har nu turen kommit till belysningen. Eftersom jag sysslar med ecodriving på extremnivå rullar jag med motorn avstängd mer än 2/3 av körsträckan, vilket belastar batteriet hårt och ger väldigt lite tid att ladda upp batteriet. Av den anledningen är LED-baserad belysning ett synnerligen praktiskt tillbehör, trots att skillnaden i effektbehov är försumbar i jämförelse med den energi som går åt för att driva en bil framåt.

Första baklyset är nu färdigt. Det blev ett rött rektangulärt positionsljus från Biltema som fått två horisontella rader med 20 röda 5mm LED vardera, alltså 40 LED per sida. Positionsljus motsvarande 5W glödlampa ordnas genom att alla 40 LED får lysa svagt via en kombination av seriemotstånd och analoga strömregulatorer. Bromsljuset smackar på full LED-ström i den nedre LED-raden via en separat strömregulator. Lysdioderna är seriekopplade i grupper om fyra stycken. Därmed blir det bara några få volt att slänga bort i strömregulatorerna, samtidigt som baklysena fungerar ner till 8-9 volt. (ett bilbatteri är "dött" innan spänningen blivit så låg)

Den roligaste detaljen är att övre 20-talet LED är uppdelat i fem sektioner som drivs via var sin strömregulator från en AVR-controller, en ATtina13A, vilket ger en rinnande ljus-effekt. Snyggt och fräckt utan att vara allt för pråligt eller kitschigt. Eftersom det saknades en port-pinne är den första LED-sektionens utgång också ingång för att känna blinksignalen från blinkreläet. Delningen fixas med tidsmultiplex, alltså att snabbt och kortvarigt polla pinnen samtidigt som den sköter LED-segmentet. Insignalen filtreras ganska hårt i programvaran.


Baklyset är testat och avlusat så det är dags att bygga baklyse nummer två snart. Konstruktionen fungerar dock INTE ihop med ett vanligt elektromekaniskt blinkrelä eftersom dessa driver en ganska hög ström genom glödlamporna hela tiden, hög nog att driva LED-lamporna på full styrka utan att värmetråden i reläet kommer reagera. Det blir alltså till att bygga ett eget blinkrelä. och den delen av projektet har jag kört fast på efter att ha testat några enkla analoga lösningar med en rad tankevurpor som resultat... :?

Saken är den att jag vill ha en pin-kompatibel direkt ersättning för det elektromekaniska blinkreläet, som alltså fungerar utan övriga ombyggnader, så att mina icke elektronikkunniga bilvänner också kan få custom LED-lights utan att jag behöver krypa omkring i deras bilar. Dessutom ska blinkreläet fungera med rena LED-lampor, klassiska glödlampor och en blandning av dessa. Detta verkar faktiskt lite pyssligare än jag först trott. Det finns så klart en enkel lösning, men jag kommer helt enkelt inte på den... :( Att köpa Hellas färdiga lösning för 390 kronor känns inte alls lika lockande som att knäcka nöten själv, även om det resulterar i arbetstid vida överstigande vad ett färdigt relä kostar.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
JohnA
Inlägg: 215
Blev medlem: 19 september 2011, 12:25:51
Ort: Vallentuna
Kontakt:

Re: Custom-blinkers till bilen med AVR ATtiny13A

Inlägg av JohnA »

Hmm, jag bör kanske förklara hur jag försökt tänka kring blinkreläet... :)

Eftersom jag inte vill behöva bygga om elsystemet i min och några intresserade vänners bilar, och att det dessutom ska vara lätt att byta tillbaka till standard blinkrelä och vanliga glödlampor, får jag vackert gilla läget med hur lustigt det är byggt från början. Egentligen är det som med mycket annat från gamla tider väldigt mycket fiffighet i de till synes enkla rustika prylarna.

Min egen lösning kan sägas "såga av den gren den sitter på" om och om igen. Eftersom det saknas jordning (0V) hos blinkreläer har jag försökt vara fiffig jag också. :) En ATtiny13A drar bara några mA i arbete så jag ser ingen anledning att sätta den i SLEEP. Strömförsörjningen ordnas med en enkel serieregulator (transistor, motstånd, zenerdiod) som "jordas" genom den lilla kontrollampan på instrumentbrädan. Vid första inkopplingen fås en knappt märkbar blinkning innan kondensatorn laddats upp. 470uF verkar kunna hålla gott om kraft för att driva elektroniken i flera sekunder. En blinkning varar <1s så goda marginaler finns. När blinkersspaken slås till åt endera hållet kommer kretsens utgång "dras låg" av lampornas resistans, vilket MCU:n känner av och nästan omedelbart svarar med att kortsluta sin egen strömförsörjning med effekttransistorn som därmed ger ström till blinklamporna. För säkerhets skull bygger jag in pull-downs i mina LED-lampor så insignalen till MCU:n aldrig kan ge svårtolkade nivåer.

Efter ungefär en halv sekund av ström ut till blinkerslamporna slås drivtransistorn av och kretsen får nu ytterligare någon halv sekund på sig att ladda upp sin strömförsörjning via den nu släckta kontrollampan. Att använda en snabb AVR är löjligt overkill resursmässigt, men den är å andra sidan löjligt billig och inte på något vis kritisk, bara jag nu tänkt rätt och inte gjort ännu en präktig tankevurpa.

Konstruktiv kritik tack, helst innan jag börjar stånga skallen blodig nere i elektronikverkstan...! :D
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Custom-blinkers till bilen med AVR ATtiny13A

Inlägg av Icecap »

Vid att ha en darlington-koppling behöver du dra en del ström till basen.

Detta vill belasta din kondensator som håller systemet körande samt ge en spänningsförlust på ~0,9V. Byt till P-MOSFET istället, drar ingen ström.

Spänningsregleringar till µC'n är dum, du behöver all energi du kan skrapa ihop. Alltså ville det vara bäst att ladda kondingen upp till 12V och sedan reglera ner till 5V med en strömsnål LDO.

Rpu vill inte ge något av värde i sig, spänningen kommer att vara ~0,7V vid inte-blinka och 0V vid ska-blinka.
Användarvisningsbild
JohnA
Inlägg: 215
Blev medlem: 19 september 2011, 12:25:51
Ort: Vallentuna
Kontakt:

Re: Custom-blinkers till bilen med AVR ATtiny13A

Inlägg av JohnA »

Icecap skrev:Vid att ha en darlington-koppling behöver du dra en del ström till basen....

Spänningsregleringar till µC'n är dum, du behöver all energi du kan skrapa ihop. Alltså ville det vara bäst att ladda kondingen upp till 12V och sedan reglera ner till 5V med en strömsnål LDO.
Bra konstruktiv kritik, tack!

Att det blev TIP126 darlington är enbart för att jag har ett gäng sådana bland skrotet jag sparat i säkert 18 år. :D
Har tyvärr nästan inte alls labbat med MOSFET men det är ju en dålig ursäkt. Tvärt om ser jag en bra anledning att
gräva lite djupare i lådorna. Tror faktiskt jag ska ha något sådant liggande också. Om konstruktionen ska klara uppemot 50 watt glödlampor vill jag verkligen inte ha förlustvärme i elektroniken. Till LED spelar det förstås mindre roll och de inledande testen talar för att jag kommer kunna buffra mer än tillräckligt med energi i kondensatorn för att ha marginal för 1Hz blinkfrekvens. (alltså ungefär en halv sekund att leva på kondensatorn) Sedan gör kondensatorn förstås större nytta om den placeras INNAN regulatorn. En serieregulator har usel verkningsgrad men den enkla konstruktionen ovan är åtminstone mycket snålare än en vanlig 7805. Tror en sådan drar ca 5mA.

Vad är en LDO?

Det är alltid trevligt att finslipa en konstruktion som rent självändamål, men i praktiken kan det finnas olika anledningar att hoppa över detta, bara prylarna är stabila och gör sitt jobb. En lite större kondensator som kompensation för en strömförsörjning med dålig verkningsgrad tycker jag är helt ok. Däremot är det total misslyckat med en stor kylfläns för att kunna hantera ett ganska osannolikt byte tillbaka till glödlampor, eller mer sannolikt en blandad konfiguration.
Icecap skrev: Rpu vill inte ge något av värde i sig, spänningen kommer att vara ~0,7V vid inte-blinka och 0V vid ska-blinka.
Inte säker på att jag hängde med där... Lite förvirrande med de udda men nödvändiga spänningsnivåerna i min konstruktion... :humm: Menar du 0,7 respektive 0V relaterat till MCU:ns VSS/GND? Menar du också att effekttransistorn i sig kommer ge en viss pull-up genom att dess bas är kopplad till MCU:n? Detta tål absolut att funderas på.
Min tanke med pull-up (och eventuell pull-down) kanske visar nivån på mig som elektronikkonstruktör, men tanken var i alla fall att MCU:n måste få ganska noga definierade nivåer för "1" respektive "0". Dessutom är det ju sällan helt lyckat med ingångar som ligger och "flyter omkring" eller kan fungera som antenner för störningar. Bättre då att offra några mA under drift på något som ger tydliga nivåer. Men om jag tänkt dumt vill jag gärna förstå det. :)
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Custom-blinkers till bilen med AVR ATtiny13A

Inlägg av Icecap »

LDO = Low Drop-Out regulator. Brukar ofta vara en linjär regulator som dra mycket lite egenström och behöver lågt spänningsfall över sig för att ändå fungera bra.

Alltså en de-luxe 7805 som den borde vara från början.

Du har Rpu på för att få signal om när den ska börja blinka. Men du har ju en diod till GND via instrumentpanellampan så du får inte det signal du behöver helt enkelt, i viloläge är spänningen 0,7V och när du slår blinkersen till faller den till 0V när de är släckta.

Ska du köra det trick måste du ha en transistor för att blinka blinkers + en för indikatorlampan.
Användarvisningsbild
JohnA
Inlägg: 215
Blev medlem: 19 september 2011, 12:25:51
Ort: Vallentuna
Kontakt:

Re: Custom-blinkers till bilen med AVR ATtiny13A

Inlägg av JohnA »

Icecap skrev:LDO = Low Drop-Out regulator. Brukar ofta vara en linjär regulator som dra mycket lite egenström och behöver lågt spänningsfall över sig för att ändå fungera bra.

Alltså en de-luxe 7805 som den borde vara från början.

Du har Rpu på för att få signal om när den ska börja blinka. Men du har ju en diod till GND via instrumentpanellampan så du får inte det signal du behöver helt enkelt, i viloläge är spänningen 0,7V och när du slår blinkersen till faller den till 0V när de är släckta.

Ska du köra det trick måste du ha en transistor för att blinka blinkers + en för indikatorlampan.
Low drop-out känns i sig inte så viktigt i min idékoppling, eftersom det kommer finnas 11-14 V till hands och microcontrollern behöver 3-6 V. Om LDO:er generellt brukar ha liten egenström är DET förstås en bra egenskap i sammanhanget. Tror inte jag behöver ha speciellt bra spänningsreglering, bara inte variationerna blir för snabba. En liten kondensator efter regulatorn borde räcka för att MCU_n inte ska bli knäpp. Kopplingen jag testade drog bara någon mA i egenström och verkar kunna hålla utspänningen inom några halv volt när inspänning och strömförbrukning varierar.

Beträffande dioden till indikeringslampan får jag det till att punkten mellan diod-anoden och effekttransistorn i viloläge visserligen hamnar en knapp volt över 0V i bilens elsystem, men det MCU:n "ser" borde bli ca -0,7V i förhållande till sin egen VSS/GND (på grund av MCU:ns clampingdioder, men det läses ju som "0" ändå).
Vad som sedan händer kring effekttransistorn, i synnerhet om jag hittar en MOSFET att stoppa in i kretsen, är jag definitivt inte så kaxig över...

Förutom att fundera ut en koppling som BORDE fungera ska dessutom mjukvaran skrivas... Intuitivt känns det som att en microcontroller i bilmiljö löper större risk att flippa ut än en kretslösning med diskreta komponenter. Det BORDE gå att lösa problemet med några bipolära transistorer, jag har bara inte lyckats fundera ut hur... :humm:

En sak jag länge retat mig på hos klassiska blinkreläer är den tid de behöver "laddas upp" från det att man drar i blinkersspaken tills lamporna lyser upp. Jag vill ha en blinkers som reagerar redan på en liten "dutt". Den halva sekunden kan vara det som behövs i reaktionstid hos en annan bilist för att hinna undvika ett misstag (som mycket väl kan vara mitt eget). Vanliga 21W glödlampor har sin egen tröghet men mina LED-blinkers kör igenom en hel blinkcykel av ljus redan på en mycket kort impuls.
MiaM
Inlägg: 9912
Blev medlem: 6 maj 2009, 22:19:19

Re: Custom-blinkers till bilen med AVR ATtiny13A

Inlägg av MiaM »

Räcker TIP 126 vid ett hypotetiskt scenario med varningsblinkers, vanliga glödlampor och kanske i värsta fall en släpkärra? Bara 4st 21W-lampor vid 12V ger ca 7A och trissan är vad jag kan se specad till 5A. Sen tillkommer att glödlamporna har mycket högre startström än kontinuerlig ström.

Passar ett blinkrelä från någon modernare bil? Om inte så skulle jag nog övervägt att plocka ur innehållet ur ett modernare blinkrelä och modifiera det för att passa en kapsling (eller bara pinout) som passar i din Saab.

Men visst, ett sätt att klara startströmmen är att ha strömgräns. Det ger dock segare tändning av lamporna, väldigt dåligt för t.ex. varningsblinkers fast å andra sidan kommer detta bara hända med vanliga glödlampor och inte med LED.
Användarvisningsbild
JohnA
Inlägg: 215
Blev medlem: 19 september 2011, 12:25:51
Ort: Vallentuna
Kontakt:

Re: Custom-blinkers till bilen med AVR ATtiny13A

Inlägg av JohnA »

Jag håller på att grubbla mig vansinnig på detta förbaskade blinkprojekt! Vetskapen om att Hella har ett relä som gör jobbet för 400 kronor bränner irriterande och nästan lite pinsamt i nacken, för inuti den dyra dosan sitter garanterat något väldigt billigt och enkelt. Det gäller bara att komma på vad, helst innan det känns allt för dumsnålt att försöka bygga själv. Fast det är ju en skön kick när man lyckas också, bra mycket roligare än en färdig lösning över disk.

Transistorvalet i mitt schema ovan var väldigt mycket "man tager vad man kadaver, sade nekrofilen", alltså något jag har i braåhalådan. Det verkar finnas några TO220 MOSFET också, men allra helst vill jag komma på det där enkla analoga med ett klickande relä. Jag försöker därför (när tid och sinnesfrid infinner sig) ta nya tag med en lösning baserad på transistorer och möjligen chips i stil med 555 och Op-ampar. Jag är tyvärr inte tillräckligt rutinerad som elektronikkonstruktör för att ha ett gediket arkiv av fiffiga kretslösningar inne i huvudet att fundera kring, men det känns som att lösningen kan hittas genom att
utgå från hur det faktiskt ser ut i bilen och att väl förstå hur det funkar på det gamla hederliga elektromekaniska sättet. Kan Hella så kan väl en envis DIY-are, det är ju inte direkt rocket-science...

Så vad har vi?
Endast tre anslutningar; Konstant +12V från batteriet (eller via tändlåset), Utgående blinksignal +12V som dessutom är enda vägen att veta när det ska blinkas, samt en ganska "lös jord" över en liten glödlampa på instrumentpanelen. En del äldre bilar har blinkrelä med endast två anslutningar och använder då separata kontrollampor för höger och vänster sida.

Det elektromekaniska blinkreläet kan sägas "laddas upp termiskt" från det att blinkersspaken aktiveras till dess att blinklamporna tänds. Medan lamporna lyser "lever" blinkreläet på den uppladdade energin. Blinkcykeln avslutas när den lagrade energin tar slut. Det känns vettigt att en elektronisk motsvarighet använder en kondensator för energilagring i stället för värme. Det som kanske krånglar till det mest är att jag envisas med att vilja slippa den inledande uppladdningsfasen för att snabbt få igång lamporna.

Med enbart LED fås dels en mycket lägre strömförbrukning, dels tror jag framspänningsfallet i tre eller fyra seriekopplade lysdioder kan göra det mycket svårare med tricket att ladda upp en kondensator tillräckligt för att sedan orka hålla ett litet relä under halva blinkcykeln. Av den anledningen tänker jag att kondensatorn kan laddas över kontrollampan och att detekteringen av aktiverad blinkers sker via transistorer/OP-amp. För att få till en tydligare "startpuls" från LED-lamporna borde det hjälpa att lägga en kondensator och urladdande motstånd parallellt med LED-kretsen. Därmed kommer inkopplingen av LED-lamporna uppfattas som en kortslutning till jord det korta ögonblick det tar att ladda den lilla kondensatorn.

Det jag är inne på nu är schmitt-trigger eller monostabil vippa (av transistorer eller Op-amp) som aktiverar reläet ögonblickligen då blinkerslamporna kopplas in, men bara på villkoret att reläets kondensator laddats upp tillräckligt för att orka driva en ny blinkcykel.

Iinte säker på att jag lyckas förklara hur jag tänker, men att åtminstone försöka förklara för andra är en god hjälp att se problem lite klarare själv! :D Nu ska jag sätta mig och skissa lite till.
Användarvisningsbild
JohnA
Inlägg: 215
Blev medlem: 19 september 2011, 12:25:51
Ort: Vallentuna
Kontakt:

Re: Custom-blinkers till bilen med AVR ATtiny13A

Inlägg av JohnA »

Att försöka åstadkomma ett icke lastberoende blinkrelä som kan ersätta elektromekaniska reläer med endast TVÅ anslutningar är nog omöjligt. Med LED-blinkers finns helt enkelt inte strömförbrukning nog för att ladda upp elektroniken. Åtminstone inte utan att man fuskar med en extra anslutning till jord. En sådan lösning är dock inte bannlyst eftersom även en ganska okunnig bilmekare enkelt kan fixa den anslutningen.

Med "trepinnarskoppling" och separat anslutning till kontrollampan på instrumentpanelen borde det inte behövas någon "skarp" jord. Oavsett hur man strömförsörjer och jordar elektroniken är det viktigt att den inte får någon betydande tomgångsström, i synnerhet i bilar vars blinkers hämtar matningen direkt från batteriet. -Ingen höjdare om blinkreläet laddar ur batteriet på några veckor medan hobbybilen står i garaget.
Jocke.cc
Inlägg: 42
Blev medlem: 20 november 2009, 16:55:26
Ort: Trollhättan

Re: Custom-blinkers till bilen med AVR ATtiny13A

Inlägg av Jocke.cc »

JohnA skrev:Jag håller på att förvandla min gamla rostiga Saab V4 till en fräck custom-rod och efter breddning/sänkning m.m. har nu turen kommit till belysningen. Eftersom jag sysslar med ecodriving på extremnivå rullar jag med motorn avstängd mer än 2/3 av körsträckan, vilket belastar batteriet hårt och ger väldigt lite tid att ladda upp batteriet. Av den anledningen är LED-baserad belysning ett synnerligen praktiskt tillbehör, trots att skillnaden i effektbehov är försumbar i jämförelse med den energi som går åt för att driva en bil framåt.

Första baklyset är nu färdigt. Det blev ett rött rektangulärt positionsljus från Biltema som fått två horisontella rader med 20 röda 5mm LED vardera, alltså 40 LED per sida. Positionsljus motsvarande 5W glödlampa ordnas genom att alla 40 LED får lysa svagt via en kombination av seriemotstånd och analoga strömregulatorer. Bromsljuset smackar på full LED-ström i den nedre LED-raden via en separat strömregulator. Lysdioderna är seriekopplade i grupper om fyra stycken. Därmed blir det bara några få volt att slänga bort i strömregulatorerna, samtidigt som baklysena fungerar ner till 8-9 volt. (ett bilbatteri är "dött" innan spänningen blivit så låg)

Den roligaste detaljen är att övre 20-talet LED är uppdelat i fem sektioner som drivs via var sin strömregulator från en AVR-controller, en ATtina13A, vilket ger en rinnande ljus-effekt. Snyggt och fräckt utan att vara allt för pråligt eller kitschigt. Eftersom det saknades en port-pinne är den första LED-sektionens utgång också ingång för att känna blinksignalen från blinkreläet. Delningen fixas med tidsmultiplex, alltså att snabbt och kortvarigt polla pinnen samtidigt som den sköter LED-segmentet. Insignalen filtreras ganska hårt i programvaran.
Hur gick det med dina rinnande blinkers också kallade vandrande blinkers? Nu finns det att köpa färdigt men jag vill pilla in led i mina befintliga lampor men är ej beroende av att spara ström mm och har inte de problemen du har utan vill bara ha en enkel lösning på hur jag får till vandrande/växelvis lysande LED tex 4-6 st per sida. Har de vanliga gamla hederliga LED som är på 2,4 till 3 V ungefär beroende på färg som jag tänker använda mig av. Finns det fördröjningsreläer eller motsvarande elektroniska komponenter som fungerar? Ska säga att det ska användas till show mest men ska funka i daglig trafik, därför jag ska använda mig av olika färger.

En annan fråga angående dessa LED då jag uteslutande använder dom i bil med spänning 12-14 volt så löder jag dit ett motstånd på varje, kommer ihåg förr att jag seriekopplade ca 4 st, vad är bäst och stabilast för dioden så den lever länge?
Motståndet blir ju ganska varmt och det gillar jag inte riktigt när jag bygger in dioderna i trånga utrymmen.
Skriv svar