How to use Rpi [python] to read [SPI MCP3008] ADC of a [water] tank level sensor?
Ask QuestionAsked 1 year, 5 months agoActive 9 months agoViewed 249 times11
Does anyone have any ideas on how I can use RPI with ADC to measure a tank level sensor which has a range of only 20 to 200 ohm.analog-to-digitalshareedit follow closeflagedited Feb 5 at 5:22tlfong013,37633 gold badges77 silver badges2222 bronze badgesasked Jun 13 ’19 at 7:43AussieBrad1111 bronze badge
- Hello, a link to the sensor might be appreciated to better form an answer. You might also get better replies if you can show what you’ve tried or researched yourself (so we don’t repeat the effort). – Roger Jones Jun 13 ’19 at 7:48
- Ah, let me see. You can connect the variable resistance sensor in series with a fixed resistance, say, also 200 ohm, to a 3V3 voltage source. Then use an ADC, such as MCP3008 to measure the voltage across the fixed 200 ohm resistor. – tlfong01 Jun 13 ’19 at 7:49
- Or you might like to let us know which of the modules in the following post looks like your module – raspberrypi.stackexchange.com/questions/98491/… – tlfong01 Jun 13 ’19 at 9:28
- @tlfong01 A Wheatstone Bridge and a differential OpAmp and/or ADC would normally be used for small resistances. This is really sensitive but can also minimise the current used. – Roger Jones Jun 13 ’19 at 9:54
- 1I’m finding the wording of this question confusing, but will the opamp set-up in the answer here help? (Maybe I missed your point though.) raspberrypi.stackexchange.com/questions/76079/… – Brick Jun 13 ’19 at 14:57
add a comment | show 6 more commentsstart a bounty
Does anyone have any ideas on how I can use RPI with ADC to measure a tank level sensor which has a range of only 20 to 200 ohm?
Some months ago I played with a couple of moisture sensor / level detectors. Below is an example.
Water Level Detection Discussion – Rpi StackExchnge
However the above sensor does not answer the OP’s question, which asks to detect resistance using ADC, not analog or digital voltage levels. So I think I need to start from a variable resistance and check out how to use ADC to measure the resistance, within a range of 20 to 200 ohms.
I very surprisingly found that all the five samples from different manufacturers have the same resistance of 0.5 ohms for each of the two resistive “legs”.
Anyway, I think I can try to use an ADC that can measure my sensor’s 0.5 ohm range, and also the OP’s 20~200 ohm range. I am thinking of starting with the cheapest, and lowest resolution ADC/DAC PCF8591. If its low resolution is not enough for 0.5 ohm range, then perhaps I will try others, such as MCP3x02/04/08. The good thing about PCF8591 is that there is cheapy module available, and programming easy, so is newbie friendly. On the other hand, MCP3x02/04/08 is big family of ADCs, from 12 bits to 18 bits (MCP3404)
/ long answer to prune later, …
Introduction and Summary
- I think the preliminary functional spec of the project is very good, because it is concise and precise.
- There are many reasons that the question is so short, but I will not list my wild guesses for now. Perhaps later.
- The spec includes the following key words/phrases:”Rpi, ADC, tank level sensor, 20Ω ~ 200Ω.
- The word “tank”, is crucial. She says “tank”, not “container”, perhaps she wants to indicate that the “tank” is deep , say, not a 5 inches deep fish “bowl” or “pond”.
- The phrase “20Ω ~ 200Ω” is also crucial. There are basically two types of liquid level sensors: active and inactive. Active sensors are usually 5V or 12V powered, and the sensor output is a DC voltage level. Inactive sensors don’t have any power. Usually the sensor is just a reed switch and floating magnet, or a long “resistor” whose resistance varies as the water level. Usually the resistor is far, perhaps 10ft, and up to 1,000 ft from the measuring instrument.
(1) Water Level Detection Discussion – Rpi StackExchnge
(3) AliEXpress Non-contact Level Sensors
(4) AliExpress10A/250V Water Level Controller Module
(5) AliExpress Water level sensor Water drops tester
(6) AliExpress 5~24V 5mA Non-contact Induction Water Level Sensor
(7) Gig (ee, rpi, arduino) projects
(8) ph Sensor using sensor and ADCs PCF8591 and MCP3208
(9) How to use Rpi [python] to read [SPI MCP3008] ADC of a [water] tank level sensor? [Too many down votes make ext and imaged blurred]
(10) MCP3008 outputting just zero
(11) Rpi reading only zero output results from SPI 10-bit ADC MCP3008 problem
(12) How to increase sampling rate [higher resolution using MCP3208] on MCP3008 in python
(13) Interpreting voltage output on ADC with rated AC current sensor [MCP3008/MCP3208
(14) MCP3008 with photoresistor [nonlinear LDR], analog to digital, noisy readings
(15) How to use Rpi python to control PCM1802 24-bit HiFi stereo ADC and MAX4466 microphone amplifier
End of Answershareeditdeleteflagedited Feb 5 at 6:28answered Jun 14 ’19 at 1:09tlfong013,37633 gold badges77 silver badges2222 bronze badgesadd a comment
Leave a Reply