V2_00.rst 32.45 KiB

OhmPi V 2.xx (64 or 128 electrodes)

Ohmpi 2
Ohmpi 2

Note

In this version, we have developed two new board types that allow the assembly of Ohmpi v2.00, a measurement board and a multiplexer board. This new version is made up of:

  1. A measurement board for four-point measurement
  2. 4 multiplexer cards
  3. A box

The philosophy of Ohmpi

The philosophy of Ohmpi V2.00 is to offer a new DIY multielectrode resistivity meter. It is a resistivity meter with 64 electrodes , which can be upgraded to 128 electrodes. It is limited to low-current injection,but suitable for small laboratory experiments and small field time-lapse monitoring. Ohmpi, is developed by a team that seeks to share all its experience and wishes to improve and offer a more and more robust tool to the community.Ohmpi V2.00 is a completely different version from the previous one. We will stop the development on the previous version, to dedicate our efforts on this new version.

Technical data

Parameter
Specifications
V1
Units
Specifications
V2
Units
Electrodes 32   64 to 128  
Operating temperature -0 to 50 °c -25 to 50 °c
Power consumption of CPU and control system 18.5 W 18.5 W
Voltage injection 12 V 12 V
Battery 9 V 12 V
Current 0 to 40 mA 0 to 40 mA
Min pulse duration 150 mS 150 mS
Input impedance 80 Mohm 80 Mohm
Data storage micro SD card   micro SD card  
Resolution O.O1 ohm O.O1 ohm

STEP n°1 : Raspberry Pi configuration

OS installation

Required components Quantity
Raspberry Pi 4 Model B 1
Micro SD 32 Go 1
HDMI Cable 1
Computer mouse 1
Computer Keyboard 1

