Fluid pressure sensor uitlezen met MCP3008 & RPI

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • ClickTwice
  • Registratie: Augustus 2008
  • Laatst online: 20-05 13:10
Onlangs heb ik een beregeningssysteem geïnstalleerd en aangesloten op een pomp in mijn regenwatertank.
Nu wil ik ten alle tijden het niveau van deze regenwatertank kunnen monitoren. Hiervoor kocht ik een liquid level sensor. Deze sensor wordt gevoed met 24VDC en geeft een signaal terug van 0-10V waarbij 10V betekend dat er 2m water in staat.

Na wat uitzoeken ben ik op de chip MCP3008 uitgekomen om het analoge 0-10V signaal om te zetten naar een digitaal signaal voor mijn RPI. Ik ben niet erg onderlegt in electronica maar experimenteer er wel graag mee.

Om mijn RPI & MCP3008 te beschermen heb ik een voltage divider gemaakt met weerstanden om het analoge signaal tussen 0 en 3V te brengen.

Initieel werkte alles perfect maar na enkele dagen kreeg ik enkel nog 0 waarden ondanks er wel degelijk een analoog signaal was dat de tank bijna vol was (even met de multi meter gemeten). Na heel wat trail en error gisteren de MCP3008 vervangen en de hele setup opnieuw opgebouwd op een breadboard. Met een adapter om mee te testen werkte alles weer, echter na het aansluiten op de effectieve sensor kreeg ik weer direct 0 waarden. Nochtans geeft de sensor zelf wel 8V dus 4/5de tank gevuld (multimeter).

Gezien ik wat ben afgeweken van alle schema's die te vinden zijn op het net waar men steeds de 3.3v zowel voor digital als analoge input gebruikt zit ik dus met een externe power supply van 24v en de 3.3v van de RPI. Mogelijks is er wat mis met mijn assumpties en blaas ik de ene MCP3008 na de andere op... Iemand een idee of mijn schema correct is of wat de oorzaak zou kunnen zijn?

Afbeeldingslocatie: https://tweakers.net/i/61JevJdju6SU2Dn_CNWgyncoT8A=/800x/filters:strip_exif()/f/image/3N7sQFrVyqBfdExpckp8QFCp.png?f=fotoalbum_large

[ Voor 4% gewijzigd door ClickTwice op 30-06-2021 10:42 ]

Beste antwoord (via ClickTwice op 30-06-2021 14:53)


  • dragonhaertt
  • Registratie: Februari 2011
  • Nu online

dragonhaertt

@_'.'

ClickTwice schreef op woensdag 30 juni 2021 @ 13:02:
[...]


- Wat zou ik zoal kunnen toevoegen als beveiliging en filtering? Ben echt een leek op dit vlak.
- 0-10V is effectief zo, net nog eens nagemeten met de multimeter

Ik test nog even met een externe voeding zonder sensor via de voltage divider
Op de ingang kan je een laag doorlaat filter toevoegen.
Ook kan je een schottky-diode toevoegen naar zowel de aarde als de voedingslijn, om onder/overspanningen te voorkomen.

Dit zijn twee typische manieren om analoge ingangen te beschermen.

Afbeeldingslocatie: https://www.analog.com/-/media/analog/en/landing-pages/technical-articles/protecting-adc-inputs/figure2.jpg?h=270&la=en&vs=1

Analog Devices heeft een goed stukje uitleg over verschillende manieren van beschermen. Inclusief het bovenstaande plaatje.
Hier wordt een versterker, diode-protectie en laagdoorlaat filter toegepast.

De 'versterker' (buffer) is in jouw geval misschien wat overkill. Een spanningsdeler zoals je nu hebt toegepast is ook oké.

[ Voor 32% gewijzigd door dragonhaertt op 30-06-2021 14:23 ]

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.

Alle reacties


Acties:
  • 0 Henk 'm!

  • Tom-Z
  • Registratie: Augustus 2010
  • Laatst online: 21:08
Heb je ook documentatie van de sensor?

Acties:
  • 0 Henk 'm!

  • ClickTwice
  • Registratie: Augustus 2008
  • Laatst online: 20-05 13:10
