Le logiciel PyAcidoBasic :

C'est un logiciel de simulation de dosages, écrit en Python par Georges Khaznadar.

Ce logiciel est disponible dans les dépôts Debian (paquet "python-acidobasic") et donc dans les distributions Linux dérivées de Debian. La version présentée ici est la 2.5-1.

A l'ouverture du logiciel on obtient cette fenêtre :

1.png

L'interface est d'un visuel très clair et se révèle simple et rapide à l'utilisation. Pour toutes ces qualités je l'utilise souvent en vidéoprojection en classe, que ce soit pour travailler sur la courbe pH = f(V) ou pour travailler sur la notion d'équivalence avec les courbes quantité de matière = f(V) ou enfin sur le dosage...conductimétrique !

Pour présenter le logiciel on réalisera une simulation d'un dosage classique, celui d'une solution d'acide éthanoïque par une solution de soude...

Les deux premiers onglets ci-dessous décrivent les fonctionnalités usuelles du logiciel ; le troisième onglet décrit la personnalisation possible du fichier de réactifs ; enfin le quatrième fait le point sur le dosage conductimétrique :

Choix des réactifs

On commence par choisir les réactifs dans la liste déroulante.

Ici on a sélectionné l'acide éthanoïque que l'on a fait glisser jusque dans la case bécher, ce qui ouvre une fenêtre de dialogue pour entrer la concentration et le volume de cette prise d'essai :

2_0.png

Le bouton  delete.svg  permet de réinitialiser le contenu.

On fait de même pour remplir la burette avec la solution titrante (ici l'hydroxyde de sodium). Seule la concentration de cette solution nous est alors demandée :

4.png

Après validation la courbe du suivi pHmétrique (modélisé) se trace instantanément :

5.png

Le bouton title.svg permet de donner un titre à la courbe, ce qui prendra tout son intérêt avec l'exportation du graphique réalisable dans trois formats différents avec les boutons :

  • mime-application:pdf.svgpour une exportation en pdf
  • mime-image:jpeg.svgpour une exportation en jpeg (image de type bitmap compressée)
  • mime-image:svg.svgpour une exportation en svg (image vectorielle)

(Rappelons qu'une image vectorielle permet tous les facteurs d'agrandissement possibles, ce que ne permet pas une image de type bitmap qui donne alors de la pixellisation).

Cette possibilité d'export est bien pratique pour intégrer une courbe de suivi pHmétrique dans une préparation de TP ou dans un exercice.

Exemple d'export en jpeg :

export_jpg.jpg

 

Les boutons plus.svg  et   minus.svg permettent de modifier la valeur maximale du volume de solutioon titrante versé :

plus.png  moins.png

Notons aussi la possibilité de faire apparaître les couleurs des différentes formes d'un indicateur coloré acido-basique :

Cet indicateur coloré serait-il adapté à la réalisation d'un dosage rapide (donc sans pHmètre...) d'une solution d'acide éthanoïque par de la soude ?

helianthine.png

Concentrations/Quantités

Cet onglet "Concentrations / Quantités (de matère)" permet d'aller plus loin au niveau de l'analyse chimique.

Notons tout d'abord qu'il est possible ici de faire apparaître la dérivée dpH/dV en cochant la case correspondante :

derivee.png

La couleur d'une courbe peut être modifiée en cliquant dans le rectangle coloré situé à côté de son nom :

graphe_deriv_couleur.png

Sur le côté gauche de la fenêtre, on peut sélectionner à volonté le tracé de la concentration ou de la quantité de matière de l'une ou l'autre des espèces chimiques présentes dans le bécher. Le graphique ci-dessous montre l'évolution des quantités de matière en acide éthanoïque CH3COOH et en ion éthanoate CH3COO- au cours du dosage, ce qui permet de bien faire aparaître les notions d'équivalence et de demi-équivalence. La courbe de pH restant en filigrane permet de faire le lien avec ces courbes:

graphe_qte_1.png

On peut ajouter la courbe donnant la quantité de matière en ions hydroxyde HO- . Cette quantité se met à augmenter dans le mélange réactionnel lorsque toutes les molécules CH3COOH ont disparu :

graphe_qte_2.png

Le même dosage mais avec la visualisation des courbes de concentration :

graphe_concent2.png

Les réactifs

Les réactifs que l'on peut utiliser ne se trouvent pas intégrés dans le logiciel mais dans un fichier à part, ce qui permet à l'utilisateur d'ajouter des réactifs dont il aurait besoin.

Ce fichier de réactif ("db-fr_FR.html") se trouve dans le dossier créé à l'installation :

usr/share/pyacidobasic/lang/

Ci-dessous, mon fichier actuel dans lequel ont été ajoutés l'acide gluconique (l'acide majoritaire dans le miel) et deux diacides génériques (diacide1 et diacide2) qui m'ont été utiles pour présenter les deux formes possibles que peut prendre la courbe pH = f(V) selon que les pKa sont proches ou éloignés (TP d'identification de deux stéréoisomères : l'acide maléique et l'acide fumarique) :

