An error occurred while loading the file. Please try again.
-
Clement Remi authoredd0b21b6f
<!DOCTYPE html>
<html lang="en">
<head>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<meta charset="utf-8"/>
<title>OhmPi V 1.01 (limited to 32 electrodes) | Ohmpi: open hardware resistivity-meter documentation</title>
<link href="_static/pygments.css" rel="stylesheet"/>
<link href="_static/theme.313ea551d1799b2102b1.css" rel="stylesheet"/>
<link href="search.html" rel="search" title="Search"/>
<link href="genindex.html" rel="index" title="Index"/>
<link href="V1_02.html" rel="next" title="OhmPi V 1.02 (limited to 32 electrodes)"/>
<link href="Ohmpi.html" rel="prev" title="OhmPi project"/>
</head>
<body class="antialiased text-gray">
<div class="h-screen xl:grid xl:grid-layout" data-action="keydown@window->search#focus" data-controller="sidebar search" id="page">
<a class="block text-xl bg-white py-4 z-20 absolute top-0 h-18 inset-x-0 text-center transform -translate-y-full focus:translate-y-0 focus:outline-none transition-transform duration-75" href="#ohmpi-v-1-01-limited-to-32-electrodes" title="Skip navigation links">Skip to content</a>
<header class="grid-area-header z-10 h-14 sm:h-18">
<div class="bg-gray-dark shadow-md flex items-center h-full xl:px-2 relative"><div class="flex items-center">
<button class="xl:hidden h-14 w-14 sm:h-18 sm:w-18 leading-14 sm:leading-18 text-gray-100 hover:bg-gray-700 hover:text-brand focus:outline-none focus:bg-gray-700 focus:text-brand" data-action="sidebar#open" data-sidebar-target="hamburger">
<span class="sr-only">Open navigation menu</span>
<svg aria-hidden="true" class="fill-current h-8 w-8" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path></svg>
</button><a aria-label="Back to homepage" class="hover:bg-gray-700 focus:bg-gray-700 focus:outline-none tooltipped tooltipped-sw" href="index.html"><span class="hidden lg:inline-block shrink-0 font-medium text-gray-100 mx-5 leading-14 sm:leading-18 tracking-wider">Ohmpi: open hardware resistivity-meter documentation</span>
</a></div><div class="flex justify-end items-center flex-1"><form action="search.html" class="flex print:hidden justify-between items-center leading-14 sm:leading-18 md:ml-4 bg-gray-dark text-gray-300 focus-within:bg-gray-50 focus-within:text-gray-800 focus-within:absolute focus-within:inset-x-0 focus-within:top-0 md:focus-within:w-full md:focus-within:static" data-action="click->search#focusSearchInput" id="searchbox" method="get">
<button aria-label="Get search results" class="text-inherit h-14 w-14 sm:h-18 sm:w-18" tabindex="-1">
<svg aria-hidden="true" class="fill-current stroke-current h-8 w-8" stroke-width="0.5" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>
</button>
<input aria-label="Search the docs" class="pr-2 bg-transparent text-inherit focus:outline-none w-0 md:w-auto focus:w-full transition-all duration-100" data-search-target="searchInput" id="search-input" name="q" placeholder="Search the docs" type="search"/>
</form></div>
</div>
</header>
<aside class="grid-area-sidebar h-full fixed xl:relative inset-y-0 left-0 z-20 xl:z-0 print:hidden overflow-y-auto transition-all transform transform-gpu -translate-x-full opacity-0 duration-300 xl:translate-x-0 xl:opacity-100" data-sidebar-target="sidebar">
<nav class="h-full overflow-y-auto bg-white text-gray-600 pt-8 flex flex-col" role="navigation">
<div class="nav-toc flex-1 pl-6"><ul class="current">
<li class="toctree-l1"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="Ohmpi.html">OhmPi project</a></div><ul>
<li class="toctree-l2"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="Ohmpi.html#partenaires"><strong>Partenaires</strong></a></div><ul>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="Ohmpi.html#citing-ohmpi"><strong>Citing OhmPi</strong></a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="Ohmpi.html#introduction-to-ohmpi"><strong>Introduction to OhmPi</strong></a></div></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current expanded"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="current reference internal" data-action="click->sidebar#close" href="#">OhmPi V 1.01 (limited to 32 electrodes)</a></div><ul>
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#the-philosophy-of-ohmpi">The philosophy of Ohmpi</a></div></li>
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#technical-data">Technical data</a></div></li>
<li class="toctree-l2"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="#raspberry-pi-configuration">Raspberry Pi configuration</a></div><ul>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#os-installation">OS installation</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#virtual-environnement-and-packages">Virtual Environnement and packages</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi">Activate virtual environnement on Thonny (Python IDE) (on Rapberry Pi)</a></div></li>
</ul>
</li>
<li class="toctree-l2"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="#assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi">Assembly of the measuring/current injection cards, and connection with the Raspberry Pi</a></div><ul>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#electrical-resistivity-measurements-board">Electrical resistivity measurements board</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#current-injection-board">Current injection board</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#frist-four-electrodes-resistivity-mesurement">Frist four electrodes resistivity mesurement</a></div></li>
</ul>
</li>
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#multiplexer-implentation">Multiplexer implentation</a></div></li>
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#electrode-connection">Electrode connection</a></div></li>
<li class="toctree-l2"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="#operating-instruction">Operating instruction</a></div><ul>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#preliminary-procedure-only-for-the-initial-operation">Preliminary procedure (Only for the initial operation)</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#startup-procedure">Startup procedure</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#electrical-resistivity-measurement-parameters-description">Electrical resistivity measurement parameters description</a></div></li>
</ul>
</li>
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="#complete-list-of-components">Complete list of components</a></div></li>
</ul>
</li>
<li class="toctree-l1"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html">OhmPi V 1.02 (limited to 32 electrodes)</a></div><ul>
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#the-philosophy-of-ohmpi">The philosophy of Ohmpi</a></div></li>
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#technical-data">Technical data</a></div></li>
<li class="toctree-l2"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#raspberry-pi-configuration">Raspberry Pi configuration</a></div><ul>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#os-installation">OS installation</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#virtual-environnement-and-packages">Virtual Environnement and packages</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi">Activate virtual environnement on Thonny (Python IDE) (on Rapberry Pi)</a></div></li>
</ul>
</li>
<li class="toctree-l2"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi">Assembly of the measuring/current injection cards, and connection with the Raspberry Pi</a></div><ul>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#electrical-resistivity-measurements-board">Electrical resistivity measurements board</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#current-injection-board">Current injection board</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#frist-four-electrodes-resistivity-mesurement">Frist four electrodes resistivity mesurement</a></div></li>
</ul>
</li>
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#multiplexer-implentation">Multiplexer implentation</a></div></li>
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#electrode-connection">Electrode connection</a></div></li>
<li class="toctree-l2"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#operating-instruction">Operating instruction</a></div><ul>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#preliminary-procedure-only-for-the-initial-operation">Preliminary procedure (Only for the initial operation)</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#startup-procedure">Startup procedure</a></div></li>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#electrical-resistivity-measurement-parameters-description">Electrical resistivity measurement parameters description</a></div></li>
</ul>
</li>
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V1_02.html#complete-list-of-components">Complete list of components</a></div></li>
</ul>
</li>
<li class="toctree-l1"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="V2_00.html">OhmPi V 2.00 (64 electrodes and 12V)</a></div><ul>
<li class="toctree-l2"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V2_00.html#the-philosophy-of-ohmpi">The philosophy of Ohmpi</a></div></li>
<li class="toctree-l2"><div class="nav-link"><svg class="expand" data-action="click->sidebar#expand keydown->sidebar#expandKeyPressed" tabindex="0" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><a class="reference internal" data-action="click->sidebar#close" href="V2_00.html#technical-data">Technical data</a></div><ul>
<li class="toctree-l3"><div class="nav-link"><a class="reference internal" data-action="click->sidebar#close" href="V2_00.html#ohmpi-2-step-by-step">Ohmpi 2 step by step</a></div></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<button class="text-4xl text-gray-800 p-4 bottom-0 hover:text-brand xl:hidden focus:text-brand self-center" data-action="" title="Close navigation menu">
<span class="sr-only">Close navigation menu</span>
<svg aria-hidden="true" class="fill-current stroke-current h-6 w-6" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
</aside>
<main class="px-10 xl:ml-fluid grid-area-main overflow-y-auto flex flex-col h-full mx-0 md:mx-auto xl:mr-0" data-action="scroll->scroll#showButton" data-controller="scroll"><nav aria-label="breadcrumbs" class="print:hidden mt-12 text-sm text-gray-light" role="navigation">
<a class="text-gray-light text-sm hover:text-gray-dark font-medium focus:text-gray-dark" href="index.html">Ohmpi: open hardware resistivity-meter documentation</a>
<span class="mr-1">/</span><span aria-current="page">OhmPi V 1.01 (limited to 32 electrodes)</span>
</nav>
<article class="flex-1" role="main">
<div class="section" id="ohmpi-v-1-01-limited-to-32-electrodes">
<h1>OhmPi V 1.01 (limited to 32 electrodes)<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#ohmpi-v-1-01-limited-to-32-electrodes">¶</a></h1>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>This version corresponds to the version published in the Hardware X journal.
However, we have corrected the bugs that existed on this version and explained the missing mounting points in detail below.
We invite you to refer to this document to assemble Ohmpi V1.01.</p>
</div>
<div class="section" id="the-philosophy-of-ohmpi">
<h2>The philosophy of Ohmpi<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#the-philosophy-of-ohmpi">¶</a></h2>
<p>The philosophy of Ohmpi V1.01 is to offer a multi electrode resistivity meter, from a set of commercially available
electronic cards it is a resistivity meter limited to 32 electrodes only. It is limited to low-current injection,
but suitable for small laboratory experiments and small field time monitoring</p>
</div>
<div class="section" id="technical-data">
<h2>Technical data<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#technical-data">¶</a></h2>
<table class="docutils align-default">
<colgroup>
<col style="width: 50%"/>
<col style="width: 32%"/>
<col style="width: 18%"/>
</colgroup>
<tbody>
<tr class="row-odd"><td><p><strong>Parameter</strong></p></td>
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
<td><p><strong>Specifications</strong></p></td>
<td><p>Units</p></td>
</tr>
<tr class="row-even"><td><p>Electrodes</p></td>
<td><p>32</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p>Operating temperature</p></td>
<td><p>0 to 50</p></td>
<td><p>°c</p></td>
</tr>
<tr class="row-even"><td><p>Power consumption of CPU and
control system</p></td>
<td><p>18.5</p></td>
<td><p>W</p></td>
</tr>
<tr class="row-odd"><td><p>Voltage injection</p></td>
<td><p>9</p></td>
<td><p>V</p></td>
</tr>
<tr class="row-even"><td><p>Battery</p></td>
<td><p>12</p></td>
<td><p>V</p></td>
</tr>
<tr class="row-odd"><td><p>Current</p></td>
<td><p>0 to 50</p></td>
<td><p>mA</p></td>
</tr>
<tr class="row-even"><td><p>Min pulse duration</p></td>
<td><p>150</p></td>
<td><p>mS</p></td>
</tr>
<tr class="row-odd"><td><p>Input impedance</p></td>
<td><p>36</p></td>
<td><p>Mohm</p></td>
</tr>
<tr class="row-even"><td><p>Data storage</p></td>
<td><p>micro SD card</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p>Resolution</p></td>
<td><p>O.O1</p></td>
<td><p>ohm</p></td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="raspberry-pi-configuration">
<h2>Raspberry Pi configuration<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#raspberry-pi-configuration">¶</a></h2>
<div class="section" id="os-installation">
<h3>OS installation<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#os-installation">¶</a></h3>
<p>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</p>
<ol class="arabic simple">
<li><p>Watch the vidéo “how to set up your raspberry Pi” (<a class="reference external" href="https://www.youtube.com/watch?v=wjWZhV1v3Pk" rel="nofollow noopener">https://www.youtube.com/watch?v=wjWZhV1v3Pk<svg aria-hidden="true" class="external-link-icon" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 19H5V5h7V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path></svg></a>)</p></li>
<li><p>The authors recommend installing the latest stable and complete version of Raspbian by using NOOBS (a simple-to-use operating system installer).</p></li>
</ol>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian:</p>
<div class="align-center figure">
<a class="reference internal image-reference" href="_images/raspbian_version1.jpg"><img alt="alternate text" src="_images/raspbian_version1.jpg" style="width: 800px; height: 400px;"/></a>
</div>
</div>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Once the OS has been installed, <strong>1-wire, spi and GPIO remote option</strong> 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.</p>
</div>
<p>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.</p>
211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
<blockquote>
<div><p>Run the terminal, and write</p>
<div class="code-wrapper" data-controller="code">
<div class="code-header">
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="n">cd</span> <span class="o">/</span><span class="n">boot</span><span class="o">/</span>
</code></pre></div></div>
</div></blockquote>
<ol class="arabic simple" start="4">
<li><p>Open config.txt with GNU nano editor</p></li>
</ol>
<blockquote>
<div><div class="code-wrapper" data-controller="code">
<div class="code-header">
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="n">sudo</span> <span class="n">nano</span> <span class="n">config</span><span class="o">.</span><span class="n">txt</span>
</code></pre></div></div>
</div></blockquote>
<ol class="arabic simple" start="5">
<li><p>At the end of the file write :</p></li>
</ol>
<blockquote>
<div><div class="code-wrapper" data-controller="code">
<div class="code-header">
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="n">gpio</span><span class="o">=</span><span class="mi">8</span><span class="o">=</span><span class="n">op</span><span class="p">,</span><span class="n">dl</span>
<span class="n">gpio</span><span class="o">=</span><span class="mi">7</span><span class="o">=</span><span class="n">op</span><span class="p">,</span><span class="n">dl</span>
</code></pre></div></div>
</div></blockquote>
<ol class="arabic simple" start="6">
<li><p>Press Ctrl +O to save the modifications and press enter</p></li>
<li><p>Press Ctrl +x to escap and return to the terminal</p></li>
<li><p>Close the terminal</p></li>
</ol>
</div>
<div class="section" id="virtual-environnement-and-packages">
<h3>Virtual Environnement and packages<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#virtual-environnement-and-packages">¶</a></h3>
<p>All dependencies are specified in requirements.txt</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>All instructions below should be typed in the terminal</p>
</div>
<p>It is first necessary to ensure that the libatlas-base-dev library is installed:</p>
<div class="code-wrapper" data-controller="code">
<div class="code-header">
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">libatlas</span><span class="o">-</span><span class="n">base</span><span class="o">-</span><span class="n">dev</span>
</code></pre></div></div>
<p>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.</p>
<p>Create the virtual environment:</p>
<div class="code-wrapper" data-controller="code">
<div class="code-header">
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="n">python3</span> <span class="o">-</span><span class="n">m</span> <span class="n">venv</span> <span class="n">ohmpy</span>
</code></pre></div></div>
<p>Activate it using the following command:</p>
<div class="code-wrapper" data-controller="code">
<div class="code-header">
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="n">source</span> <span class="n">ohmpy</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">activate</span>
</code></pre></div></div>
<p>Install packages within the virtual environment. Installing the following package should be sufficient to meet dependencies:</p>
<div class="code-wrapper" data-controller="code">
<div class="code-header">
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="n">pip</span> <span class="n">install</span> <span class="n">RPi</span><span class="o">.</span><span class="n">GPIO</span> <span class="n">adafruit</span><span class="o">-</span><span class="n">blinka</span> <span class="n">numpy</span> <span class="n">adafruit</span><span class="o">-</span><span class="n">circuitpython</span><span class="o">-</span><span class="n">ads1x15</span> <span class="n">pandas</span>
</code></pre></div></div>
<p>Check that requirements are met using</p>
<div class="code-wrapper" data-controller="code">
<div class="code-header">
281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="n">pip</span> <span class="nb">list</span>
</code></pre></div></div>
<p>You should run you code within the virtual environment
to leave the virtual environment simply type:</p>
<div class="code-wrapper" data-controller="code">
<div class="code-header">
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="n">deactivate</span>
</code></pre></div></div>
</div>
<div class="section" id="activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi">
<h3>Activate virtual environnement on Thonny (Python IDE) (on Rapberry Pi)<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi">¶</a></h3>
<p>If you decided to use a virtual environment, it is necessary to setup Thonny Python IDE the first time you use it.</p>
<p>1- Run the Thonny Python IDE software, Click on raspebrry acces <strong>menu > programming> Thonny pythonIDE</strong></p>
<p>2- Thonny’s interface opens, Python runs on the Root (Python 3.7.3 (/usr/bin/python3))</p>
<div class="align-center figure">
<a class="reference internal image-reference" href="_images/thonny_first_interface2.jpg"><img alt="alternate text" src="_images/thonny_first_interface2.jpg" style="width: 600px; height: 450px;"/></a>
</div>
<p>3-Click on <strong>Run>select interpreter</strong>, a new window opens click on interpret</p>
<div class="align-center figure">
<a class="reference internal image-reference" href="_images/thonny_option1.jpg"><img alt="alternate text" src="_images/thonny_option1.jpg" style="width: 600px; height: 450px;"/></a>
</div>
<p>4-On the new open windows select <strong>alternative Pyhton3 or virtual environnement</strong></p>
<div class="align-center figure">
<a class="reference internal image-reference" href="_images/thonny_interpreter1.jpg"><img alt="alternate text" src="_images/thonny_interpreter1.jpg" style="width: 600px; height: 450px;"/></a>
</div>
<p>5- New buttons appeared, selected <strong>“locate another python executable “</strong></p>
<p>6- A new window opens, find the folder where there is the python 3 file in the virtual environment folder previously created <strong>/home/pi/ohmpi/bin/python3</strong>.</p>
<p>7- In the <strong>known interpreter</strong> tab the path of the virtual environnementshould appear</p>
<div class="align-center figure">
<a class="reference internal image-reference" href="_images/thonny_interpreter_folder1.jpg"><img alt="alternate text" src="_images/thonny_interpreter_folder1.jpg" style="width: 600px; height: 450px;"/></a>
</div>
<p>8- Close the window by clicking on <strong>ok</strong>.</p>
<p>9- Close thonny to save modifications</p>
</div>
</div>
<div class="section" id="assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi">
<h2>Assembly of the measuring/current injection cards, and connection with the Raspberry Pi<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi">¶</a></h2>
<div class="section" id="electrical-resistivity-measurements-board">
<h3>Electrical resistivity measurements board<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#electrical-resistivity-measurements-board">¶</a></h3>
<div class="section" id="a-description">
<h4>a) Description<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#a-description">¶</a></h4>
<p>To measure electrical resistivity with Raspberry Pi, an ADS1115 was introduced, as proposed by Florsch [7]. The ADS1115
is a 16-bit ADC (Analog-to-Digital Converter), with an adaptable gain. Its value has been set at 2/3 in this study. The
input signal value could lie between - to + 6.114 V. The ADS1115 is mounted on a board adapted from an in-house design.
Figure 5 shows the general diagram for the electronic measurement board developed. This figure also displays the test
circuit used to test the board in the laboratory, which mimics the behavior of a soil subjected to current injection.
In this test circuit, resistance R11 represents the soil resistance.
Soil resistance R11 is connected to electrodes A and B for the current injection. Resistors R10 and R12 constitute
the contact resistances between soil and electrodes; they are typically made of stainless steel. The battery, which
allows for direct current injection, is connected in series with resistors R10, R11 and R12. In this part of the board,
resistance R9 has been added to measure the current flowing between electrodes A and B. This resistance value has been
set at 50 ohms in order to ensure:
• a precise resistance,
• a resistance less than the sum of resistors R10, R11 and R12; indeed, R10 and R12 generally lie between 100 and 5,000 ohms.
To measure the current intensity between A and B, the electrical potential difference at the pole of the reference resistor (R9)
is measured. The intensity (in mA) is calculated by inserting the resulting value into the following: ?
To measure the potential difference needed to measure current intensity, the ADS 1115 is connected to the ground of the circuit.
In our case, the ground reference is electrode B. The analog inputs A1 and A0 of the ADS1115 are connected to each pole of the
reference resistor (R9). In order to increase input impedance and adapt the signal gain, tracking amplifiers have been included
and completed by a divider bridge (R5, R8, R6 and R7) located between the two amplifiers. The resistance of the divider bridge
ensures that the signal remains between 0 and 5 V, in accordance with the ADS1115 signal gain. To measure the potential difference,
the M and N electrodes are connected to analog inputs A2 and A3 of the ADS 1115. Between the ADC and the electrodes, two tracking
amplifiers and a divider bridge have been positioned so as to obtain a potential lying within the 0-5 V range at the analog input of the ADS 1115.
Let’s note that the potential difference value would equal the potential measured with ADS1115 multiplied by the voltage reduction
value of the divider bridge (see Section 5.2). Despite the use of high-resolution resistance (i.e. accurate to within 1%), it is
still necessary to calibrate the divider bridge using a precision voltmeter. For this purpose, the input and output potentials
of the divider bridge must be measured using an equivalent circuit for various electrical potential values. These values serve
to calculate the gain. With this electronic board, it is possible to measure the potential and intensity without disturbing the
351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420
electric field in the ground, with the total input impedance value being estimated at 36 mega-ohms.
A shortcut between Electrodes A and B will generate excessive currents, whose intensities depend on the type of battery used.
A lithium ion battery or automobile-type lead-acid battery can deliver a strong enough current to damage the board and, as such,
constitutes a potential hazard. We therefore recommend adding a 1.5-A fuse between the battery and resistor R9.</p>
<div class="align-center figure" id="id1">
<a class="reference internal image-reference" href="_images/schema_measurement_board1.jpg"><img alt="alternate text" src="_images/schema_measurement_board1.jpg" style="width: 800px; height: 400px;"/></a>
<figcaption><span class="caption-text">Measurement board</span><a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#id1">¶</a>
</figcaption></div>
</div>
<div class="section" id="b-implementation">
<h4>b) Implementation<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#b-implementation">¶</a></h4>
<p>The measurement board must be printed using the PCB file (Source file repository), with components soldered onto
it by following the steps described below and illustrated in the following figure :</p>
<ul>
<li><dl>
<dt>Step no. 1: test divider bridge</dt><dd><p>For each measurement channel, we have installed a bridge divider, it is necessary to test with ohmmeter the value of the resistances, to adjust each coefficients (coef_p0, coef_p1, coef_p2, coef_p3) in the Ohmpi.py code..</p>
<blockquote>
<div><div class="math notranslate nohighlight">
\[coeff po = (R1 + R2) / R1\]</div>
<div class="math notranslate nohighlight">
\[coeff p1 = (R3 + R4) / R3\]</div>
<div class="math notranslate nohighlight">
\[coeff p2 = (R7 + R6) / R7\]</div>
<div class="math notranslate nohighlight">
\[coeff p3 = (R9 + R8) / R9\]</div>
<div class="code-wrapper" data-controller="code">
<div class="code-header">
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="code-line" id="line-36"><span class="linenos">36</span> <span class="sd">"""</span>
</span><span class="code-line" id="line-37"><span class="linenos">37</span><span class="sd"> hardware parameters</span>
</span><span class="code-line" id="line-38"><span class="linenos">38</span><span class="sd"> """</span>
</span><span class="code-line" id="line-39"><span class="linenos">39</span> <span class="n">R_ref</span> <span class="o">=</span> <span class="mi">50</span> <span class="c1"># reference resistance value in ohm</span>
</span><span class="code-line" id="line-40"><span class="linenos">40</span> <span class="n">coef_p0</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P0, measurement in V/V</span>
</span><span class="code-line" id="line-41"><span class="linenos">41</span> <span class="n">coef_p1</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P1, measurement in V/V</span>
</span><span class="code-line" id="line-42"><span class="linenos">42</span> <span class="n">coef_p2</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P2, measurement in V/V</span>
</span><span class="code-line" id="line-43"><span class="linenos">43</span> <span class="n">coef_p3</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P3, measurement in V/V</span>
</span></code></pre></div></div>
<p>The coefficient parameters can be adjusted in lines 40 to 43 of the ohmpi.py code.</p>
</div></blockquote>
</dd>
</dl>
</li>
<li><p>Step no. 2: installation of the 1-Kohm resistors with an accuracy of ± 1%.</p></li>
<li><p>Step no. 3: installation of the 1.5-Kohm resistors with an accuracy of ± 1%.</p></li>
<li><p>Step no. 4: installation of both the black female 1 x 10 header and the 7-blue screw terminal blocks</p></li>
<li><p>Step no. 5: installation of the 50-Ohm reference resistor ± 0.1%, please check the value and correct the line 39 in ohmpi.py code</p></li>
<li><p>Step no. 6: addition of both the ADS115 directly onto the header (pins must be plugged according to the figure) and the LM358N operational amplifiers (pay attention to the direction).</p></li>
</ul>
<p>1-Kohm and 1.5-Kohm resistors apply to the divider bridge. If, for example, you prefer using a weaker
or stronger power supply, it would be possible to adjust the divider bridge value by simply modifying these resistors.
Once all the components have been soldered together, the measurement board can be connected to the Raspberry Pi and the
battery terminal, according to Figure 9. Between the battery and the TX+ terminal of the measurement board, remember to
place a fuse holder with a 1.5-A fuse for safety purposes.</p>
<div class="align-center figure" id="id2">
<a class="reference internal image-reference" href="_images/measurement_board.jpg"><img alt="alternate text" src="_images/measurement_board.jpg" style="width: 800px; height: 500px;"/></a>
<figcaption><span class="caption-text">Measurement circuit board assembly: a) printed circuit board, b) adding the 1-Kohm resistors ± 1%, c)adding the 1.5-Kohm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers</span><a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#id2">¶</a>
</figcaption></div>
<div class="align-center figure" id="id3">
<a class="reference internal image-reference" href="_images/measurement_board-2.jpg"><img alt="alternate text" src="_images/measurement_board-2.jpg" style="width: 800px; height: 700px;"/></a>
<figcaption><span class="caption-text">Measurement board installation with Raspberry Pi</span><a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#id3">¶</a>
</figcaption></div>
</div>
</div>
<div class="section" id="current-injection-board">
<h3>Current injection board<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#current-injection-board">¶</a></h3>
<p>To carry out the electrical resistivity measurement, the first step consists of injecting current into the ground.
In our case, a simple 9-V lead-acid battery is used to create an electrical potential difference that results
in current circulating into the ground. The current is injected through electrodes A and B (see Fig. 2). This
injection is controlled via a 4-channel relay module board connected to the Raspberry Pi. The mechanical relay
module board is shown in Figure 4. Relays 1 and 2 serve to switch on the current source. The common contacts
421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
of relays 1 and 2 are connected to the positive and negative battery poles, respectively. The normally open
contacts of both relays are connected to the common contacts of relays 3 and 4. Relays 1 and 2 are connected
to the GPIO 7 on the Raspberry Pi and therefore activate simultaneously. The role of relays 3 and 4 is to reverse
the polarity at electrodes A and B. Thus, when relays 3 and 4 are energized by the GPIO 8 in the open position,
the positive battery pole is connected to electrode A and the negative pole to electrode B. When not energized,
they remain in the normally closed position. This set-up offers a simple and robust solution to inject current.</p>
<div class="align-center figure" id="id4">
<a class="reference internal image-reference" href="_images/current_board.jpg"><img alt="alternate text" src="_images/current_board.jpg" style="width: 800px; height: 400px;"/></a>
<figcaption><span class="caption-text">Wiring of the 4-channel relay module board for current injection management</span><a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#id4">¶</a>
</figcaption></div>
<p>The next step consists of featuring the 4-channel relay module used for current injection and its assembly. The wiring
between the relays must be carried out in strict accordance with Fig. 10. This card must then be connected to the Raspberry
Pi and the measurement card. On the Raspberry Pi, it is necessary to connect inputs In1 and In2 to the same GPIO. For this
purpose, it is necessary to solder together the two pins on the 4-channel relay shield module and connect them to the Raspberry Pi GPIO-7 (Fig. 10). The same must be performed for inputs In3 and In4 with GPIO-8. Connect the GND and 5Vdc pins of
the relay card’s 4 channels respectively to the GND pin and 5Vcc of the Raspberry Pi. Now connect relays 1, 2, 3 and 4, as
shown in the diagram, using 1-mm2 cables (red and black in Fig. 10). Lastly, connect the inputs of relay 1 and 2 respectively
to terminals B and A of the measurement board.</p>
<div class="align-center figure" id="id5">
<a class="reference internal image-reference" href="_images/installation_current_board.jpg"><img alt="alternate text" src="_images/installation_current_board.jpg" style="width: 800px; height: 700px;"/></a>
<figcaption><span class="caption-text">Current injection board installation with Raspberry Pi</span><a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#id5">¶</a>
</figcaption></div>
<p>Congratulations, you have build a 4 electrodes resistivity-meter.</p>
</div>
<div class="section" id="frist-four-electrodes-resistivity-mesurement">
<h3>Frist four electrodes resistivity mesurement<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#frist-four-electrodes-resistivity-mesurement">¶</a></h3>
<p>Under construction !</p>
<p>Describe the way to valide the first part of the instruction.
Electrical resistivity measurement on test circuit</p>
</div>
</div>
<div class="section" id="multiplexer-implentation">
<h2>Multiplexer implentation<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#multiplexer-implentation">¶</a></h2>
<p>The resistivity measurement is conducted on four terminals (A, B, M and N). The user could perform each measurement
by manually plugging four electrodes into the four channel terminals. In practice, ERT requires several tens or thousands
of measurements conducted on different electrode arrays. A multiplexer is therefore used to connect each channel to one of
the 32 electrodes stuck into the ground, all of which are connected to the data logger.</p>
<p>We will describe below how to assemble the four multiplexers (MUX), one per terminal. A multiplexer consists of 2 relay
modules with 16 channels each. On the first board, on each MUX, 15 relays out of the 16 available will be used. Please note that the suggested
configuration enables making smaller multiplexers (8 or 16 electrodes only). On the other hand, if you prefer upping to 64 electrodes,
which is entirely possible, a GPIO channel multiplier will have to be used.
To prepare the multiplexer, the channels of the two relay boards must be connected according to the wiring diagram shown below.</p>
<div class="align-center figure" id="id6">
<a class="reference internal image-reference" href="_images/multiplexer_implementation.jpg"><img alt="alternate text" src="_images/multiplexer_implementation.jpg" style="width: 800px; height: 500px;"/></a>
<figcaption><span class="caption-text">Schematic diagram of the wiring of two 16-channel relay shields</span><a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#id6">¶</a>
</figcaption></div>
<p>For this purpose, 0.5-mm² cables with end caps are used and their length adjusted for each connection in order to produce a clean assembly.
The length was adjusted so that the distance between the two points to be connected could be directly measured on the board once they had
been assembled one above the other, in adding an extra 3 cm. The wires at the ends need to be stripped and the end caps added.
As a final step, connect the cables to the correct connectors. This operation must be repeated in order to carry out all the wiring shown in Figure below.</p>
<p>Once the operation has been completed, the 16 control pins of each 16-channel relay shield card must be prepared. Each card actually contains 16 input channels
for activating each relay (Fig. 12). However, we will be activating several relays with a single GPIO (to limit the number of GPIOs used on Raspberry Pi,
see Section 2.4). To execute this step, it will be necessary to follow the protocol presented in Figure.</p>
<blockquote>
<div><div class="align-center figure" id="id7">
<a class="reference internal image-reference" href="_images/connection.jpg"><img alt="alternate text" src="_images/connection.jpg" style="width: 800px; height: 400px;"/></a>
<figcaption><span class="caption-text">Connection to the 16-channel relay shield</span><a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#id7">¶</a>
</figcaption></div>
</div></blockquote>
<p>For the 16-channel relay shield no. 1, these steps must be followed:
* Position a test circuit with 10 horizontal and 10 vertical holes on the pins of the 16-channel relay shield board.
* Follow the diagram and solder the pins as shown in Fig.
* Lastly, solder 0.5-mm² wires 1 m in length to the test circuit.</p>
<p>For relay shield no. 2, follow the same procedure, but solder all the pins together (d-e-f).
This same operation must be repeated for the other three multiplexers as well.
The next step consists of connecting the relay card inputs to the Raspberry Pi according to Table 5 for all four multiplexers.</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 34%"/>
<col style="width: 11%"/>
<col style="width: 11%"/>
491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
<col style="width: 11%"/>
<col style="width: 11%"/>
<col style="width: 23%"/>
</colgroup>
<tbody>
<tr class="row-odd"><td rowspan="2"></td>
<td colspan="4"><p>Relay shield n°1</p></td>
<td><p>Relay Shield n°2</p></td>
</tr>
<tr class="row-even"><td><p>Pin 1</p></td>
<td><p>Pin 2-3</p></td>
<td><p>Pin 4-7</p></td>
<td><p>Pin 8-16</p></td>
<td><p>Pin 1- 16</p></td>
</tr>
<tr class="row-odd"><td><p>Multiplexer A</p></td>
<td><p>12</p></td>
<td><p>16</p></td>
<td><p>20</p></td>
<td><p>21</p></td>
<td><p>26</p></td>
</tr>
<tr class="row-even"><td><p>Multiplexer B</p></td>
<td><p>18</p></td>
<td><p>23</p></td>
<td><p>24</p></td>
<td><p>25</p></td>
<td><p>19</p></td>
</tr>
<tr class="row-odd"><td><p>Multiplexer M</p></td>
<td><p>06</p></td>
<td><p>13</p></td>
<td><p>04</p></td>
<td><p>17</p></td>
<td><p>27</p></td>
</tr>
<tr class="row-even"><td><p>Multiplexer N</p></td>
<td><p>22</p></td>
<td><p>10</p></td>
<td><p>09</p></td>
<td><p>11</p></td>
<td><p>05</p></td>
</tr>
</tbody>
</table>
<blockquote>
<div><p>Connection of the GPIOs to each multiplexer</p>
</div></blockquote>
</div>
<div class="section" id="electrode-connection">
<h2>Electrode connection<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#electrode-connection">¶</a></h2>
<p>At this point, all that remains is to connect the electrodes of each multiplexer to a terminal block (Fig. 13). In our set-up, screw terminals assembled on a din rail were used.
According to the chosen multiplexer configuration, all the relays of each multiplexer will be connected to an electrode and, consequently, each electrode will have four incoming
connections. Instead of having four cables connecting an electrode terminal to each multiplexer, we recommend using the cable assembly shown in the following Figure.</p>
<div class="align-center figure" id="id8">
<a class="reference internal image-reference" href="_images/cable.jpg"><img alt="alternate text" src="_images/cable.jpg" style="width: 800px; height: 300px;"/></a>
<figcaption><span class="caption-text">Wire cabling for multiplexer and terminal screw connection</span><a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#id8">¶</a>
</figcaption></div>
<p>the next figure provides an example of multiplexer relay connections for electrode no. 1: this electrode of multiplexer MUX A must be connected to electrode no. 1 of MUX B. Moreover, electrode no. 1 of MUX B
must be connected to electrode no. 1 of MUX N, which in turn must be connected to electrode no. 1 of MUX M. Lastly, electrode no. 1 of MUX M is connected to the terminal block.
This operation must be repeated for all 32 electrodes.</p>
<div class="align-center figure" id="id9">
<a class="reference internal image-reference" href="_images/electrode_cable.jpg"><img alt="alternate text" src="_images/electrode_cable.jpg" style="width: 800px; height: 800px;"/></a>
<figcaption><span class="caption-text">Example of a multiplexer connection to the screw terminal for electrode no. 1.</span><a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#id9">¶</a>
</figcaption></div>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>The 16 channel relay cards exist in 5-V and 12-V , in the bottom figure we have 12-V cards that we will directly connect to the battery.
In case you bought 16 channel relay 5-V cards, you will need to add a DC/DC 12-V/5-V converter. You can use a STEP DOWN MODULE DC-DC (Velleman WPM404) and set the voltage to 5V with the potentiometer.</p>
</div>
561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630
</div>
<div class="section" id="operating-instruction">
<h2>Operating instruction<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#operating-instruction">¶</a></h2>
<div class="section" id="preliminary-procedure-only-for-the-initial-operation">
<h3>Preliminary procedure (Only for the initial operation)<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#preliminary-procedure-only-for-the-initial-operation">¶</a></h3>
<p>The open source code must be downloaded at the Open Science Framework source file repository for this manuscript (<a class="reference external" href="https://osf.io/dzwb4/" rel="nofollow noopener">https://osf.io/dzwb4/<svg aria-hidden="true" class="external-link-icon" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 19H5V5h7V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path></svg></a>)
or at the following Gitlab repository address: <a class="reference external" href="https://gitlab.irstea.fr/reversaal/OhmPi" rel="nofollow noopener">https://gitlab.irstea.fr/reversaal/OhmPi<svg aria-hidden="true" class="external-link-icon" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 19H5V5h7V3H5a2 2 0 00-2 2v14a2 2 0 002 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path></svg></a>. The code must be then unzipped into a selected folder (e.g. OhmPi-master). A “readme” file
is proposed in the directory to assist with installation of the software and required python packages. It is strongly recommended to create a python virtual environment for installing
the required packages and running the code.</p>
</div>
<div class="section" id="startup-procedure">
<h3>Startup procedure<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#startup-procedure">¶</a></h3>
<p>As an initial operating instruction, all batteries must be disconnected before any hardware handling. Ensure that the battery is charged at full capacity. Plug all the electrodes (32 or fewer)
into the screw terminals. The Raspberry Pi must be plugged into a computer screen, with a mouse and keyboard accessed remotely. The Raspberry Pi must then be plugged into the power supply
(for laboratory measurements) or a power bank (5V - 2A for field measurements). At this point, you’ll need to access the Raspbian operating system. Inside the previously created folder “ohmPi”,
the protocol file “ABMN.txt” must be created or modified; this file contains all quadrupole ABMN numeration (an example is proposed with the source code). Some input parameters of the main “ohmpi.py”
function may be adjusted/optimized depending on the measurement attributes. For example, both the current injection duration and number of stacks can be adjusted. At this point, the9 V and 12-V battery can be
plugged into the hardware; the “ohmpi.py” source code must be run within a python3 environment (or a virtual environment if one has been created) either in the terminal or using Thonny. You should now
hear the characteristic sound of a relay switching as a result of electrode permutation. After each quadrupole measurement, the potential difference as well as the current intensity and resistance
are displayed on the screen. A measurement file is automatically created and named “measure.csv”; it will be placed in the same folder.</p>
</div>
<div class="section" id="electrical-resistivity-measurement-parameters-description">
<h3>Electrical resistivity measurement parameters description<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#electrical-resistivity-measurement-parameters-description">¶</a></h3>
<div class="code-wrapper" data-controller="code">
<div class="code-header">
<span class="code-lang">python</span></div>
<div class="highlight"><pre><code><span class="code-line" id="line-27"><span class="linenos">27</span> <span class="sd">"""</span>
</span><span class="code-line" id="line-28"><span class="linenos">28</span><span class="sd"> measurement parameters</span>
</span><span class="code-line" id="line-29"><span class="linenos">29</span><span class="sd"> """</span>
</span><span class="code-line" id="line-30"><span class="linenos">30</span> <span class="n">nb_electrodes</span> <span class="o">=</span> <span class="mi">32</span> <span class="c1"># maximum number of electrodes on the resistivity meter</span>
</span><span class="code-line" id="line-31"><span class="linenos">31</span> <span class="n">injection_duration</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="c1"># Current injection duration in second</span>
</span><span class="code-line" id="line-32"><span class="linenos">32</span> <span class="n">nbr_meas</span><span class="o">=</span> <span class="mi">1</span> <span class="c1"># Number of times the quadripole sequence is repeated</span>
</span><span class="code-line" id="line-33"><span class="linenos">33</span> <span class="n">sequence_delay</span><span class="o">=</span> <span class="mi">30</span> <span class="c1"># Delay in seconds between 2 sequences</span>
</span><span class="code-line" id="line-34"><span class="linenos">34</span> <span class="n">stack</span><span class="o">=</span> <span class="mi">1</span> <span class="c1"># repetition of the current injection for each quadripole</span>
</span></code></pre></div></div>
<p>The measurement parameters can be adjusted in lines 27 to 30 of the ohmpi.py code.</p>
</div>
</div>
<div class="section" id="complete-list-of-components">
<h2>Complete list of components<a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#complete-list-of-components">¶</a></h2>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>The list evolve a little bit after the publication of the article, it is necessary to refer to this list, the article is out of date</p>
</div>
<table class="colwidths-given docutils align-default" id="id10">
<caption><span class="caption-text">Table Title</span><a aria-label="Click to copy this link" class="headerlink tooltipped tooltipped-ne tooltipped tooltipped-ne" data-action="click->clipboard#copyHeaderLink" data-controller="clipboard" href="#id10">¶</a></caption>
<colgroup>
<col style="width: 8%"/>
<col style="width: 18%"/>
<col style="width: 18%"/>
<col style="width: 18%"/>
<col style="width: 18%"/>
<col style="width: 18%"/>
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Component</p></th>
<th class="head"><p>Number</p></th>
<th class="head"><p>Cost per unit</p></th>
<th class="head"><p>Total cost</p></th>
<th class="head"><p>Manufacturer</p></th>
<th class="head"><p>Manufacturer s reference</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>Raspberry Pi 3 Model B+</p></td>
<td><p>1</p></td>
<td><p>37</p></td>
<td><p>37</p></td>
<td><p>Raspberry</p></td>
<td><p>Raspberry Pi 3 Model B</p></td>
631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
</tr>
<tr class="row-odd"><td><p>Raspberry Pi 1 2 and 3 Power Supply</p></td>
<td><p>1</p></td>
<td><p>8.37</p></td>
<td><p>8.37</p></td>
<td><p>Raspberry</p></td>
<td><p>Raspberry Pi 1 2 and 3 Power Supply</p></td>
</tr>
<tr class="row-even"><td><p>SainSmart 16-Channel Canal 12V Relay Relais Module pour Arduino DSP AVR PIC ARM</p></td>
<td><p>8</p></td>
<td><p>24.99</p></td>
<td><p>199.92</p></td>
<td><p>Sain Smart</p></td>
<td><p>101-70-103</p></td>
</tr>
<tr class="row-odd"><td><p>4-Channel 5V Relay Module</p></td>
<td><p>1</p></td>
<td><p>7.99</p></td>
<td><p>7.99</p></td>
<td><p>Sain Smart</p></td>
<td><p>20-018-101-CMS</p></td>
</tr>
<tr class="row-even"><td><p>cable 1X1 mm2 (50 m)</p></td>
<td><p>1</p></td>
<td><p>19.66</p></td>
<td><p>19.66</p></td>
<td><p>TRU COMPONENTS</p></td>
<td><p>1568649</p></td>
</tr>
<tr class="row-odd"><td><p>cable 1X0.5 mm2 (100 m)</p></td>
<td><p>1</p></td>
<td><p>29.71</p></td>
<td><p>29.71</p></td>
<td><p>TRU COMPONENTS</p></td>
<td><p>1565235</p></td>
</tr>
<tr class="row-even"><td><p>Printed circuit board (packaging quantity x 3)</p></td>
<td><p>1</p></td>
<td><p>12</p></td>
<td><p>12</p></td>
<td><p>Asler</p></td>
<td><p>0</p></td>
</tr>
<tr class="row-odd"><td><p>Header sets 1x10</p></td>
<td><p>1</p></td>
<td><p>2.68</p></td>
<td><p>2.68</p></td>
<td><p>Samtec</p></td>
<td><p>SSW-110-02-G-S</p></td>
</tr>
<tr class="row-even"><td><p>Dual screw terminal (3.5-mm pitch)</p></td>
<td><p>7</p></td>
<td><p>0.648</p></td>
<td><p>4.55</p></td>
<td><p>RS PRO</p></td>
<td><p>897-1332</p></td>
</tr>
<tr class="row-odd"><td><p>Resistor 1 Kohm 0.5W +- 0.1%</p></td>
<td><p>4</p></td>
<td><p>0.858</p></td>
<td><p>3.44</p></td>
<td><p>TE Connectivity</p></td>
<td><p>H81K0BYA</p></td>
</tr>
<tr class="row-even"><td><p>Resistor 1.5 Kohms +- 0.1%</p></td>
<td><p>4</p></td>
<td><p>0.627</p></td>
<td><p>2.52</p></td>
<td><p>TE Connectivity</p></td>
<td><p>H81K5BYA</p></td>
701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770
</tr>
<tr class="row-odd"><td><p>Resistor 50 +- 0.1%</p></td>
<td><p>1</p></td>
<td><p>8.7</p></td>
<td><p>8.7</p></td>
<td><p>TE Connectivity</p></td>
<td><p>UPW50B50RV</p></td>
</tr>
<tr class="row-even"><td><p>LM358N AMP-o</p></td>
<td><p>4</p></td>
<td><p>0.8</p></td>
<td><p>2.4</p></td>
<td><p>Texas Instruments</p></td>
<td><p>LM358AN/NOPB</p></td>
</tr>
<tr class="row-odd"><td><p>ADS1115</p></td>
<td><p>1</p></td>
<td><p>11.9</p></td>
<td><p>11.9</p></td>
<td><p>Adafruit</p></td>
<td><p>1083</p></td>
</tr>
<tr class="row-even"><td><p>12V battery 7ah</p></td>
<td><p>1</p></td>
<td><p>19.58</p></td>
<td><p>19.58</p></td>
<td><p>RS PRO</p></td>
<td><p>537-5488</p></td>
</tr>
<tr class="row-odd"><td><p>Battery Holder Type D LR20 (9V)</p></td>
<td><p>1</p></td>
<td><p>3.43</p></td>
<td><p>3.43</p></td>
<td><p>RS PRO</p></td>
<td><p>185-4686</p></td>
</tr>
<tr class="row-even"><td><p>Ferrule Crimp Terminal (1 mm2) (500 pieces)</p></td>
<td><p>1</p></td>
<td><p>30.48</p></td>
<td><p>30.48</p></td>
<td><p>WEIDMULLER</p></td>
<td><p>9004330000</p></td>
</tr>
<tr class="row-odd"><td><p>Electrical Crimp Terminal (0.5 mm2) (100 piece)</p></td>
<td><p>1</p></td>
<td><p>6.38</p></td>
<td><p>6.38</p></td>
<td><p>AMP - TE CONNECTIVITY</p></td>
<td><p>966067-1</p></td>
</tr>
<tr class="row-even"><td><p>Car Fuse 1.0 A</p></td>
<td><p>1</p></td>
<td><p>0.2</p></td>
<td></td>
<td><p>LITTELFUSE</p></td>
<td><p>LITTELFUSE</p></td>
</tr>
<tr class="row-odd"><td><p>Fuse holder (576-FHAC0002ZXJ)</p></td>
<td><p>1</p></td>
<td><p>4.96</p></td>
<td><p>4.96</p></td>
<td><p>LITTELFUSE</p></td>
<td><p>FHAC0002ZXJ</p></td>
</tr>
</tbody>
</table>
</div>
</div>
</article>
<footer>
771772773774775776777778779780781782783784785
<div class="mt-20 mb-4 text-sm text-gray-700">© 2022, INRAE, Team Ohmpi Made with <a href="https://www.sphinx-doc.org">Sphinx 4.3.0</a></div>
</footer></main>
<button class="fixed bottom-0 right-0 z-20 opacity-0 p-4 m-4 tracking-wide bg-gray-900 text-gray-100 transition transform transform-gpu duration-500 translate-y-full" data-action="search#hideSnackbar" data-search-target="snackbar">
Clear highlights
</button><div class="fixed hidden inset-0 bg-black bg-opacity-50" data-action="click->sidebar#close" data-sidebar-target="screen">
</div>
</div>
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<script src="_static/theme.3666d2347a4c66e5d7a8.js"></script>
</body>
</html>