Afbeeldingslocatie: https://tweakers.net/i/lm2H-95D5G7kmQ0T2TJx_YXnDzA=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/3uXlHsRkJK5El63tJenBUZuN.jpg?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/rl2e8gxUH_KRgVPkHndnJK0WM1M=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():fill(white):strip_exif()/f/image/3CtjyrznMYJjEL9akCiQdj8U.webp?f=user_large

Je kan ze in verschillende specs kopen maar mijn meet dus tussen 0-2meter met 0-10v output. Gebruik het middelste aansluitschema

Acties:
  • 0 Henk 'm!

  • dragonhaertt
  • Registratie: Februari 2011
  • Nu online

dragonhaertt

@_'.'

Heb je al met een multimeter op de analoge input zelf gemeten?
En waar haalt de RPI zijn voeding vandaan?

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


Acties:
  • 0 Henk 'm!

  • ClickTwice
  • Registratie: Augustus 2008
  • Laatst online: 20-05 13:10
dragonhaertt schreef op woensdag 30 juni 2021 @ 10:35:
Heb je al met een multimeter op de analoge input zelf gemeten?
Ja zeker en dat blijft werken. Zo weet ik momenteel hoeveel water er nog in de tank zit. Nu het nog digitaal krijgen.
dragonhaertt schreef op woensdag 30 juni 2021 @ 10:35:
En waar haalt de RPI zijn voeding vandaan?
Standaard RPI USB C adapter.

Acties:
  • 0 Henk 'm!

  • dragonhaertt
  • Registratie: Februari 2011
  • Nu online

dragonhaertt

@_'.'

Tja, óf je aansluiting is niet goed, óf je analoge ingang is stuk.
Ik zou toch eens proberen dat tweede eerst uit te sluiten.

Je meet niks, wat als je kunstmatig een waarde aanbied? (voltage divider vanaf de voeding bijvoorbeeld)

Als je CH0 werkelijk defect is dan kan je gaan kijken waar het vandaan komt, en hoe je dat kan voorkomen.
Werken je andere analoge ingangen nog wel?
Is die 0-10V wel werkelijk 0-10V?
Pak je ergens anders storingen of ground-loops op, waardoor je ingang stuk kan gaan?

Als hij stuk is dan zou ik eens beginnen met wat beveiliging en filtering toepassen op de voedingslijn en analoge ingangslijn.

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


Acties:
  • 0 Henk 'm!

  • ClickTwice
  • Registratie: Augustus 2008
  • Laatst online: 20-05 13:10
dragonhaertt schreef op woensdag 30 juni 2021 @ 12:57:
Tja, óf je aansluiting is niet goed, óf je analoge ingang is stuk.
Ik zou toch eens proberen dat tweede eerst uit te sluiten.

Je meet niks, wat als je kunstmatig een waarde aanbied? (voltage divider vanaf de voeding bijvoorbeeld)

Als je CH0 werkelijk defect is dan kan je gaan kijken waar het vandaan komt, en hoe je dat kan voorkomen.
Werken je andere analoge ingangen nog wel?
Is die 0-10V wel werkelijk 0-10V?
Pak je ergens anders storingen of ground-loops op, waardoor je ingang stuk kan gaan?

Als hij stuk is dan zou ik eens beginnen met wat beveiliging en filtering toepassen op de voedingslijn en analoge ingangslijn.
- Wat zou ik zoal kunnen toevoegen als beveiliging en filtering? Ben echt een leek op dit vlak.
- 0-10V is effectief zo, net nog eens nagemeten met de multimeter

Ik test nog even met een externe voeding zonder sensor via de voltage divider

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • dragonhaertt
  • Registratie: Februari 2011
  • Nu online

dragonhaertt

@_'.'

ClickTwice schreef op woensdag 30 juni 2021 @ 13:02:
[...]


- Wat zou ik zoal kunnen toevoegen als beveiliging en filtering? Ben echt een leek op dit vlak.
- 0-10V is effectief zo, net nog eens nagemeten met de multimeter

Ik test nog even met een externe voeding zonder sensor via de voltage divider
Op de ingang kan je een laag doorlaat filter toevoegen.
Ook kan je een schottky-diode toevoegen naar zowel de aarde als de voedingslijn, om onder/overspanningen te voorkomen.