diacide1 (pKa éloignés : 2,0 et 5,5 ) :                       diacide2 (pKa proches 4,0 et 5,5) :

   graphe003.jpg       export2_jpg.jpg

 

Le fichier de réactifs peut être modifié (en mode administrateur) avec un éditeur HTML (on nous propose par exemple le logiciel Kompozer). On peut aussi travailler avec un éditeur de texte.

On aura au préalable fait une sauvegarde en lieu sûr du fichier originel !

 

Liste d'acides et de bases pour PyAcidoBasic

ce tableau peut être complété à l'aide d'un éditeur HTML, comme Kompozer. Il convient de respecter les conventions utilisées dans chaque colonne. Il est important pour le programme pyAcidoBasic que ce tableau soit le seul tableau de la page.

acide, base conjuguée [, ...] index forme principale nom pK1[, pK2 ...] concentration charge de la forme acide
HCl,Cl- 0 acide chlorhydrique -3.0 1.0 0
CH3CO2H,CH3CO2- 0 acide éthanoïque 4.7 1.0 0
C3H6O3,C3H5O3- 0 acide lactique 3.86 1.0 0
C6H12O7,C6H11O7- 0 acide gluconique 3.86 1.0 0
A1H2,A1H-,A12- 0 diacide_1 2.0,5.5 1.0 0
A2H2,A2H-,A22- 0 diacide_2 4.0,5.5 1.0 0
C4H4O4,C4H3O4-,C4H2O42- 0 acide maleique 1.8,6.6 1.0 0
C4H4O4,C4H3O4-,C4H2O42- 0 acide fumarique 3.0,4.4 1.0 0
H3PO4,H2PO4-,HPO42-,PO43- 0 acide phosphorique 2.12,7.21,12.67 1.0 0
H3Cit,H2Cit-,HCit2-,Cit3- 0 acide citrique 3.13,4.76,6.4 1.0 0
H3PO4 Na+,NaH2PO4,NaHPO4-,NaPO43- 1 dihydrogénophosphate de sodium 2.12,7.21,12.67 1.0 1
H3PO4 2Na+,NaH2PO4 Na+,Na2HPO4,Na2PO4- 2 hydrogénophosphate disodique 2.12,7.21,12.67 1.0 2
H3PO4,H2PO4-,HPO42-,PO43- 2 phosphate trisodique 2.12,7.21,12.67 1.0 3
NH4Cl,NH3 Cl- 0 chlorure d'ammonium 9.20 1.0 0
NH4+,NH3 1 ammoniac 9.20 1.0 1
C3H8NO2+,C3H7NO2,C3H6NO2- 1 alanine 2.35,9.69 1.0 1
Na+,NaOH 1 hydroxyde de sodium 17.0 1.0 1
HNO3,NO3- 0 acide nitrique -2.0 1.0 0
HBr,Br- 0 acide bromhydrique -8.0 1.0 0
HI,I- 0 acide iodhydrique -10 1.0 0
H2SO4,HSO4-,SO42- 0 acide sulfurique -7.0,1.99 1.0 0
NaHSO4,SO42-Na+ 0 hydrogénosulfate de sodium 1.99 1.0 1
HCOOH,HCOO- 0 acide méthanoïque 3.77 1.0 0
HCOOHNa+,HCOONa 1 méthanoate de sodium 3.77 1.0 1
C7H6O3,C7H5O3- 0 acide salicylique 3.0 1.0 0
C7H6O3Na+,C7H5O3Na 1 salicylate de sodium 3.0 1.0 1
C7H602,C7H502- 0 acide benzoïque 4.19 1.0 0
C7H602Na+,C7H502Na 1 benzoate de sodium 4.19 1.0 1
C3H6O2,C3H5O2- 0 acide propanoïque 4.87 1.0 0
C3H6O2Na+,C3H5O2Na 1 propanoate de sodium 4.87 1.0 1
C4H8O2,C4H7O2- 0 acide butanoïque 4.81 1.0 0
C4H8O2Na+,C4H7O2Na 1 butanoate de sodium 4.81 1.0 1
HClO,ClO- 0 acide hypochloreux 7.52 1.0 0
HClONa+,NaClO 1 hypochlorite de sodium 7.52 1.0 1
HCN,CN- 0 acide cyanhydrique 9.3 1.0 0
HCNNa+,NaCN 1 cyanure de sodium 9.3 1.0 1
C6H60,C6H5O- 0 phénol 9.95 1.0 0
C6H6ONa+,C6H5ONa 1 phénolate de sodium 9.95 1.0 1

Dosage conductimétrique

Bien que dédié aux dosages acido-basiques par suivi pHmétrique, le logiciel PyAcidoBasic peut nous aider dans la compréhension des dosages par suivi conductimétrique.

Prenons l'exemple du dosage d'une solution d'acide chlorhydrique par une solution d'hydroxyde de sodium, pour lequel la réaction support s'écrit :

H3O+ + HO-  →  2 H2O

Ci-dessous un exemple de relevé de la conductivité en fonction du volume de soude versé :

