Läsa 12V signal med en MCU?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
zoomyx
Inlägg: 233
Blev medlem: 21 december 2011, 18:30:05
Ort: Orust

Läsa 12V signal med en MCU?

Inlägg av zoomyx »

Hade en fundering angående 12v och mcu:er.

Om jag vill läsa en 12volts signal från en bil och vill använda säg en ATmega328 med arduino kod, så känns en vanlig spänningsdelare med några motstånd som en enkel lösning, men det känns inte så säkert? Vid till exempel en spänningstopp känns det som att man lätt bränner mcu:n?

Vad är igentligen en "säker" metod men som fortfarande är hyffsat enkel och billig? Något transistor baserat?
Senast redigerad av blueint 5 oktober 2013, 00:05:50, redigerad totalt 1 gång.
Anledning: var: Läsa 12v signal.
JonasE
Inlägg: 155
Blev medlem: 22 april 2007, 15:12:12
Ort: Karlskrona

Re: Läsa 12v signal.

Inlägg av JonasE »

Om du vill vara helt säker, använd en optokopplare. 8)

Annars kan man till exempel använda resistor + zenerdiod.

Mvh Jonas
zoomyx
Inlägg: 233
Blev medlem: 21 december 2011, 18:30:05
Ort: Orust

Re: Läsa 12V signal med en MCU?

Inlägg av zoomyx »

Jo klart man kan använda optokopplare...

Då menar du zenardiod som ett "överspänningsskydd"?
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Läsa 12V signal med en MCU?

Inlägg av hanzibal »

Om det är digital info så funkat ju en transistor med lämpligt basmotstånd eller optokopplare.

Om analogt så kan man väl använda en förstärkare (försvagare) för att skala ner signalen. Kanske lite väl komplicerat imförhållande till spänningsdelare och zener men kanske mer robust.
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Läsa 12V signal med en MCU?

Inlägg av Icecap »

Det finns många sätt - men jag gillar att vara säker och utgår därför oftast från att det 12V signal alstras av ett störigt miljö, därmed är optokopplare grejen! Med en sådan kan man isolera helt, alltså ingen anslutning via GND heller, mycket bra ur störningshänseende.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Läsa 12V signal med en MCU?

Inlägg av hanzibal »

Är det fastställt att signalen är digital och inte analog? En optokopplare är ju inte precis lineär :-)

Om anlogt så borde man väl också kunna använda en trafo för att växla ner till Arduino 0-5V - då får man ju också isolation och visst skydd mot spikar eller?
Användarvisningsbild
prototypen
Inlägg: 11105
Blev medlem: 6 augusti 2006, 13:25:04
Ort: umeå

Re: Läsa 12V signal med en MCU?

Inlägg av prototypen »

Det är ju bara det att det är lätt att bränna en optokopplare också.

Jag föreslår motstånd som ett T med en kondensator över den lodräta.

Kolla i databladet vad klampingdioderna tål och räkna vad impedansen från motstånden blir och det går ganska fort att komma upp i en tålighet på 1000 volt.

Protte
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Läsa 12V signal med en MCU?

Inlägg av sodjan »

> så borde man väl också kunna använda en trafo för att växla ner till Arduino 0-5V

Visa gärna ett schema över hur en trafo "växlar ner" 12V likström till en lägre spänning!
Användarvisningsbild
prototypen
Inlägg: 11105
Blev medlem: 6 augusti 2006, 13:25:04
Ort: umeå

Re: Läsa 12V signal med en MCU?

Inlägg av prototypen »

Det är ju klart att man kan, omvandla signalen till AC in i trafon och koppla till uC.

Analoga signaler går att omvandla till frekvenser som kopplas med hjälp av en trafo till uC som får räkna frekvensen isf att använda ADC:n.

Alla sätt är bra utom de dåliga.

Protte
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Läsa 12V signal med en MCU?

Inlägg av sodjan »

Självklart går det inte "med en trafo".
Skit samma, en optokopplare är enklast...
Användarvisningsbild
Gorgus
Inlägg: 2018
Blev medlem: 24 april 2006, 22:42:42
Ort: Eskilstuna
Kontakt:

