Läsa av signaler med för hög spänning

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
thomasa88
Inlägg: 118
Blev medlem: 9 februari 2008, 22:01:31

Läsa av signaler med för hög spänning

Inlägg av thomasa88 »

Sitter med en AVR som körs på 3.6V (kör usb med V-usb) och den behöver ta in 17 signaler som är på maximalt 3.8V från en batterimatad darttavla på 4.5V. Signaltrådarna ska belastas så lite som möjligt och jag vill helst inte slösa på batterierna i tavlan. En komplikation är att AVR:en kommer ha Vdd=0V när usb-kontakten inte sitter i.
ef_problem.png
Min första tanke var att köra dioder på alla signaltrådarna för att få ner dem till 3.1V, men de kommer dels inte kunna dra ingångarna på AVR:en låga (kan ev. fixas med väldigt svag pull) och värre är att när AVR:en är avstängd kommer den sluka ström från signaltrådarna genom sina skyddsdioder.

Nu funderar jag på om jag kan köra med parallell-in/seriell-ut-shift-register som matas med darttavlans 4.5V. Registret skulle då ta in signalerna direkt från tavlan och sedan kör man nivåkonvertering på de få trådar som måste gå till/från AVR:en. För nivåkonverteringen tänker jag då att man kan använda cmos-invertera som drivs av matningen för målenheten. Tänker mig också pull-downs på ingångarna till registret för att få det att inte förbruka energi när AVR:en är avstängd.
ef_shift.png
Låter det vettigt eller har jag överkomplicerat saker? :)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Nerre
Inlägg: 26762
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Läsa av signaler med för hög spänning

Inlägg av Nerre »

Vad är det för fel på en vanlig spänningsdelning?
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Re: Läsa av signaler med för hög spänning

Inlägg av rehnmaak »

Hur mycket ström kan du tolerera att dra från tavlan? Det absolut enklaste sättet är att sätta ett seriemotstånd på ingångarna. Om spänningen är från tavlan är >VDD+0.6V så kommer strömmen gå genom skyddsdioderna på ingången. Det står specat i databladet hur mycket som är tillåtet men det rör sig om många mA.

Om du sätter 1Mohm i serie så blir strömmen (3.8-0.6)/1Meg=3.2uA per ledning då USB kabeln är urkopplad. Men det kanske fungerar även med 10Mohm?

Alternativet är att sätta en PMOS transistor på varje ingång som stängs då USB-matningen försvinner då blir läckströmmen obetydlig.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4700
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Läsa av signaler med för hög spänning

Inlägg av Swech »

Du kan ta en vanlig transistor som du kopplar
Bas till din tavla. (med motstånd)
Emitter till jord
Kollektor till avr som du slår på intern pullup.

Du skall INTE ha signaler som driver en AVR på ingångarna om VCC saknas på AVRen.
den kan gå sönder i dessa fall.

Swech
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Re: Läsa av signaler med för hög spänning

Inlägg av rehnmaak »

Eftersom jag just nu inte hittar något i databladet som säger hur mycket ström som är tillåtet att köra i skyddsdioderna så skruvar jag ner det till att det är OFTAST inget problem att köra ström i skyddsdioderna.

Byt ut Swech bipolära transistor till en N-kanal MOSFET. Slå på den interna pullup:en på porten så behövs inget externt motstånd.
MiaM
Inlägg: 10183
Blev medlem: 6 maj 2009, 22:19:19

Re: Läsa av signaler med för hög spänning

Inlägg av MiaM »

Om man inte hittar spec för skyddsdioderna så är det väl inte värre än att komplettera med externa (schottky)dioder och om man verkligen vill ha hängslen och livrem ett extra motstånd efter extern skyddsdiod påväg till ingången.


Om du vill ha en extern krets ungefär som du ritat skiftregistret, och har tillräckligt med i/o-pinnar för att ta in signalerna parallellt, så kanske du kan hitta någon 8-bit buffer med aktivt hög enablesignal? Mata gärna bufferten/skiftregistret med två dioder både från USB-5V och darttavlan.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4700
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Läsa av signaler med för hög spänning

Inlägg av Swech »

Kör man bipolärt med delare på basen, 10k till jord och 10k till tavlan så får man bättre
ESD skydd jämfört med att lägga ut en gate på en mos utan någonting...

Swech
thomasa88
Inlägg: 118
Blev medlem: 9 februari 2008, 22:01:31

Re: Läsa av signaler med för hög spänning

Inlägg av thomasa88 »

Många svar! :)

Nerre: Hade ingen tanke på att använda resistorer. Tänker att det kanske tar för mycket ström från tavlan, men stora motstånd skulle ju iofs kunna fungera.

rehnmaak: Resistorer seriekopplade på ingångarna verkar vara den enklaste lösningen, även om det inte känns helt okej. Då känns det snyggare med spänningsdelning. Har för mig att jag hört något om <1mA på AVR och några mA på PIC för skyddsdioderna, har dock ingen källa.


