Université Batna 2 TP biocapteur
Département d'Electronique M2 Instrumentation
biomédicale
Tp n=°2 : Simulation et réalisation d’un Capteur de ph
But de Tp
- Simuler le fonctionnement d'un capteur de PH en utilisant
PROTEUS 8.11, puis le réaliser on observant la relation
entre le ph et le potentiel.
1. Principe de fonctionnement du capteur ph
La mesure du pH potentiométrique est basée sur la mesure de la
différence de potentiel électrique. Cette méthode utilise une
électrode en verre, dont l'élément sensible au pH est un bulbe en
verre fondu situé à l'extrémité d'un tube en verre. L'électrode est
remplie d'une solution de chlorure de potassium neutre
(tamponnée à pH = 7), et elle contient un fil d'argent recouvert de chlorure d'argent qui
assure la connexion électrique.
Le système de référence se trouve dans un tube en verre séparé et est constitué également
d'un fil d'argent recouvert de chlorure d'argent. La jonction entre le milieu à mesurer et le
système de référence est assurée par un diaphragme, qui protège le système de référence tout
en permettant la continuité de la liaison électrique avec le milieu à analyser.
La valeur du pH est calculée à partir de la différence de potentiel entre le système de référence
et l'électrode de mesure. Par exemple, si l'on immerge le capteur de pH dans une solution
contenant de l'acide chlorhydrique dilué, les ions hydrogène (H⁺) pénètrent dans l'interface de
la membrane de verre, et les ions Cl⁻ restent dans la solution. Ce processus se déroule
également à l'intérieur de l'électrode, où une solution tamponnée à pH = 7 est utilisée pour
maintenir une concentration constante en ions H⁺.
La différence de potentiel entre les deux électrodes (référence et mesure) permet de
déterminer le pH de la solution. Si la concentration en ions H⁺ dans la solution est supérieure
à celle dans l'électrode de référence, le pH sera inférieur à 7 (solution acide). Si la
concentration en ions H⁺ est égale des deux côtés (électrode et solution), la solution est neutre
(pH = 7). Si, au contraire, la concentration en ions H⁺ est plus faible à l'intérieur de l'électrode
qu'à l'extérieur, le pH sera supérieur à 7, indiquant une solution basique (alcaline).
2. Matériels utilisés
- Arduino uno
- Afficheur LCD
- Potentiomètre 10 KΩ
- Condensateur 100 µf
- Bobine 27µh
- PH mètre avec carte d’interface qui contient:
une paire de potentiomètres.
deux LED servant d'indicateurs d'alimen-tation,
d'un capteur de pH,
d'un connecteur BNC.
une puce régulatrice de tension intégrée.
6 broches mâles clairement étiquetées : V+, 2 GND, Po, Do et To ( nous n'utiliserons
que 3 broches : V+, G, et Po.
Partie 01 : simulation du ph mètre avec PROTEUS
3. Schéma de la manipulation
Figure 01. Simulation d’un ph mètre
4. Travail demandé
1. Ouvrir un nouveau projet dans PROTEUS 8.11 et le nommer « pH Sensor Simulation ».
2. Ajouter des composants au projet : dans la bibliothèque Proteus, recherchez les
composants requis, tels que le capteur de pH, la carte Arduino, l'écran LCD, etc.
3. Connecter le module capteur de pH à l'Arduino ainsi qu'aux autres composants
nécessaires.
4. Cliquer sur le pH-mètre et dans « Program File », insérer le fichier : «
[Link] ».
5. Écrire un code Arduino simple pour connecter le capteur de pH au microcontrôleur. Ce
code lira la sortie analogique du capteur de pH et convertira cette donnée en valeurs de
pH à afficher.
6. Dans l'IDE Arduino, allez dans Fichier > Préférences et cochez la case "Afficher les
résultats détaillés pendant la compilation".
7. Cliquer sur le bouton "Vérifier/Compiler". Une fois la compilation terminée, faites défiler
la fenêtre de l'IDE jusqu'en bas pour trouver le chemin du fichier .hex.
8. Cliquer sur la carte Arduino dans Proteus, puis dans « Program File », insérer le chemin
du fichier .hex copié.
9. Faire varier le potentiomètre et relever les valeurs de pH et de la tension affichées.
10. Tracer le graphe représentant la variation du pH en fonction de la tension
11. Réaliser le même circuit sur une plaque d’essai.
12. Relever la valeur du ph et la tension pour différentes solutions.
Partie 01 : simulation du ph mètre avec PROTEUS
Code arduino pour simulation
#include <LiquidCrystal.h>
// Initialisation de l'écran LCD (broches : RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
#define SensorPin A0 // Le pH-mètre est connecté à l'entrée analogique A0
float voltage, phValue;
void setup() {
[Link](9600);
[Link]("Ready"); // Test de la liaison série
[Link](16, 2);
[Link](0, 0);
[Link]("pH Sensor Meter");
[Link](0, 1);
[Link]("Hello ….");
delay(1000);
[Link]();
}
void loop() {
int sum = 0;
// Moyenne sur 10 lectures pour stabiliser la mesure
for (int i = 0; i < 10; i++) {
sum += analogRead(SensorPin);
delay(10); // Pause pour permettre une lecture stable
}
// Calcul de la moyenne des 10 échantillons
int avgValue = sum / 10;
// Conversion en tension et calcul du pH
voltage = avgValue * 5.0 / 1024;
phValue = 3.5 * voltage;
// Affichage des résultats sur le moniteur série
[Link]("pH: ");
[Link](phValue, 2); // Deux décimales pour le pH
[Link](" | Voltage: ");
[Link](voltage, 2); // Deux décimales pour la tension
// Affichage sur l'écran LCD
[Link](0, 0);
[Link]("pH: ");
[Link](phValue, 2); // Affiche le pH
[Link](0, 1);
[Link]("Voltage: ");
[Link](voltage, 2); // Affiche la tension
delay(800);
}
Partie 02 : réalisation du ph mètre
Brochage du capteur de pH analogique
La broche V+ au 5V de l'Arduino.
La broche GND du circuit d'interface à la
broche GND de l'Arduino,
La broche de sortie analogique Po à la broche
A0 de l'Arduino.
Calibration d’un capteur de pH
Pour calibrer ce capteur, nous aurons besoin d’un fil pour relier la partie externe et le centre du
connecteur de la sonde. Cela génère une tension de 2,5 volts sur la broche de sortie analogique Po.
Branchez l'Arduino à l'ordinateur portable pour calibrer le capteur de pH en utilisant le
code Arduino ci-dessous
Assurez-vous que la carte Arduino est correctement sélectionnée et vérifiez également
si le bon port de communication est configuré.
Ouvrez le moniteur série et écrire le code.
Code Arduino pour la calibration du capteur de pH
int pH_Value;
float Voltage;
void setup()
{
[Link](9600);
pinMode(pH_Value, INPUT);
}
void loop()
{
pH_Value = analogRead(A0);
Voltage = pH_Value * (5.0 / 1023.0);
[Link](Voltage);
delay(500);
}
Une valeur différente de 2.50 s’affiche, utilisez le potentiomètre pour ajuster cette [Link]
pH de 7 correspond à 2,5 volts. Le capteur de pH est maintenant calibré à 7 car le petit
récipient contient déjà de l'eau distillée. Déconnectez la carte Arduino et retirez également le
fil.
Mesure de ph
Maintenant connecter le capteur de pH à la carte d’interface( le câblage reste le
même).
Ecrire le code suivant pour trouver la valeur du pH de différentes solutions.
Code Arduino mesure de pH « réalisation »
const int analogInPin = A0;
int phval = 0;
unsigned long int avgval;
float calibration_value = 29.5, ph_act, voltage;
Partie 02 : réalisation du ph mètre
int buffer_arr[10], temp=0;
void setup()
{
[Link](9600);
}
void measure_pH()
{
// Lire 10 fois la valeur du capteur et stocker dans un tableau
for (int i = 0; i < 10; i++)
{
buffer_arr[i] = analogRead(analogInPin);
delay(30); // Attendre pour stabiliser la lecture
}
// Trier les valeurs du tableau (tri par sélection)
for(int i = 0; i < 9; i++)
{
for(int j = i + 1; j < 10; j++)
{
if(buffer_arr[i] > buffer_arr[j])
{
temp = buffer_arr[i];
buffer_arr[i] = buffer_arr[j];
buffer_arr[j] = temp;
}
}
}
// Calculer la moyenne des valeurs centrales (ignorer les extrêmes)
avgval = 0;
for(int i = 2; i < 8; i++) // Ignorer les 2 plus grandes et 2 plus petites valeurs
{
avgval += buffer_arr[i];
}
// Convertir en tension et calculer le pH
voltage = (float)avgval * 5.0 / 1024 / 4.3 ;
ph_act = -5.70 * voltage + calibration_value;
}
void display_pHValue()
{
// Afficher la valeur calculée du pH
[Link]("pH Value: ");
[Link](ph_act);
delay(1000); // Attendre avant la prochaine lecture
}
void loop()
{
measure_pH(); // Effectuer la mesure
display_pHValue(); // Afficher la valeur
}