Re: Läsa 12V signal med en MCU?

Inlägg av Gorgus »

Relä..? Om det är långsamma signaler...
zoomyx
Inlägg: 233
Blev medlem: 21 december 2011, 18:30:05
Ort: Orust

Re: Läsa 12V signal med en MCU?

Inlägg av zoomyx »

Jodå vi snackar långsamma signaler, en frekvens på typ 0.5-1Hz max?
Och ja det är digitala signaler, på eller av. Men som Icecap skrev så utgår jag också från att 12V är från en störigmiljö, ganska direkt från ett bilbatteri som sitter i en bil :)
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Läsa 12V signal med en MCU?

Inlägg av Icecap »

En annan möjlighet är just att ha motstånder mellan, jag har dock en ovilja att inte ha någon aktiv krets mellan signalen och µC'n, alltså t.ex. en transistor, bufferkrets (CMOS-logik 4050 är bra till detta), optokopplare eller liknande.

Är man rimligt säker på miljön kan man välja att "bara" ha ett motstånd mellan input och ett knutpunkt. Motståndsvärde på kanske 10k - 47k är ofta helt OK, såklart beroende på inkommande spänning. Samtidig har man en spänningsdelare om det behövs (t.ex. 12V -> 5V) och en kondensator som begränsar de snabbaste pulser. Självklart har man en clamper-diod i någon form, jag använder 4,7V zenerdioder. Från knutpunkten finns det sedan ytterligare ett motstånd in till µC'n - bara ifall. 10K är OK är med.
Användarvisningsbild
hanzibal
EF Sponsor
Inlägg: 2499
Blev medlem: 7 september 2010, 20:54:58
Ort: Malmö/Lund

Re: Läsa 12V signal med en MCU?

Inlägg av hanzibal »

sodjan skrev:> så borde man väl också kunna använda en trafo för att växla ner till Arduino 0-5V

Visa gärna ett schema över hur en trafo "växlar ner" 12V likström till en lägre spänning!
Tja, det var ju formulerat som en fråga och inte ett påstående men får erkänna att jag hade en föreställning att man genom att driva en ström genom ena lindningen runt en ferromagnetisk ring kunde få ut en annan spänning på andra sidan och detta även utan att nödvändigtvis alternera polaritet och därmed strömriktning.

Förhållandet mellan spänningarna på endera sidan skulle sedan vara likställt förhållandet mellan antalet lindningsvarv på respektive sida.

Analogt med detta drar man ju likström genom en spole i en solenoid för att få kärnan att röra sig. Fast mycket riktigt alternerar ju faktiskt strömmen från noll till något här så ja, det är ju AC.

I motsättning till ovan har jag för mig att en stav måste RÖRA sig genom ett statiskt magnetfält för att en ström skall induceras genom densamma. Om magnetfältet växlar behöver staven dock inte röra sig.

Återigen, detta är en fråga - har jag fått allt om bakfoten?

Allt detta under förutsättning att vi talade om en analog signal. Detta var inte fastställt när jag skrev men jag har nu förstått att det är digitalt och i så fall röstar jag helt klart på en optokopplare - med rätt motstånd i förhållande till strömtålighet bör det funka precis hur bra som helst tycker jag.
rawsezx
EF Sponsor
Inlägg: 165
Blev medlem: 29 juni 2005, 00:36:25
Ort: Sala
Kontakt:

Re: Läsa 12V signal med en MCU?

Inlägg av rawsezx »

Funkar det om ingången ifråga klarar/följer Volvo STD 515-0003?

I sådana fall så kan du koppla enligt följande schema.

D11 kan du byta ut till en som är spec. 5V samt R3 är inte nödvändig om MCU:n i fråga har intern pull-up på ingången.
T3 är också "överflödig" om du vill skicka in signalen direkt på pinnen

Edit:
Om det är fler digitala ingångar som ska läsas av så kan du skippa T3 och använda dig av exempelvis en 74LVX14 så har du 6 ingångar till MCU:n
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar