Sida 1 av 1

Pic mäta kapacitans

Postat: 23 februari 2022, 19:40:01
av TheUnreal
Jag har ett litet projekt där jag vill mäta kapacitans, åt det lite lägre hållet pF området.
Jobbar med en pic12f629 då jag har 30-talet av dom över från tidigare projekt.

Använder komparatorn ställd på ca 0,63 VDD med kapacitans mellan VSS och komparatoringång.
Till annan utgång sitter just nu 1Mohm resistor och jag mäter med timer tiden det tar för kapacitansen att laddas upp till 0,63 VDD
Högre resistor ger ostabila värden.

Läste nu databladet att det rekommenderas max 10Kohm i signalen för analoga ingångar i pic.
Ser även att Arduindo verkar jobba mot den digitala omslagsnivån på vanlig ingång för sin kapacitansmätning, och där säger de sig kunna använda resistanser upp till 50Mohm.

Jag tänkte att det kunde vara positivt att justera omslagsnivån.
Vad tror ni, har jag valt fel väg med komparatorn?

Re: Pic mäta kapacitans

Postat: 23 februari 2022, 19:47:54
av sodjan
Jag är inte säker, men max resistansen har väl med AD omvandlaren att göra.
Komparatorn borde fixa betydligt högre resistans på ingången utan att ge fel.
Sen så har ju ingången en egen-kapacitans på ca 5 pF vilket kan störa beroende
på vad "det lite lägre pF området" betyder i praktiken.

Re: Pic mäta kapacitans

Postat: 23 februari 2022, 20:26:19
av Klas-Kenny
Säger som Sodjan, komparativt borde inte vara något problem med hög resistans på ingången.

Med ADC som kör sample and hold kan det bli problem med för hög resistans då kondensatorn inne i sample-and-hold-kretsen inte hinner laddas upp under samplingstiden, vilket ger effekten att man får för låga mätvärden. Många gånger kan det till viss del lösas med längre samplingstid, annars kan det ibland (om man inte har extrema krav på noggrannhet) lösas med lite annan skalning av mätvärdet, så har jag gjort i en applikation, det fungerar bra.

Men som sagt, med en komparatoringång borde man inte ha det problemet.

Re: Pic mäta kapacitans

Postat: 23 februari 2022, 20:29:32
av TheUnreal
Om jag nu inte snubblar i matematiken så ligger jag runt 50pF.
50uS till 63% av VDD med 1 Mohm resistor.

Re: Pic mäta kapacitans

Postat: 23 februari 2022, 21:35:18
av TomasL
Utan mätobjektet inkopplat?
Det är vad jag skulle gissa faktiskt med tanke på kapacitanser i kort, anslutningar osv.

Re: Pic mäta kapacitans

Postat: 23 februari 2022, 22:32:35
av TheUnreal
Testriggen består av pic12f629 på intern 4MHz klocka med 100nF avkopplingskondensator och laddresistor på labbkort med lödbanor.
På kortet sitter även 3 pin header för spänningsmatning 3,3 volt från Raspberry, samt seriekommunikation från pic till Raspberry.

50pF med avsett mätobjekt inkopplat via ca 5 mm kopparbana och ca 30 mm ledare från Cat6-kabel.

Med högre laddresistor än 1 Mohm ökar variansen i mätningarna, jag har utan att forska vidare i det avskrivit det som radiostörningar pga hög resistans.
Men blev osäker på detta när jag studerade hur arduino mäter kapacitans, i exempelvideo mäter man med fyra ledare från bandkabel och detekterar då om bandkabeln doppas i vatten eller ej.
Det sägs där att upp till 50 Mohm går att använda, men jag har bara testat upp till 6,8 Mohm med pic och mätning via komparatorn.
Dock erbjuder arduino biblioteket ackumulerat mätvärde från flera mätningar och det har jag inte provat i mina försök än då jag fortfarande utvärderar om det är genomförbart att mäta som jag tänkt.
Men är det brus så reducerar ju fler mätningar brusets påverkan med.
Det nämns dock att jordning är viktigt för att undvika störningar i arduino-dokumentationen, jag har inte undersökt om detta är en faktor som påverkat mina resultat.

Så jag är tänker mig nu att ta detta vidare genom att:
*Ta fram kod för mätning även mot digitala omslagsnivåer för att får jämförelsedata mot komparatorbaserad mätning
*Kontrollera om jordning av krets påverkar resultat, för båda kodversionerna.
*Kopiera den givare som används i för att mäta vatten med arduino och se om den fungerar med min pic-baserade kod.

En annan lösning som ger bättre mätdata är att öka klockfrekvens, men då måste jag kleta dit en kristall...

https://playground.arduino.cc/Main/CapacitiveSensor/
https://www.instructables.com/The-Simpl ... re-Sensor/
(kan ju iofs vara en sån där free energy film det där...)

Re: Pic mäta kapacitans

Postat: 24 februari 2022, 06:59:30
av Icecap
Du bör jämna ut mätningar för att det 50Hz som induceras inte ska störa.

Detta bör göras i programmet, ett antal mätningar över 20ms tidsrymd eller multipla därav.

Re: Pic mäta kapacitans

Postat: 24 februari 2022, 20:46:15
av ecenier
Förstår att du vill använda de chip du har, men det skulle vara väldigt mycket enklare att bara använda en pic med stöd för touch button.

Re: Pic mäta kapacitans

Postat: 28 februari 2022, 13:09:10
av swesysmgr
Prova att konstantströmsladda kondensatorn istället som med dual slope mätning av spänning fast du räknar ut kondensatorn värde istället? Du vet strömmen i och får dv/dt genom att mäta tiden och den linjära sågtandens toppvärde med komparatorn?

Edit: ladda skulle det stå

Re: Pic mäta kapacitans

Postat: 3 mars 2022, 00:12:39
av TheUnreal
Tackar för engagemanget.

Konstantströmsmetoden är riktigt intressant, jag lägger den på minnet :)

Nu har man ju inte oceaner av tid sedan barnen kom, men jag har klämt in några tester.
Ordentlig jordning ger stabila mätvärden med 6M8 resistor, så jag behåller komparatorn (och glömmer batteridrift, inte för att det var aktuellt till att börja med...)

Mätvärdena är så stabila att jag tänker mig att det skulle räcka med fem mätningar och ta medianen.
Men jag orkar inte sortera så jag summerar nog åtta mätningar och skiftar in några nollor i MSB :)
Går vidare med projektet helt enkelt :)


Men jag kan ju passa på att hijacka min egen tråd :)
Tog fram ett gammalt mätprojekt jag byggt kring pic16f870 på det glada 00-talet, på den tiden drevs den av 5 volt och levererade data via UART.
Tänkte mig att koppla den direkt till en RPI och då driva den på 3.3 volt, men kristallen började inte oscillera på 3.3 volt dock gick den som den skulle på 5 volt.

Ärligt talat har jag bara använt kristall i 5 volt system, och sedan dess mest använt internoscillator.
4 MHz kristall och 30pF kondingar har nog varit min standardlösning sedan jag började med 16f84...
Jag tycker inte jag hittar någon bra förklaring i databladet på varför den går i 5 volt men ej i 3.3.
Vad säger er erfarenhet, är det kondingarna som bör vara åt 15-20pF hållet för att gå i 3.3 volt???

Edit: förtydligade att den gick på 5 volt.

Re: Pic mäta kapacitans

Postat: 24 oktober 2022, 15:10:50
av 4kTRB
AN611 från Microchip har en del läsvärt om kapacitansmätning.