Dit zijn twee typische manieren om analoge ingangen te beschermen.

Afbeeldingslocatie: https://www.analog.com/-/media/analog/en/landing-pages/technical-articles/protecting-adc-inputs/figure2.jpg?h=270&la=en&vs=1

Analog Devices heeft een goed stukje uitleg over verschillende manieren van beschermen. Inclusief het bovenstaande plaatje.
Hier wordt een versterker, diode-protectie en laagdoorlaat filter toegepast.

De 'versterker' (buffer) is in jouw geval misschien wat overkill. Een spanningsdeler zoals je nu hebt toegepast is ook oké.

[ Voor 32% gewijzigd door dragonhaertt op 30-06-2021 14:23 ]

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


Acties:
  • 0 Henk 'm!

  • Taygeta
  • Registratie: April 2005
  • Laatst online: 20-05 14:27

Taygeta

KTM 790 Adventure

The channel pin CH0 to CH7 can be used to feed in the analog voltage which has to be measured. The maximum voltage that can be measured with each is pin will be equal to the reference voltage. In our case it is 5V. Each pin measures the voltage with a resolution on 10-bit meaning the input voltage of 0-5V is converted to 0-1023 digital data. The formulae to convert this digital data back into voltage is:
En op de Vref heb jij 3.3v staan... gaat het daarom niet fout?

Acties:
  • 0 Henk 'm!

  • ClickTwice
  • Registratie: Augustus 2008
  • Laatst online: 20-05 13:10
Zonet weer eens de volledige setup met een nieuwe MCP3008 gedaan en alles werkte.
Ik schakel 1x een van mijn kleppen op 24VDC voor mijn beregening (zelfde voeding) en de MCP3008 geeft de geest.

Bij deze is dus het schema correct maar dien ik echt zoals @dragonhaertt aangaf mijn analoge inputs te beschermen. En ga ik uit voorzorg een "dedicated" voeding voorzien

Acties:
  • 0 Henk 'm!

  • dragonhaertt
  • Registratie: Februari 2011
  • Nu online

dragonhaertt

@_'.'

Als de hele MCP de geest geeft, zou het ook de voeding kunnen zijn. Ik weet niet hoe goed die RPi voeding is, maar als je geen 'buffer' hebt op de ingang van de voeding van de MCP lijkt het me ok heel realistisch dat die spanning hard onderuit gaat op het moment dat je een klep schakelt.

Hoe ziet je schakeling er fysiek uit? Heb je de MCP op een breadboard / experimenteer printje? Of heb je een dev board met de MCP er op?

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


Acties:
  • 0 Henk 'm!

  • dragonhaertt
  • Registratie: Februari 2011
  • Nu online

dragonhaertt

@_'.'

In principe gaat het ADC deel er dan zo ongeveer uit zien. De exacte waardes van het filter en de protectie-diodes is nog even leeg gelaten.

Afbeeldingslocatie: https://tweakers.net/i/hbzMY5IupGQEtDEH-FrX7lDvy0A=/800x/filters:strip_exif()/f/image/50EVG93dO2zOOjkcCc6UVtaF.png?f=fotoalbum_large

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


Acties:
  • 0 Henk 'm!

  • ClickTwice
  • Registratie: Augustus 2008
  • Laatst online: 20-05 13:10
dragonhaertt schreef op woensdag 30 juni 2021 @ 16:16:
Als de hele MCP de geest geeft, zou het ook de voeding kunnen zijn. Ik weet niet hoe goed die RPi voeding is, maar als je geen 'buffer' hebt op de ingang van de voeding van de MCP lijkt het me ok heel realistisch dat die spanning hard onderuit gaat op het moment dat je een klep schakelt.

Hoe ziet je schakeling er fysiek uit? Heb je de MCP op een breadboard / experimenteer printje? Of heb je een dev board met de MCP er op?
Mijn voeding voor de kleppen en sensor, Voeding van de RPI (meest standaard modelletje) en ik gebruik een prototyping plate voor RPI, hierop heb ik de weerstanden en MCP gesoldeerd.

[ Voor 19% gewijzigd door ClickTwice op 30-06-2021 17:58 ]

Pagina: 1