dosage_conduc_HCl_NaOH.png

Pour obtenir un tel graphique linéarisable par partie et permettant ainsi de trouver le volume équivalent VBE , on a du ajouter un grand volume d'eau (une bonne centaine de mL au moins) au volume de la prise d'essai.

Quatre ions interviennent dans ce dosage : les ions hydronium H3O+ et les ions hydroxyde HO-, mais aussi les ions spectateurs que sont les ions Cl- initialement présents et les ions Na+ progressivement ajoutés.

Chacun de ces ions est responsable de la conductivité du mélange selon la loi de Kohlrausch :

σ = Σ λi.[Xi]  avec :

  • [Xi], la concentration molaire d'un ion (en mol.m-3)
  • λi , la conductivité ionique molaire (en S.m2.mol-1), spécifique à chaque ion :

conduc_ions.png

Le schéma ci-dessous donne un aspect visuel des différentes espèces présentes à différents stades du dosage :

explication_dosage_conduc.png

Légende : legende_dosage_conduc.png

La dernière ligne du tableau rappelle l'évolution de la conductivité au cours du dosage

On constate :

  1. que la quantité de matière des ions Cl- reste constante
  2. que celle des ions H3O+ diminue jusqu'à devenir "nulle" à l'équivalence
  3. que celle des ions Na+ augmente tout au long du dosage
  4. que jusqu'à l'équivalence chaque ion H3O+ qui a réagi est remplacé par un ion Na+ (moins "conducteurs" que les ions H3O+)
  5. que la quantité de matière en ions HO- ne se met à augmenter que lorsque les ions H3O+ ont complètement disparu

Tout ceci se retrouve avec Pyacidobasic :

dosage_conduc_HCl_NaOH_qtes.png

Comme nous l'a rappelé la loi de Kohlrausch, en conductimétrie c'est la concentration qui compte. Comparons l'évolution de la quantité de matière et celle de la concentration des ions chlorure :

Qté de matière (constante) :             Concentration (elle diminue) :

qte_chlorure.jpg  conc_chlorure.jpg

nCl- est constante mais le volume V du mélange augmente avec l'ajout de la solution de soude donc la concentration diminue.

Pour cette même raison de dilution voici l'évolution de la concentration en ions H3O+ comparée à sa quantité de matière :

Qté de matière                                   Concentration

 (elle diminue de façon affine)                (elle diminue de façon non affine)

qte_H.jpg  conc_H.jpg

 

Ceci est embêtant car dans le dosage conductimétrique, la grandeur mesurée, σ, doit être représentative de la réaction.

Or :

  • les quantités de matière sont liées à l'avancement de la réaction
  • σ , la conductivité, est liée aux concentrations

Mais les concentrations dépendent certes des quantités de matière, mais aussi du volume ... volume qui n'est pas constant ici, d'où la forme des courbes de concentration qui ne sont donc pas représentatives de l'avancement de la réaction

La solution : puisque le volume va de toute façon varier, faisons en sorte que cette variation soit la plus minime possible.

Il faut donc que le volume de soude ajouté soit faible devant le volume initial

On ajoute donc à la prise d'essai un volume d'eau important (qui ne change pas la quantité de matière à doser, donc qui ne change pas le volume équivalent).

Cette version de Pyacidobasic ne permet pas encore l'ajout d'un volume d'eau dans le bécher, mais on peut ruser en disant que :

un volume de 100 mL d'acide chlorhydrique de concentration 0,010 mol.L-1

contient la même quantité de matière à doser

que le volume de 10 mL d'acide chlorhydrique de concentration 0,10 mol.L-1 avec lequel on a fait notre simulation

(C'est donc comme si on avait ajouté 90 mL d'eau à ce volume de 10 mL).

Il faut donc modifier le contenu du bécher :

dilution.png

Observons maintenant la quantité de matière et la concentration en Cl- :

dilut_qte_chlorure.jpg  dilut_conc_Cl.jpg

On remarque :

  • que le volume équivalent est resté le même : la dilution est sans effet sur lui
  • que la quantité de matière en ions chlorure est constante et est bien sûr restée la même qu'avant dilution
  • que la concentration en ions chlorure et plus faible qu'avant la dilution (normal !) mais que cette concentration est quasiment constante : l'ajout du volume de soude est devenu quasiment négligeable.

Observons les concentrations des autres ions :

dilut_conc_tout.jpg

Là aussi elles sont toutes plus faibles qu'avant la dilution par l'eau, mais  surtout :

la variation de ces concentrations se fait de façon affine comme le font les quantités de matière. On a alors un lien entre la conductivité et les concentrations qui permet donc la linéarisation du graphe donné au début :

dosage_conduc_HCl_NaOH.png

En conclusion : lors d'un dosage par suivi conductimétrique :

  • toujours ajouter un grand volume d'eau
  • Inutile de mesurer ce volume d'eau avec précision
  • Ne pas le faire intervenir dans les calculs puisqu'il ne change pas l'avancement de la réaction et donc ne change pas la valeur du volume équivalent