The first step is to start up the Raspberry Pi board, including installation of an OS (operating system). For this step, the installation instructions are well described on the Raspberry website

  1. Watch the vidéo "how to set up your raspberry Pi" (https://www.youtube.com/watch?v=wjWZhV1v3Pk)
  2. The authors recommend installing the latest stable and complete version of Raspbian by using NOOBS (a simple-to-use operating system installer).
  3. or you can visit this website : (https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up)

Note

All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian:

alternate text

Warning

Once the OS has been installed, 1-wire, spi and GPIO remote option must be deactivated via the Raspbian GUI settings menu. Failure to carry out this task may cause damage to the relay shield cards during measurements.

3. When the relays are connected to the GPIO, make sure that all the GPIOs are in the low position when the raspberry starts up. If not, the relays will activate unexpectedly. To ensure that the GPIOs are in Low position, you will need to modify the /boot/config.txt file.

Run the terminal, and write

cd /boot/
  1. Open config.txt with GNU nano editor
sudo nano config.txt
  1. At the end of the file write :
gpio=8=op,dl
gpio=7=op,dl
  1. Press Ctrl +O to save the modifications and press enter
  2. Press Ctrl +x to escap and return to the terminal
  3. Close the terminal

Virtual Environnement and packages

A virtual environment is a way to have multiple, parallel instances of the Python interpreter, each with different package sets and different configurations. Each virtual environment contains a discrete copy of the Python interpreter, including copies of its support utilities. It also protects your system in case of problems with the packages.

All dependencies are specified in requirements.txt

Note

All instructions below should be typed in the terminal

It is first necessary to ensure that the libatlas-base-dev library is installed:

sudo apt-get install libatlas-base-dev

We strongly recommend users to create a virtual environment to run the code and installed all required dependencies. It can be done either in a directory gathering all virtual environments used on the computer or within the ohmpy directory.

Create the virtual environment:

python3 -m venv ohmpy

Activate it using the following command:

source ohmpy/bin/activate

Install packages within the virtual environment. Installing the following package should be sufficient to meet dependencies:

pip install RPi.GPIO adafruit-blinka numpy adafruit-circuitpython-ads1x15 pandas

Check that requirements are met using

pip list

You should run you code within the virtual environment to leave the virtual environment simply type:

deactivate

Activate virtual environnement on Thonny (Python IDE) (on Rapberry Pi)

If you decided to use a virtual environment, it is necessary to setup Thonny Python IDE the first time you use it.

1- Run the Thonny Python IDE software, Click on raspebrry acces menu > programming> Thonny pythonIDE

2- Thonny's interface opens, Python runs on the Root (Python 3.7.3 (/usr/bin/python3))

alternate text

3-Click on Run>select interpreter, a new window opens click on interpret

alternate text

4-On the new open windows select alternative Pyhton3 or virtual environnement

alternate text

5- New buttons appeared, selected "locate another python executable "

6- A new window opens, find the folder where there is the python 3 file in the virtual environment folder previously created /home/pi/ohmpi/bin/python3.

7- In the known interpreter tab the path of the virtual environnementshould appear

alternate text

8- Close the window by clicking on ok.

9- Close thonny to save modifications

STEP n°2: Assembly of the measurement board

Required components
alternate text

Description

alternate text

Figure shows the general schematics for the electronic measurement board developed. We have developed a complete "plug and play" measurement board. To measure electrical resistivity with Raspberry Pi. two ADS1115 were used,one for the voltage measurement one for the current measurement, as proposed by Florsch [7]. The ADS1115 is a 16-bit ADC (Analog-to-Digital Converter), with an adaptable gain. The advantage of ADS1115 is that the input signal value could lie between - to + 6.114 V. For the current measurement we have directly integrated the INA282 component, which allows to realize precise current measurement around a shunt resistor. The assembly steps are described in the following steps:

1 step_n_2/01_mes_board.jpg
Installation of female header, 1 by10 pins, for ADS1115
2 step_n_2/02_mes_board.jpg
Soldering of 4 dual-in-line- socket (2 by 2 pins) for optical relay, AQY211EH.
3 step_n_2/03_mes_board.jpg
Soldering of 1 dual-in-line- socket (2 by 9 pins) for INA282.
4 step_n_2/04_mes_board.jpg
Soldering of 1 dual-in-line- socket (2 by 4 pins)
5 step_n_2/05_mes_board.jpg
Soldering of 2 dual-in-line- socket (2 by 4 pins)
6 step_n_2/06_mes_board.jpg
Traco Power Supply 12V to 5V, TDH15 - 1211N
7 step_n_2/07_mes_board.jpg
Four screw terminals for 12V inpout et 5V outpout
8 step_n_2/08_mes_board.jpg
Traco power Supply 12V to 24V, TRN-1215
9 step_n_2/09_mes_board.jpg
Two screw terminals electrodes M and N
10 step_n_2/10_mes_board.jpg
Four screw terminals, for 12V power supply and for electrodes A and B
11 step_n_2/11_mes_board.jpg
Soldering three capacitors (100nF)
12 step_n_2/12_mes_board.jpg
2 ohms shunt resistor pre-adjustment
13 step_n_2/13_mes_board.jpg
Soldering 2 ohms shunt resistor
14 step_n_2/14_mes_board.jpg
1 Mohms resistors
15 step_n_2/15_mes_board.jpg
Soldering tow 1 Kohms resistors
16 step_n_2/16_mes_board.jpg
Soldering tow 1.5Kohms resistors
17 step_n_2/17_mes_board.jpg
Soldering tow 1.5Kohms resistors
18 step_n_2/18_mes_board.jpg
Female header 2 by 20 pins for Raspberry Pi connection
19 step_n_2/19_mes_board.jpg
View of the female header 2 by 20 pins installation for Raspberry Pi connection
20 step_n_2/20_mes_board.jpg
Fixing MCP23008 component
21 step_n_2/21_mes_board.jpg
Mounting optical relay, AQY211EH
22 step_n_2/22_mes_board.jpg
Mounting LM158 operational amplificator
23 step_n_2/23_mes_board.jpg
Mounting ADS115 board
24 step_n_2/24_mes_board.jpg
Fixing the INA282

STEP n°3: Start-up of the measurement board.

Required components
1 step_n_3/001.jpg
Shutdown the raspberry Pi and unplug the power supply
2 step_n_3/001.jpg
Mounting the bottom spacers on the Raspberry Pi (male/female, 11mm, M3)
3 step_n_3/002.jpg
Mounting the upper spacers on the Raspberry Pi (female/female, 11mm, M3)
4 step_n_3/003.jpg
Mounting the Ohmpi's measurement board on the Raspberry Pi
5 step_n_3/004.jpg
Mounting the Ohmpi's measurement board on the Raspberry Pi
6 step_n_3/005.jpg
Plug the power supply into a socket and connect it to your Raspberry Pi's power port.

STEP n°4: Measurement board validation

Run the terminal, and write

i2cdetect -y 1
1 step_n_4/i2cdetect.png
If everything is working, three I2C addresses should appear on the screen.
Setting up an equivalent electronic circuit, for this you will need:
  • 4 1kohm resistor (R2)
  • 1 220 ohm resistor (R1)
  • 1 small padboard
  • Spool of solder
2 step_n_4/ref_circuit.png
Schematic of equivalent electronic circuit test
3 step_n_4/20210905_122820.jpg
Préparer le circuit équivalent
4 step_n_4/20210905_123034.jpg
Préparer les cables de connexion aux batterie et les cosses
5 step_n_4/20210905_132856.jpg
Souder les câbles et les cosses
6 step_n_4/20210905_210045.jpg
Installer les cables rouges sur la borne +12V et cable noir sur la borne ground.
7 step_n_4/20210905_210045.jpg
Installer le circuit de référence

Run the Thonny IDE and load the code Ohmpy4elec.pi

STEP n°5: Assembly of the MUX board

STEP n°6: Check Mux Board

STEP n°7: Assemble Ohmpi

STEP n°8: Boxing Ohmpi

STEP n°9: Field measurement