Mäta spänning vid intervaller

Övriga diskussioner relaterade till komponenter. Exempelvis radiorör, A/D, kontaktdon eller sensorer.
bearing
Inlägg: 11232
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Mäta spänning vid intervaller

Inlägg av bearing »

4kTRB skrev:Om det är enklare så varför gör de inte en enklare switch med CD4007 när den innehåller så många?
De löser olika uppgifter. Den ena kopplar in/ur en spänningsdelare. Den andra är en generell krets med ett flertal MOSFET, som bland annat går att koppla som en analog multiplexer med två kanaler.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Mäta spänning vid intervaller

Inlägg av Rick81 »

Jag kör STM32 och har matar med 3.3 V vilket också är referensspänning.

Det räcker mäta om batteriet är dåligt laddat så 0.1 V noggrannhet borde funka bra.

Vilka motståndsvärden rekommenderar ni då?
bearing
Inlägg: 11232
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Mäta spänning vid intervaller

Inlägg av bearing »

Du kan ju prova med 22k och 1k

Det är för övrigt p.g.a de begränsade möjligheterna för referens som jag aldrig börjat med STM32. Jag fastnar alltid vid att ADC:n har så begränsade möjligheter för referensspänningen. Atmel med Cortex blir nog mitt nästa steg.
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Mäta spänning vid intervaller

Inlägg av snigelen »

Jag antar att anledningen till att du inte vill sätta transistorn i botten är för att inte riskera att få för hög spänningen på ADC-pinnen när du inte har aktiverat spänningsdelaren?

Men har du en inte allt för gammal STM32 så är ju så gott som alla IO-pinnar 5V-toleranta, förutom när de är i analog konfiguration.

Man skulle i så fall kanske kunna sätta transistorn i botten och normalt ha ADC-pinnen konfigurerat som digital ingång (5V-tollerant).

Så vill du hålla fast vid N-kanal och det är dags att mäta:

- Aktivera spänningsdelaren
- Konfigurera pinnen för ADC-mätning.
- Mät spänningen, spänningsdelaren kan vara konfigurerad för att ge nära 3.3V vid högsta tänkbara batterispänning.
- Deaktivera ADC och återställ pinnen till digital ingång.
- Deaktivera spänningsdelaren

Men det bästa är nog en P-kanal i toppen av spänningsdelaren i stället. IO-pinnen (5V-tolerant) till gaten, med svag pullup till Vbat, kan vara konfigurerad som open-drain för att helt "släppa" transistorn när du inte mäter. Då behöver du inte bekymra dig om att få för hög spänning på ADC-pinnen.

Vänta ett tag, var det inte det IceCap sade?
Borre
Inlägg: 4565
Blev medlem: 14 juni 2007, 15:43:50
Ort: Hälsingland

Re: Mäta spänning vid intervaller

Inlägg av Borre »

Jo nästan, han menar att man styr gaten på p-kanalen med en n-kanal mosfet mot gnd. Det är en lösning jag själv nästan alltid använder, kostar knappt nnågot och tar marginellt mer plats men desto mer användbart.

Men är pinnen 5V-tolerant fungerar ju ditt förslag bra och man klarar sig med bara en transistorn men slipper begränsningarna som tidigare förslag ger.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Mäta spänning vid intervaller

Inlägg av Icecap »

Min lösning kommer av erfarenhet och jag påstår inte att den är den enda möjliga.
Men den är stabil som fan och fungerar i snart sagt alla lägen.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Mäta spänning vid intervaller

Inlägg av Rick81 »

Om jag byter till denna transistor borde det funka bättre?
https://se.farnell.com/on-semiconductor ... dp/9845011

Nu har jag inte så där bra koll på mosfet men den har VSD på 0.8 - 1.2 V.

Spänningsdelning är för att begränsa ström (räcker visserligen med ett motstånd) samt inspänning på ADC pinne.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Mäta spänning vid intervaller

Inlägg av Icecap »

Hmmm. Du vill styra gate med ett 3,3V signal och då kan du - vid Vgs på 1,5V - driva max 50mA.
Såklart behövs inte så mycket ström för att utföra mätningen men likaväl får du ett ganska lågt område på mätningen.

1,8V max kan det bli, och blir spänningen som mäts för hög kommer den per automatik att begränsa mätströmmen - så för att kunde mäta 0-5,5V varefter alla mätningar bara är "för hög" får du även mindre område.

Men visst, klarar den koppling dina parameter är det ju helt OK.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Mäta spänning vid intervaller

Inlägg av Rick81 »

Batteriets spänning kommer vara max 4.2 V (när batteriladdare laddar batteriet) så det borde funka.

Såg nu att ST redan tänkt på detta fall:
This embedded hardware feature allows the application to measure the VBAT battery voltage using the internal ADC channel ADC1_IN18. As the VBAT voltage may be higher than VDDA, and thus outside the ADC input range, the VBAT pin is internally connected to a bridge divider by 3. As a consequence, the converted digital value is one third the VBAT voltage.

Vet dock inte hur mycket krypström den drar....
bearing
Inlägg: 11232
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Mäta spänning vid intervaller

Inlägg av bearing »

Vill du inte använda 22k med 1k i spänningsdelaren som jag föreslog?
Du har ju en 12-bit ADC, så upplösningen borde ju räcka för att mäta batterispänning, särskilt om du lägger ett flytande medelvärde i programmet.

Funktionen för att mäta batterispänning är till för när du matar VDD direkt från batteriet. Matar du från batteriet eller via en spänningsregulator?
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Mäta spänning vid intervaller

Inlägg av Rick81 »

Den förra MOSfeten kändes ju felvald ändå (tog den från en annan konstruktion) och den jag hittade nu är pinkompatibel.

Som jag tolkar databladet så kan man koppla VBAT till själva batteriet som kan gå över 3.3V även trots att en LDO matar processorn med 3.3V:
As the VBAT voltage may be higher than VDDA, and thus outside the ADC input rang
Man kan ju inte mata STM32 direkt från batteri pga begränsad ingångsspänning så jag trodde det var så ST löst det? Om funktionen redan finns på processorn slipper jag ju 2 motstånd + MOSFET
bearing
Inlägg: 11232
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Mäta spänning vid intervaller

Inlägg av bearing »

Verkar ju smidigt, en sån ingång har jag inte sett förut. Förhoppningsvis kopplas spänningsdelaren ur när du väljer en annan ingång på AD-omvandlaren. Men jag har inte kollat databladet alls, det är som sagt bara en gissning/förhoppning.

Det går ju att använda andra batterier som har lägre spänning annars, för att slippa regulatorn.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Mäta spänning vid intervaller

Inlägg av Rick81 »

I mitt fall har jag andra kretsar med minimum 3.0 V arbetsspänning så jag måste ha LDO.
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Mäta spänning vid intervaller

Inlägg av snigelen »

Vilken STM32 har du?
En snabbsökning på "STM32 Vbat ADC" indikarar att du kan slå på/av den interna spänningsdelaren med "signalen" CH18SEL. I vilket fall som helst så står det ju i databladet/referensmanualen för din STM32.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Mäta spänning vid intervaller

Inlägg av Rick81 »

STM32L4 kör jag.

Hur menar du slå av? jag vill ju antingen helt avstängd eller delat med 3...inte slå av delat med 3....får ju inte få 4.2 V in på ADC
Skriv svar