Jag vet tyvärr inte hur mycket tavlan kan lastas, men om man har en AVR utan matning inkopplad så stör det tavlans funktion (den har dock överlevt :vissla:). Jag gissar på att det är någon mA för att driva AVR:en genom skyddsdioderna och då kanske det funkar om man bara får in uA. :humm:


Swech: Smart trick att köra common emitter med pull-up:en. Dock samma problem som med resistorerna att det drar lite ström hela tiden, iofs skulle ett shift-register göra det också. Tänker att jag kanske kan skippa esd-skydd eftersom allt kommer sitta inuti tavlan.

MiaM: Köpte en avr med många pinnar innan jag kom på att jag hade spänningsskillnader, så ingångar har jag. Kändes lite som att om jag ska ha avancerade kretsar utanför får de gärna använda några pinnar, men ser att det verkar finnas buffrar som kan konvertera ner spänningen och då slipper jag egen konvertering. Smart med hög enable och att mata från båda källorna.


Tycker det verkar smidigast med nmos kopplad common-source med avr:ens interna pull-up eller buffrar som kan göra nivåkonvertering (även om de kommer dra lite ström hela tiden men då kanske har esd-skydd). Letade runt lite på elfa och electrokit efter kapslar med flera nmosar i, men jag hittade inga. Finns de inte eller heter de något lurigt? Jag försökte med transistornät (inga träffar) och drivkretsar (bara bipolära eller effektmosfet).
ghu
Inlägg: 607
Blev medlem: 6 juni 2010, 14:28:18

Re: Läsa av signaler med för hög spänning

Inlägg av ghu »

CMOS-kretsen 4049 kan vara lämplig i detta sammanhanget. Den innehåller 6 inverterare som klarar det nivåskift som du är ute efter samt alla andra krav som du ställt upp. Om du inte vill ha invertering så välj 4050.
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Re: Läsa av signaler med för hög spänning

Inlägg av rehnmaak »

Jag trodde dessa hade samma ingångsdioder som alla andra men efter läst databladet där det står "The input-signal high level (VIH) can exceed the VCC supply voltage when these devices are used for logic-level conversions".

Så verkar det som en bra lösning. Jaja, alltid lär man sig något nytt...

http://www.ti.com/lit/ds/symlink/cd4049ub.pdf
thomasa88
Inlägg: 118
Blev medlem: 9 februari 2008, 22:01:31

Re: Läsa av signaler med för hög spänning

Inlägg av thomasa88 »

4049 ser trevlig ut, även om den inte har enable så verkar den bara dra tiotals nanoampere :). Däremot blir jag lite orolig för V_IH(min) som är 4V med Vcc=5V, fast p-mosen borde ju slå av tidigare om Vcc=3.6V. Ser att 4050 (non-inverting) har V_IH(min)=3.5V vid Vcc=5V. Tolkar det också som att den inte tar illa upp av Vcc=0V och V_I>0V så borde gå med matning bara samma matning som avr:en har (3.6V).
ghu
Inlägg: 607
Blev medlem: 6 juni 2010, 14:28:18

Re: Läsa av signaler med för hög spänning

Inlägg av ghu »

4049 kommer att fungera alldeles utmärkt i din koppling. Som du misstänker så ändras V_IH(min) då matningsspänningen ändras så du behöver inte vara orolig för detta. Använd bara samma matningsspänning som på AVR:n, 3.6 V , så kan insignalen till 4049 vara upp till 15V.
Om du vill ha en modernare variant som är snabbare och vars matningsspänning går ned till 2.0 V istället för 4049 som kräver min 3.0V så titta på 74HC4049.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4700
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Läsa av signaler med för hög spänning

Inlägg av Swech »

Byt ut batteriena mot en adapter och mata hela härligheten från samma källa
så har du blivit av med en hel del av problemen.... :D

Annars, med ursprungsproblematiken: skall du ha allt i samma tavla så kör med mosfetar, dessa drar ju ingenting....

Swech
thomasa88
Inlägg: 118
Blev medlem: 9 februari 2008, 22:01:31

Re: Läsa av signaler med för hög spänning

Inlägg av thomasa88 »

Tar och slänger ned någon variant av 4049 i min varukorg.

Apropå enbart nmos:ar så har jag letat efter mosfet-arrayer men inte hittat några. Har hittat kapslar med 2 st ( 71-152-07 ) men de är dyrare än att slänga dit enkla nmos:ar, och det känns lite surt att trycka dit så många. Är jag bara extremt dålig på att söka eller finns det inga kapslar med, säg, 6 nmosar som har gemensam source? :(

edit.
Och tavlan ska fungera att köra helt själv med enbart batteri, annars är det ju ingen utmaning ;)
Skriv svar