Spørgsmål:
PIC-spændingsmåling
Kheng
2009-12-02 19:17:10 UTC
view on stackexchange narkive permalink

Jeg kører en batteridrevet enhed og vil gerne have, at min mikrocontroller (PIC) rapporterer om forsyningsspændingen.

Dette er så jeg kan bestemme, hvor mange batterier der bruges i forsyningen, og også batteriets ladetilstand.

Forsyningsspænding varierer fra 4xD (enten 1,2V nominel NiMH eller 1,5V alkaliner, der producerer ca. 6V) til 12xAA (1,2V NiMH til 14,4V eller 1,5V alkalisk til 18V).

Min PIC kører fra en reguleret 5V-forsyning.

Jeg planlægger at bruge en af ​​ADC-porte til at måle spændingen og mener derfor, at jeg skal kortlægge 18V f.s.d. til området 0-5V, så nogenlunde bliver jeg nødt til at dele indgangsspændingen med 3.

Jeg har hørt om at bruge en modstandsspændingsdeler, men ved at det kan være spildt med hensyn til energi forbrugt.

Spekulerer på, om der er en bedre måde at opnå denne spændingsopdeling uden for meget energitab / spild?

Tak.

To svar:
Jason S
2009-12-02 20:25:36 UTC
view on stackexchange narkive permalink

du vil have en spændingsdeler. Hvis du er interesseret i strømafbrydelse, er der et par ting, du kan gøre:

  • Brug en ret høj impedans spændingsdeler med en kondensator på udgangsterminalen, og buffer den med en lav-effekt op-amp. Sørg for at bruge et RC-filter mellem op-amp og ADC, værdierne for dette RC-filter er typisk omkring 50-200 ohm, 1000pf. Dette tjener til at holde spændingen stabil, når ADC skifter mellem kanaler, og opladning overføres mellem ADC's interne kondensator og den udvendige pin. En op-amp alene kan ikke gøre dette. Hvis du ikke buffer den høje impedans spændingsdeler, får du fejl på grund af ADC lækstrøm og overførsel af ladning.

  • skift spændingsdeleren, f.eks. tilslut / afbryd den til forsyningsspændingen, så du kan kun gøre dette lejlighedsvis, når du vil. En PFET fungerer, vær bare forsigtig med, hvordan du kører den.

Dette lyder godt, jeg vil bare tilføje, at du skal indlæse (trække strøm fra) et batteri for at få en realistisk måling af den resterende batterilevetid. Du har det meget bedre med en højere strømdeler med en slukkontakt.
Jeg har lige sendt et lignende svar og stemt for at slette det. Tilsyneladende havde jeg en gammel version af siden cachelagret. Jeg stemte dette op, det er vejen at gå.
+1 til at skifte spændingsdeler. Et meget nyttigt trick.
@Kortuk: du har et meget godt punkt, men jeg vil afkoble spændingsdeleren fra batteriets belastning. Det er virkelig nemt at køre en N-kanal FET direkte fra en mikrokontroller (godt ... der skal være en lille modstand mellem mikro output + FET gate, jeg bruger normalt 10-100 ohm) og har en modstand fra FET afløb til strømforsyning . Meget lettere end at prøve at kombinere disse to funktioner og finagle en omskiftelig spændingsdeler. Derudover er der mange gange, hvor du vil måle en batterispænding uden belastning eller næsten uden belastning. Faktisk hvis jeg skulle vælge det ene eller det andet, ville jeg måle det uden belastning.
Clint Lawrence
2009-12-03 02:37:18 UTC
view on stackexchange narkive permalink

Jason S har givet et godt forslag til, hvordan du kan reducere strømmen, hvis det kræves. Men inden du gør livet mere kompliceret for dig selv, er det muligt at bestemme, hvor meget strøm du virkelig har råd til.

For ethvert design med lav effekt skal du overveje det samlede strømbudget. For en batteridrevet enhed bestemmes dette normalt af batteriernes ønskede levetid. Hvis den samlede effekt fra resten af ​​kredsløbet er betydeligt mere end modstandsdeleren, behøver du enten ikke at bekymre dig om det, eller du har andre strømhungrige dele af kredsløbet at bekymre dig om.

+1 for at påpege vigtigheden af ​​perspektiv. Jeg vil tilføje, hvis det er 1% af dit strømbudget, er det ikke værd at bekymre sig om (medmindre du har en masse spændingsdelere!) - hvis det er 5-10% af dit strømbudget, kan det være værd at bekymre sig om; hvis det er 20% eller mere, er det. (bare min 2c)
Det lyder som en god tommelfingerregel for mig. Det andet vigtige punkt er, at vi kan måle og beregne disse ting. Og gør det mere nyttigt end at gætte :)
Godt punkt Jason. Lidt mere om applikationen: det er et belysningssystem, der sidder ubrugt i lange perioder, og når det tændes, trækker det ca. 3A fra forsyningen med et konstant strømkredsløb. Så i drift er strømforbruget til spændingsovervågning en ubetydelig del af den samlede strømforbrug. Men i standbytilstand vil jeg gerne have, at batterikapaciteten ikke drænes unødigt så meget som muligt, eller rettere vil jeg gerne have, at enhver uundgåelig parasitafløb minimeres i standbytilstand.
@Kheng: Er det muligt at have alt undtagen mikrocontrolleren på en separat strømforsyning? De tænder periferiudstyret på én gang med et relæ eller et fet under kontrol af uC. Det skal derefter være let at styre standbystrømmen på uC, og du behøver ikke bekymre dig om at minimere strømmen i individuelle kredsløb.
@Kheng: "Jeg vil gerne have, at batterikapaciteten ikke drænes unødigt så meget som muligt" er for spidshåret til en ingeniør. Hvad er den gennemsnitlige strøm, der trækkes? For at beregne, skal du kende den gennemsnitlige driftscyklus og tomgangsstrømmen. Anvend derefter de tommelfingerregler, som Jason har givet, for at se, om det giver mening at gøre noget mere kompliceret end en modstandsdeler. Ingeniørarbejde gør IKKE det 'bedst mulige', det 'opfylder kravene til de laveste omkostninger'.


Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 2.0-licens, den distribueres under.
Loading...