chimie_industrielle_tome_tp.pdf

187
Dr. Gilles OLIVE Chimie Industrielle TRAVAUX PRATIQUES TP 1 ACIDIMETRIE_________________________________________________________ (30) TP 2 CHROMATOGRAPHIE SUR PAPIER______________________________________ (40) TP 3 SYNTHESE DE L'ACIDE ACETYLSALICYLIQUE___________________________ (43) TP 4 SYNTHÈSE DU PARACETAMOL _________________________________________ (47) TP 5 ANALYSE D'UNE EAU __________________________________________________ (49) TP 6 MICROPROCESSEUR Z80 _______________________________________________ (95) TP 7 EAU FORTE __________________________________________________________ (156) TP 8 DETERMINATION D'ENTHALPIES _____________________________________ (157) TP 9 EXTRACTION D’AROME ______________________________________________ (160) TP 10 VISCOSIMETRIE _____________________________________________________ (163)

Upload: pertmaster

Post on 14-Dec-2015

46 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: chimie_industrielle_tome_tp.pdf

Dr. Gilles OLIVE

Chimie Industrielle

TRAVAUX PRATIQUES

TP 1 ACIDIMETRIE_________________________________________________________ (30)

TP 2 CHROMATOGRAPHIE SUR PAPIER______________________________________ (40)

TP 3 SYNTHESE DE L'ACIDE ACETYLSALICYLIQUE___________________________ (43)

TP 4 SYNTHÈSE DU PARACETAMOL _________________________________________ (47)

TP 5 ANALYSE D'UNE EAU__________________________________________________ (49)

TP 6 MICROPROCESSEUR Z80_______________________________________________ (95)

TP 7 EAU FORTE __________________________________________________________ (156)

TP 8 DETERMINATION D'ENTHALPIES _____________________________________ (157)

TP 9 EXTRACTION D’AROME ______________________________________________ (160)

TP 10 VISCOSIMETRIE _____________________________________________________ (163)

Page 2: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 2

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

C'est une leçon que vous devriez observer:

Essayez, essayez, essayez encore.

Si, tout d'abord, vous ne réussissez pas,

Essayez, essayez, essayez encore.

(W.-E. Hickson)

On acquiert la connaissance des choses en les apprenant de quelqu'un ou en les découvrant par soi-même. Ce

qu'on apprend vient d'une autre personne ou d'une aide extérieure ; ce que l'on découvre est autonome et dû à ses

propres efforts. Il est rare et difficile de découvrir sans chercher, mais si l'on cherche, la découverte est fréquente

et facile ; par contre, si l'on ne sait pas comment chercher, la découverte est impossible.

(Archytus, Savant grec, 380 avant J.-C.)

La chimie théorique c'est quand on comprend tout mais que rien ne marche.

La pratique c'est quand tout marche mais on ne sait pas pourquoi.

Si on a réussi les deux, rien ne marche et on ne comprend pas pourquoi.

(Anonyme)

Page 3: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 3

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

INTRODUCTION

Ces TP ne sont pas des TP compliqués. D'ailleurs beaucoup ont déjà été réalisés au cours des années

antérieures du cursus. Ces TP sont à voir du côté contrôle qualité dans le cadre d'une entreprise

certifiée ISO 900X. Le but de l'enseignement qui suit est donc de former l'étudiant au respect des

procédures. Moi dans ce cadre, je ne suis plus le professeur, mais le directeur d'une entreprise

certifiée qui emploie des techniciens.

Attention, vous êtes en 3ème année et non plus en 1ère année. On vous demande donc de réfléchir tout en

respectant les procédures. Les procédures dans le cadre de la qualité doivent être respectées, et sont

parfaitement décrites, sauf que le matériel n'est que rarement indiqué et c'est vous qui devez toujours

choisir le matériel adéquat. Un dirigeant saura reconnaître rapidement, en fonction du choix du

matériel, un bon technicien. La préparation d'un laboratoire n'est donc pas seulement la recopie

du syllabus mais une analyse précise de ce qu'on demande.

Ces laboratoires ont été conçus pour étudiant seul pendant 4 heures. Vous êtes par binôme pendant

3h20. Ce qui veut dire que vous devez vous organiser pour optimiser le temps. Je rappelle que le non

respect de la procédure (ordre des opérations, non remise à zéro d'un appareil, etc.) ou tout retard dans

l'analyse coûte cher à l'entreprise. Pour mémoire, un atelier industriel produit 22 tonnes par heure.

Toute minute de retard c'est donc 367 kg de produit qui seront au mieux vendu en qualité technique

(quasiment un facteur 1000 au niveau du prix). Il est aussi à noter que toute modification de protocole,

ainsi que toute erreur dans son exécution doit être clairement indiquée afin que la direction puisse

évaluer l'impact et choisir ainsi le devenir du produit incriminé.

Vous remarquerez qu'il y a une logique dans l'ordre des TP. Ils ne sont pas aussi indépendants que ce

que l'on pense. Par exemple, au premier TP (acidimétrie), vous allez préparer des solutions qui

serviront pour les autres. Vous verrez aussi des techniques que vous utiliserez par la suite. La chimie

forme un tout, et une fois un concept manipulé, il ne faut pas tourner la page ; il sert encore souvent

par la suite.

Page 4: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 4

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

Vous devez avoir votre propre cahier où vous numéroterez les pages. La première page doit comporter

clairement votre nom, le nom de l'école ainsi que l'année académique d'étude. Lors des préparations de

vos laboratoires vous n'écrirez que sur les pages de droite, les pages de gauches étant réservées aux

modifications apportées au protocole ainsi qu'aux résultats et aux erreurs. Vous adopterez la

présentation suivante pour chaque laboratoire:

Date de la manip Titre de la manipulation Un code à vous

Référence bibliographique:

But de la manipulation:

Réactions:

A + B C + D

MMA + MMB MMC + MMD

Constantes physico-chimiques intéressantes en rouge comme les masses molaires

Généralités:

Manipulation:

En style plus ou moins télégraphique, mais refaisable par un homme de l'art et le plus complet

possible (avec information de couleur, de changement de température, etc. ...).

Si la manipulation se fait sur plusieurs jours, on indique la nouvelle date dans la marge ...

Numéro de page

Les rapports de laboratoires, sauf cas contraire, sont à rendre à la séance qui suit. Un seul rapport par

binôme est suffisant. Vous devrez obligatoirement utiliser les feuilles que je vous donne, même si

elles contiennent des imperfections (parfois volontaire): ceci est dans un but de vous contraindre à

vous adapter, car beaucoup d'entreprises ont leur propre modèle.

Page 5: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 5

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

TP 0 INFORMATIONS DIVERSES

0.1. Calcination au bec bunsen

! Laisser sécher partiellement le filtre sur verre de montre, avec signe de reconnaissancequelques minutes dans une étuve 95-100 °C.

! Préparer trépied et triangle, voir ci-contre! Transférer le filtre encore humide, ouverture vers le

bas, dans le creuset.! Couvrir le creuset par un capuchon en porcelaine

(fragile !) pendant la calcination pour éviterl'inflammation du papier.

! Calciner dans les mêmes conditions que celles quiont permis, d'amener le creuset à poids constant:

♦ soit au four électrique;♦ soit au bec bunsen. Dans ce cas, on

carbonise d'abord à petite flamme enaugmentant le chauffage à partir dumoment où la fumée se dégage. Oncalcine ensuite (2-3 min au-dessus ducône bleu) jusqu'à disparition totale dupapier (20 à 25 min) Aprèsrefroidissement au dessiccateur, peser et recommencer la calcination jusqu'à poidsconstant.

0.2. Solutions tampon

0.2.1. Premier mélange1

La Table 1 explique la préparation des principales solutions tampon, donne la gamme de pH, lavariation du pH avec la température.Chaque solution est caractérisée par un numéro d'ordre qui permet (voir Table 2) de trouver le volumeà ajouter selon le pH désiré.

Page 6: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 6

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

Table 1

Solution tamponComposants(

N°) A B Mélange dpH/dt Gamme de

pH à 25 °C

1 KCl 0,2M HCl 0,2M 25 ml A + x ml BAmener à 100 ml (H2O) 0 1,0 - 2,2

2 Hydrogénophtalate depotassium 0,1 M HCl 0,1 M 50 ml A + x ml B

Amener à 100 ml (H2O) +0,001 2,4 - 4,0

3 Idem NaOH 0, 1 M 50 ml A + x ml BAmener à 100 ml (H2O) - 4,2 - 6,2

4 KH2PO4 0,1 M NaOH 0,1 M 50 ml A + x ml BAmener à 100 ml (H2O) -0,003 6,2 - 8,0

5 Tris 0,2 M(hydroxyméthyl)aminoéthane HCl 0,1 M 50 ml A + x ml B

Amener à 100 ml (H2O) -0,020 7,2 - 9,0

6 Na2B4O7 (Borax) 0,025 M HCl 0,1 M 50 ml A + x ml BAmener à 100 ml (H2O) -0,005 8,0 - 9,1

7 Idem NaOH 0,1 M 50 ml A + x ml BAmener à 100 ml (H2O) -0,010 9,4 - 10,6

8 Na2HPO4 0,05M NaOH 0,1 M 50 ml A + x ml BAmener à 100 ml (H2O) -0,003 10,9 - 12,0

Table 2SOLUTION TAMPON N°

1 2 3 4 5 6 7 8pH x(ml) pH x(ml) pH x(ml) pH x(ml) pH x(ml) pH x(ml) pH x(ml) pH x(ml)1,0 67,0 2,4 42,2 4,2 3,0 5,8 3,6 7,0 46,6 8,0 20,5 9,4 6,2 11,0 4,11,2 42,5 2,6 35,4 4,4 6,6 6,0 5,6 7,2 44,7 8,2 18,8 9,6 11,1 11,2 6,31,4 26,6 2,8 28,9 4,6 11,1 6,2 8,1 7,4 42,0 8,4 16,6 9,8 15,0 11,4 9,11,6 16,2 3,0 22,3 4,8 16,5 6,4 11,6 7,6 38,5 8,6 13,5 10,0 18,3 11,6 13,51,8 10,2 3,2 15,7 5,0 22,6 6,6 16,4 7,8 34,5 8,8 9,6 10,2 20,5 11,8 19,42,0 6,5 3,4 10,4 5,2 28,8 6,8 22,4 8,0 29,2 9,0 4,6 10,4 22,1 12,0 26,92,2 3,9 3,6 6,3 5,4 34,1 7,0 29,1 8,2 22,9 10,6 23,3

3,8 2,9 5,6 38,8 7,2 34,7 8,4 17,25,8 42,3 7,4 39,1 8,6 12,26,0 45,0 7,6 42,8 8,8 8,56,2 46,7 7,8 45,3 9,0 5,7

8,0 46,7* Extrait de Handbook of Chemistry and Physics, 63rd édition, CRC Press, 1982-1983.

Page 7: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 7

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.2.2. Deuxième mélange2

Table 3

Buffer solutionspH-value at

20 °CQuantity relate to 1

litre Substance

pH 1 3.73 g134 ml

Potassium chloride (KCl)Hydrochloric acid 1 mol/l (HCl)

pH 2 6.43 g3.58 g8.2 ml

Citric acid(C6H8O7.H2O)Sodium chloride (NaCl)Hydrochloric acid 1 mol/l (HCl)with fungicide additive

pH 3 8.47g3.49 g20.6 ml

Citric acid(C6H8O7.H2O)Sodium chloride (NaCl)Sodium hydroxide 1 mol/l (NaOH)with fungicide additive

pH 4 11.76 g2.57 g68 ml

Citric acid(C6H8O7.H2O)Sodium chloride (NaCl)Sodium hydroxide 1 mol/l (NaOH)with fungicide additive

pH 5 20.26 g196.4 ml

Citric acid(C6H8O7.H2O)Sodium hydroxide 1 mol/l (NaOH)with fungicide additive

pH 6 12.53 g159.6 ml

Citric acid(C6H8O7.H2O)Sodium hydroxide 1 mol/l (NaOH)with fungicide additive

pH 7 3.52 g7.26 g

Potassium dihydrogen phosphate (KH2PO4)di-Sodium hydrogen phosphate (Na2HPO4.2 H2O)with fungicide additive

pH 8 4.77 g20.5 ml

Sodium tetraborate (Na2B4O7.10 H2O)Hydrochloric acid 1 mol/l (HCl)

pH 9 4.77 g4.6 ml

Sodium tetraborate (Na2B4O7.10 H2O)Hydrochloric acid 1 mol/l (HCl)

pH 10 4.77 g18.3 ml

Sodium tetraborate (Na2B4O7.10 H2O)Sodium hydroxide 1 mol/l (NaOH)

pH 11 3.7 g6.21 g4 g

Potassium chloride (KCl)Boric acid (H3BO3 )Sodium hydroxide (NaOH)

pH 12 4.45 g0.9 g

di-Sodium hydrogen phosphate (Na2HPO4.2 H2O)Sodium hydroxide (NaOH)

pH 13 0.375 g0.222 g95 ml

Glycine (NH2CH2COOH)Sodium chloride (NaCl)Sodium hydroxide 1 mol/l (NaOH)

Page 8: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 8

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.2.3. Troisième mélange3

Les solutions mères et les solutions tampons doivent être préparées avec de l'eau bi-distillée, exemptede CO2. Les volumes x (en ml) de solutions mères nécessaires pour obtenir les différentes valeurs pH,sont indiqués à la table suivante (Table 5 page 9).

Table 4Solutions mères et leurs concentrations

en quantité de matièreSolutiontampon

N° A B

Composition dela solution tampon

1 glycine 0,1 mol/l + NaCl 0,1 mol/l[glycine: 7,507 g/l + NaCl: 5,844 g/l] HCl 0,1 mol/l x parts A +

(100-x) parts B

2di-sodiumcitrate 0,1 mol/l[acide citrique monohydraté: 21,014 g/l+ 200 ml NaOH 1 mol/l]

HCl 0,1 mol/l x parts A +(100-x) parts B

3 potassium hydrogénophtalate 0,1 mol/l[C8H5KO4: 20,42 g/l] HCl 0,1 mol/l 50 ml A + x ml B

à 100 ml*

4 idem N° 3 NaOH 0,1 mol/l 50 ml A + x ml Bà 100 ml*

5 idem N° 2 NaOH 0,1 mol/l x parts A +(100-x) parts B

6 potassium dihydrogénophosphate1/15 mol/l [KH2PO4: 9,073 g/l]

di-sodiumhydrogéno-phosphate1/15 mol/l[Na2HPO4.2 H2O: ll,87 g/l]

x parts A +(100-x) parts B

7Acide diéthyl-5,5-barbiturique,sel de sodium 0,1 mol/l[Barbital-Na: 20,62 g/l]

HCl 0,1 mol/l x parts A =(100-x) parts B

8Borax solution 0,05 mol/l[H3BO3: 12,37 g/l + 100 ml NaOH 1mol/l]

HCl 0,1 mol/l x parts A +(100-x) parts B

9 idem N° 1 NaOH 0,1 mol/l x parts A +(100-x) parts B

10Acide citrique 0,1 mol/l[acide citrique monohydraté: 21,014g/l]

di-sodiumhydrogéno-phosphate0,2 mol/l [Na2HPO4.2 H2O: 35,60g/l]

x parts A +(100-x) parts B

11Sodium acétate 0,1 mol/l[C2H3O2Na: 8,204 g/l ou C2H3O2Na.3H2O: 13,61 g]

acide acétique 0,1 mol/l x parts A +(100-x) parts B

12 Imidazole 0,2 mol/l[C3H4NO3: 13,62 g/l] HCl 0,1 mol/l 25 ml A +

x ml B à 100 ml*

13

Triéthanolamine 0,5 mol/l + TitriplexIII[C6H15NO3: 74,60 g/l + Titriplex III: 20g/l]

HCl 0,05 mol/l 10 ml A +x ml B à 100 ml*

14 Tris(hydroxyméthyl)aminométhane 0,2mol/l [TRIS: 24,23 g/l] HCl 0,1 mol/l 25 ml A +

x ml B à 100 ml*

15 Sodium carbonate 0,1 mol/l (10,60 g/l)[Na2CO3: 10,60 g/l|

Sodium hydrogèno-carbonate 0,1mol/l [NaHCO3: 8,401 g/l]

x parts A +(100-x) parts B

* compléter jusq'à 100 ml

Page 9: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 9

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

Table 5 - Ce tableau indique le volume x (en ml) des solutions mères (préparées selon les indicationspage 8 Table 4) afin d'obtenir une solution tampon avec une valeur pH déterminée.pH 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 pH1,0 1,01,2 11,1 9,0 1,21,4 26,4 17,9 1,41,6 36,2 23,6 1,61,8 43,9 27,6 1,82,0 50,7 30,2 2,02,2 56,5 32,2 98,8 2,22,4 62,3 34,1 41,0 94,5 2,42,6 68,4 36,0 34,3 90,0 2,62,8 74,7 37,9 27,8 85,1 2,83,0 81,0 39,9 21,6 80,3 3,03,2 86,2 42,1 15,9 76,0 3,23,4 90,3 44,8 10,9 72,0 3,43,6 47,8 6,7 68,4 3,63,8 51,2 3,3 65,1 10,9 3,84,0 55,1 0,0 62,0 16,6 4,04,2 60,0 3,0 59,1 23,9 4,24,4 66,4 6,7 56,4 33,5 4,44,6 74,9 11,1 53,7 44,9 4,64,8 85,6 16,5 51,2 56,6 4,85,0 100,0 22,6 99,2 49,0 67,8 5,05,2 28,8 87,1 98,4 46,9 76,8 5,25,4 34,4 78,0 97,3 44,7 84,0 5,45,6 39,1 70,3 95,5 42,2 89,3 5,65,8 42,4 64,5 92,8 40,0 5,86,0 45,0 60,3 88,9 37,4 6,06,2 46,7 57,2 83,0 34,5 43,4 6,26,4 54,8 75,4 31,4 40,4 6,46,6 53,2 65,3 27,9 36,5 6,66,8 53,4 23,5 31,4 6,87,0 41,3 53,3 19,0 25,4 86,2 7,07,2 29,6 55,0 13,8 19,6 79,6 44,7 7,27,4 19,7 57,6 9,8 14,6 71,3 42,0 7,47,6 12,8 60,8 6,8 10,2 62,0 39,3 7,67,8 7,4 65,2 53,0 4,6 6,6 52,0 33,7 7,88,0 3,7 70,6 55,4 42,0 27,9 8,08,2 75,6 58,0 31,9 22,9 8,28,4 81,2 62,1 22,5 17,3 8,48,6 86,2 66,9 94,7 16,0 13,0 8,68,8 90,1 73,6 92,0 11,7 8,8 8,89,0 93,2 83,5 88,4 5,3 9,09,2 95,6 84,0 10,0 9,29,4 78,9 18,4 9,49,6 73,2 29,3 9,69,8 67,2 42,0 9,810,0 62,5 53,4 10,010,2 58,8 63,7 10,210,4 55,7 73,1 10,410,6 53,6 81,2 10,610,8 52,2 87,9 10,811,0 51,2 11,011,2 50,4 11,211,4 49,5 11,411,6 48,7 11,611,8 47,6 11,812,0 46,0 12,012,2 43,2 12,212,4 39,1 12,412,6 31,8 12,612,8 21,4 12,8pH 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 pH

Page 10: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 10

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.2.4. Propriétés des tampons2

Cette table se rapporte aux solutions présentées à la Table 3.

0 °C 10 °C 20 °C 30 °C 40 °C 50 °C 60 °C 70 °C 80 °C 90 °Cbuffer-valueβ

dilutioninfluence▲ pH 1/2

0.94 0.99 1.00 1.00 1.01 1.01 1.01 1.01 1.02 1.02 0.32 +0.301.99 1.99 2.00 2.00 2.00 2.00 2.00 2.00 2.00 2.00 0.03 +0.253.03 3.02 3.00 3.00 2.99 2.98 2.98 2.98 2.98 2.97 0.03 +0.104.03 4.02 4.00 4.00 4.00 4.00 4.00 4.00 4.00 4.00 0.04 +0.055.05 5.02 5.00 5.00 5.00 5.02 5.04 5.07 5.10 5.13 0.07 +0.086.03 6.01 6.00 6.02 6.04 6.06 6.09 6.13 6.18 6.24 0.03 +0.117.13 7.05 7.00 6.98 6.97 6.96 6.96 6.97 6.98 7.00 0.03 +0.068.18 8.09 8.00 7.94 7.90 7.86 7.82 7.80 7.77 7.75 0.014 +0.109.24 9.11 9.00 8.93 8.86 8.80 8.75 8.71 8.67 8.64 0.02 +0.0210.24 10.10 10.00 9.90 9.82 9.75 9.68 9.62 9.55 9.49 0.013 +0.0111.45 11.20 11.00 10.81 10.64 10.48 10.33 10.19 10.06 9.93 0.013 -0.0412.58 12.26 12.00 11.75 11.53 11.31 11.09 10.88 10.68 10.48 0.02 -0.2213.71 13.35 13.00 12.66 12.37 12.10 11.84 11.61 11.40 11.20

0.3. Solution de calibration (pH mètre)1

Hydrogénophtalate de potassium 0,05 M pH = 4,008 à 25 °CKH2PO4 0,025M + Na2HPO4 0,025 M pH = 6,865 à 25 °CBorax 0,01 M pH = 9,18 à 25°C

0.4. Indicateurs colorés

0.4.1. Indicateurs de pH

Page 11: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 11

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.4.1.1. De Riedel-deHaën2

Substances pH - value color changesMalachite green - oxalate 0.0 - 2.2 yellow-green/blueAstra diamond green GX 0.0 - 2.6 yellow-greenBrillant green 0.0 - 2.6 yellow-greenEosin yellowish 0.0 - 3.0 yellow-green fluorescentEthyl violet 0.0 - 3.5 yellow-blueErythrosin 0.0 - 3.6 yellow brown/orange-cherry/redMethyl violet 6B 0.1 - 2.7 yellow-violetCresol red 0.2- 1.8 red-yellow (1st color change)Cristal violet 0.8 - 2.6 yellow-blue/violetTropaeolin OO 1.0 - 2.8 red-yellowMetanil yellow 1.2 - 2.3 violet/red-yellowThymol blue water-soluble 1.2 - 2.8 violet/red-brown/yellow (1st color change)Thymol blue 1.2 - 2.8 violet/red-brown/yellow (1st color change)m-Cresol purple 1.2 - 2.8 red-yellow (1st color change)Eosin bluish 1.4 - 2.4 colorless-pink fluorescentQuinaldine red 1.4 - 3.2 colorless-pink2.4-Dinitrophenol with 0.5 ml H2O/g 2.0 - 4.7 colorless-yellow4-(N.N-Dimethylamino)-azobenzene 2.9-4.0 red-yellowEthyl orange 3.0-4.5 red-orangeBromchlorphenol blue 3.0 - 4.6 yellow-purpurBromphenol blue 3.0 - 4.6 yellow-blue/violetTetrabromphenol blue 3.0 - 5.0 yellow-blueCongo red 3.0 - 5.2 blue-redMethyl orange 3.1 - 4.4 red-yellow/orangeBromcresol green 3.8 - 5.4 yellow-blueChrysoidin G 4.0 - 7.0 orange-yellowMethyl red 4.4 - 6.2 red-yellow/orangeMethy red sodium salt 4.4 - 6.2 red-yellow/orangeEthyl red 4.5 - 6.5 red-yellow4-Nitrophenol 4.7 - 7.9 colorless-yellowChlorphenol red 4.8 - 6.4 yellow-violet2-Nitrophenol 5.0 - 7.0 colorless-yellowLitmus 5.0 - 8.0 red-blueBromcresol purple 5.2 - 6.8 yellow-purpurBromphenol red 5.3 - 6.8 orange/yellow-purpleAlizarin 5.8 - 7.2 yellow-red (1st color change)Bromthymol blue 6.0 - 7.6 yellow-blueBromthymol blue water-soluble 6.0 - 7.6 yellow-bluePhenol red 6.4 - 8.2 yellow-redPhenol red water-soluble 6.4 - 8.2 yellow-red3-Nitrophenol 6.6 - 8.6 colorless-yellowNeutral red 6.8 - 8.0 blue/red-orange/yellowRosolic acid 6.9 - 8.0 yellow-redCresol red 7.0 - 8.8 yellow-purpur (2nd color change)alpha-Naphtholphthalein 7.3 - 8.7 redish-blueTropaeolin OOO Nr.2 7.4 - 8.6 amber color-orangem-Cresol purple 7.4 - 9.0 yellow-purple (2nd color change)Tropaeolin OOO Nr.1 7.6 - 8.9 orange-redo-Cresolphthalein 7.8 - 9.8 colorless-redPhenol violet 8.0 - 10.0 yellow-blue/violetThymol blue water-soluble 8.0 - 9.6 green/yellow-blue (2nd color change)Thymol blue 8.0 - 9.6 green/yellow-blue (2nd color change)Phenolphthalein 8.2 - 9.8 colorless-redThymol violet 9.0 - 13.0 yellow/green-violetThymolphthalein 9.3 - 10.5 colorless-blueMethyl blue 9.4 - 14.0 blue-orangeAlizarin yellow R 10.0- 12.1 light yellow-red/brownAlizarin 11.0 - 13.0 red-purple (2nd color change)Tropaeolin O 11.1 - 12.7 yellow-orange/brownIndigo carmine 11.5 - 14.0 blue-yellowOrange G 11.6 - 14.0 yellow-pinkTitan yellow 12.0- 13.0 yellow-redRubin S 12.0 - 14.0 purple-colorless

Page 12: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 12

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.4.1.2. De Merck3

Indicateur Domaine de virageChangement de couleur Solution indicatrice (préparation)

Vert malachite-oxalate(C.I.N° 42000)

0,0jaune

- 2,0bleu-vert 0,1 g dans 100 ml d'eau

Vert brillant(C.I.N° 42040)

0,0jaune

- 2,6vert 0,1 g dans 100 ml d'eau

Eosine jaunâtre(C.I.N° 45380)

0,0jaune

- 3,0vert

fluorescent0,1 g dans 100 ml d'eau

Erythrosine B(C.I.N° 45430)

0,0orange

- 3,6rouge 0,1 g dans 100 ml d'eau

Vert de méthyle(CI. N° 42590)

0,1jaune

- 2,3bleu 0,1 g dans 100 ml d'eau

Violet de méthyle(C.N. N° 42535)

0,1jaune

- 2,7violet 0,1 g dans 100 ml d'éthanol (20 %)

Acide picrique(C.I.N° 10305)

0,2incolore

- 1,0jaune 0,1 g dans 100 ml d'éthanol (70 %)

Rouge de crésol0,2

rouge- 1,8

jaunedissoudre 0,1 g dans 100 ml d'éthanol (20 %) ou 0,04 g dans 1,05ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Violet cristallisé(C.I.N° 42555)

0,8jaune

- 2,6bleu-violet 0,1 g dans 100 ml d'éthanol (70 %)

Pourpre de m-crésol1,2

rouge- 2,8

jaunedissoudre 0,04 g dans 100 ml d'éthanol (20 %) ou 0,04 g dans 1,05ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Bleu de thymol1,2

rouge- 2,8

jaunedissoudre 0,04 g dans 100 ml d'éthanol (20 %) ou 0,04 g dans 0,86ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Bleu de p-xylénol1,2

rouge- 2,8

jaunedissoudre 0,01 g dans 100 ml d'éthanol (50 %) ou 0,04 g dans 0,98ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Pentaméthoxy-2,2',2",4,4'-triphénylcarbinol

1,2rouge

- 3,2incolore 0,1 g dans 100 ml d'éthanol 96 %

Eosine bleuâtre(C.I.N° 45400)

1,4incolore

- 2,4rosé

fluorescent0,1 g dans 100 ml d'eau

Rouge de quinaldine 1,4incolore

- 3,2rose 0,1 g dans 100 ml d'éthanol (60 %)

Dinitro-2,4-phénol 2,8incolore

- 4,7jaune 0,1 g dans 100 ml d'éthanol (70 %)

Diméthylamino-4-azobenzène(C.I.N° 11020)

2,9rouge

- 4,0jaune-orange 0,1 - 0,5 g dans 100 ml d'éthanol (90 %)

Bleu de bromochlorophénol3,0

jaune- 4,6

bleu-violetdissoudre 0,1 g dans 100 ml d'éthanol (20 %) ou 0,04 g dans 0,69ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Bleu de bromophénol3,0

jaune- 4,6

bleu-violetdissoudre 0,1 g dans 100 ml d'éthanol (20 %) ou 0,04 g dans 0,6 mlde lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à 100ml

Rouge Congo(C.I.N° 22120)

3,0bleu

- 5,2jaune-orange 0,2 g dans 100 ml d'eau

Orangé de méthyle(C.I.N° 13025)

3,1rouge

- 4,4jaune-orange

0,04 g dans 100 ml d'éthanol (20 %) ou 0,04 g dans 100 mld'eau

Indicateur mixte 4,5 selonMortimer

4,3rouge

- 5,2bleu 250 ml

Vert de bromocrésol3,8

jaune- 5,4

bleudissoudre 0,1 g dans 100 ml d'éthanol (20 %) ou 0,04 g dans 0,58ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Page 13: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 13

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

Indicateur Domaine de virageChangement de couleur Solution indicatrice (préparation)

Dinitro-2,5-phénol 4,0incolore

- 5,8jaune 0,05 - 0,1 g dans 100 ml d'éthanol (70 %)

Acide alizarine-sulfonique selsodique(C.I.N° 58005)

4,3jaune

- 6,3violet 0,1 g dans 100 ml d'éthanol (50 %) ou 0,1 g dans 100 ml d'eau

Rouge de méthyle(C.I.N° 13020)

4,4rouge

- 6,2jaune-orangé 0,1 g dans 100 ml d'éthanol (96 %)

Indicateur mixte 5 4,4rouge-violet

- 5,8vert 250 ml

Rouge de chlorophénol4,8

jaune- 6,4

pourpredissoudre 0,1 g dons 100 ml d'éthanol (20 %) ou 0,04 g dans 0,94ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Tournesol(C.I.N° 1242)

5,0rouge

- 8,0bleu 4 g dans 100 ml d'eau

Pourpre de bromocrésol5,2

jaune- 6,8

pourpredissoudre 0,1 g dons 100 ml d'éthanol (20 %) ou 0,4 g dans 0,74 mlde lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à 100ml

Rouge de bromophénol5,2

orangé-jaune- 6,8

pourpredissoudre 0,1 g dans 100 ml d'éthanol (20 %) ou 0,04 g dans 0,94ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Nitro-4-phénol 5,4incolore

- 7,5jaune 0,2 g dans 100 ml d'éthanol (96 %) ou 0,08 g dans 100 ml d'eau

Bleu de bromoxylénol 5,7jaune

- 7,5bleu 0,1 g dans 100 ml d'éthanol (96 %)

Alizarine(C.I.N° 58000)

5,8jaune

- 7,2rouge 0,5 g dans 100 ml d'éthanol (96 %)

Bleu de bromothymol6,0

jaune- 7,6

bleudissoudre 0,1 g dans 100 ml d'éthanol (20 °/o) ou 0,04 g dans 0,64ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Rouge de phénol6,4jaune - 8,2

rouge-violetdissoudre 0,1 g dans 100 ml d'éthanol (20 °/o) ou 0,04 g dans 1,13ml de lessive de soude 0,1 mol/l et compléter avec de l'eaujusqu'à100 ml

Nitro-3-phénol 6,6incolore

- 8,6jaune-orangé 0,3 g dans 100 ml d'éthanol (96 %) ou 0,08 g dans100 ml d'eau

Rouge neutre(C.I.N° 50040)

6,8bleu-rouge

- 8,0orangé-jaune 0,1 g dans 100 ml d'éthanol (70 %)

Tétrabromo-4,5,6,7-phtaléine 7,0incolore

- 8,0pourpre 0,1 g dans 100 ml d'éthanol (96 %)

Rouge de crésol7,0

orangé- 8,8

pourpredissoudre 0,1 g dans 100 ml d'éthanol (50 %) ou 0,04 g dans 1,05ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Napthène-1-phtaléine 7,1brunâtre

- 8,3bleu-vert 0,1 g dans 100 ml d'éthanol (96 %)

Pourpre de m-crésol7,4

jaune- 9,0

pourpredissoudre 0,04 g dans100 ml d'éthanol (20 %) ou 0,04 g dans 1,05ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Bleu de thymol8,0

jaune- 9,6

bleudissoudre 0,04 g dans100 ml d'éthanol (20 %) ou 0,04 g dans 0,86ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Bleu de p-xylénol8,0

jaune- 9,6

bleudissoudre 0,04 g dans 100 ml d'éthanol (20 %) ou 0,04 g dans 0,86ml de lessive de soude 0,1 mol/l et compléter avec de l'eau jusqu'à100 ml

Phénolphtaléine 8,2incolore

- 9,8rouge-violet 0,1 g dans 100 ml d'éthanol (96 %)

Thymolphtaléine 9,3incolore

- 10,5bleu 0,1 g dans 100 ml d'éthanol (50 %)

Bleu alcalin(C.I.N° 42765)

9,4violet

- 14,0rose 0,1 g dans 100 ml d'éthanol (96 %)

Jaune d'alizarine GG(C.I.N° 14025)

10,0jaune-clair

- 12,1jaune-brunâtre 0,1 g dans 100 ml d'eau

Page 14: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 14

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

Indicateur Domaine de virageChangement de couleur Solution indicatrice (préparation)

Atizarine(C.I.N° 58000)

10,1rouge

- 12,1pourpre 0,5 g dans 100 ml d'éthanol (96 %)

Jaune titane(C.I.N° 19540)

12,0jaune

- 13,0rouge 0,1 g dans 100 ml d'éthanol (20 %)

Carmin d'indigo(C.I.N° 73015)

11,5bleu

- 13,0jaune 0,25 g dans 100 ml d'éthanol (50 %) ou 1 g dans 100 ml d'eau

Bleu d'epsilon 11,6orange

- 13,0violet 0,1 g dans 100 ml d'eau

0.4.2. Indicateurs d'Oxydo-réduction3

Potentield'oxydoréduction

(V)

Changement decouleurIndicateur

E0 (pH=0)(20 °C)

E0 (pH=7)(30 °C)

ValeurrH

Formeoxydée

Formeréduite

Solution indicatrice(préparation)

Acide diphényl-aminesulfonique-4 sel debaryum

+ 0,84 dans l'acidesulfurique 1 mol/l 28,5 rouge-

violet incolore 0,2 g dans 100 ml d'eau

Acide N-phényl-anthranilique + 0,89 rouge-

pourpre incolore

Dissoudre 0,1 g dans 5 ml de lessivede soude 0,1 mol/l et compléter avecde l'eau à 100 ml ou dissoudre 0,107g dans 20 ml de sodium carbonate ensolution (5 %) et compléter avec del'eau à 100 ml

Bipyridine-2,2'(fer[II]complexe) + 1,03 bleu pâle rouge 0,695 g FeSO4 7H2O + 1,171 g de

bipyridine 2,2' dans 100 ml d'eauBleu de crésyl brillant(C.I.N° 51010) + 0,58 + 0,05 bleu incolore 0,5 g dans 100 ml d'eau ou d'éthanol

(96 %)Bleu de méthylène(C.I.N° 52015)

+ 0,53(30°C) + 0,01 14,5 bleu incolore 0,1 - 0,5 g dans 100 ml d'eau

Bleu de Nil, sulfate(C.I.N° 51180) + 0,41 -0,12 bleu-rouge incolore 0,1 g dons 100 ml dans l'eau

Bleu de variamine sel B(C.I.N° 37255) + 0,712 + 0,31

bleu-violet(acidité)

jaune(alcalinité)

incolore1,0 g dans 100 ml d'eau ou desodium chlorure ou de sodiumsulfate anhydre, broyé

Cacothéline + 0,525 18,1 jaune

rouge-violet

(incoloreirréversible

si laréductionest tropforte)

saturée dans l'eau

Carmin d'indigo(Indigosulfonate, seldisodique)(C.I.N° 73015)

+ 0,29 -0,11 10 bleu jaunâtre 0,05 g dans 100 ml d'eau

Dichloro-2,6-phénolin-dophénol sel sodique(dihydraté)

+ 0,67 + 0,23 22 bleu incolore 0,02 g dons 100 ml d'eau

Diméthyl-3,3'-naphtidine(Diamino-4,4'-diméthyl-3,3'-binaphthaline-1,1')

+ 0,78 rougepourpre incolore 1,0 g dans 100 ml d'acide acétique

Page 15: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 15

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

Potentield'oxydoréduction

(V)

Changement decouleurIndicateur

E0 (pH=0)(20 °C)

E0 (pH=7)(30 °C)

ValeurrH

Formeoxydée

Formeréduite

Solution indicatrice(préparation)

N,N-Diméthyl-phénylènediomine 1,4-dichlorure

+ 0,751 bleu-foncé incolore 0,2 g dans 100 ml d'eau

Diphénylamine + 0,76 bleu-violet incolore 1,0 g dans 100 ml d'acide sulfurique(96 %)

N,N'-Diphényl-benzidine + 0,76 dans l'acidesulfurique 1 mol/l 26 ±3,0 violet incolore 1,0 g dans 100 ml d'acide sulfurique

(96 %)Ferroîne (phénantroline-1,10 fer [II]-complexej + 1,06 40 bleu orangé-

rougeNoir amido 10 B(C.I.N° 20470) + 0,57 + 0,84 brun-

jaunâtre bleu 0,2 g dans 100 ml d'eau

Phénanthroline 1,10 + 1,14 + 1,06 bleu-pâle rouge0,695 g FeSO4 7H2O + 1,487 gphénanthroline 1,10 dans 100 mld'eau

Rouge neutre(C.I.N° 50040) + 0,24 -0,29 3 rouge

violet incolore 0,05 g dans 100 ml d'éthanol (96 %)

Safranine(C.I.N° 50240) + 0,24 -0,29 4

bleu violet(acidité)

brun(alcalinité)

incolore 0,05 g dans 100 ml d'eau

Terpyridine-2,2':6',2''[fer(II)complexe] + 1,25 bleu-pâle rouge

0,232 g FeSO4 7H2O + 0,389 g deterpyridine-2,2':6',2'' dons 100 mld'eau

Thionine(C.I.N° 52000) + 0,56 + 0,06 16 violet incolore 0,05 g dans 100 ml d'éthanol (60 %)

0.5. Table densité-pourcentage de quelques bases et acides3

Page 16: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 16

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.5.1. Acide nitrique

-1HNO g.mol 63,02 MM

3=

Densité°°

204D

% en poids deHNO3

Densité°°

204D

% en poids deHNO3

Densité°°

204D

% en poids deHNO3

1,000 0,3333 1,260 42,14 1,504 97,741,005 1,255 1,265 42,92 1,505 97,991,010 2,164 1,270 43,70 1,506 98,251,015 3,073 1,275 44,48 1,507 98,501,020 3,982 1,280 45,27 1,508 98,761,025 4,883 1,285 46,06 1,509 99,011,030 5,784 1,290 46,85 1,510 99,261,035 6,661 1,295 47,63 1,511 99,521,040 7,530 1,300 48,42 1,512 99,771,045 8,398 1,305 49,21 1,513 100,001,050 9,259 1,310 50,001,055 10,12 1,315 50,851,060 10,97 1,320 51,711,065 11,81 1,325 52,561,070 12,65 1,330 53,411,075 13,48 1,335 54,271,080 14,31 1,340 55,131,085 15,13 1,345 56,041,090 15,95 1,350 56,951,095 16,76 1,355 57,871,100 17,58 1,360 58,781,105 18,39 1,365 59,691,110 19,19 1,370 60,671,115 20,00 1,375 61,691,120 20,79 1,380 62,701,125 21,59 1,385 63,721,130 22,38 1,390 64,741,135 23,16 1,395 65,841,140 23,94 1,400 66,971,145 24,71 1,405 68,101,150 25,48 1,410 69,231,155 26,24 1,415 70,391,160 27,00 1,420 71,631,165 27,76 1,425 72,861,170 28,51 1,430 74,091,175 29,25 1,435 75,351,180 30,00 1,440 76,711,185 30,74 1,445 78,071,190 31,47 1,450 79,431,195 32,21 1,455 80,881,200 32,94 1,460 82,391,205 33,68 1,465 83,911,210 34,41 1,470 85,501,215 35,16 1,475 87,291,220 35,93 1,480 89,071,225 36,70 1,485 91,131,230 37,48 1,490 93,491,235 38,25 1,495 95,461,240 39,02 1,500 96,731,245 39,80 1,501 96,981,250 40,58 1,502 97,231,255 41,36 1,503 97,49

Page 17: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 17

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.5.2. Acide sulfurique

-1SOH g.mol 98,08 MM

42=

Densité°°

204D

% en poids deH2SO4

Densité°°

204D

% en poids deH2SO4

Densité°°

204D

% en poidsde H2SO4

Densité°°

204D

% en poids deH2SO4

1,000 0,2609 1,260 35,01 1,520 62,00 1,780 85,161,005 0,9855 1,265 35,60 1,525 62,45 1,785 85,741,010 1,731 1,270 36,19 1,530 62,91 1,790 86,351,015 2,485 1,275 36,78 1,535 63,36 1,795 86,991,020 3,242 1,280 37,36 1,540 63,81 1,800 87,691,025 4,000 1,285 37,95 1,545 64,26 1,805 88,431,030 4,746 1,290 38,53 1,550 64,71 1,810 89,231,035 5,493 1,295 39,10 1,555 65,15 1,815 90,121,040 6,237 1,300 39,68 1,560 65,59 1,820 91,111,045 6,956 1,305 40,25 1,565 66,03 1,821 91,331,050 7,704 1,310 40,82 1,570 66,47 1,822 91,561,055 8,415 1,315 41,39 1,575 66,91 1,823 91,781,060 9,129 1,320 41,95 1,580 67,35 1,824 92,001,065 9,843 1,325 42,51 1,585 67,79 1,825 92,251,070 10,56 1,330 43,07 1,590 68,23 1,826 92,511,075 11,26 1,335 43,62 1,595 68,66 1,827 92,771,080 11,96 1,340 44,17 1,600 69,09 1,828 93,031,085 12,66 1,345 44,72 1,605 69,53 1,829 93,331,090 13,36 1,350 45,26 1,610 69,96 1,830 93,641,095 14,04 1,355 45,80 1,615 70,39 1,831 93,941,100 14,73 1,360 46,33 1,620 70,82 1,832 94,321,105 15,41 1,365 46,86 1,625 71,25 1,833 94,721,110 16,08 1,370 47,39 1,630 71,671,115 16,76 1,375 47,92 1,635 72,091,120 17,43 1,380 48,45 1,640 72,521,125 18,09 1,385 48,97 1,645 72,951,130 18,76 1,390 49,48 1,650 73,371,135 19,42 1,395 49,99 1,655 73,801 140 20,08 1,400 50,50 1,660 74,221,145 20,73 1,405 51,01 1,665 74,641,150 21,38 1,410 51,52 1,670 75,071,155 22,03 1,415 52,02 1,675 75,491,160 22,67 1,420 52,51 1,680 75,921,165 23,31 1,425 53,01 1,685 76,341,170 23,95 1,430 53,50 1,690 76,771,175 24,58 1,435 54,00 1,695 77,201,180 25,21 1,440 54,49 1,700 77,631,185 25,84 1,445 54,97 1,705 78,061 190 26,47 1,450 55,45 1,710 78,491,195 27,10 1,455 55,93 1,715 78,931,200 27,72 1,460 56,41 1,720 79,371,205 28,33 1,465 56,89 1,725 79,811,210 28,95 1,470 57,36 1,730 80,251,215 29,57 1,475 57,84 1,735 80,701,220 30,18 1,480 58,31 1,740 81,161,225 30,79 1,485 58,78 1,745 81,621,230 31,40 1,490 59,24 1,750 82,091,235 32,01 1,495 59,70 1,755 82,571,240 32,61 1,500 60,17 1,760 83,061,245 33,22 1,505 60,62 1,765 83,571,250 33,82 1,510 61,08 1,770 84,081,255 34,42 1,515 61,54 1,775 84,61

Page 18: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 18

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.5.3. Acide phosphorique

-1POH g.mol 97,99 MM

43=

Densité°°

204D

% en poids deH3PO4

Densité°°

204D

% en poids deH3PO4

1,0038 1 1,1462 251,0092 2 1,1529 261,0146 3 1,1597 271,0200 4 1,1665 281,0255 5 1,1735 291,0309 6 1,1805 301,0365 7 1,216 351,0420 8 1,254 401,0476 9 1,293 451,0532 10 1,335 501,0590 11 1,379 551,0647 12 1,426 601,0705 13 1,476 651,0764 14 1,526 701,0824 15 1,579 751,0884 16 1,633 801,0946 17 1,689 851,1008 18 1,746 901,1071 19 1,770 921,1134 20 1,794 941,1199 21 1,819 961,1263 22 1,844 981,1329 23 1,870 1001,1395 24

0.5.4. Acide chlorhydrique

-1HCl g.mol 36,47 MM =

Densité°°

204D

% en poids deHCl

Densité°°

204D

% en poids deHCl

Densité°°

204D

% en poids deHCl

1,000 0,3600 1,070 14,495 1,140 28,181,005 1,360 1,075 15,485 1,145 29,171,010 2,364 1,080 16,47 1,150 30,141,015 3,374 1,085 17,45 1,155 31,141,020 4,388 1,090 18,43 1,160 32,141,025 5,408 1,095 19,41 1,165 33,161,030 6,433 1,100 20,39 1,170 34,181,035 7,464 1,105 21,36 1,175 35,201,040 8,490 1,110 22,33 1,180 36,231,045 9,510 1,115 23,29 1,185 37,271,050 10,52 1,120 24,25 1,190 38,321,055 11,52 1,125 25,22 1,195 39,371,060 12,51 1,130 26,20 1,198 40,001,065 13,50 1,135 27,18

Page 19: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 19

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.5.5. Ammoniaque

-1NH g.mol 17,03 MM

3=

Densité°°

204D

% en poids deNH3

Densité°°

204D

% en poids deNH3

0,998 0,0465 0,944 13,710,996 0,512 0,942 14290,994 0,977 0,940 14,880,992 1,43 0,938 15,470,990 1,89 0,936 16,060,988 2,35 0,934 16,650,986 2,82 0,932 17,240,984 3,30 0,930 17,850,982 3,78 0,928 18,450,980 4,27 0,926 19,060,978 4,76 0,924 19,670,976 5,25 0,922 20,270,974 5,75 0,920 20,880,972 6,25 0,918 21,500,970 6,75 0,916 22,1250,968 7,26 0,914 22,750,966 7,77 0.9T2 23,390,964 8,29 0,910 24,030,962 8,82 0,908 24,680,960 9,34 0,906 25,330,958 9,87 0,904 26,000,956 10,405 0,902 26,670,954 10,95 0,900 27,330,952 11,49 0,898 28,000,950 12,03 0,896 28,670,948 12,58 0,894 29,330,946 13,14 0,892 30,00

0.5.6. Lessive de soude

-1NaOH g.mol 40,01 MM =

Densité°°

204D

% en poids deNaOH

Densité°°

204D

% en poids deNaOH

Densité°°

204D

% en poids deNaOH

1,000 0,159 1,180 16.44 1.360 33,061,010 1,045 1,190 17,345 1,370 34,031,020 1,94 1,200 18,255 1,380 35,011,030 2,84 1,210 19,16 1,390 36,001,040 3,745 1,220 20.07 1,400 36,991,050 4,655 1,230 20,98 1,410 37,991,060 5,56 1,240 21,90 1,420 38,991,070 6,47 1,250 22,82 1,430 40,001,080 7,38 1,260 23,73 1,440 41,031,090 8,28 1,270 24,645 1,450 42,071,100 9,19 1,280 25,56 1,460 43,121,110 10,10 1,290 26,48 1,470 44,171,120 11,01 1,300 27,41 1,480 45,221,130 11,92 1,310 28,33 1,490 46,271,140 12,83 1,320 29,26 1,500 47,331,150 13,73 1,330 30,20 1,510 48,381,160 14,64 1,340 31,14 1,520 49,441,170 15,54 1,350 32,10 1,530 50,50

Page 20: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 20

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.5.7. Lessive de potasse

-1KOH g.mol 56,11 MM =

Densité°°

204D

% en poids deKOH

Densité°°

204D

% en poids deKOH

Densité°°

204D

% en poids deKOH

1,000 0,197 1,180 19,35 1,360 36,7351,010 1,295 1,190 20,37 1,370 37,651,020 2,38 1,200 21,38 1,380 38,561,030 3,48 1,210 22,38 1,390 39,461,040 4,58 1,220 23,38 1,400 40,371,050 5,66 1,230 24,37 1,410 41,261,060 6,74 1,240 25,36 1,420 42,1551,070 7,82 1,250 26,34 1,430 43,041,080 8,89 1,260 27,32 1,440 43,921,090 9,96 1,270 28,29 1,450 44,791,100 11,03 1,280 29,25 1,460 45,661,110 12,08 1,290 30,21 1,470 46,531,120 13,14 1,300 31,15 1,480 47,391,130 14,19 1,310 32,09 1,490 48,251,140 15,22 1,320 33,03 1,500 49,101,150 16,26 1,330 33,97 1,510 49,951,160 17,29 1,340 34,90 1,520 50,801,170 18,32 1,350 35,82 1,530 51,64

0.5.8. Concentrations usuelles de quelques acides et bases

Désignation % en poids Densité °°

204D Concentration (mol.l-1)*

Acide acétique (cristallisable) DAB 7 96 1,06 17Acide acétique (cristallisable) 99-100 % 99 - 100 1,06 18Acide acétique dilué DAB 7 30 1,04 5Acide bromhydrique 40 1,38 7Acide chlorhydrique DAB 7 25 1,12 6Acide chlorhydrique concentré (1,16) 32 1,16 10Acide chlorhydrique concentré (1,18) 36 1,18 12Acide chlorhydrique fumant 37 1,19 12,5Acide fluorhydrique 48 1,16 28Acide fluorhydrique 40 1,13 23Acide formique 98 - 100 1,22 26Acide iodhydrique 57 1,7 7,5Acide nitrique DAB 7 25 1,15 5Acide nitrique concentré 65 1,40 14Acide nitrique fumant 100 1,52 21Acide perchlorique 70 1,67 12Acide perchlorique 60 1,53 9Acide phosphorique DAB 7 25 1,15 3Acide phosphorique concentré (1,71) 85 1,71 15Acide phosphorique concentré (1,75) 89 1,75 16Acide sulfurique concentré 95- 97 1,84 18Acide sulfurique dilué 25 1,18 6Ammoniaque 35 0,88 18Ammoniaque 30 0,88 15,5Ammoniaque 25 0,91 13,5Lessive de potasse 47 1,5 12,5Lessive de potasse 30 1,3 7Lessive de soude 33 1,36 11

* Valeurs arrondies

Page 21: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 21

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.6. Interprétation des résultats par le calcul statistique

0.6.1. Généralité

Le calcul d'incertitude classique dans lequel on admet que toutes les erreurs se cumulent est troppessimiste. La méthode statistique permet de calculer la valeur de l'erreur avec une probabilité donnée.Le calcul statistique ne s'applique qu'a un ensemble de faits expérimentaux significatifs d'unecatégorie d'expérimentateurs.Supposons qu'une solution à doser ait un titre réel X. Une famille d'étudiants dose cette solution ettrouve les valeurs Xi soient X1, X2, X3 ..... Xn.Avec quelle précision va t-on connaître le titre de cette solution:

X ± ∆X

Statistiquement, les résultats se repartissent suivant une courbe deGauss qui est définie par 2 paramètres:

! la moyenne arithmétique x des n résultats individuels Xi

soit nΣx x i=

! la variance v:

soit 1n

)xΣ(x v2

i

−−

=

et l'écart type v σ =

Théoriquement il y a 68 % de chance pour que:σx x σx i +<<−

95 % de chances pour que:σ2x x σ2x i +<<−

et 99,7 % de chances pour queσ3x x σ3x i +<<−

Le problème est de trouver un compromis entre la certitude d'avoir un bon résultat et la précision aveclaquelle on va donner ce résultat.En général, on choisit un intervalle de confiance de 95 % en admettant 5 % de chances de se tromper.La précision est une grandeur caractéristique de la dispersion des résultats autour de la moyenne.On calcule:

! la moyenne nΣx x i=

! l'écart-type 1n

)xΣ(x 2

i

−−

! l'écart-type moyen ou erreur moyenne nσ σm =

Dans ces conditions, un résultat isolé Xi a 95 % de chances de se trouver dans les limites suivantes:σ.t x ±

(les valeurs de Xi qui sortent de cet intervalle sont à éliminer).

Page 22: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 22

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

La valeur moyenne x a 95 % de chances de se trouver dans les limites suivantes:.tσ x m±

Remarques:! Le coefficient t est fourni par la table de Fischer (intervalle de confiance de 95 % : P = 0,05)! L'écart-type affecte un résultat isolé, il caractérise la précision sur ce résultat isolé! L'écart-type moyen affecte une moyenne de résultats, il caractérise la précision d'une

méthode analytique.

Table 6 - Table de t d'après R. A. Fischern-1 P 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0,05 0,02 0,01 0,0011 0,158 0,325 0,510 0,727 1,000 1,376 1,963 3,078 6,314 12,706 31,821 63,657 636,6192 0,142 0,289 0,445 0,617 0,816 1,061 1,386 1,886 2,920 4,303 6,965 9,925 31,5983 0,137 0,277 0,424 0,584 0,765 0,978 1,250 1,638 2,353 3,182 4,541 5,841 12,9414 0,134 0,271 0,414 0,569 0,741 0,941 1,190 1,533 2,132 2,776 3,747 4,604 8,6105 0,132 0,267 0,408 0,559 0,727 0,920 1,156 1,476 2,015 2,571 3,365 4,032 6,8596 0,131 0,265 0,404 0,553 0,718 0,906 1,134 1,440 1,943 2,447 3,143 3,707 5,9597 0,130 0,263 0,402 0,549 0,711 0,896 1,119 1,415 1,895 2,365 2,998 3,499 5,4058 0,130 0,262 0,399 0,546 0,706 0,889 1,108 1,397 1,860 2,306 2,896 3,355 5,0419 0,129 0,261 0,398 0,543 0,703 0,883 1,100 1,383 1,833 2,262 2,821 3,250 4,78110 0,129 0,260 0,397 0,542 0,700 0,879 1,093 1,372 1,812 2,228 2,764 3,169 4,58711 0,129 0,260 0,396 0,540 0,697 0,876 1,088 1,363 1,796 2,201 2,718 3,106 4,43712 0,128 0,259 0,395 0,539 0,695 0,873 1,083 1,356 1,782 2,179 2,681 3,055 4,31813 0,128 0,259 0,394 0,538 0,694 0,870 1,079 1,350 1,771 2,160 2,650 3,012 4,22114 0,128 0,258 0,393 0,537 0,692 0,868 1,076 1,345 1,761 2,145 2,624 2,977 4,14015 0,128 0,258 0,393 0,536 0,691 0,866 1,074 1,341 1,753 2,131 2,602 2,947 4,07316 0,128 0,258 0,392 0,535 0,690 0,865 1,071 1,337 1,746 2,120 2,583 2,921 4,01517 0,128 0,257 0,392 0,534 0,689 0,863 1,069 1,333 1,740 2,110 2,567 2,898 3,96518 0,127 0,257 0,392 0,534 0,688 0,862 1,067 1,330 1,734 2,101 2,552 2,878 3,92219 0,127 0,257 0,391 0,533 0,688 0,861 1,066 1,328 1,729 2,093 2,539 2,861 3,88320 0,127 0,257 0,391 0,533 0,687 0,860 1,064 1,323 1,725 2,086 2,528 2,845 3,85021 0,127 0,257 0,391 0,532 0,686 0,859 1,063 1,325 1,721 2,080 2,518 2,831 3,81922 0,127 0,256 0,390 0,532 0,686 0,858 1,061 1,321 1,717 2,074 2,508 2,819 3,79223 0,127 0,256 0,390 0,532 0,685 0,858 1,060 1,319 1,714 2,069 2,500 2,807 3,76724 0,127 0,256 0,390 0,531 0,685 0,857 1,059 1,318 1,711 2,064 2,492 2,797 3,74525 0,127 0,256 0,390 0,531 0,684 0,856 1,058 1,316 1,708 2,060 2,485 2,787 3,72526 0,127 0,256 0,390 0,531 0,684 0,856 1,058 1,315 1,706 2,056 2,479 2,779 3,70727 0,127 0,256 0,389 0,531 0,684 0,855 1,057 1,314 1,703 2,052 2,473 2,771 3,69028 0,127 0,256 0,389 0,530 0,683 0,855 1,056 1,313 1,701 2,048 2,467 2,763 3,67429 0,127 0,256 0,389 0,530 0,683 0,854 1,055 1,311 1,699 2,045 2,462 2,756 3,65930 0,127 0,256 0,389 0,530 0,683 0,854 1,055 1,310 1,697 2,042 2,457 2,750 3,64640 0,126 0,255 0,388 0,529 0,681 0,851 1,050 1,303 1,684 2,021 2,423 2,704 3,55160 0,126 0,254 0,387 0,527 0,679 0,848 1,046 1,296 1,671 2,000 2,390 2,660 3,460

120 0,126 0,254 0,386 0,526 0,677 0,845 1,041 1,289 1,658 1,980 2,358 2,617 3,373∞ 0,126 0,253 0,385 0,524 0,674 0,842 1,036 1,282 1,645 1,960 2,326 2,576 3,291

Page 23: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 23

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.6.2. Exemple

Dosage d'une solution de soude environ 0,2 M.12 essais ont été réalisés numérotés de 1 à 12. xi représente ici le titre en molarité de la solution desoude.

N° de l'essai xi(M) 104 xi )x-i(x 410 2)x-i(x 810

1 0,2210 2210 + 20,67 427,252 0,2195 2195 + 5,67 32,153 0.2067 2067 - 122,33 14964,634 0,2198 2198 + 8,67 75,175 0,2180 2180 - 9,33 87,056 0,2210 2210 + 20,67 427,257 0,2205 2205 + 15,67 245,558 0,2195 2195 + 5,67 32,159 0,2220 2220 + 30,67 940,65

10 0,2205 2205 + 15,67 245,5511 0,2202 2202 + 12,67 160,5312 0,2185 2185 - 4,33 18,75

Σxi = 2,62722189,33 x10 0,218933 x 4 ==-82

i 10 17656,68 )xΣ(x =−n - 1 = 12 -1 = 11

0,004 1-n

)x-Σ(x σ2

i ==

P = 0,05 n-1 = 11 t = 2,2010,219 - (0,004 x 2,201) < xi < 0,219 + (0,004 x 2,201)

Un résultat quelconque a 95 % de chances de se trouver dans les limites suivantes:0,211 < xi < 0,227 M.

Tout résultat se trouvant en dehors de ces limites est considéré comme aberrant et doit être éliminé. Lerésultat N° 3 est éliminé.

0,001 12

0,004 nσ σm ===

0,219 - (0,001 x 2,201) < x < 0,219 + (0.001 x 2,201)

La concentration molaire de la solution de soude est la suivante:(0,219 ± 0,002) M

Page 24: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 24

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

0.6.3. Programmes Informatique en BASIC

0.6.3.1. Version PET CBM

120 REM ANALYSE CHIMIQUE-INTERPRETATION DES RESULTATS130 REM STATISTIQUE140 REM150 DEF FNA(V)=INT(V*10↑4+.5)/10↑4160 PRINT "♥"170 INPUT "RESULTATS SUR ECRAN=3, IMPRIMANTE=4";J180 OPEN(J),(J)190 PRINT "♥"200 INPUT"NOMBRE DE VALEURS EXPERIMENTALES";N210 PRINT"CE NOMBRE DOIT ETRE INFERIEUR A 50"220 DIM X(N), T(N)230 FOR I=2 TO N240 READ T(I)245 DATA 12.706,4.303,3.182,2.776250 DATA 2.571,2.447,2.365,2.306,2.262,2.228,2.201,2.179,2.16,2.145,2.131,2.12260 DATA 2.11,2.101,2.093,2.086,2.08,2.074,2.069,2.064,2.06,2.056,2.052,2.048270 DATA 2.045,2.042,2.042,2.042,2.042,2.042,2.042,2.042,2.042,2.042,2.042280 DATA 2.021,2.021,2.021,2.021,2.021,2.021,2.021,2.021,2.021,2.021290 NEXT I300 RESTORE420 S=0 :M=0 :SI=0:V=0:XI=0:XS=0430 E=0 :S1=0 :SM=0 :ERA=0 :ER=0440 FOR I=1 TO N450 PRINT "VALEUR EXP NU";I460 INPUT X(I)470 S=S+X(I)480 NEXT I490 PRINT "SOMME DES VALEURS EXP.=";S500 M=S/N510 W=FNA(M)520 FOR I=1 TO N530 E=X(I)-M:S1=S1+E*E540 NEXT I550 PRINT "SOMME DES CARRES=";S1560 V=S1/(N-1):SI=SQR(V)570 PRINT "MOYENNE DES MESURES=";W580 PRINT "VARIANCE=";V590 PRINT "ECART TYPE =";SI600 SM=SI:SQR(N)610 PRINT "ECART TYPE MOYEN=";SM620 ERA=SM*T(N)630 PRINT "ERREUR ABSOLUE=";ERA640 R=FNA(ERA)650 E$=" +OU- "660 XI=M-(T(N)*SI):XS=M+(T(N)*SI)670 V=FNA(XI)680 Z=FNA(XS)690 PRINT790 K=0800 FOR I=1 TO N810 IF X(I)<=XI OR X(I)=> THEN 850820 K=K+1830 X(K)=X(I)840 GO TO860850 PRINT#(J),"♥VAL. ABER.=";X(I)

Page 25: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 25

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

860 NEXT I870 IF K=N THEN : PRINT"IL Y A DES VALEURS ABERRANTES"880 PRINT:PRINT:PRINT900 INPUT"VOULEZ-VOUS ELIMINER LES VALEURS ABERRANTES OUI/NON?";A$910 IF A$="OUI"THEN 930920 IF A$="NON"THEN 990930 PRINT" "940 PRINT"SUPPRIMEZ LES VALEURS ABERANTES ET RECOMMENCEZ" :GO TO 950950 N=K:GO TO 230990 PRINT#(J),,CHR$(1)CHR$(254)"CALCUL STATISTIQUE"1000 PRINT#(J),," (INTERVALLE DE CONFIANCE DE 95%):PRINT#(J)1010 PRINT#(J),"NOMBRE DE VALEURS EXPERIMENTALES:";N1020 FOR I=1 TO K1030 PRINT#(J),I ,X(I)1040 NEXT I1050 PRINT#(J),"MOYENNE DES MESURES=";W1060 PRINT#(J),"ECART TYPE=";SI1070 PRINT#(J),"ECART-TYPE MOYEN=";SM1080 PRINT#(J),,"****************************************"1090 PRINT#(J),,"LES VALEURS EXTREMES SONT:"1100 PRINT#(J)1110 PRINT#(J),,Y,,Z1120 PRINT#(J),,"****************************************"1130 PPINT#(J),,"LES RESULTATS SONT:"1140 PRINT#(J)1150 PRINT#(J)1160 PRINT#(J),,"****************************************"

0.6.3.2. Version Quick Basic 4.5

Ce morceau fait en fait partie d�un programme plus vaste du nom de Stradivarius et a été développé encollaboration avec la société BP Chemicals.

ON ERROR GOTO 9500DIM Xpts(500, 2): DIM a(13): DIM r(7, 8): DIM t(8):Pts! = 0: Nbr% = 05 CLSPRINTPRINT "Stradivarius V 1.6 - Calculs annexes pour etudede Catalyseurs"PRINT "Copyright G. OLIVE et BP Chemicals SNC 1993"PRINT50 PRINTPRINT "99 - Menu 2-Calculs peu frequents"PRINTPRINT "0 - Sortir de Stradivarius"PRINTINPUT "Choix>"; choixIF choix = 0 THEN ENDIF choix = 99 THEN 100IF choix < 1 OR choix > 6 THEN PRINT CHR$(7): GOTO 50CLSGOTO 5

100 CLSPRINTPRINT "Stradivarius V 1.6 - Menu 2 - Calculs peufrequents"PRINT "Copyright G. OLIVE et BP Chemicals SNC 1993"PRINT55 PRINTPRINT "6 - Entree une Variable"PRINT "7 - Entree deux Variables"PRINT "8 - Statistique a une variable"PRINT "9 - Statistique a deux variables lineaire"PRINT "10 - Statistique a deux variableslogarithmique"PRINT "11 - Statistique a deux variablesexponentielle"PRINT "12 - Statistique a deux variables puissance"PRINT "13 - Estimation de Y"

PRINT "14 - Estimation de X"PRINT "15 - Regression polynomiale"PRINTPRINT "0 - Retour menu principal de Stradivarius"PRINTINPUT "Choix>"; choixIF choix = 0 THEN GOTO 5IF choix < 6 OR choix > 15 THEN PRINT CHR$(7): GOTO 55CLSON choix GOSUB 6005, 7005, 8005, 9005, 1115, 1025,1035, 1045, 1065, 1075GOTO 100

6005 Nbr% = 0PRINT "Stat a 1 Variable - Attention Maximun 500"DONbr% = Nbr% + 1PRINT "Donnez x"; Nbr%; : INPUT a$IF a$ = "" THEN EXIT DOIF LEFT$(a$, 1) = "#" THEN enleve = VAL(RIGHT$(a$, LEN(a$) - 1)) FOR n = enleve TO Nbr% Xpts(n, 1) = Xpts(n + 1, 1) NEXT n Nbr% = Nbr% - 2ELSE Xpts(Nbr%, 1) = VAL(a$) Xpts(Nbr%, 2) = 0 Pts! = -1END IFLOOPNbr% = Nbr% - 1FOR n = 1 TO Nbr%PRINT "x"; n; ":"; Xpts(n, 1),NEXT nINPUT "Taper ENTER"; a$RETURN

Page 26: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 26

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

7005 Nbr% = 0PRINT "Stat a deux variables - Attention Maximun 500"DONbr% = Nbr% + 1PRINT "Donnez x"; Nbr%; : INPUT a$IF a$ = "" THEN EXIT DOIF LEFT$(a$, 1) = "#" THEN enleve = VAL(RIGHT$(a$, LEN(a$) - 1)) FOR n = enleve TO Nbr% Xpts(n, 1) = Xpts(n + 1, 1) NEXT n Nbr% = Nbr% - 2ELSE PRINT "Donnez y"; Nbr%; : INPUT b$ IF b$ = "" THEN EXIT DO Xpts(Nbr%, 1) = VAL(a$) Xpts(Nbr%, 2) = VAL(b$) Pts! = -1END IFLOOPNbr% = Nbr% - 1FOR n = 1 TO Nbr%PRINT "x"; n; ":"; Xpts(n, 1), "y"; n; ":"; Xpts(n, 2)NEXT nINPUT "Taper ENTER"; a$

RETURN

' --------------------------------- Stat a unevariable ------------------------8005 Cnt = 0: Sumx = 0: Sumx2 = 0: sum1x = 0 IF Pts! <> -1 THEN PRINT "Les points n'ont pas ete donnee" RETURN END IF

Cnt = Nbr% Negatif = 0: Zero = 0 FOR n = 1 TO Cnt IF Xpts(n, 1) = 0 THEN Zero = -1 END IF IF Xpts(n, 1) <= 0 THEN Negatif = -1 END IF NEXT n PRINT " < CLASSEMENT EN COURS >" DO C = 0 FOR I = 1 TO Cnt - 1 IF Xpts(I, 1) > Xpts(I + 1, 1) THEN SWAP Xpts(I, 1), Xpts(I + 1, 1) SWAP Xpts(I, 2), Xpts(I + 1, 2) C = 1 END IF NEXT I IF C <> 1 THEN EXIT DO LOOP Prodx = 1 FOR n = 1 TO Cnt Sumx = Sumx + Xpts(n, 1) Sumx2 = Sumx2 + Xpts(n, 1) ^ 2 IF Negatif = 0 THEN Prodx = Prodx * Xpts(n, 1) END IF IF Zero = 0 THEN sum1x = sum1x + (1 / Xpts(n, 1)) END IF NEXT n m = Xpts((Cnt + 1) / 2, 1) IF Cnt / 2 = INT(Cnt / 2) THEN m = .5 * (Xpts(Cnt / 2, 1) + Xpts(1 + Cnt / 2, 1)) END IF CLS PRINT "Statistique a une variable" PRINT PRINT "Nombre de donnees : "; Cnt PRINT "Somme des donnees : "; Sumx PRINT "Somme des carrees des donnees : "; Sumx2 PRINT "-------------------------------------------------------------------------------" Xm = Sumx / Cnt PRINT TAB(30); "Moyenne arithmetique : "; Xm IF Negatif = 0 THEN PRINT TAB(30); "Moyenne geometrique : "; Prodx ^(1 / Cnt) END IF IF Zero = 0 THEN PRINT TAB(30); "Moyenne harmonique : "; Cnt /sum1x

END IF PRINT TAB(30); "Mediane : "; m PRINT "-------------------------------------------------------------------------------" Sn = SQR(((Cnt * Sumx2) - (Sumx ^ 2)) / (Cnt ^ 2)) PRINT "Variance de la population de donnees / n :"; Sn ^ 2 PRINT "Ecart type sur une population de donnees / n: "; Sn Sn1 = SQR(((Cnt * Sumx2) - (Sumx ^ 2)) / (Cnt * (Cnt- 1))) PRINT "Variance de l'echantillon de donnees / n-1 :"; Sn1 ^ 2 PRINT "Ecart type sur un echantillon de donnees / n-1 : "; Sn1 PRINT "Coefficient de variation / n : "; 100 * Sn/ Xm PRINT "Coefficient de variation / n-1 : "; 100 * Sn1/ Xm Sm = Sn / SQR(Cnt) Sm1 = Sn1 / SQR(Cnt) PRINT "Ecart moyen ou erreur type / n : "; Sm PRINT "Ecart moyen ou erreur type / n-1 : "; Sm1 PRINT "-------------------------------------------------------------------------------" INPUT "Tapez ENTER"; a$ CLS n = Cnt - 1 IF n >= 120 THEN t = 1.98 END IF IF n >= 60 AND n < 120 THEN t = 2 END IF IF n >= 40 AND n < 60 THEN t = 2.021 END IF IF n >= 30 AND n < 40 THEN t = 2.042 END IF IF n < 30 THEN RESTORE 1111 FOR I = 1 TO n READ t NEXT I END IF PRINT "Coefficient t de Student-Fisher pour P=95% :", t PRINT "Erreur relative / n : "; 100 * Sm * t / Xm;"%" PRINT "Erreur relative / n-1 : "; 100 * Sm1 * t /Xm; "%" PRINT "Intervalles de confiance:" PRINT " -Pour une valeur / n : "; Sn * t; "("; Xm - Sn * t; "-"; Xm + Sn * t; ")" PRINT " -Pour une valeur / n-1 : "; Sn1 * t; "("; Xm - Sn1 * t; "-"; Xm + Sn1 * t; ")" PRINT " -Pour la moyenne / n : "; Sm * t; "("; Xm - Sm * t; "-"; Xm + Sm * t; ")" PRINT " -Pour la moyenne / n-1 : "; Sm1 * t; "("; Xm - Sm1 * t; "-"; Xm + Sm1 * t; ")" INPUT "Tapez ENTER"; a$RETURN1111DATA12.706,4.303,3.182,2.776,2.571,2.447,2.365,2.306,2.262,2.228DATA2.201,2.179,2.160,2.145,2.131,2.120,2.110,2.101,2.093,2.086DATA2.080,2.074,2.069,2.064,2.060,2.056,2.052,2.048,2.045,2.042

' --------------------- stat 2 var lineaire ------------------------------------9005 IF Pts! <> -1 THEN PRINT "Les points n'ont pas ete donnee" RETURN END IF Sumx = 0: Sumx2 = 0: Sumy = 0: Sumy2 = 0: Sumxy = 0 CLS Cnt = Nbr% FOR n = 1 TO Cnt Sumx = Sumx + Xpts(n, 1) Sumx2 = Sumx2 + Xpts(n, 1) ^ 2 Sumy = Sumy + Xpts(n, 2) Sumy2 = Sumy2 + Xpts(n, 2) ^ 2 Sumxy = Sumxy + Xpts(n, 1) * Xpts(n, 2) NEXT n

Page 27: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 27

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

PRINT "---------------------- Analyse de regressionlineaire Y=a+bX ------------------" PRINT "Nombre de donnees : "; Cnt PRINT "Somme des donnees X : "; Sumx PRINT "Somme des donnees Y : "; Sumy PRINT "Somme des carrees des donnees X : "; Sumx2 PRINT "Somme des carrees des donnees Y : "; Sumy2 PRINT "Somme des produits de donnees X et Y : ";Sumxy PRINT "-------------------------------------------------------------------------------" PRINT TAB(30); "Moyenne X : "; Sumx / Cnt PRINT TAB(30); "Moyenne Y : "; Sumy / Cnt PRINT "-------------------------------------------------------------------------------" PRINT "Ecart type sur une population de donnees X/ n: "; SQR(((Cnt * Sumx2) - (Sumx ^ 2)) / (Cnt ^ 2)) PRINT "Ecart type sur une population de donnees Y/ n: "; SQR(((Cnt * Sumy2) - (Sumy ^ 2)) / (Cnt ^ 2)) PRINT "Ecart type sur un echantillon de donnees X/n-1 : "; SQR(((Cnt * Sumx2) - (Sumx ^ 2)) / (Cnt *(Cnt - 1))) PRINT "Ecart type sur un echantillon de donnees Y/n-1 : "; SQR(((Cnt * Sumy2) - (Sumy ^ 2)) / (Cnt *(Cnt - 1))) PRINT "-------------------------------------------------------------------------------" b = (Cnt * Sumxy - Sumx * Sumy) / (Cnt * Sumx2 -Sumx ^ 2): a = (Sumy - b * Sumx) / Cnt PRINT "Terme constant de la regression lineaire a :"; a PRINT "Coefficient de regression lineaire b : "; b PRINT "Coefficient de corelation r : "; (Cnt * Sumxy- Sumx * Sumy) / SQR((Cnt * Sumx2 - Sumx ^ 2) * (Cnt *Sumy2 - Sumy ^ 2)) INPUT "Tapez ENTER"; a$RETURN' ---------------------- Stat a 2 var loga ------------------------------------1115 IF Pts! <> -1 THEN PRINT "Les points n'ont pas ete donnee" RETURN END IF Sumlnx = 0: Sumlnx2 = 0: Sumy = 0: Sumy2 = 0:Sumlnxy = 0 CLS Cnt = Nbr% FOR n = 1 TO Cnt Sumlnx = Sumlnx + LOG(Xpts(n, 1)) Sumlnx2 = Sumlnx2 + LOG(Xpts(n, 1)) ^ 2 Sumy = Sumy + Xpts(n, 2) Sumy2 = Sumy2 + Xpts(n, 2) ^ 2 Sumlnxy = Sumlnxy + LOG(Xpts(n, 1)) * Xpts(n, 2) NEXT n PRINT "------------------ Analyse de regressionlogarithmique Y=a+b*ln X -------------" PRINT "Nombre de donnees : "; Cnt PRINT "Somme des valeurs logarithmiques des donneesX : "; Sumlnx PRINT "Somme des donnees Y : "; Sumy PRINT "Somme des carrees des valeurs logarithmiquesdes donnees X : "; Sumlnx2 PRINT "Somme des carrees des donnees Y : "; Sumy2 PRINT "Somme des produits des valeurs logarithmiquesdes X et des Y : "; Sumlnxy PRINT "-------------------------------------------------------------------------------" PRINT TAB(30); "Moyenne logarithmique X : "; Sumlnx/ Cnt PRINT TAB(30); "Moyenne Y : "; Sumy / Cnt PRINT "-------------------------------------------------------------------------------" PRINT "Ecart type sur une population logarithmiquede donnees X/ n : "; SQR(((Cnt * Sumlnx2) - (Sumlnx^ 2)) / (Cnt ^ 2)) PRINT "Ecart type sur une population de donnees Y/ n: "; SQR(((Cnt * Sumy2) - (Sumy ^ 2)) / (Cnt ^ 2)) PRINT "Ecart type sur un echantillon logarithmiquede donnees X/ n-1 : "; SQR(((Cnt * Sumlnx2) - (Sumlnx^ 2)) / (Cnt * (Cnt - 1))) PRINT "Ecart type sur un echantillon de donnees Y/n-1 : "; SQR(((Cnt * Sumy2) - (Sumy ^ 2)) / (Cnt *(Cnt - 1))) PRINT "-------------------------------------------------------------------------------" b = (Cnt * Sumlnxy - Sumlnx * Sumy) / (Cnt * Sumlnx2- Sumlnx ^ 2): a = (Sumy - b * Sumlnx) / Cnt PRINT "Terme constant de la regression a : "; a PRINT "Coefficient de regression b : "; b

PRINT "Coefficient de corelation r : "; (Cnt *Sumlnxy - Sumlnx * Sumy) / SQR((Cnt * Sumlnx2 - Sumlnx^ 2) * (Cnt * Sumy2 - Sumy ^ 2)) INPUT "Tapez ENTER"; a$RETURN' --------------------Stat a 2 var exp ----------------------------------------1025 IF Pts! <> -1 THEN PRINT "Les points n'ont pas ete donnee" RETURN END IF Sumx = 0: Sumx2 = 0: Sumlny = 0: Sumlny2 = 0:Sumxlny = 0 CLS Cnt = Nbr% FOR n = 1 TO Cnt Sumx = Sumx + Xpts(n, 1) Sumx2 = Sumx2 + Xpts(n, 1) ^ 2 Sumlny = Sumlny + LOG(Xpts(n, 2)) Sumlny2 = Sumlny2 + LOG(Xpts(n, 2)) ^ 2 Sumxlny = Sumxlny + Xpts(n, 1) * LOG(Xpts(n, 2)) NEXT n PRINT "-------------------- Analyse de regressionexponetielle Y=ab^X ----------------" PRINT "Nombre de donnees : "; Cnt PRINT "Somme des donnees X : "; Sumx PRINT "Somme des valeurs logarithmiques des donneesY : "; Sumlny PRINT "Somme des carrees des donnees X : "; Sumx2 PRINT "Somme des carrees des valeurs logarithmiquesdes donnees Y : "; Sumlny2 PRINT "Somme des produits des X et des valeurslogarithmiques des Y : "; Sumxlny PRINT "-------------------------------------------------------------------------------" PRINT TAB(30); "Moyenne X : "; Sumx / Cnt PRINT TAB(30); "Moyenne logarithmique Y : "; Sumlny/ Cnt PRINT "-------------------------------------------------------------------------------" PRINT "Ecart type sur une population de donnees X/ n: "; SQR(((Cnt * Sumx2) - (Sumx ^ 2)) / (Cnt ^ 2)) PRINT "Ecart type sur une population logarithmiquede donnees Y/ n : "; SQR(((Cnt * Sumlny2) - (Sumlny^ 2)) / (Cnt ^ 2)) PRINT "Ecart type sur un echantillon de donnees X/n-1 : "; SQR(((Cnt * Sumx2) - (Sumx ^ 2)) / (Cnt *(Cnt - 1))) PRINT "Ecart type sur un echantillon logarithmiquede donnees Y/ n-1 : "; SQR(((Cnt * Sumlny2) - (Sumlny^ 2)) / (Cnt * (Cnt - 1))) PRINT "-------------------------------------------------------------------------------" b = (Cnt * Sumxlny - Sumx * Sumlny) / (Cnt * Sumx2 -Sumx ^ 2): a = EXP((Sumlny - b * Sumx) / Cnt) PRINT "Terme constant de la regression a : "; a PRINT "Coefficient de regression b : "; EXP(b) PRINT "Coefficient de corelation r : "; (Cnt *Sumxlny - Sumx * Sumlny) / SQR((Cnt * Sumx2 - Sumx ^2) * (Cnt * Sumlny2 - Sumlny ^ 2)) INPUT "Tapez ENTER"; a$RETURN' -------------------------------- Stat a 2 var depuissance -------------------1035 IF Pts! <> -1 THEN PRINT "Les points n'ont pas ete donnee" RETURN END IF Sumlnx = 0: Sumlnx2 = 0: Sumlny = 0: Sumlny2 = 0:Sumlnxlny = 0 CLS Cnt = Nbr% FOR n = 1 TO Cnt Sumlnx = Sumlnx + LOG(Xpts(n, 1)) Sumlnx2 = Sumlnx2 + LOG(Xpts(n, 1)) ^ 2 Sumlny = Sumlny + LOG(Xpts(n, 2)) Sumlny2 = Sumlny2 + LOG(Xpts(n, 2)) ^ 2 Sumlnxlny = Sumlnxlny + LOG(Xpts(n, 1)) *LOG(Xpts(n, 2)) NEXT n PRINT "------------------- Analyse de regression depuissance Y=aX^b -----------------" PRINT "Nombre de donnees : "; Cnt PRINT "Somme des valeurs logarithmiques des donneesX : "; Sumlnx PRINT "Somme des donnees logarithmiques des donneesY : "; Sumlny PRINT "Somme des carrees des valeurs logarithmiquesdes donnees X : "; Sumlnx2

Page 28: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 28

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

PRINT "Somme des carrees des valeurs logarithmiquesdes donnees Y : "; Sumlny2 PRINT "Somme des produits des valeurs logarithmiquesde X et de Y : "; Sumlnxlny PRINT "-------------------------------------------------------------------------------" PRINT TAB(25); "Moyenne logarithmique X : "; Sumlnx/ Cnt PRINT TAB(25); "Moyenne logarithmique Y : "; Sumlny/ Cnt PRINT "-------------------------------------------------------------------------------" PRINT "Ecart type sur une population logarithmiquede donnees X/ n : "; SQR(((Cnt * Sumlnx2) - (Sumlnx^ 2)) / (Cnt ^ 2)) PRINT "Ecart type sur une population logarithmiquede donnees Y/ n : "; SQR(((Cnt * Sumlny2) - (Sumlny^ 2)) / (Cnt ^ 2)) PRINT "Ecart type sur un echantillon logarithmiquede donnees X/ n-1 : "; SQR(((Cnt * Sumlnx2) - (Sumlnx^ 2)) / (Cnt * (Cnt - 1))) PRINT "Ecart type sur un echantillon logarithmiquede donnees Y/ n-1 : "; SQR(((Cnt * Sumlny2) - (Sumlny^ 2)) / (Cnt * (Cnt - 1))) PRINT "-------------------------------------------------------------------------------" b = (Cnt * Sumlnxlny - Sumlnx * Sumlny) / (Cnt *Sumlnx2 - Sumlnx ^ 2): a = EXP((Sumlny - b * Sumlnx) /Cnt) PRINT "Terme constant de la regression a : "; a PRINT "Coefficient de regression b : "; b PRINT "Coefficient de corelation r : "; (Cnt *Sumlnxlny - Sumlnx * Sumlny) / SQR((Cnt * Sumlnx2 -Sumlnx ^ 2) * (Cnt * Sumlny2 - Sumlny ^ 2)) INPUT "Tapez ENTER"; a$RETURN

1045 PRINT "Estimation de Y"INPUT "Donnez X"; xPRINT "Y=a+bx si X="; x; "alors Y="; a + b * xPRINT "Y=a+b lnx si X="; x; : IF x > 0 THEN PRINT"alors Y="; a + b * LOG(x) ELSE PRINT "Impossiblex<=0"PRINT "Y=ab^x si X="; x; "alors Y="; a * b ^ xPRINT "Y=ax^b si X="; x; : IF x > 0 THEN PRINT "alorsY="; a * x ^ b ELSE PRINT "Impossible x<0"INPUT "Tapez ENTER"; a$

RETURN1065 PRINT "Estimation de X"INPUT "Donnez Y"; yIF b <> 0 THEN PRINT "Y=a+bx si Y="; y; "alors X="; (y - a) /b PRINT "Y=a+b lnx si Y="; y; "alors X="; EXP((y- a) / b) PRINT "Y=ab^x si Y="; y; "alors X="; (y / a) ^(1 / b) PRINT "Y=ax^b si Y="; y; : IF b > 0 THEN PRINT"alors X="; LOG(y) / (a * LOG(b)) ELSE PRINT"Impossible car b négatif"ELSE PRINT "Impossible car b est nul"END IFINPUT "Tapez ENTER"; a$

RETURN

' ---------------------------------- Regressionpolynomiale --------------------1075 IF Pts! <> -1 THEN PRINT "Les points n'ont pas ete donnee" RETURN END IF PRINT "Regression Polynomiale" Z$ = "Tapez 'Return' pour retourner au menu" GOSUB 1041 DO PRINT "Menu" PRINT "1) Calcul de P(x)" PRINT "2) Calcul de P'(x)" PRINT "3) Calcul de primitive" PRINT Z$ INPUT "?> ", a$ IF a$ = "" THEN EXIT DO Me = VAL(a$) ON Me GOSUB 1055, 1056, 1057 LOOPRETURN1055 PRINT "Calcul de p(x)"

DO PRINT Z$ INPUT "?Donnez valeur de la variable ? ", a$ IF a$ = "" THEN EXIT DO x = VAL(a$) U = x y = a(0) FOR I = 1 TO Id y = y + a(I) * U U = U * x NEXT I PRINT "p("; x; ")="; y LOOPRETURN1056 PRINT "Calcul de p'(x)" DO PRINT Z$ INPUT "?Donnez valeur de la variable ? ", a$ IF a$ = "" THEN EXIT DO x = VAL(a$) U = x y = a(1) FOR I = 2 TO Id y = y + a(I) * U * I U = U * x NEXT I PRINT "p'("; x; ")="; y LOOPRETURN1057 PRINT "Calcul de P(x)" DO PRINT Z$ INPUT "?Donnez les deux bornes d'integration A,B", a$, b$ IF a$ = "" OR b$ = "" THEN EXIT DO a = VAL(a$) b = VAL(b$) x = a GOSUB 1060 a = y x = b GOSUB 1060 PRINT "P("; a$; ","; b$; ")="; y - a LOOPRETURN1060 U = x y = 0 FOR I = 0 TO Id y = y + a(I) * U / (I + 1) U = U * x NEXT IRETURN1041 FOR n = 0 TO 13: a(n) = 0: NEXT n: FOR n = 0 TO8: t(n) = 0: FOR m = 0 TO 7: r(m, n) = 0: NEXT m: NEXTn Coupe = 0 DO INPUT "Donnez le degre du polynome (n<6) ", Id LOOP UNTIL Id < 6 AND Id > 1 n = Nbr% FOR I = 1 TO Nbr% x = Xpts(I, 1) y = Xpts(I, 2) FOR J = 2 TO 2 * Id + 1 a(J) = a(J) + x ^ (J - 1) NEXT J FOR K = 1 TO Id + 1 r(K, Id + 2) = t(K) + y * x ^ (K - 1) t(K) = t(K) + y * x ^ (K - 1) NEXT K t(Id + 2) = t(Id + 2) + y * y NEXT I a(1) = n FOR J = 1 TO Id + 1 FOR K = 1 TO Id + 1 r(J, K) = a(J + K - 1) NEXT K NEXT J FOR J = 1 TO Id + 1 K = J1042 IF r(K, J) <> 0 THEN GOTO 1043 END IF K = K + 1 IF K <= Id + 1 THEN GOTO 1043 END IF PRINT "Pas de solution unique" Coupe = 1 IF Coupe = 1 THEN EXIT FOR

Page 29: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 29

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

1043 FOR I = 1 TO Id + 2 SWAP r(J, I), r(K, I) NEXT I Z = 1 / r(J, J) FOR I = 1 TO Id + 2 r(J, I) = Z * r(J, I) NEXT I FOR K = 1 TO Id + 1 IF K = J THEN GOTO 1044 END IF Z = -r(K, J) FOR I = 1 TO Id + 2 r(K, I) = r(K, I) + Z * r(J, I) NEXT I1044 NEXT K NEXT J IF Coupe = 1 THEN RETURN END IF PRINT P = 0 FOR J = 2 TO Id + 1 P = P + r(J, Id + 2) * (t(J) - a(J) * t(1) / n) NEXT J Q = t(Id + 2) - t(1) * t(1) / n Z = Q - P I = n - Id - 1 r = P / Q PRINT "Polynome des moindres carres" FOR K = 0 TO 6 a(K) = 0 IF K < Id + 1 THEN a(K) = r(K + 1, Id + 2) END IF IF a(K) > 0 THEN

PRINT "+"; END IF IF K < Id + 1 THEN PRINT a(K); ELSE GOTO 1046 END IF IF K > 0 THEN PRINT "*X"; IF K > 1 THEN PRINT "^"; K; END IF END IF1046 NEXT K PRINT PRINT "Coefficient de Correlation:"; SQR(r) IF I <> 0 THEN PRINT "Erreur standard de l'estimation:"; SQR(Z /I) END IFRETURN

9500 PRINT CHR$(7); CHR$(7); CHR$(13); ERRIF ERR = 53 OR ERR = 62 THEN PRINT "Erreur Fatale -Fichier STRADI.FE absent ou anormal - On va lecreer.": PRINT : GOSUB 9000: RESUME 5 ELSE PRINT"Erreur lors d'un calcul - on recommence tout": FOR n= 1 TO 5000: NEXT n: RESUME 3

9900 minute = (heure - INT(heure)) * 60seconde = (minute - INT(minute)) * 60heure$ = STR$(INT(heure)) + "h" + STR$(INT(minute)) +"'" + STR$(INT(seconde)) + "''"RETURN

0.7. Spectre électromagnétique

Page 30: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 30

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

TP 1 ACIDIMETRIE

1.1. Mise en solution

- Tout travail quantitatif nécessite la mise en solution d'une quantité bien déterminée de l'échantillonà analyser et la dilution de cette solution à un volume connu.

- Sur un verre de montre, préalablement pesé, placer une quantité calculée de la poudre à analyser.Par pesée, déterminer avec précision la quantité de l'échantillon.

- Ensuite introduire quantitativement cette fraction dans un vase de berlin (bien propre). Nettoyerconsciencieusement le verre de montre à l'aide d'un jet de pissette, ajouter le solvant approprié(l'eau le plus souvent). Chauffer éventuellement pour améliorer la dissolution et ensuite ramener leliquide à la température proche de 20 °C. Introduire cette solution quantitativement dans unballon jaugé. Rincer soigneusement le récipient qui a servi à la dissolution (pour éviter toute pertede substance, il est préférable de travailler avec de petites quantités d'eau que deux fois une grandequantité). Ajouter ces eaux de lavage à la solution dans le ballon jaugé et porter exactement au traitde jauge à l'aide d'une pissette ou d'une pipette.

- Boucher le ballon et le retourner plusieurs fois en agitant pour obtenir une solution homogène(absence des stries visibles à travers le liquide).

Remarque: Si on emploie un agitateur ou un entonnoir, ne pas les abandonner avant de les avoirrincés 2 ou 3 fois avec de l'eau distillée et de recueillir ces eaux de rinçage avant la mise au trait.

Coller une étiquette comportant les indications suivantes:- le nom de l'étudiant - groupe - équipe,- la nature et la concentration de la solution,- la date de sa préparation.

1.2. Nettoyage de la verrerie

Tout travail analytique précis ne peut se faire qu'à l'aide d'une verrerie parfaitement propre, enparticulier dépourvue de toutes traces de graisse. Après toute manipulation, la verrerie est lavée avecun détergent (si nécessaire), rincée plusieurs fois à l'eau de robinet puis à l'eau distillée et ensuite miseà sécher. Les rinçages s'effectuent avec des petites quantités d'eau.

Si ce traitement simple s'avère inefficace il faut traiter la verrerie chimiquement, par exemple:- les traces de calcaire peuvent être enlevées par un traitement à l'acide (par ex. HCl 6 M),- les traces de AgCl ou de AgI peuvent être éliminées par une solution d'NH3,- les produits organiques (verrerie grasse) peuvent être éliminés par l'acétone etc.

Page 31: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 31

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

1.3. Note sur les réactifs "pour analyse" (P.A.)

- Les produits "pour analyse" présentent un degré de pureté remarquable. Ils sont cependantbeaucoup plus chers: il faut donc les utiliser avec la plus stricte économie.

- Éviter toute contamination en observant la plus grande propreté de la spatule ou de la cuillère.- Ne jamais remettre dans le flacon un produit non utilisé.- Ne pas ouvrir plus d'un flacon à la fois et le reboucher aussitôt après usage.

La contamination d'un réactif est toujours grave car elle peut fausser tous les résultats.

1.4. Principe de la titrimétrie

La concentration d'une solution d'acide ou de base est par définition le nombre de moles d'acide (ou debase) contenu dans un litre de solution selon:

VnC =

Pour un volume déterminé de solution, le nombre de moles sera donc exprimé par C.V où C est letitre molaire de la solution exprimé en mol.L-1 et V le volume, exprimé en litres.Dans la réaction de neutralisation, un équivalent d'acide réagit avec un équivalent de base pour donnerun équivalent de sel ; lorsque le calcul s'effectue de façon molaire, cela veut dire qu'il faut tenir descoefficients présents dans la réaction de neutralisation. A la neutralité la relation suivante est vérifiée:

C1V1 = C2V2

C1 et V1 sont le titre et le volume de l'acide,C2 et V2 sont le titre et le volume de la base (ou inversement)

1.5. Le rôle de l'indicateur acide-base

L'instant précis de la neutralisation peut être déterminé par le virage d'un indicateur qu'on ajoute à lasolution en très faible quantité (2-3 gouttes).

Lors d'un titrage acide-base, il y a un changement de l'acidité de la solution (pH). Le pH est définicomme - log[H30+] et varie entre 0 et 14. De 0 à 7 la solution est acide et de 7 à 14 la solution estbasique. A l'équivalence un grand changement de pH se produit sous l'influence d'une goutte de réactif.Ce changement de pH provoque le changement de la coloration de l'indicateur car c'est une substancequi possède une couleur différente en milieu acide et en milieu basique.

Chaque indicateur change de couleur dans une zone de pH qui lui est propre et qui détermine le choixde l'indicateur selon les réactifs utilisés.

Page 32: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 32

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

1.6. Différents types des titrages

1.6.1. Titrage direct et inverseSelon la manière de réaliser un titrage, on parle d'un titrage direct, inversé ou un titrage en retour. Letitrage est dit direct lorsque la solution de titre connu se trouve dans la burette et la solution de titreinconnu dans le berlin. Exemple: titrage de NaOH de titre inconnu par HCl. Lorsque la solutioninconnue se trouve dans la burette, on parle de titrage inverse (Exemple: titrage de HCl par Na2CO3).

1.6.2. Titrage en retourBeaucoup de titrages s'effectuent par un titrage en retour. Dans ce type de titrage deux solutionsinterviennent pour doser une solution inconnue. A une solution de titre inconnu (par exemple une base1), on ajoute une solution de titre connu en excès (par exemple un acide 2), l'excès de cette solution esttitré par une troisième solution de titre connu (base 3). Pour faciliter la compréhension du calcul, leschéma suivant est très utile.

base (1) acide (2) base (3)

Page 33: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 33

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

1.7. Réalisation pratique des solutions diluées

Un des problèmes courants du laboratoire consiste à préparer des solutions diluées. Ce problème serencontre dans tous les laboratoires (chimie, microbiologie, etc..)

1.7.1. Quelques définitionsUne solution est composée d'un soluté (le corps dissous) et d'un solvant (eau ou solvant organique).L'ensemble de deux constitue une solution.Lorsque le soluté représente des particules non solubilisées, dispersées au sein d'un diluant (solvantcontenant d'autres substances comme tampons etc. ), le terme de suspension sera utilisé à la place dela solution. Ces termes sont plus représentatifs de la microbiologie.La concentration représente la quantité de soluté par unité de volume de la solution, en unitéschimiques ou physiques. Dans d'autres cas la concentration donne le nombre des particules par volumetotal (ou la masse totale) de la suspension.

Dans le texte qui suit nous utiliserons le terme «solution», mais le lecteur comprendre que, s'il y a desparticules (bactéries, spores de champignons ou autres cellules), il doit d'office traduire par«suspension». De la même manière le terme solvant peut être remplacé par diluant et soluté parparticules (voire cellules).

1.7.2. Expression de la dilutionDifférentes manières sont utilisées pour exprimer la dilution selon le type de laboratoire et l'habitudede chaque professeur, ce qui peut provoquer une confusion chez l'étudiant.

Exemple:Le fait que la concentration finale est 100 fois plus faible peut être écrit de manières suivantes:

dilution 100 foisdilution 1/100dilution 10-2

Dans tous les cas la solution diluée possède une concentration plus petite que la solution initiale.

1.7.3. Calcul de la dilutionLors d'une dilution, la quantité de soluté (ou nombre des particules) ne change pas, car on ajouteuniquement du solvant (ou diluant).Soit la concentration de la solution initiale (concentrée): C1Soit la concentration de la solution finale diluée: C2

Le produit de la concentration par le volume de la solution donne la quantité de soluté dans lasolution. Selon l'expression de la concentration, la quantité de soluté est exprimée en grammes, ennombre des particules, en moles ou en équivalents.Le produit C.V donne: nombre de moles si la concentration est molaire

masse en g si la concentration est massiquenombre d'équivalents si la concentration est normalenombre des particules (ou effectif) dans le cas d'une suspension.

Lors de la dilution, le produit C.V reste constant:

Page 34: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 34

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

C1V1 = C2V2

La dilution réalisée est donnée par le rapport des concentrations ou des volumes:

Dilution = C1/C2 = V2/V1

Les calculs liés à la dilution peuvent se présenter sous deux formes:

• On cherche la concentration de la solution diluée selon le mode opératoire cité en appliquant laformule.Exemple: 5 ml d'une solution de NaOH 0.5 M sont introduits dans un ballon jaugé de 200 ml. Quelleest la concentration de la solution diluée ?C1 = 0.5 M , V1 = 5 ml, V2 = 200 ml

M0.0125ml200

ml M.50.5V.VCC2

112 ===

Quelle est la dilution réalisée ?C1/C2 = 0.5/0.0125 = 40 fois ou 1/40OuV2/V1 = 200ml/5ml = 40 fois ou 1/40

• On indique la dilution à réaliser (ou la concentration de la solution diluée) et on cherche lamanière pratique de le faire.Exemple: Préparer une solution diluée 5 fois à partir d'une solution de HCl 0.2 M.La concentration de la solution diluée est évidemment 5 fois plus faible, soit 0.04 M.Le rapport des volumes est également 1 pour 5. Pour réaliser la solution diluée il faut donc 1 volumede la solution concentrée pour 5 volumes de la solution finale (ou 4 volumes de solvant). On peut doncréaliser cette solution diluée en portant 10 ml de solution concentrée à 50 ml de la solution diluée, ou20 ml à 100 ml, ou 50 ml à 250 ml. Dans tous les cas (et dans le doute), le volume à prélever peut êtrecalculé par la formule C1V1 = C2V2

1.7.4. Réalisation pratiqueDans les cas les plus courants et surtout au laboratoire de chimie, les dilutions sont réalisées avecla plus grande précision, donc dans les ballons jaugés. Le volume du ballon jaugé donne toujoursle volume de la solution diluée (jamais le volume de solvant).

Exemple 1: Pour réaliser une dilution de 150 fois (ou1/150), 1 ml de la solution concentrée (pris à lapipette jaugée de préférence) sera mis dans un ballon jaugé de 150 ml et porté au trait avec le solvant.La même dilution peut être réalisée en introduisant 2 ml de solution concentrée dans un ballon jaugéde 300 ml.

Dans certains cas qui ne nécessitent pas autant de précision (préparation des milieux, dilutiond'une suspension....) on ne prépare pas la solution diluée dans un ballon jaugé, mais directementdans un autre récipient. Il faut dans ce cas calculer le volume de solvant à ajouter pour réalisercette solution diluée (ce volume représente le volume de la solution diluée - le volume de lasolution initiale). D'une manière plus générale pour réaliser une dilution de X fois, il faut ajouter(X-1) parts de diluant (de solvant) à 1 part de suspension (solution) initiale.

Page 35: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 35

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

Exemple 2: pour préparer une solution diluée 5 fois, il faut une part de volume de la solutionconcentrée et 4 parts de solvant. Au total le volume de la solution finale est 5 fois plus grand, donc ladilution est de 5 fois. Dans la pratique on peut prendre 10 ml de solution concentrée et 40 ml desolvant (ou 20 ml et 80 ml, etc. ...)

Exemple 3: préparer 1 litre d'une solution diluée 20 fois. Le rapport des volumes est donné par laformule suivante: 20 = 1000 ml/X ml, d'où X = 50 ml. Il faut donc prendre 50 ml de la solutionconcentrée et 950 ml de solvant (1000 ml-50 ml).

Exemple 4: préparer 1 litre d'une solution diluée 10-3. Pour réaliser une solution diluée 1000 fois, ilfaut prendre 1 ml de la solution initiale et ajouter 999 ml de solvant. Dans la pratique et lorsque laprécision demandée n'est pas trop grande, on mettra 1ml pour 1 litre de solvant. Dans le cas d'unedilution fort importante l'erreur est minime.

Page 36: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 36

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

MANIPULATIONACIDIMETRIE

PREPARATION DES SOLUTIONS STANDARDSDE HCl ET DE NaOH

A. PREPARATION D'UNE SOLUTION STANDARD D'HCl

1.8. Préparation d'une solution d'HCl 0,1 M

La solution d'acide chlorhydrique concentré (d=1,19) est environ 12 M. A partir de cette solution,préparer par dilution 1 litre de HCl 0.1 M par étudiant.Le volume de HCl concentré à prélever est calculé par la formule suivante:

C1V1 = C2V2

Mesurer un volume légèrement supérieur à la valeur calculée au cylindre gradué et introduire dans unballon jaugé de 1 litre, rempli au préalable à moitié avec de l'eau distillée. Diluer ensuite au litre ethomogénéiser convenablement.Cette solution est préparée par dilution à partir d'une solution concentrée de titre approximatif, son titrene peut donc pas être connu avec exactitude. Il doit être déterminé par un titrage utilisant une baseconsidérée comme standard primaire, par exemple Na2CO3.

1.9. Préparation d'une solution standard de Na2CO3 (une par binôme)

Un des standards primaires le plus fréquemment utilisé en acidimétrie est le carbonate de sodiumanhydre et pour analyse.Ce produit est très hygroscopique. Il faut le sécher à l'étuve à 270° C pendant une heure (ou 150° Cpendant 3-4 heures). Après déshydratation, le laisser refroidir dans un dessiccateur.

Préparer 500 ml de Na2CO3 ≈ 0.05 M (MM = 105.99 g/mol) par binôme.

n = C.Vmasse à peser = n x MM

Peser de manière précise, sur une balance analytique, une masse de Na2CO3 proche de la massecalculée. Mettre en solution dans un vase de berlin (mélanger immédiatement) et transvaserquantitativement dans un ballon jaugé de 500 ml. Porter au trait et homogénéiser convenablement.

Calculer le titre exact de cette solution, qui sert de STANDARD PRIMAIRE.

Page 37: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 37

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

1.10. Standardisation de HCl par Na2CO3.

1.10.1. Rappel théorique

L'équation de dosage peut se schématiser comme suit:

Na2CO3 + 2 HCl 2 NaCl + H2O + CO2

Le terme de cette réaction est rendu visible par l'emploi de méthylrouge comme indicateur.milieu basique = jaunemilieu acide = rouge

Le titre de HCl est déterminé par le titrage inverse car la solution inconnue se trouve dans la burette.

1.10.2. Réactifs- Na2CO3 ≈ 0,05 M- HCl ≈ 0,1 M- méthylrouge

1.10.3. Mode opératoire- pipette de 20 ml- vase de berlin de 100 ou 150 ml- burette de 50 ml- A l'aide d'une pipette jaugée,

transférer 20 ml de le solution standard de Na2CO3dans le vase de berlin.

- Ajouter 2-3 gouttes d'indicateur.- Titrer par la solution de HCl.

Dès que le virage de l'indicateur est observé, porter la solution à l'ébullition durant deux minutes, pouréliminer le CO2 formé au cours du titrage. En effet, le CO2 peut à lui seul provoquer le changement decoloration de l'indicateur, car il possède un caractère acide:

CO2 + H2O HCO3- + H+

Le dégagement de CO2 provoque le retour de l'indicateur à sa coloration initiale. Ajouter de l'HCl,jusqu'au nouveau virage de l'indicateur à la couleur acide, porter à nouveau à l'ébullition.Le titrage est terminé lorsqu'une ébullition de 2 minutes ne provoque plus de virage de l'indicateur.

Effectuer 3 mesures qui ne peuvent s'écarter de plus de 0,1 ml.Calculer le titre de la solution de l'acide chlorhydrique.

Effectuer le même dosage en utilisant le Na2CO3 de titre connu du coéquipier.

La solution de HCl, dont le titre vient d'être déterminé, constitue le STANDARD SECONDAIRE etpeut être utilisée pour les dosages ultérieurs.

Page 38: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 38

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

B. PREPARATION D'UNE SOLUTION STANDARD DE NaOH

1.11. Préparation d'une solution de NaOH ≈ 0,1 M.

Le NaOH est fortement hygroscopique et se carbonate facilement selon les équations suivantes:

NaOH + CO2 NaHCO3 ; NaHCO3 + NaOH Na2CO3 + H2O

Le titre de la solution ne peut donc pas être calculé à partir d'une pesée. Cette solution sera préparée demanière approximative.

Préparer 1 L de NaOH ≈ 0,1 M par étudiant.

Peser, dans un vase de berlin, de manière approximative une masse de NaOH de 20 % supérieure à lamasse calculée. Sur les pastilles verser un peu d'eau distillée, agiter et éliminer rapidement l'eau delavage (pour dissoudre la couche superficielle inévitablement souillée de carbonate). Introduire ensuitela solution de NaOH dans un ballon jaugé d'un litre et porter au trait de jauge. Homogénéiser.

1.12. Standardisation de NaOH par HCl.

1.12.1. Rappel théoriqueLa solution de NaOH sera dosée par la solution titrée de HCl selon l'équation:

NaOH + HCl NaCl + H2O

L'indicateur employé est le méthylrouge.Le titre de NaOH est déterminé par un titrage direct car la solution inconnue se trouve dans le vase deberlin.

1.12.2. Réactifs- HCl ≈ 0,1 M- NaOH ≈ 0,1 M- méthylrouge

1.12.3. Mode opératoire- pipette de 20 ml- vase de berlin de 100 ou 150 ml- burette de 50 ml- Prélever 20 ml de solution de NaOH à doser et les introduire dans un vase de berlin.- Ajouter 2-3 gouttes d'indicateur.- Titrer par la solution standard de HCl.- Effectuer 3 titrages.- Calculer le titre de la solution.

La solution de NaOH, dont le titre vient d'être déterminé, constitue le STANDARD TERTIAIRE etpeut être utilisée pour les dosages ultérieurs.

Page 39: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 39

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

C. DOSAGE DES SOLUTIONS INCONNUES DES BASES

Chaque binôme dosera une solution inconnue de Na2CO3

- Pour le dosage, chacun utilisera son propre HCl.- Les solutions inconnues sont distribuées dans des ballonsjaugés portant le numéro de la solution.- Les ballons jaugés sont portés au trait de jauge avec de l'eaudistillée (100 ml) et bien homogénéisés.- 10 ml de solution basique sont prélevés pour chaque dosage.

Page 40: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 40

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

TP 2 CHROMATOGRAPHIE SUR PAPIERSéparation des constituants d'encres

2.1. PRINCIPE

La chromatographie sur papier est une méthode de séparation basée sur la différence de coefficient departage entre deux phases dont l'une est stationnaire et l'autre mobile.Techniques principales: chromatographie ascendante

chromatographie descendantechromatographie à deux directions

2.2. TECHNIQUE GENERALE

2.2.1. PAPIERUtiliser des feuilles de papier Whatman n°l de

25 cm de côté pour la chromatographie ascendante.25 cm de côté pour la chromatographie à deux directions.25 cm sur 11 cm pour la chromatographie descendante.

(ces dimensions ne sont données qu'en fonction des cuves)

A 2 cm du bord, tracer une ligne AU CRAYON. Cette ligne doit toujours se trouver à environ 1cm au-dessus du niveau atteint par le solvant. Cette ligne servira pour les dépôts.

2.2.2. SOLVANTPréparer les solvants comme indiqué pour chaque expérience et les garder dans des flacons depolyéthylène (secs et propres ).Verser délicatement 50 ml de solvant au fond de la cuve et couvrir celle-ci afin d'empêcherl'évaporation du solvant.

2.2.3. APPLICATION DES ECHANTILLONSDéposer les différentes substances à l'aide d'un fin tube capillaire sur la ligne de dépôt. La tache doitavoir un diamètre de ± 5 mm. Les dépôts doivent être le plus possible au centre de la feuille mais nepas se chevaucher.

2.2.4. OPERATIONRouler la feuille de papier afin de former un cylindre. Agrafer la feuille en haut et en bas. Veiller à ceque les bords verticaux de la feuille ne se chevauchent pas. Introduire le cylindre dans la cuve enveillant à ce qu'il ne touche pas les parois latérales, et replacer le couvercle. La ligne des dépôts doit sesituer au-dessus du solvant pour ne pas noyer les taches. Arrêter la séparation dès que le solvant arriveà environ 3 cm du sommet.

Page 41: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 41

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

2.2.5. SECHAGE DU CHROMATOGRAMMELorsque le chromatogramme est suffisamment développé, on l'enlève de la cuve et on marque AUCRAYON la hauteur atteinte par le solvant. Sécher le chromatogramme.

2.2.6. DEVELOPPEMENT DU CHROMATOGRAMMELes substances étant colorées, l'identification est immédiate. On aura cependant avantage à entourer lestaches.

2.2.7. LE Rf ET LE Rx

originel'depuissolvantleparparcouruedistanceoriginel'depuiscomposéleparparcouruedistanceR f =

Prendre le centre de gravité des taches pour mesurer les distances.Comme le dénominateur est toujours supérieur au numérateur, Rf est toujours inférieur à 1. Le Rfs'exprime par 2 chiffres derrière la virgule sans exposant.Pour des conditions identiques (température, temps, solvant, etc...) Rf est une constante caractéristiquede la substance au même titre que son point de fusion. Rf dépend fortement de la température, de lanature du papier et du solvant.Dans certains cas, la séparation n'est pas suffisante et il faut laisser migrer le solvant jusqu'à la fin dupapier et même au-delà. Dans ce cas, il n'est plus possible de calculer Rf. On utilise alors une substancede référence à laquelle on compare la migration des autres substances. On parle alors de Rx:

originel'depuisréférencedesubstancelaparparcouruedistanceoriginel'depuiscomposéleparparcouruedistanceR x =

N.B. On remplace souvent "x" par la première lettre du nom de la substance de référence.

2.3. REACTIFS

A préparer juste avant l'emploi.solvant A n-butanol/norvanol/solution d'ammoniaque 2 M dans les proportions volumiques

60/20/20solvant B eau/solution saturée de sulfate d'ammonium/norvanol dans les proportions volumiques

70/15/15(norvanol = Ethanol - Ether - Eau 90 % V/V - 2.9 % V/V - 9 % m/V)

2.4. MODE OPERATOIRE

2.4.1. CHROMATOGRAPHIE ASCENDANTE- la ligne de dépôt se situe au fond de la cuve (voir remarque ci-dessus)- faire une chromatographie avec le solvant A de 4 encres et du mélange des 4- idem avec le solvant B (5 dépôts pour chaque chromatographie).

Page 42: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 42

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

2.4.2. CHROMATOGRAPHIE A DEUX DIRECTIONS- verser le solvant A et couvrir la cuve- marquer une origine au crayon (à 2.5 cm du bord vertical) y appliquer le mélange des 4 encres.ATTENTION 1 SEUL DEPOT à 2.5 cm du bord vertical- introduire le papier dan la cuve- après développement et séchage, tracer une ligne au crayon le long du premier développement- marquer d'une croix l'emplacement des taches- recommencer la chromatographie en utilisant le solvant B et en tournant la feuille de 90°

2.4.3. CHROMATOGRAPHIE DESCENDANTE- la ligne de dépôt se situe en haut de la cuve au-delà du bac de solvant, à environ 7 cm du bord supérieur de lafeuille.- le solvant se met dans le bac situé en haut de la cuve- faire une chromatographie avec le solvant A de 4 encres et du mélange des 4.

Page 43: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 43

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

TP 3 SYNTHESE DE L'ACIDEACETYLSALICYLIQUE

3.1. PRINCIPE

3.1.1. Acetylation

OH

COOH

H3C CO

OCH3C

O

+O

COOH

CO

CH3

+ H3C CO

OH

Acide salicylique Anhydride acétique Acide acétylsalicyliqueou aspirine

Acide acétique

Mécanisme:

OH

COOH

H3C CO

OCH3C

O

+

δ+

δ- O

COOH

CO

CH3

+

H3C CO

O-

H

O

COOH

CO

CH3

+ H+ H3C CO

OH

H3C CO

O-

+ H+

Page 44: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 44

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

3.1.2. Dosage de l'acide

O

COOH

CO

CH3

+ NaOH

O

COONa

CO

CH3

+ H2O

3.1.3. Hydrolyse basique

O

COONa

CO

CH3

+ NaOH

OH

COONa+ CH3COONa

Mécanisme:

O

COONa

CO

CH3

+ Na+ -OH

O

COONa

δ+

δ-

CO

OHCH3 +Na

HO CO

CH3

O

COONa+ Na+ +Na+ -O C

OCH3

OH

COONa

+

3.2. REACTIFS

- acide salicylique- anhydride acétique- acétate de sodium- glace- norvanol (Ethanol - Ether - Eau 90 % V/V - 2.9 % V/V - 9 % m/V)- solution de FeCl3- 5 L de NaOH de titre connu (environ 0.5 M)- 5 L de H2SO4 de titre connu (environ 0.25 M)

Page 45: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 45

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

3.3. MODE OPERATOIRE

Dans un erlenmeyer de 250 ml, on introduit environ 5 g d'acide salicylique, 5 ml d'anhydride acétiqueet 0,5 g d'acétate de sodium SEC.Le flacon, muni d'un tube à chlorure calcique, est chauffé pendant 15 minutes au bain-marie bouillant(bien agiter).On verse ensuite le contenu encore chaud dans un mortier où la masse cristallise par refroidissement.Le produit est alors broyé dans un peu d'eau glacée, puis essoré dans un büchner.Laver 5 fois avec de l'eau. Effectuer le test au FeCl3 sur les dernières gouttes des eaux de lavagejusqu'à n'avoir plus qu'une légère coloration avec FeCl3. (Les phénols donnent une coloration violetteavec FeCl3. L'acide salicylique libre donne la même réaction.)Le produit est purifié par cristallisation dans le norvanol dans un erlenmeyer de 50 ml. Ajouter environ3 ml de norvanol (voir page 44).Les cristaux ainsi purifiés sont essorés, séchés et pesés, PUIS PLACES DANS UN DESSICCATEURPENDANT UNE SEMAINE (les titrages se feront la semaine suivante).

3.3.1. TITRAGE DE L'ACIDE ACETYLSALICYLIQUE

L'acide acétylsalicylique est dosé en dissolvant environ 1 g pesé précisément dans environ 10 ml denorvanol et en titrant, à froid, au moyen d'une solution titrée (par HCl 0,1 M du TP acidimétrie) deNaOH ± 0.5 M. On utilise la phénolphtaléine comme indicateur.

3.3.2. INDICE DE SAPONIFICATION

Ajouter à la burette, à la solution obtenue par le titrage précédent un nombre de ml de la solutiontitrée de NaOH double par rapport à celui qu'a exigé la neutralisation.

Munir l'erlenmeyer d'un tube de sûreté et chauffer au bain-marie bouillant pendant 30 minutes.

L'ester acétique est saponifié en acétate de sodium et salicylate de sodium.Déterminer l'excès de NaOH par titrage en retour au moyen d'une solution titrée (par NaOH 0,1 M duTP acidimétrie) d'acide sulfurique 0.5 N (soit 0,25 M), en présence de phénolphtaléine.Soustraire, du nombre de moles de NaOH mis en �uvre dans cette expérience, le nombre de moled'acide sulfurique qu'a exigé le titrage en retour. On obtient ainsi le nombre de mole de NaOH utiliséspour la saponification. (Les nombres de moles de NaOH utilisés dans la neutralisation et dans lasaponification doivent être égaux.)

3.3.3. Chromatographie sur couche mince (CCM)

Rechercher la pureté par CCM. Pour cela, il vous faudra déterminer le meilleur éluant ainsi qu'un bonrévélateur.

Page 46: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 46

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

3.4. RECRISTALLISATION

Dissoudre par léger chauffage le produit àrecristalliser dans le moins possible de solvant,mais de manière à ce que ce dernier soit quandmême en très léger excès. On devra donc procéderà des ajoutes successives de petites quantités desolvant.Par refroidissement, le corps cristallise au sein duliquide. On le sépare ensuite par filtration. Si leproduit ne parvient pas à cristalliser, on évaporeraUN TOUT PETIT PEU de solvant ou on placel'erlenmeyer au frigo.Il ne faut pas employer des erlenmeyers tropgrands. La taille de ces derniers sera choisie enfonction de la quantité de produit à recristalliser, detelle sorte que, lors du chauffage, il reste encoresuffisamment de solvant dans le fond del'erlenmeyer.

Page 47: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 47

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

TP 4 SYNTHESE DU PARACETAMOLLe Paracétamol, est un médicament analgésique et antipyrétique, en vente libre, utilisé poursoulager les douleurs mineures telles que les maux de tête et les courbatures, et pour faire tomberla fièvre. Comme les autres analgésiques courants, l'aspirine et l'ibuprofène, le paracétamolsoulage la douleur en inhibant la synthèse des prostaglandines dans l'organisme. Il ne traite pasl'inflammation comme les deux autres analgésiques cités, mais il n'irrite pas non plus la muqueusetapissant l'estomac comme l'aspirine a tendance à le faire chez certains individus. Une surdoseimportante d'acétaminophène peut provoquer de graves lésions du foie.C'est une molécule entrant dans la composition des médicaments comme le Dafalgan, le Dolipranequi comptent aujourd'hui parmi les médicaments les plus utilisés en Belgique avec l'Aspirine, maisà efficacité égale, il présente moins d'effets indésirables. Ce mode opératoire propose desynthétiser la molécule de paracétamol (molécule ci-dessous) et de vérifier la qualité du produitsynthétisé.

OH

NH CO

CH3

4.1. Matériel et réactifs

• Ballon de 250 mL• Coupelle en plastique• Eprouvettes de 10 mL et 50 mL• Cuve thermostat• Cristallisoir• Réfrigérant à boules• Dispositif de filtration sous vide• Banc de Kofler• Support élévateur• Matériel pour CCM (avec détection sous

UV)

• Paraminophénol (solide)• 2 mL d'acide éthanoïque pur (tube à

essai noté A)• 3,5 mL d'anhydride éthanoïque (tube à

essai noté B)• Éluant: acétate de

butyle/cyclohexane/acide formique.

4.2. Synthèse du paracétamol brut

4.2.1. Dissolution du paraminophénol

Dans un ballon de 250 mL, introduire successivement 2,75g de paraminophénol, 25 mL d'eau et 2 mLenviron d'acide éthanoïque pur. Adapter un réfrigérant puis porter dans un bain-marie à 80 °C environ,en agitant de temps à autre, pour obtenir la dissolution complète.

Page 48: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 48

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

4.2.2. Synthèse du paracétamol

• Ramener la solution à température ambiante en refroidissant le ballon dans un bain d'eau froide(baisser le support élévateur puis remplacer la cuve par un cristallisoir d'eau froide).

• Ajouter, par le haut du réfrigérant, par petites quantités, 3,5 mL d'anhydride éthanoïque.• L'addition terminée, porter au bain-marie vers 60 °C pendant 5 à 10 minutes.

4.2.3. Cristallisation

• Refroidir ensuite dans un bain d'eau glacée et attendre la cristallisation totale. Si vous ne l'observezpas, gratter le fond du ballon avec un agitateur en verre puis le replacer dans l'eau glacée.

• Filtrer les cristaux sur Büchner à l'aide de la pompe à vide, rincer avec un peu d'eau glacée.• Garder une pointe de spatule de ces cristaux pour déterminer leur point de fusion et l'étude par

chromatographie.

4.3. Purification du paracétamol par recristallisation

• Transvaser les cristaux dans le ballon de 250 mL qui a été rincé à l'eau, et ajouter 40 mL d'eau.• Porter à ébullition jusqu'à dissolution complète.• Laisser refroidir, puis placer dans un bain d'eau glacée. Le paracétamol se recristallise (gratter

également le fond du ballon si vous ne l'obtenez pas).• Filtrer sur Büchner les cristaux obtenus ; les rincer avec un peu d'eau froide.• Placer les cristaux dans une coupelle.

4.4. Chromatographie sur couche mince (CCM)

• Placer dans 4 piluliers, 1 mL environ d'éluant puis dissoudre dans chacun des piluliers une pointede spatule de:

• paracétamol brut• paracétamol purifié• poudre issue d'un comprimé de Doliprane• paraminophénol.

• Réaliser la chromatographie sur couche mince des 4 solutions. Laisser sécher puis révéler sous UV.

4.5. Données

• Masse volumique de l'anhydride éthanoïque: ρ = l,08 g.cm-3

• Température de fusion du paracétamol: Tf = 170 °C• Solubilité dans l'eau:

• paraminophénol: 8 g.L-1 à 20 °C ; 33 g.L-1 à 60°C et 80 g.L-1 à 100°C• paracétamol: 10 g.L-1 à 20 °C ; 250 g.L-1 à 100°C• anhydride éthanoïque: grande.

Page 49: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 49

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

TP 5 ANALYSE D'UNE EAULe but de ce laboratoire n'est pas tellement l'analyse d'une eau en soit mais surtout comment dans lecadre de la qualité comment rendre un bon rapport d'analyse. Vous remarquerez que contrairement auxautres TP, il n'y a pas de modèle de rapport. En effet vous êtes un laboratoire d'analyse et je vousdemande l'analyse d'une eau la plus complète possible. Vous allez devoir me rendre un certificatd'analyse avec vos résultats mais aussi avec toutes les données obligatoires qui sont indiqué dans lechapitre "Mesures physico-chimiques in situ et prélèvements d'échantillons". En tant que "client" jerépondrais volontiers à toutes vos questions. D'ailleurs dans votre rapport d'analyse, je ne souhaite pasvoir les calculs (cela n'intéresse pas le client) mais seulement les résultats.

5.1. Dureté de l'eau

La dureté de l'eau est due à la présence des ions Ca2+ et Mg2+ (dans certains cas aussi Fe3+), quiexistent dans la solution sous forme de sels solubles. Selon la nature des sels que les ions alcalino-terreux peuvent former avec des ions négatifs présents dans l'eau, on distingue la dureté temporaire etla dureté permanente.

Dureté temporaire

La dureté temporaire représente la quantité des ions Ca2+ et Mg2+ qui précipitent par ébullition. Elle estdue à la présence dans l'eau des ions hydrogénocarbonates solubles (HCO3

-), qui par chauffage setransforment en carbonates donnant avec les ions Ca2+ des sels insolubles.

2 HCO3- H2O + CO2 + CO3

2-

Ca2+ + CO32- CaCO3

Lors du chauffage, on élimine une partie d'ions Ca2+ et Mg2+ sous forme de précipité qui s'incrustedans les récipients et porte le nom courant de tartre.

Dureté permanente

La dureté permanente représente la quantité des ions Ca2+ et Mg2+ qui restent en solution aprèsl'ébullition.

Dureté totale

Elle vaut la somme des duretés permanente et temporaire. Elle représente la quantité totale des ionsCa2+ et Mg2+ dans l'eau.

Expression de la dureté

La dureté de l'eau est exprimée soit en degré français (°F) soit en degré allemand (°A).1°F, degré français correspond à 10 mg de CaCO3 par litre d'eau.1°A, degré allemand correspond à 10 mg de CaO par litre d'eau.

Page 50: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 50

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.1.1. A: Détermination de la dureté de l'eau par acidimétrie

5.1.1.1. Rappel théorique.

Détermination de la dureté temporaire.

On titre le volume déterminé d'eau par HCl 0,025 M en présence de méthylrouge. Il se produit alors laréaction suivante, où HCO3

- joue le rôle d'une base.

HCO3- + H+ H2O + CO2

Le titrage détermine le nombre de moles de HCO3- et par conséquent le nombre de moles de Ca2+

pouvant précipiter par chauffage avec les ions HCO3-, selon l'équation globale:

Ca2+ + 2 HCO3- CaCO3 + H2O + CO2

L'eau ainsi neutralisée servira pour l'essai suivant.

Détermination de la dureté totale.

Tous les ions Ca2+ et Mg2+ présents dans l'eau sont HCO3-, précipités par un excès de solution alcaline

mixte, composée de Na2CO3 et de NaOH de titres connus, selon les équations suivantes:

Ca2+ + CO32- CaCO3

Mg2+ + 2 HO- Mg(OH)2

Après la séparation du précipité, une partie de la solution mixte alcaline est dosée par la solution deHCl 0,1 M en présence de M-R.

Remarque: Les ions HCO3- qui se trouvaient dans la solution initiale et qui pourraient jouer le rôle

d'un acide en présence d'une base selon:HCO3

- + HO- H2O + CO32-

ont été éliminés lors de la réaction de détermination de la dureté temporaire.

5.1.1.2. Réactifs

- HCl ≈ 0,025 M- HCl ≈ 0,1 M-NaOH ≈ 0,1 M-Na2CO3 ≈ 0,05 M

Page 51: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 51

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

- méthylrouge

5.1.1.3. Matériel

- ballon jaugé de 100 ml.- 2 ballons jaugés de 200 ou 250 ml.- 2 entonnoirs- papier filtre (n° 595 S et S)- vases de berlin de 400 ml.- burette de 50 ml.- pipettes jaugées de 25, 50 et 100 ml.

5.1.1.4. Mode opératoire

Dureté temporaire.- Préparer par dilution 100 ml d'HCl 0,025 M à partir de sa propre solution d'HCl 0,1 M.- Calculer son titre exact.- Introduire respectivement 100 ml d'eau à analyser, dans deux vases de berlin de 400 ml.- Ajouter 2-3 gouttes de méthylrouge.- Titrer par HCl 0,025 M jusqu'au virage de l'indicateur.- Remarque: II faut travailler à l'ébullition pour chasser le CO2 et obtenir un virage plus précis. Lacoloration doit rester stable pendant 30 sec. à chaud.

Dureté totale.- A la solution exactement neutralisée, ajouter à la pipette 25 ml de NaOH 0,1 M et 25 ml de Na2CO30,05 M.- Faire bouillir ce mélange 5 minutes.- Laisser refroidir, transvaser dans un ballon jaugé de 200 ml, rincer le berlin et compléter au volumepar de l'eau distillée, rendre homogène.- Filtrer partiellement à travers un filtre sec, sur un erlenmeyer.- Rincer l'erlenmeyer avec 20 à 30 premiers ml de filtrat.- Prélever sur le reste 50 ml.- Doser l'excès de réactif alcalin par HCl 0,1 M.

Dureté permanente.La dureté permanente est calculée par différence de la dureté totale et de la dureté temporaire.

5.1.2. B: Détermination de la dureté de l'eau par complexométrie

5.1.2.1. Rappel théorique

Sel disodique de l'acide éthylène-diamine-tétracétique est appelé EDTA ou complexon III ou titriplex:

N CH2 CH2 NCH2

CH2

CH2

CH2

COONa

COOH

NaOOC

HOOC

Page 52: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 52

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

Le complexon III, comme les autres complexons, forme avec beaucoup de métaux des complexesinternes qui sont très stables et solubles dans l'eau. Dans ce cas, le métal se substitue aux atomesd'hydrogène des groupes carboxyles (-COOH) et se lie par une liaison coordinative avec les atomesd'azote.

N CH2 CH2 NCH2

CH2

CH2

H2C

COONaNaOOC

-OOCCOO- M2+

EDTA + M2+ + H+

Dans ce titrage, on dose la dureté totale de l'eau, c'est-à-dire la teneur totale de cette eau en Ca2+ etMg2+.

5.1.2.2. Réactifs

- EDTA ≈ 0,01 M (MM = 372.24)- Comprimé d'indicateur tampon (murexide-ériochrome T)- NH3 conc.

5.1.2.3. Matériel

- burette de 50 ml.- erlenmeyer de 100 ou 250 ml.- pipette jaugée de 50 ml.- pipette graduée de 5 ml.

5.1.2.4. Mode opératoire

- Prélever une prise d'essai de 50 ml d'eau à analyser.- Dissoudre dans la prise d'essai 1 comprimé d'indicateur tampon.- Ajouter environ 1 ml de NH3 conc.- Titrer par l'EDTA, dès l'ajout de NH3, jusqu'au virage du rouge-bordeau au gris-vert.- Arrêter d'ajouter le réactif dès la coloration grise et continuer d'agiter. Généralement la

coloration verte apparaît et le titrage est terminé. Dans le cas contraire ajouter une oudeux gouttes du réactif et agiter.

DÉTERMINATION DE LA DURETÉ

5.1.3. C: Méthode au réactif complexant4

Norme NF T 90 003, avril 1958, avec l'autorisation de l'Association française de normalisation(AFNOR), 23, rue Notre-Dame-dés-Victoires, Paris (2e).Seule, fait foi la norme originale dans son édition la plus récente.

Page 53: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 53

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.1.3.1. Objet de la norme

La présente norme a pour objet la description d'une méthode de mesure de la dureté des eaux au moyend'un réactif complexant.

5.1.3.1.1. Généralités

Le sel disodique de l'acide éthylènediamine tétra-acétique,

N CH2 CH2 N

H2C

H2C

CH2

CH2

COONa

COOH

HOOC

NaOOC

connu sous des noms commerciaux divers se combine en solution aqueuse aux ions Ca2+ et Mg2+ etéventuellement Sr2+, Ba2+ ... pour former des composés solubles très peu dissociés (constantes 3,0 x10-10 pour Ca et 5,0 x 10-8 pour Mg).Un colorant bleu, l'ériochrome noir T donne une coloration rouge, en se combinant avec l'ion Mg2+ (laprésence d'ion Mg2+ est donc nécessaire, c'est pourquoi on en ajoute systématiquement à la solutiontitrante) ; il peut donc servir d'indicateur de fin de réaction car lorsque tout le calcium et tout lemagnésium se sont combinés avec le réactif complexant, un très léger excès de celui-ci détruit lacombinaison ériochrome-magnésium et à ce moment il y a changement de la coloration de la solution.

5.1.3.1.2. Principe

Formation des complexes des ions Ca2+, Mg2+ et, éventuellement Sr2+, Ba2+ ... avec une solution titréede sel disodique de l'acide éthylène diamine tétra-acétique, en milieu tamponné à pH 10. La fin de laréaction est indiquée par l'ériochrome noir T.

5.1.3.2. Réactifs

5.1.3.2.1. Solution tampon (pH 10)a

Chlorure d'ammonium 34 gAmmoniaque (d = 0,925) 285 mlTartrate double de potassium et de sodium 200 gEau distillée (q. s. p.) 1 000 ml

a L'addition de 0,5 g de chromate de potassium à la solution tampon [I] rend le virage plus net.

Page 54: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 54

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.1.3.2.2. Sel disodique de l'acide éthylène diamine tétra-acétique:

Solution N/50 (utilisée pour le titrage):Sel disodique de l'acide éthylène diamine tétra-acétique 4 gChlorure de magnésium (MgCl2, 6 H2O) 0,1 gEau distillée 1000 ml

Ajuster exactement cette solution à la solution-étalon de calcium (3) par titrage suivant le modeopératoire ci-après, et addition d'eau distillée de façon que 1 ml corresponde à 0,4 mg de calcium.

5.1.3.2.3. Calcium: solution-étalon de calcium N/50, telle que 1 ml contienne 0,4 mg decalcium

Introduire 1 g exactement pesé de carbonate de calcium pur et sec dans une fiole jaugée de 1 L ;ajouter quelques millilitres d'eau distillée et quelques gouttes d'acide chlorhydrique (d = 1,19) dilué audemi, jusqu'à dissolution complète ; ajuster à 1 L avec de l'eau distillée.

5.1.3.2.4. Ériochrome noir T: solution indicateur:

Ériochrome noir T 0,25 gAlcool absolu 100 ml

Cette solution doit être conservée à l'abri de la lumière.

5.1.3.3. Mode opératoire

5.1.3.3.1. Prise d'essai

Introduire 50 ml de l'eau à analyser dans un erlenmeyer de 250 ml ; pour les eaux d'une duretésupérieure à 9 mé/l (45 °f)b environ, faire une prise d'un volume inférieur et ajuster à 50 ml avec del'eau distillée ; pour les eaux d'une dureté inférieure à 2 mé/l (10 °f), si l'on désire une grandeprécision, faire des concentrations, soit par évaporation (après addition de quelques gouttes d'acidechlorhydrique), soit par l'emploi de résines permutantes, mais opérer toujours le titrage sur un volumede 50 ml.

5.1.3.3.2. Dosage

Ajouter à la prise d'essai:Solution tampon [1] 2 mlIndicateur ériochrome [4] 2 à 4 gouttes

b 1 milliéquivalent = 5 degrés français. Pour la définition du milliéquivalent, se reporter à la norme NF T 90 000.

Page 55: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 55

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.1.3.3.3. Agiter

Ensuite, la prise d'essai étant à une température de 20 à 30 °C, verser avec une burette la solutiontitrante [2] lentement vers la fin du titrage jusqu'à virage du rouge au bleuc ; soit n le nombre demillilitres de solution qui ont été employés.

5.1.3.3.4. Expression des résultats

La dureté de l'eau analysée, si la prise d'essai était de 50 ml, est donnée par les expressions:4n/10 mé/l ou 2n °f.

5.1.3.3.5. Précision

La précision est de l'ordre de 0,04 mé/l (1/5 °f).

5.1.3.3.6. Procès-verbal d'essai

Le procès-verbal d'essai doit, outre les résultats, mentionner toutes les conditions de l'essai et tous lesdétails opératoires non prévus dans la norme, ou facultatifs, ainsi que les incidents éventuelssusceptibles d'avoir agi sur les résultats.

5.1.3.3.7. Commentaires

(Conformément à la décision n° 8 de M. le Commissaire à la Normalisation, les commentaires à laprésente norme ne sont pas homologués.)

5.1.3.3.8. Ions gênant le virage

Un certain nombre d'ions, à des concentrations données, peuvent avoir une influence sur le virage etrendre l'application de la méthode difficile sinon impossible. Il s'agit en fait d'eaux exceptionnelles.

Ba2+ Rend le virage imprécis au-delà de 2 à 3 mg au litre.A13+ Rend le virage imprécis au-delà de 10 mg au litre.Mn2+ Rend le virage imprécis par suite de la décoloration de l'indicateur, au-delà de 0,2 mg au litre.Fe2+ Apporte une erreur de 0,02 mé au litre (0,1 °f) pour 2 mg au litre.Pb2+ Apporte une erreur de 0,02 mé au litre (0,10 °f) pour 10 mg au litre.Cu2+

Co2+

Ni2+Virage normal pour 0,1 mg au litre, pas de virage pour 1 mg au litre et plus.

Hexaméta-phosphate Ne gêne pas jusqu'à 5 mg au litre.

Polyphosphate vitreux Dosage impossible aux teneurs habituellement rencontrées dans les eaux traitées à l'aide de ceréactif (2 mg au litre).

c Le virage a lieu du rosé saumon au vert si on a ajouté du chromate de potassium dans la solution tampon [1].

Page 56: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 56

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.1.4. Méthodes au savon4

Nous décrivons assez succinctement parmi ces méthodes qui sont en voie de disparition, celle deBoutron-Boudet.

5.1.4.1. Principe

Les sels de Ca et Mg précipitent les savons sous forme de savons de calcium ou de magnésiuminsolubles. En conséquence, quand on introduit une solution de savon dans une eau dure, aucunemousse ne se produit tant que les sels de calcium et de magnésium n'ont pas été précipités.

5.1.4.2. Réactifs

En général, on achète la liqueur de savon toute préparée. Une division de la burette (1 ml de liqueur desavon) correspond à 0,2 mé (1 °f) pour une prise d'essai de 40 ml d'eau.

5.1.4.3. Mode opératoire

Dans 40 ml d'eau à analyser, on ajoute peu à peu la liqueur hydrotimétrique placée dans une burette.On agite après chaque addition jusqu'à obtention d'une mousse de 5 mm persistant 5 mn.Si V est le nombre de millilitres consommés, la dureté est

2(V - 0,1) mé.ou 10(V - 0,1) °f.

Quand la dureté est supérieure à 6 mé, il faut diluer l'eau avec de l'eau distillée.

5.1.5. Séparation des duretés calcique et magnésienne4

Les sels de calcium et de magnésium contenus dans les eaux naturelles sont dosables par les méthodesclassiques. Il suffît d'exprimer les résultats trouvés en degrés. Néanmoins, les duretés calcique etmagnésienne sont le plus souvent déterminées comme suit:

5.1.5.1. Principe

L'oxalate d'ammonium précipite totalement les sels de calcium, tandis que l'oxalate de magnésium estsoluble.

5.1.5.2. Réactifs

Solution d'oxalate d'ammonium 1,7 %.Liqueur hydrotimétrique

Page 57: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 57

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.1.5.3. Mode opératoire

Agiter 50 ml d'eau avec 2,5 ml de solution d'oxalate, filtrer après quelques minutes et déterminer ladureté. Cette dureté correspond aux sels de magnésium.La différence entre la dureté totale et la dureté magnésienne donne la dureté calcique.

5.1.6. D: Autres expériences avec l'EDTA

5.1.6.1. Principe

Cette méthode est destinée à fournir un renseignement rapide sur la dureté d'une eau, c'est-à-dire sur sarichesse en sels de calcium et de magnésium.Elle consiste à doser ces ions par complexométrie, avec une solution titrée d'E.D.T.A. Suivant la valeurdu pH de la solution et suivant l'indicateur utilisé, la méthode permet de doser soit la somme des ionscalcium et magnésium, soit les ions calcium seuls.

DOSAGE DE CATIONS PAR FORMATION DE COMPLEXES

5.1.6.1.1. Définition

Cette méthode de dosage s'appuie sur le fait que certains composés organiques (aminoacides) formentdes complexes cycliques ou "chélates" avec des ions métalliques tels que les alcalino terreux etcertains métaux lourds.L'agent complexant le plus utilisé" est l'acide éthylènediamine-tétraacétique ou son sel disodiquecouramment appelé "complexon" ou "E.D.T.A.".Si on le représente par H2Na2Y, en solution aqueuse, il se dissocie suivant:

H2Na2Y H2Y2- + 2 Na+

En présence d'un cation divalent, par exemple, il se forme un complexe suivant la réaction:

H2Y2- + M2+ MY2- + 2 H+

régi par la constante de formation:

]][MY[H]][H[MY K 2-2

2

2-2

+

+

=

5.1.6.1.2. Influence du pH

La stabilité des complexes formée avec les différents cations, varie avec le pH. Certains d'entre eux,pour lesquels la constante de formation est élevée, sont stables depuis pH 5 jusqu'en milieu alcalin (ex.Cu, Pb, Zn), d'autres, de constante de stabilité plus faible, tel celui du magnésium ne se forment pas enmilieu faiblement acide. Cette différence de comportement permet un dosage sélectif en faisant varierles conditions d'acidité.

Page 58: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 58

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.1.6.1.3. Indicateurs

Les dosages complexométriques se faisant en milieu tamponné, il n'est pas possible d'utiliser lalibération des ions H+ pour suivre le dosage.On emploie généralement les indicateurs formant avec les ions métalliques des complexes cation-indicateurs moins stables que la complexe cation-EDTA. D'autre part, la couleur de l'indicateur libredoit être très différente de la couleur du complexe cation-indicateur.Le choix de l'indicateur est très important dans les dosages complexométriques. En effet, un indicateurest inutilisable si la constante de formation du complexe cation-indicateur est trop forte (blocage).

5.1.6.2. Mode opératoire

Il s'agit de déterminer:a) la dureté totale de l'eau (ou titre hydrotimétrique total). Ceci représente la quantité d'ions

calcium et magnésium que contient une eau.b) la teneur en ions calcium.c) la teneur en ions magnésium.d) le degré permanent.

Tout ceci à l'aide d'une solution d'EDTA ≈ 0,01 M préalablement dosée.

5.1.6.2.1. Préparation d'un litre de solution d'EDTA ≈ 0,01 M

Dissoudre 4g environ d'E.D.T.A. (sel disodique) et 0,05g de chlorure de magnésium (MgCl2, 6H2O)dans 1000 ml d'eau distillée.Agiter la solution pendant 10 à 15 mn pour que la dissolution de l'E.D.T.A. soit totale.

5.1.6.2.2. Préparation de 100 ml de solution étalon de carbonate de calcium

Dans un bêcher, peser exactement environ la quantité nécessaire de carbonate de calcium pur. Ladissoudre dans environ 10 ml d'acide chlorhydrique 0,5 M (éviter d'utiliser un gros excès d'acide).Lorsque le solide est complètement dissout, transférer quantitativement la solution dans une fiolejaugée de 100 ml Compléter jusqu'au trait avec de l'eau distillée.

5.1.6.2.3. Détermination du titre de la solution d'E.D.T.A. pH = 10.

Dans un erlen, introduire 10 ml de la solution étalon de carbonate de calcium, 5 ml de solution tamponpH 10 (éprouvette graduée) et une très faible quantité d'indicateur au noir ériochtome. Titrer avec lasolution d'E.D.T.A. jusqu'au virage (rouge → bleu).

Page 59: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 59

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.1.6.2.4. Détermination du titre hydrotimétrique total d'une eau. pH = 10

Prélever exactement 10 ml d'eau (20 ml ou 50 ml pour une eau dont le titre hydrotimétrique est faible),les introduire dans un erlen et y ajouter:

! 1 ml de solution tampon pH 10 (ou 2 ml ou 5 ml).! une pincée d'indicateur au noir ériochrome.

Agiter. Verser lentement au moyen d'une burette, la solution d'E.D.T.A. jusqu'au virage de l'indicateur(rouge → bleu).

Soit x1 le volume versé et M la molarité de la solution d'E.D.T.A.

Calculer le titre hydrotimétrique total.

5.1.6.3. Expression des résultats

Dans le cas du dosage en bloc des ions calcium et magnésium, les résultats sont exprimés en degréshydrotimétriques.En France le degré hydrotimétrique (D.H.) équivaut à 10 mg de CaCO3 par litre d'eau. Dans les autrespays, la définition du D.H. est légèrement différente.

Pour effectuer ce calcul, il faut assimiler les ions Mg2+ + Ca2+ à des ions Ca2+ que l'on transformeensuite en mg de CaCO3.

DOSAGE DU CALCIUM (pH = 12-13)

Pour que le magnésium n'interfère pas, on le fait précipiter sous forme d'hydroxyde.Dans un erlen introduire,

! 10 ml de l'échantillon d'eau (ou 20 ml ou 50 ml),! 2 ml (éprouvette graduée) de soude 2N,! une pincée d'indicateur au calcon.

S'il y a des ions calcium, l'échantillon prend une couleur rouge lie de vin.Titrer avec la solution d'E.D.T.A. jusqu'au virage de l'indicateur (rouge → bleu).Calculer la teneur en calcium (exprimée en mg.l-1).

DETERMINATION DE LA TENEUR EN MAGNESIUM.

Connaissant le titre hydrotimétrique total et la teneur en calcium, calculer la teneur en magnésium(exprimée en mg.l-1).

5.1.6.4. Détermination du degré permanent

Le degré permanent correspond aux ions Ca2+ et Mg2+ restant en solution après ébullition prolongée del'eau. Cette opération a pour résultat de précipiter une partie des ions Ca2+ et Mg2+ par suite de ladissociation des bicarbonates.

Page 60: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 60

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

Ca(HCO3)2 CaCO3 + CO2 + H2O sol. insol.

Mg(HCO3)2 MgCO3 + CO2 + H2O sol. insol.

A 25 °C, les produits de solubilité des carbonates de calcium et de magnésium sont respectivement de5.10-9 et 1.10-5.

MODE OPERATOIRE.Dans un ballon surmonté d'un réfrigérant, porter à ébullition pendant 10 mn une prise d'essai de 10, 20.ou 50 cm3. Refroidir. Filtrer s'il y à lieu et déterminer le degré hydrotimétrique suivant les indicationsdu paragraphe 5.1.6.3.

5.2. DÉTERMINATION DE L'ALCALINITÉ4

5.2.1. Modes d'expression

Les alcalinités sont habituellement évaluées en degrés T. A. et T. A. C. dont nous avons donné ladéfinition dans le cours.A propos des corrosions, nous devons signaler le rôle de la soude caustique dans l'eau de chaudière.Pour cette raison, les Allemands ont défini une autre unité, le natronzahl ou nombre de soude et lui ontfixé des limites pour les différents types de chaudières.Le nombre de soude se calcule ainsi:

4,5CONa mg/l NaOH mg/l soude de nombre 32+=

ou 11,3 T. A. - 3,3 T. A. C., ou, si l'on veut tenir compte du sulfite et des phosphates:

1,5Aq. 12 PONa

4,5SONa

4,5CONa NaOH 433232 +++

tous ces éléments étant exprimés en mg/l.En général, on se contente du premier mode d'expression de calcul. Le nombre de soude ne présented'intérêt que pour l'eau de chaudière.

5.2.2. Méthode classique

5.2.2.1. Réactifs

Acide sulfurique N/10 (4,9 g/l)Méthylorange 1 �Phénolphtaléine, solution hydroalcoolique 1 �

Page 61: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 61

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.2.2.2. Mode opératoire

A 100 ml d'eau, ajouter 2 gouttes de phtaléine, puis la quantité de H2SO4 exactement nécessaire pourdécolorer.Après introduction d'une goutte de méthylorange, continuer l'addition d'acide jusqu'au virage du jauneau rosé orangé. Si nous appelons n le nombre de millilitres d'acide nécessaires pour décolorer laphtaléine, N le nombre de millilitres jusqu'au virage du méthylorange, les degrés d'alcalinité sontdonnés par les formules:

T. A. = 5nT. A. C. = 5N

5.2.2.3. Calculs

Si on néglige les phosphates contenus seulement en petite quantité dans l'eau de chaudière et certaineseaux épurées, les cas suivants peuvent se présenter.

1° T. A. = 0: absence d'alcalis caustiques et de carbonates.a) T. A. C. < 0,25: absence de bicarbonates (eau distillée, condensée ou déminéralisée).b) T. A. C. > 0,25: l'eau contient des bicarbonates (eau naturelle ou adoucie)

mg/l NaHCO3 = 16,8 T. A. C.

2° T. A. > 0

a) 2

C. A. T. A. T. < : l'eau renferme des carbonates et des bicarbonates:

mg/l Na2CO3 = 21,2 T. A.mg/l NaHCO3 = 16,8 (T. A. C. - 2 T. A.)

b) 2

C. A. T. A. T. = : l'eau renferme seulement des carbonates:

mg/l Na2CO3 = 21,2 T. A. = 10,6 T. A. C.

c) 2

C. A. T. A. T. > : l'eau contient des carbonates neutres et des alcalis caustiques. C'est

le cas des eaux de chaudières par suite de la dissociation du carbonate:mg/l NaOH = 8 (2 T. A. - T. A. C.)mg/l Na2CO3 = 21,2 (T. A. C. - T. A.)

Bien qu'elle soit peu précise, cette méthode est suffisante pour les contrôles courants, notamment ceuxeffectués à l'atelier même. En effet, l'eau contient souvent des produits plus ou moins alcalins, tels quesilicates, sulfites, aluminates, bases organiques, dont la présence peut être la cause d'erreursimportantes, notamment sur la teneur en soude libre.

5.2.3. Méthode de Winckler

Cette méthode est utilisée chaque fois qu'il est nécessaire de connaître avec précision les teneurs ensoude caustique.

Page 62: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 62

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.2.3.1. Principe

Elimination des sels d'acides faibles sous forme de sels de baryum insolubles. Les bases caustiquessubsistent seules sous forme de baryte.

5.2.3.2. Réactifs

Chlorure de baryum solution 10 %Acide N/10Phénolphtaléine

5.2.3.3. Mode opératoire

Prélever un échantillon de 100 ml. Ajouter 10 ml BaCl2 10 % et quelques gouttes de phénolphtaléine.Si la teinte rose disparaît ou n'apparaît pas, on peut conclure à l'absence de soude libre.Dans le cas contraire, le nombre n de millilitres d'acide N/10 nécessaires donne la proportion de soudedans l'eau:

T. A. NaOH = 5nmg/l NaOH libre = 40n

L'alcalinité carbonatée est calculée par la formule:T. A. C. carbonate = 2 (T. A. - T. A. NaOH)mg/l Na2CO3 = 21,2 (T. A. - T. A. NaOH)

5.3. DÉTERMINATION DU pH4

Le pH peut être déterminé de différentes manières selon la précision cherchée. Pour des mesuressommaires, les indicateurs colorés sont couramment utilisés. Présentés sous forme de solutions, laprécision qu'ils permettent d'espérer est ± 0,2 mais, sous forme de papier coloré, on peut difficilementattendre mieux que ± 0,5. Aux pH supérieurs à 10, ces méthodes sont peu rigoureuses.Il existe dans le commerce de nombreux types d'appareils fixes ou portatifs, pH-mètres à électrodes deverre permettant des contrôles très précis (jusqu'à ± 0,01) à condition de ne pas négliger les correctionsde température.

Méthodes AFNORNF T 90 006 Mesure colorimétrique du pH.NF T 90 008 Mesure électrométrique du pH avec l'électrode de verre.

5.4. DÉTERMINATION DE LA SALINITÉ4

Quatre méthodes sont utilisées pour déterminer la salinité des eaux:! mesure de la densité,! dosage des chlorures,! mesure de la résistivité,! détermination de l'extrait sec.

Page 63: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 63

CHIMIE INDUSTRIELLE 07/01/2005 1ère Edition

5.4.1. Mesure de la densité

A une même température, la salinité d'une eau est à peu près proportionnelle à sa densité. Une lecturede température et une lecture de densité (généralement en degrés Baumé) suffisent pour connaîtreapproximativement la salinité.Il existe dans le commerce des instruments appelés pacomètres qui sont des densimètres dans lesquelsest inclus un thermomètre. Des graphiques donnent la correction de température à effectuer et lacorrespondance degrés Baumé-salinité. Nous les résumons ci-dessous:

Température Correction d° Bé15° 019° + 0,1022° + 0,2025° + 0,2928° + 0,4030° + 0,5038° + 0,9049° + 1

d° Bé Salinité g/l0,14 10,28 20,57 4

1 6,91,2 8,3

La précision de cette méthode est médiocre, surtout lorsque la densité est mesurée à une températureéloignée de 15 °C.

5.4.2. Dosage des chlorures

5.4.2.1. Principe

Quand une chaudière est alimentée avec une eau de qualité constante, le rapport chlorure/extrait sec estconstant. Il suffît de déterminer ce rapport de temps en temps. Les chlorures sont dosés par la méthodevolumétrique au nitrate d'argent:

! soit en présence d'un indicateur coloré (chromate de potassium) ;! soit par potentiométrie.

5.4.2.2. Réactifs

Nitrate d'argent. Il est commode d'utiliser une solution dont 1 ml correspond à 1 mg Cl.Chromate de potassium à 10 %.

5.4.2.3. Mode opératoire

Prélever 25 ou 50 ml d'eau. Neutraliser par HNO3 10 %. Compléter à 100 ml environ. Ajouter 1 ml dechromate. Titrer par AgNO3 jusqu'à coloration rouge brun.Au lieu de déterminer une coloration, il est commode de suivre la réaction avec un potentiomètrespécialement équipé pour cet usage. La fin du dosage est indiquée par la différence maximale depotentiel correspondant à l'addition de 2 gouttes de nitrate.Soit N le nombre de ml AgNO3 utilisés par l'une ou l'autre méthode.

Page 64: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 64

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Dans les deux cas, un essai à blanc sur l'eau distillée est indispensable. Soient n ml AgNO3 consommésdans l'essai à blanc.

5.4.2.4. Calculs

Si 50 ml d'eau ont été prélevésCl (mg/l) = 20 (N - n)

Si f désigne le rapport chlorures

secextrait

Salinité (mg/l) = 20 (N - n)f

Cette méthode, plus précise que la précédente, présente en outre l'avantage de renseigner sur laproportion de chlorures dont l'accumulation peut provoquer des corrosions.Cependant, le rapport extrait sec/chlorures peut subir des variations accidentelles dues à la conduite del'épuration: variation de l'alcalinité, de la teneur en phosphate ou, dans le cas d'adoucissement,introduction de chlorure de sodium provenant d'un mauvais rinçage des épurateurs.La présence de polyphosphates non hydrolysés est une cause d'erreur, qu'une ébullition préalable de 15mn avec une quantité d'acide nitrique 10 %, suffisante pour être en milieu nettement acide, permetd'éliminer.

5.4.3. Mesure de résistivité

Pour déterminer la salinité d'une eau faiblement minéralisée (distillée ou déminéralisée), la mesure dela résistivité électrique est une méthode simple et rapide donnant des résultats d'une précisionsuffisante.Lorsque cette détermination est utilisée pour l'exploitation d'une chaudière à haute pression, les purgessont réglées directement en fonction d'une résistivité minimale à tenir, sans passer par la salinitéexprimée en milligrammes par litre.

5.4.4. Détermination extrait sec

Evaporer sans faire bouillir dans une capsule de platine une certaine quantité d'eau, sécher le résidu(110-120°) et peser.

5.5. DOSAGE DES PHOSPHATES1

Les teneurs en phosphates solubles s'expriment habituellement en milligrammes de P2O5 par litre.Les phosphates provenant essentiellement de réactifs introduits en cours d'opération, il n'y a pas lieu deles rechercher dans les eaux naturelles. Leur dosage dans l'eau épurée présente peu d'intérêt pratique.Par contre, il faut vérifier souvent la teneur en P2O5 de l'eau de chaudière.Une partie de P2O5 correspond à:

5,05 de Na2HPO4 12 Aq.et 5,35 de Na3PO4 12 Aq.

Page 65: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 65

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.5.1. Méthode colorimétrique au bleu de molybdène

5.5.1.1. Principe

La réduction de l'acide molybdique en présence de phosphates donne une solution bleue d'autant plusfoncée que la concentration en P2O5 est plus élevée.Proposée pour la première fois par DENIGES, cette méthode a été modifiée par de nombreux chercheurs.Les modifications ont porté:

! sur les réducteurs employés: étain (SPLITTGERBER), chlorure stanneux, thiosulfate,hydroquinone, acide 1-2-3 aminophtosulfonique, benzidine,

! sur la comparaison des teintes obtenues, teintes souvent altérées par la coloration brune del'eau de chaudière et par la réaction colorée de la silice sur le molybdate (jaune-vert).

De toutes les méthodes proposées jusqu'à ce jour, la plus précise est incontestablement celle qui utilisele chlorure stanneux comme réducteur. Elle a été mise au point par HUBIE et CHOSSAT. Nousl'indiquons, ci-dessous avec quelques perfectionnements apportés par DESIRE.

5.5.1.2. Appareillage

! photocolorimètre muni d'un écran rouge 610 mµ, à défaut, comparateur ou série de tubesétalons,

! pipettes de 10 et 1 ml graduées en dixièmes,! ballons jaugés de 100 ml,! tubes à essais.

5.5.1.3. Réactifs

! solution sulfomolybdique: 756 mg de molybdate d'ammonium Mo7O24(NH4)6 4 H2O dans100 ml H2SO4 3 N ;

! solution tampon de chlorure stanneux: 10 g SnCl2 2 H2O dans 25 ml de HCl densité 1,18 ;cette solution se conserve un mois ;

! solution diluée de chlorure stanneux: 0,5 ml de solution tampon dans 100 ml HCl normal ;cette solution doit être renouvelée chaque jour ;

! solution de phénolphtaléine à 1 % dans l'alcool à 70 °.

5.5.1.4. Mode opératoire

Introduire 10 ml d'eau à analyser dans un ballon de 100 ml. Acidifier avec HCl N/10 jusqu'àdécoloration de la phénolphtaléine. Compléter à 100 ml avec de l'eau distillée.Prélever 10 ml de la dilution et les placer dans un tube à essais.Ajouter 1 ml de solution sulfomolybdique, puis 1 ml de solution diluée de SnCl2. Homogénéiser etattendre 90 ± 30 mn Effectuer la mesure colorimétrique.Si la teneur en P2O5 est inférieure à 5 mg/l, utiliser 10 ml d'eau à analyser non diluée et diviser lerésultat obtenu par 10.Les solutions de référence se préparent à partir d'une solution de phosphate monoammonique à 5 mg/lde P2O5 (8,098 mg de NH4H2PO4 par litre).Par dilution, on prépare des solutions étalons à 0,1, 0,5, 1, 2, 3, 4, 5 mg/l de P2O5.

Page 66: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 66

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

10 ml de ces solutions, traitées comme indiqué ci-dessus, donnent l'échelle de teintes correspondant àdes eaux de chaudières titrant 1, 5, 10, 20, 30, 40, 50 mg/l de P2O5.Quand on dispose d'un photocolorimètre, la courbe étalon de l'appareil est établie une fois pour toutes.Dans le cas contraire, il faut préparer une série complète de tubes étalons à chaque mesure.

5.5.2. Méthode acidimétrique

5.5.2.1. Principe

Le phosphate monosodique est neutre au méthylorange, le phosphate disodique est neutre à laphénolphtaléine. On peut donc, en l'absence d'acides faibles (CO2, acides organiques, silice), titrerP2O5 en mesurant la quantité de soude nécessaire pour passer du stade monosodique au stadedisodique.L'emploi du pH-mètre à électrode de verre se généralisant de plus en plus, il est avantageux d'effectuerune telle titration au moyen de cet appareil, sans l'aide d'indicateurs colorés. La titration revient alors àdéterminer la quantité de soude nécessaire pour passer de pH 4,6 (monosodique) à pH 8,8 (disodique).

5.5.2.2. Réactifs

! Acide sulfurique 5 %! Soude titrée N/25! Méthylorange! Phénolphtaléine

5.5.2.3. Mode opératoire

Dans un erlenmeyer de 250 ml, on introduit successivement 100 ml d'eau, 1 goutte de méthylorange etla quantité d'acide sulfurique pour faire virer nettement au rosé. On fait bouillir 5 mn pour chasser CO2et on laisse refroidir.On fait couler goutte à goutte la soude jusqu'à obtention de la teinte sensible jaune-orangé, on ajoute 2gouttes de phtaléine et on titre par la soude jusqu'à virage au rosé.

5.5.2.4. Résultats

Soit N le nombre de millilitres de soude nécessaires pour passer du virage du méthylorange à celui dela phtaléine.La teneur en milligrammes par litre de P2O5 est N x 28,4.Cette titration est plus longue et moins précise que celle par l'urane, les résultats étant influencés par lasilice et les matières organiques. Toutefois, elle est simple, nécessite peu d'appareillage et des réactifscourants.

Page 67: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 67

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.6. DOSAGE DES POLYPHOSPHATES1

5.6.1. Principe

Le dosage des polyphosphates contenus dans les circuits d'eau est effectué par colorimétrie. Mais cetteméthode ne peut être appliquée qu'après hydrolyse du polyphosphate en orthophosphate.Par ailleurs, l'eau du circuit peut contenir du polyphosphate déjà transformé partiellement enorthophosphate (cas du circuit fermé).Dans ces conditions, il est intéressant de connaître:

! les orthophosphates dans l'eau du circuit,! les phosphates totaux, déterminés après hydrolyse de la prise d'essai, d'où on déduit la teneur

en polyphosphates.

Dans les deux cas, la méthode colorimétrique est la même.

5.6.2. Précaution essentielle

Il importe que tout le matériel utilisé n'ait pas été lavé avec un détersif contenant du phosphate.

5.6.3. Hydrolyse du polyphosphate

Mesurer dans une fiole jaugée 100 ml d'eau.Placer cette eau dans un erlenmeyer de 300 ml.Rincer le ballon à l'eau distillée, joindre cette eau de rinçage au contenu de l'erlenmeyer.Ajouter 3 gouttes d'acide chlorhydrique pur (d = 1,19).Faire bouillir 2 h. Si l'évaporation est trop importante, ajouter un peu d'eau distillée ou déminéralisée.Laisser refroidir.Neutraliser à la phtaléine par NaOH environ N/10.Décolorer par une goutte d'HCl environ N/10.Transvaser dans le ballon. Compléter à 100 ml avec de l'eau distillée.

5.6.4. Dosage par la méthode colorimétrique au bleu de molybdène

Le dosage sur la solution hydrolysée ou non est identique à celui du P2O5 dans les eaux de chaudières.Nous allons néanmoins le rappeler, afin d'éviter au lecteur de s'y reporter.

5.6.4.1. Appareillage

! photocolorimètre muni d'un écran rouge 610 mµ ou, à défaut, comparateur ou série de tubesétalons,

! pipettes de 10 et 1 ml graduées en dixièmes,! ballons jaugés de 100 ml,! tubes à essais.

Page 68: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 68

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.6.4.2. Réactifs

! solution sulfomolybdique: 756 mg de molybdate d'ammonium Mo7O24(NH4)6 4 H2O dans100 ml H2SO4 3 N ;

! solution tampon de chlorure stanneux: 10 g SnCl2 2 H20 dans 25 ml de HCl densité 1,18.Cette solution se conserve un mois ;

! solution diluée de chlorure stanneux: 0,5 ml de solution tampon dans 100 ml HC1 normal.Cette solution doit être renouvelée chaque jour ;

! solution de phénolphtaléine à 1 % dans l'alcool à 70°.

5.6.4.3. Mode opératoire

Prélever 10 ml de la solution obtenue après hydrolyse.Ajouter 1 ml de solution sulfomolybdique et 1 ml de solution diluée de SnCl2.Homogénéiser.Attendre 90. mn et effectuer la mesure colorimétrique à 610 mµ.Pour l'étalonnage du colorimètre ou pour comparaison directe, préparer une série de solutions étalons àpartir d'une solution de phosphate monoammonique à 8,098 mg NH4H2PO4 par litre (5 mg/l P2O5).Si un photocolorimètre est utilisé, on établit une fois pour toutes la courbe d'étalonnage.Si l'on utilise une échelle colorée, il faut préparer la gamme-étalon en même temps que les échantillonsà examiner. DESIRE donne des mélanges de solutions bichromate de potassium-sulfate de cuivre, dontles teintes sont assez stables et correspondent à celles développées au cours du dosage pour desconcentrations en P2O5 déterminées.Si la teneur en P2O5 dépasse 5 mg/l, diluer l'eau avant dosage dans une proportion convenable ouutiliser la méthode au vanadomolybdate ci-après.

5.6.5. Méthode AFNOR

NF T 90 023 Dosage spectrophotométrique des orthophosphates et des polyphosphates.

Cette méthode est également basée sur la colorimétrie, mais, dans ce cas, il s'agit du complexe jauneformé par les ions phosphoriques avec des ions vanadiques et molybdiques.Moins sensible que la précédente, elle est néanmoins satisfaisante dans la plupart des cas.

5.7. DOSAGE DE L'OXYGENE1

5.7.1. Méthode polarographique

Cette méthode, de plus en plus utilisée, est rapide et d'une grande simplicité. Son seul inconvénient estde nécessiter un appareil relativement coûteux.

5.7.1.1. Principe

L'oxygène contenu dans l'échantillon diffuse à travers une membrane de polyéthylène outétrafluoroéthylène perméable à l'oxygène mais imperméable à l'eau et aux ions. Il est réduit à la

Page 69: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 69

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

cathode (or, argent ou carbone) ; cette réduction provoque un courant proportionnel à la pressionpartielle d'oxygène dans l'échantillon. Les réactions suivantes ont lieu:

O2 + 2 H2O + 4e- 4 OH- (réaction à la cathode)4 Ag + 4 Cl- 4 AgCl + 4e- (réaction à l'anode d'argent).

5.7.1.2. Appareillage

Les appareils existant dans le commerce comportent:! un détecteur équipé par exemple d'une cathode en or et d'une anode en argent baignant dans

un gel de chlorure de potassium, séparées du milieu par une membrane en matière plastique ;! un amplificateur qui mesure le niveau du courant produit par le détecteur, l'amplifie et

transmet le signal à un indicateur ou un enregistreur.

5.7.1.3. Mode opératoire

Suivre les indications du constructeur.

5.7.1.4. Résultats

La lecture de la teneur en oxygène est lue directement sur l'appareil en milligrammes d'O2 par litre, ouen millimètres de mercure de pression partielle d'oxygène dans l'échantillon, ou en proportiond'oxygène par rapport à la saturation à la température de l'essai.

5.7.2. Méthode de Winckler

C'est la seule méthode chimique utilisée pour le dosage de l'oxygène dissous.

5.7.2.1. Principe

L'oxygène oxyde les sels manganeux en sels manganiques. Ces derniers peuvent être titrésindirectement par le thiosulfate.

5.7.2.2. Prise de l'échantillon

Tous les auteurs insistent sur les soins qu'il faut apporter à cette opération, sous peine d'avoir desrésultats erronés.L'eau prélevée à une température maximale de 30 °C est introduite par un tube de caoutchouc au fondd'un flacon de 250 à 300 ml bouché à l'émeri, ou dans un flacon spécial pour dosage d'oxygène.On laisse déborder un grand volume avant de prendre l'échantillon. Quand il n'y a plus de bullesentraînées, on fait encore circuler un volume d'eau égal à 10 fois celui du flacon, on retire lecaoutchouc avec précaution et on bouche le flacon en prenant soin de n'emprisonner aucune bulle d'air.

Page 70: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 70

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.7.2.3. Réactifs

! Chlorure manganeux: 10 g MnCl2 4 H2O dans 25 ml eau distillée.! Soude caustique iodée: 33 g NaOH, 100 ml eau distillée, 10g KI.! Thiosulfate de sodium N/100.! Empois d'amidon fraîchement préparé.

5.7.2.4. Mode opératoire

On introduit au fond du flacon à l'aide de longues pipettes 2 à 3 ml de chlorure manganeux et le mêmevolume de soude iodée.L'hydrate manganeux précipite et, au contact d'oxygène, se transforme en hydrate manganique brun.On agite et on laisse déposer à l'abri de la lumière pendant 30 mn.

Plusieurs procédés sont proposés:

5.7.2.4.1. colorimétriquela teinte brune du précipité est comparée à une échelle de teintes d'où l'on déduit immédiatement lateneur en oxygène ;

5.7.2.4.2. volumétriqueon enlève un peu de la solution clarifiée par décantation, ajoute 5 ml HCl concentré (ou d'acidephosphorique), agite, transvase la solution redevenue limpide.On ajoute 2 à 3 ml d'empois d'amidon et titre par le thiosulfate jusqu'à disparition de la colorationbleue.

1 ml thiosulfate N/100 = 0,08 mg O.

En présence de sulfites (cas du dégazage chimique), la méthode de Winckler doit être modifiée.On transforme l'hydrate manganeux en carbonate par addition de bicarbonate de sodium.On filtre le précipité sur creuset de Gooch, lave et redissout par HCl.On termine le dosage comme précédemment. Cette méthode donnerait des résultats convenables pourdes teneurs en oxygène de 0,05 à 0,5 mg/l.

D'autres méthodes ont été proposées, en particulier, le dégazage sous vide, l'oxygène dégazé étantabsorbé par le réactif de WINCKLER.

5.7.3. O2 dissous - Méthodes utilisées au CEBEDEAU5

1) Méthode de Wincler - suivant la norme NBN 390 (voir plus loin).2) Méthode polarographique - qui permet d'obtenir directement par simple lecture, la quantité

d'oxygène de l'eau en mg/l. L'appareil que l'on peut utiliser sur le terrain comporte uneélectrode de mesure à goutte de mercure et il est équipé d'une compensation thermiqueautomatique. Il est ainsi possible, avec un peu d'habitude, de doser 60 échantillons en 20minutes - l'erreur maximum de l'instrument est de 0,15 ppm mais les écarts par rapport à laméthode de Winckler ne dépassent en général pas 0,10 ppm.

3) Méthode par cellule galvanique. Cette méthode préconisée par Mancy-Westgarth (I.W.Poll. Cent. Fed. 34 - Oct. 62, 1037) et qui permet une mesure continue de l'oxygène parcellule galvanique à membrane en polymère de fluoréthylène propylène perméable

Page 71: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 71

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

seulement à l'oxygène. Cette méthode est en particulier employée pour des essais encontinu. La cellule galvanique est alors couplée avec un enregistreur.

5.7.3.1. Méthodes normalisées

5.7.3.1.1. Norme belge: NBN 390. Méthode de Winckler.Principe: O2 dissous réagit quantitativement avec l'hydroxyde manganeux et donne du bioxyde de Mnhydraté qui, en milieu acide, libère l'iode d'un iodure. Il suffit donc de titrer l'iode par du thiosulfatesodique en présence d'amidon.

Substances gênantes: Les nitrites détruits par l'azoture de Na (NaN3).

5.7.3.1.1.1. Mode opératoire

Remplir complètement avec l'eau à analyser 1 flacon de Winckler.Introduire du sulfate manganeux (1 ml) puis une solution contenant KI, KOH et NaN3 (2 ml).Boucher le flacon, bien mélanger.Laisser reposer.Ajouter H2SO4.Homogénéiser.Titrer l'iode par Na2S2O3 N/40. Vers la fin du titrage, ajouter 1 à 2 ml de la solution d'empois

d'amidon.

5.7.3.1.1.2. Réactions

MnSO4 + 2 KOH = Mn(OH)2 + K2SO4Mn(OH)2 + ½ O2 = MnO2 H2O

MnO2 H2O + 2 KI + 2 H2SO4 = MnSO4 + K2SO4 + 3 H2O + I22 NaN3 + H2SO4 = 2 HN3 + Na2SO4HNO2 + HN3 = N2 + N2O + H2OI2 + 2 Na2S2O3 = 2 NaI + Na2S4O6.

Détermination du résultat:n = nb de ml de sol. titrée de Na2S2O3,t = titre en Oxygène de la sol de Na2S2O3,V = volume de la prise d'essai,V - 3 = volume corrigé pour tenir compte de la perte provoquée par addition des réactifs.

3-V1000n x t x

5.7.3.1.2. Suisse: SNV 81506.Addition de chlorure de Mn et de soude caustique iodurée, ajouter HCl ou un mélange d'acidesphosphorique et chlorhydrique et titrer.

Page 72: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 72

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.7.3.1.3. Grande Bretagne: BS 2690 (1956).3 méthodes:1) addition de sulfate de Mn, KI, KOH et H2SO4. Elimination de MnO2 par KMnO4 dont on détruitl'excès par de l'oxalate potassique. Titrage de l'iode libéré par Na2S2O3 en présence d'empois d'amidon.2) Même méthode mais électrotitrage.

a) à l'aide d'un galvanomètre jusqu'à ce que l'aiguille n'accuse plus aucune déflection (dead stopend point method).

b) en cherchant le point d'inflexion de la courbe des ∆V en fonction des incréments dethiosulfate.3) Méthode microgazométrique. L'O2 est dosé comme gaz et absorbé sur du pyrogallol. BS 1427(1962).Pour les faibles quantités d'O2 dissous (ex. 0,007 ppm). Comparaison de teintes produites par l'indigo-carmin réduit avec du glucose. Les colorations passent de l'orange au rouge-violet et au bleu avecl'accroissement de la quantité d'oxygène.

5.7.3.1.4. Normes internationales applicables à l'eau de boisson (Organisation mondialede la santé, Genève).

Méthode de Winckler avec addition de NaN3 comme dans la méthode belge.

5.7.3.1.5. France: NFT 90.010. Détermination colorimétrique des faibles teneurs d'O2libre.

Oxyder par l'O2 dissous de l'hydroxyde manganeux, décomposer par HCl. Il y a libération de C12 quidonne une coloration jaune avec une sol. chlorhydrique d'o-tolidine. Comparer la coloration obtenueavec une gamme étalon.

5.8. DOSAGE DE LA SILICE1

Quelle que soit la méthode utilisée, les traitements à chaud doivent être effectués dans des récipientsnon siliceux (platine ou à la rigueur alumine), l'eau distillée et tous les réactifs doivent être contrôlés aupoint de vue de leur teneur en silice.

5.8.1. Méthode colorimétrique

5.8.1.1. Principe

L'acide molybdique en présence d'ions siliciques produit une coloration jaune due au complexe silico-molybdique. Cette coloration est de même ton que celle d'une solution neutre de chromate depotassium. Son intensité est proportionnelle à la quantité d'ions SiO2.Pour les eaux à très faible teneur en silice (moins de 2 mg/l), il faut, après développement de la couleursilico-molybdique, ajouter une solution d'acide aminonaphtol-sulfonique qui donne une teinte bleuebeaucoup plus intense.

Page 73: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 73

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.8.1.2. Réactifs

! Molybdate d'ammonium pulvérisé.! Molybdate d'ammonium: solution à 100 g/l (conserver dans un flacon en verre borosilicaté).! Chromate de potassium: solution à 6,30 g/l.! Chromate de potassium: solution à 0,63 g/l.! Acide chlorhydrique d = 1,19 au 1/2 (conserver dans un flacon en verre borosilicaté).! Silicate de sodium. Solution étalon: fondre 3 g de carbonate de sodium avec 0,200 g de silice

pure dans un creuset de platine. Dissoudre dans 200 ml d'eau: 1 ml contient 1 mg de SiO2.Diluer dix fois si nécessaire, conserver dans un flacon d'ébonite.

! Acide aminonaphtolsulfonique. Solution: dissoudre 0,5 g d'acide 1-amino-2-naphtol-4-sulfonique, dans une solution de 30 g de sulfite acide de sodium dans 200 ml d'eau distillée ;ajouter 1 g de sulfite neutre de sodium et chauffer pour parfaire la solution. Conserver àl'obscurité dans un flacon en verre résistant aux agents chimiques et renouveler toutes lesdeux semaines.

5.8.1.3. Mode opératoire

5.8.1.3.1. Teneur en SiO2 supérieure à 2 mg/l.Prendre 2 éprouvettes pour colorimétrie.Verser dans l'une 100 ml d'eau à analyser, puis (5,5 g de molybdate d'ammonium pulvérisé, agiterjusqu'à dissolution de la plus grande partie du sel puis ajouter en agitant 2 ml d'acide chlorhydrique au1/2. Agiter à nouveau jusqu'à dissolution complète du molybdate et laisser reposer 5 mn.Verser dans l'autre éprouvette 102 ml d'eau à analyser, ajouter goutte à goutte la solution de chromatejusqu'à ce que les teintes jaunes présentent la même intensité.Soit n le nombre de millilitres de chromate de potassium:

SiO2 en mg/l = 10 n.

5.8.1.3.2. Teneur en SiO2 inférieure à 2 mg/l.Dans une éprouvette pour colorimétrie, verser 100 ml d'eau à analyser. Dans une série d'éprouvettessemblables, préparer des solutions de teneurs connues en SiO2 à partir d'eau distillée et de solutiontype de silicate.Ajouter successivement dans chaque éprouvette 4 ml de solution de molybdate d'ammonium et 2 mld'acide chlorhydrique. Laisser reposer 5 mn et ajouter 4 ml d'acide amino-naphtol sulfonique.Comparer avec les étalons 2 mn après l'introduction de ce dernier réactif.

REMARQUES! La silice peut exister sous deux états différents: état ionique et état colloïdal. Dans la méthode

colorimétrique, la silice colloïdale échappe au dosage. On peut transformer la silice colloïdaleen silice ionique par chauffage préalable avec du bicarbonate de sodium. On néglige souventla silice colloïdale qui n'existe généralement qu'en faible proportion.

! Les eaux renfermant plus de 300 mg/l de silice doivent être diluées avec une proportionconnue d'eau distillée.

! Pour le dosage au chromate, l'eau du tube témoin doit être amenée, s'il y a lieu, au pH 8,5.! La méthode à l'acide aminonaphtolsulfonique est encore sensible pour 0,05 mg de SiO2 par

litre.! Si l'eau est très alcaline, il faut la neutraliser avec HCl en présence de phénolphtaléine car le

pH des solutions molybdiques acidifiées doit être compris entre 1 et 1,2.

Page 74: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 74

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

! Les eaux troubles doivent être filtrées, les eaux colorées agitées avec 2 g de charbon actif pur,puis filtrées.

! En présence de certaines matières réductrices qui font bleuir le réactif molybdique, le dosagecolorimétrique au chromate exige un traitement préalable décrit dans la norme AFNOR.

! Si l'eau renferme des anions phosphoriques, il faut 5 mn après l'addition d'acidechlorhydrique (et le cas échéant 1 mn avant l'addition d'acide aminonaphtolsulfonique),ajouter 3 ml d'une solution d'acide oxalique à 100 g/l.Dans ce cas, la coloration due au phosphore est négligeable jusqu'à 5 parties de phosphorepour une partie de silicium.

5.8.2. Méthode pondérale

5.8.2.1. Principe

La silice est insolubilisée par évaporation à sec en présence d'acide chlorhydrique.

5.8.2.2. Réactifs

! acide chlorhydrique d = 1,19 dilué à 1/20 ;! acide fluorhydrique d = 1,14 ;! acide sulfurique d = 1,84 au 1/2.

5.8.2.3. Mode opératoire

Acidifier 1 à 2 l d'eau avec 10 ml d'acide chlorhydrique, évaporer à sec au bain-marie dans une capsulede platine. Sécher à l'étuve pendant 1 h à 105-110 °C. Imbiber avec 5 ml de HCl, puis 50 ml d'eauchaude, porter à l'ébullition, filtrer et laver à l'eau distillée.Evaporer le filtrat, sécher à nouveau à 120 °C, reprendre, filtrer sur un second filtre et laver commeprécédemment.Calciner les deux filtres jusqu'à poids constant. Evaporer à nouveau avec 10 ml d'acide fluorhydriqueet deux gouttes d'acide sulfurique, calciner.Soit M la perte de poids du creuset après traitement à l'acide fluorhydrique et seconde calcination,V le volume en millilitres de la prise d'essai,la teneur en silice au litre est égale à:

VM 1000

REMARQUES! La méthode pondérale dose aussi bien la silice colloïdale que la silice ionique.! Il faut vérifier l'absence de résidu fixe (acide fluosilicique) dans l'acide fluorhydrique.

Page 75: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 75

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.9. DOSAGE DU MANGANESE5

Principe: oxydation de Mn2+, Mn3+ et Mn4+ en Mn7+ ( −4MnO ).

Ions gênants: Cl- doit être éliminé.

Expression des résultats: en mg Mn/l ou en m.é. Mn/l.

5.9.1.1. MatérielBêcher de 250 ml.Matras de 100 ml.Spectrophotomètre ou photocolorimètre (filtre: 524 mµ).

5.9.1.2. RéactifsHNO3 concentré.H2SO4 "H3PO4 "Eau distillée d'appoint: ajouter à 1000 ml d'eau distillée 10 ml H2SO4 et 1 cristal de KIO4, faire

bouillir et refroidir.

5.9.1.3. Mode opératoire

100 ml eau.2 ml H2SO4.Chauffer jusqu'à fumées blanches: élimination Cl-.

Léger refroidissement.+ 5 ml H3PO4: complexion Fe3+.+ 15 ml HNO3.

Ebullition.+ 0,5 g KIO4.Ebullition 3 mn.Maintenir à température légèrement inférieure à l'ébullition pendant 15 mn.Refroidir.Porter à 100 ml avec de l'eau distillée d'appoint.Mesurer l'absorption par rapport à un blanc préparé dans les mêmes conditions.Longueur d'onde: 524 mµ.Epaisseur des cuvettes: b = 4,000 cm.

Dans ces conditions le coefficient d'absorption molaire am = 2250 ± 50.

Sensibilité: 0,050 ± 0,010 mg Mn/l.

Remarque: il est prudent pour chaque appareil de mesure de rechercher la longueur d'onde voisine de524 mµ correspondant au maximum d'absorption (fonction de la largeur de bande utilisée).

Page 76: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 76

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.9.1.4. Normes Etrangères

5.9.1.4.1. Pays-Bas: Projet de norme 3130 H 60Methoden voor de analyse van water in Ketelbedrijf.Emploi de formadoxime CH2=NOH.

5.9.1.4.2. Suisse: SNV. 81.502Méthode de Marshall: oxydation par K2S2O8 en présence d'AgNO3 et HNO3.Preuve de Tillmans et Mildner: oxydation par KIO4.

5.9.1.4.3. Normes Internationales applicables à l'eau de boisson (Organisation mondialede la santé: Genève)

Méthode au persulfate: les composés manganeux solubles oxydés par les persulfates en présence denitrate d'argent donnent des permanganates.La coloration ainsi obtenue est comparée avec celles de solutions témoins dans des tubes de Nessler.

5.10. DOSAGE DU FER5

5.10.1. Dosage des ions ferreux et ferriques

Voici pour quelques réactifs, les valeurs des coefficients d'absorption molaire (am) des complexescolorés du Fe.

Réactif

acide thioglycolique 38501.2 dihydroxybenzène 3.5 sulfonate de Na 6150KSCN 7400αα' dipyridyl 8850o.phénanthroline 12150

Des trois derniers réactifs les plus sensibles, o.phénanthroline est pour certaines eaux le moins précis,les résultats étant entachés d'erreurs par défaut de 5 à 10 %.

5.10.1.1. KSCN

Principe: Fe3+ donne, en milieu acide, en présence de SCN- des complexes thiocyanés rouges. Lemécanisme de cette réaction n'est pas entièrement élucidé: la nature et la concentration en acide, laconcentration en KSCN, le temps de réaction influencent l'intensité de la coloration et la stabilité ducomplexe coloré. Il est donc important de travailler toujours clans les mêmes conditions opératoires.La méthode renseignée ci-après est précise et aisée.

Ions gênants:1) qui complexent Fe3+: F-, PO4

3-, beaucoup de Cl-.2) qui donnent des complexes colorés avec SCN-: Cu2+, Co2+, Bi3+, ...

Page 77: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 77

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

3) qui réduisent Fe3+ ou oxydent SCN-: tels NO2-, ...

Expression des résultats: en mg Fe/l ou en m.é. Fe/l.

5.10.1.1.1. Matériel

Erlenmeyer de 300 ml.Matras de 100 ml.2 pipettes de 3 ml.Spectrophotomètre ou photocolorimètre (filtre: 475 mµ).

5.10.1.1.2. Réactifs

HNO3 concentré.KSCN 33 g dans 100 ml eau distillée.

5.10.1.1.3. Mode opératoire

100 ml eau.+ 3 ml HNO3.Ebullition 10 mn.Refroidir.+ 3 ml KSCN.Porter à 100 ml.Mesurer l'absorption (A) après 5 mn par rapport à un blanc préparé dans les mêmes conditions:

Longueur d'onde: 475 mµ.Epaisseur des cuvettes

b = 4,000 cm pour 0,01 < c < 2,00 mg/l.b = 1,000 cm pour 2,00 < c < 5,00 mg/l.

Dans ces conditions le coefficient d'absorption molaire am = 7400.

5.10.1.1.4. Détermination des résultats:

Soit établir un graphique: A en fonction de c.Soit calculer c, la loi de Beer-Lambert étant vérifiée, A et am étant connus

A = am . b . cm

où cm représente la concentration molaire en Fe.

Sensibilité: 0,010 ± 0,002 mg Fe/l.

Page 78: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 78

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.10.1.2. αα' dipyridyl

Principe: réactif des ions ferreux: formation d'un complexe rouge de formule [(C10H8N2)3 Fe] X2. Lesions ferriques ne réagissent pas.

Ions gênants: PO43- à concentration 10 fois supérieure à Fe.

F- à concentration 250 fois supérieure à Fe.

Expression des résultats: en mg Fe/l où m.é. Fe/l.

5.10.1.2.1. Matériel

Erlenmeyer de 300 ml.Matras de 100 ml.2 pipettes de 1 ml.1 pipette de 10 ml graduée en ml.Spectrophotomètre ou photocolorimètre (filtre: 520 mµ).

5.10.1.2.2. Réactifs

HCl 1,9.Chlorhydrate d'hydroxylamine: 10 g dans 100 ml HCl N/10NH4OH 1.3.

5.10.1.2.3. Mode opératoire

100 ml eau.+ 1 ml HCl.+ 1 ml chlorhydrate d'hydroxylamine.Porter à ébullition.Refroidir.+ x ml αα' dipyridyl: 1 ml permet de doser au max. 0.12 mg Fe dans la prise.Ajuster le pH entre 6 et 7 par NH4OH 1.3 (correspond au max. d'absorption).Porter à 100 ml.Mesurer l'absorption (A) par rapport à un blanc préparé dans les mêmes conditions:

Longueur d'onde 520 mµ.Epaisseur des cuvettes:

b = 4,000 cm pour 0,005 < c < 1,00 mg Fe/l.b = 1,000 cm pour 1,00 < c < 4,00 mg Fe/l.

Dans ces conditions le coefficient d'absorption molaire am = 8850.

Sensibilité: 0,005 ± 0,001 mg Fe/l.Avantages de ce réactif:

! L'absorption est constante au moins pendant 24 heures.! L'absorption est indépendante dans de larges proportions des concentrations en réactifs.! Reproductibilité excellente.

Page 79: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 79

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Remarque: αα' dipyridyl permet de doser Fe2+ à l'exclusion de Fe3+: il suffit de ne pas ajouter deréducteur au cours du traitement de l'échantillon. La différence entre Fe total et Fe2+ donnera Fe3+.

5.10.2. Fer complexé

Le fer complexé dans les eaux l'est généralement sous forme organique. Son dosage nécessite ladestruction des dites substances organiques.

Expression des résultats: en mg Fe/l ou m.é. Fe/l.

5.10.2.1. MatérielCreuset de Pt de 50 ml environ.Matras de 50 ml.3 pipettes de 3 ml.Spectrophotomètre ou photocolorimètre (filtre: 475 ou 520 mµ).

5.10.2.2. Réactifs

HNO3 concentré.KSCN 33 % ou

αα' dipyridyl 0,1 % dans HC1 0,1 N.Chlorhydrate d'hydroxylamine 10 %.NH4OH 1,3.

5.10.2.3. Mode opératoire

25 ml d'eau sont évaporés à sec dans le creuset de Pt.Le résidu est porté au rouge pendant 2 à 3 minutes.Léger refroidissement.+ 3 ml HNO3 concentré ou HC1 suivant le réactif utilisé.Ebullition - refroidissement.+ 20 ml eau distillée.

Soit 3 ml KSCN.Soit 2 ml chlorhydrate d'hydroxylamine et dose adéquate de αα' dipyridyl - amener à pH

compris entre 6 et 7 à l'aide de NH4OH 1.3.

Porter à 50 ml.Mesurer l'absorption aux longueurs d'onde adéquates (cf. plus haut).

5.10.3. Méthodes normalisées

5.10.3.1.1. Norme belge: NBN 616.Principe de la méthode: Le fer est réduit à l'état ferreux et sa concentration est mesurée par l'intensitéde coloration du complexe Fe2+-O-phénanthroIine ou du complexe Fe2+-αα' dipyridyl.

Page 80: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 80

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Le fer peut exister dans l'eau sous différentes formes:! Fer dissous ionique;! Fer dissous complexé: celui-ci ne réagit qu'imparfaitement avec les réactifs du fer ionique; il

faut donc l'amener sous forme ionique.! Fer dissous véhiculé: Fer métallique en fines particules insolubles; hydrate ferrique: le Fe2+

dissous s'oxyde à l'air en hydrate ferrique qui précipite et donne des colloïdes.

La méthode permet de doser:1) Fer total: la mesure colorimétrique se fait sur l'échantillon préalablement évaporé à sec en

présence d'eau régale puis redissous.2) Fer véhiculé: la mesure se fait sur le produit de décantation de l'échantillon dissous dans

l'eau régale.3) Fer dissous total et4) Fer ionique: les mesures se font sur l'échantillon décanté après traitement à l'eau régale

pour le fer dissous total ou directement pour le fer ionique.5) Fer complexé dissous: Fer dissous total - Fer ionique.6) Fer complexé: Fer total - Fer ionique.

La mesure colorimétrique se fait sur l'échantillon coloré à l'O-phénanthroline ou à l'αα' dipyridyl. Lanorme prévoit l'utilisation de 2 modes de détection:

1) Méthode visuelle: comparaison des colorations avec des solutions témoins dans des tubesde Nessler.

2) Méthode électrique: on utilise un spectrophotomètre ou un photomètre à filtre donnantl'absorption ou la transmission à 510 mµ (O-phenanthroline) ou à 520 mµ (αα' dipyridyl) eton compare les résultats avec une courbe étalon.

5.10.3.1.2. Pays-Bas: Projets de Normes: Methoden voor de analyse van water inketelbedrijf.

3130 G 60: Méthode au cupferron.3130 L 60: Méthode à l'αα' dipyridyl: dosage photométrique.3130 M 60: Méthode à l'αα' dipyridyl: dosage colorimétrique.

5.10.3.1.3. Grande-Bretagne: BS 1427 1962.Détermination colorimétrique par comparaison avec des colorations standards.Emploi de αα' dipyridyl ou de l'acide thioglycolique pour complexer le Fer.

5.10.3.1.4. France: NFT 90.017, Mai 59.Détermination colorimétrique.

5.10.3.1.5. Normes internationales applicables à l'eau de boisson (Organisation mondialede la Santé - Genève).

Méthode à l'O-phenanthroline - Comparaison visuelle de l'échantillon coloré avec des solutionstémoins dans des tubes de Nessler.

Page 81: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 81

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.11. DOSAGE DE L'AMMONIAQUE5

Selon les teneurs, il faut utiliser des méthodes différentes:1° > 1 mg/l: distillation suivie d'un titrage acidimétrique.2° < 1 mg/l: réactif de Nessler - méthode absorptiométrique.

5.11.1. Méthode par distillation

Principe: NH3 n'est retrouvé quantitativement que si l'eau à distiller est maintenue à un pH voisin de7,4 à l'aide d'un tampon au phosphate, par exemple.Le distillât est recueilli dans une quantité connue d'acide dont l'excès est ensuite déterminé.

Expression des résultats: en mg NH4+/l ou en m.é. NH4

+/l.

5.11.1.1.1. Matériel

Appareil à distiller en verre avec réfrigérant vertical.Verre à pied conique gradué jusqu'à 250 ml.Burette de 50 ml.Matras jaugés de 25-50 et 500 ml.Pipette jaugée de 50 ml.

5.11.1.1.2. Réactifs

Solution tampon: 14,3 g KHPO4 + 90,15 g K2HPO4 3 H2O dans 1 L.H2SO4 0,1 N.Indicateur de pH: 4,8 - 5,2

vert de bromocrésol 1,2 g.rouge de méthyle 0,8 g.porter à 1 l dans sol. alcoolique à 50 %.

Ponce calcinée: pour régulariser l'ébullition.

5.11.1.1.3. Mode opératoire

Distiller environ 200 ml d'eau distillée pour rincer l'appareil.Introduire dans le ballon 500 ml d'eau à examiner,

10 ml tampon,quelques grains de ponce calcinée.

Introduire à la pipette dans le verre à pied:50ml H2SO4 0,1 N.1 à 5 gouttes d'indicateur.

Faire plonger le bout inférieur du réfrigérant dans l'acide.Distiller à raison de 6 à 10 ml/min.Recueillir 200 ml au minimum.

Page 82: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 82

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

A la fin de l'essai, redescendre le verre à pied sous le réfrigérant et augmenter la vitesse dedistillation pour rincer l'appareil. Rincer aussi le bout extérieur du réfrigérant par un jet de pissette.

Titrer par KOH 0,1 N.Pendant ce temps, distiller 50 ml supplémentaires qui serviront au contrôle par Nesslérisation

directe (voir plus loin).

Détermination des résultats:Pour une prise de 500 ml d'eau, si n ml de KOH ont été utilisés, on aura:

0,2 (50 - n) m.é. NH4+/l

ou encore3,6 (50 - n) mg NH4

+/l

Remarques:1) Pour des teneurs de 20 à 30 mg/l distiller 200 ml. Pour des teneurs de 50 à 60 mg/l distiller

300 ml.2) Si le réfrigérant ne se termine pas par un renflement, il y a lieu d'ajouter un déflegmateur

pour régulariser la pression.

5.11.2. Méthode de Nessler

Principe:2 HgI4

2- + 2 NH3 2 NH3HgI2 + 2 I-

2 NH3HgI2 NH2Hg2I3 + I- + NH4+

suspension colloïdale.

La difficulté consiste à travailler dans des conditions rigoureusement identiques pour que les particulescolloïdales soient de même grandeur.

Ions gênants: SO32-, S2- Fe.

Substances colorées et turbides.

Expression des résultats: en mg NH4+/l ou en m.é. NH4

+/l.

5.11.2.1. Matériel

Matras de 50 ml bouché émeri, d'une contenance minimum de 56 ml.2 pipettes de 2 ml.Spectrophotomètre ou photocolorimètre: filtre 430 mµ.

5.11.2.2. Réactifs

Ils doivent être préparés à l'aide d'eau exempte de NH4+, obtenue, par exemple, de la manière suivante:

ajouter quelques gouttes de brome à l'eau distillée, laisser reposer une nuit et redistiller.

Sel de Seignette:tartrate double de Na et K 33 %.Additionner de 2 ml de réactif de Nessler et laisser reposer 12 h.Conserver à l'abri de la lumière.

Page 83: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 83

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Les 2 ml seront prélevés avec précaution dans le liquide surnageant le dépôt.

Nessler:HgI2 45.5 g.KI 34,9 g.Dissoudre dans très peu d'eau.Après dissolution ajouter 11 g KOH.Porter à 1000 ml.

5.11.2.3. Mode opératoire

50 ml d'eau.2 ml sel de Seignette.2 ml réactif de Nessler.Attendre 5 min.Mesurer l'absorption à 430 mµ.

Sensibilité: dépend de la valeur de l'absorption du blanc, c'est-à-dire de la pureté des réactifs et de l'eauutilisée pour les préparer.

Remarques: à 430 mµ, A ~ 0,500 pour 1 mg NH4+/l.

Il est évidemment possible d'augmenter la précision des mesures en travaillant à plus courte longueurd'onde, le maximum d'absorption se trouvant dans l'U.V.

5.11.3. Méthode utilisée au CEBEDEAU

Détermination de NH4 par le réactif de NESSLERRéférence: B. LANGE Kolorimetrische Analyse (1952) 230-231.

Principe: L'ammoniac forme avec le réactif de Nessler, l'iodure mercuro potassique dans une lessivede soude (Na2CO3), une coloration jaune dont le maximum d'extinction se trouve à 390 mµ. Laréaction est très sensible. On peut encore déterminer 0,02 mg de NH3 par /l. La limite supérieure setrouve à 2 mg/l, pour des concentrations en ammoniaque plus élevées se produit facilement un troubleou une précipitation. Les substances donnant de la dureté à l'eau qui précipiteraient lors de l'additiondu réactif fortement alcalin sont éliminées par prétraitement avec de la soude et du carbonate de soude.Ces métaux lourds qui gêneraient lors du développement de la coloration sont complexés par dutartrate.

5.11.3.1. Réactifs:

1° Na2CO3 anhydre2° NaOH en pastilles3° tartrate sodico potassique 204° réactif de NESSLER (Merck)

Page 84: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 84

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.11.3.2. Appareillage

photomètre Eppendorf.

5.11.3.3. Mode opératoire

100 ml d'eau (ou eau résiduaire) sont versés dans une ampoule à décanter avec environ 1 g de Na2CO3et d'hydroxyde de soude. Si un trouble ou un précité se produit, on le laisse déposer. De la solutionclaire surnageante on pipette 50 ml (pour des teneurs en NH3 plus élevée on en prélève une fraction)dans un jaugé de 100 ml; on ajoute 5 ml de tartrate sodico potassique, on agite soigneusement et onlaisse reposer 10 minutes. On ajoute ensuite 2 ml de réactif de Nessler, on agite, on complète, auvolume avec de l'eau bidistillée et on mesure le coefficient d'extinction de la solution colorée en jaunepar rapport à un blanc, à 436 mµ.

Calcul: 3NHd' mg 0,66 x (cm) d

mµ E436=

Remarques: On peut également préparer comme suit le réactif de Nessler:Solution A: 10 g de HgI2

8 g de KI

Solution B: NaOH 20 g/50 ml (à conserver dans des flacons en polyéthylène).

Avant l'emploi on mélange les deux solutions en proportions équivalentes.

5.11.4. Méthodes normalisées

5.11.4.1.1. Norme belge: NBN 489.NBN 489.01: Méthode avec distillation.Distillation de l'ammoniaque à Pn 7,4 puis traitement au réactif de Nessler. La coloration est mesuréevisuellement en comparant avec des solutions témoins en tubes de Nessler ou photoélectriquement parrapport à une courbe étalon.Cette méthode est utilisée pour les concentration de moins de 0,6 mg/l d'azote ammoniacal ou quandune interférence est à craindre par traitement direct au réactif de Nessler.

NBN 489.02: Méthode sans distillation.L'échantillon débarrassé des ions gênants (précipitation de Ca, Mg, Fe, Al et sulfures par du sulfate deZn et un alcali) est traité directement par le réactif de Nessler. Cette méthode est utilisée pour desconcentrations en azote ammoniacal de plus de 0,6 mg/l ou quand les interférences sont faibles.

5.11.4.1.2. France: NFT 90.015, Nov. 56. Dosage colorimétrique.

5.11.4.1.3. Grande-Bretagne: RS 2690 (1956), p. 69-72.Méthode par distillation puis traitement au réactif du Nessler.

/ 50 ml

Page 85: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 85

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Méthode par traitement direct au réactif de Nessler après précipitation des ions gênants.

Normes plus récentes: BS 1427 (1962).

5.12. DOSAGE DES NITRITES5

Sont retenues les méthodes utilisant les réactifs suivants:1) réactif de Griess2) réactif de Lombard.

5.12.1. Réactif de Griess

Principe:a) diazotation de l'acide sulfanilique en milieu acétique

NO2- + H2N-C6H4-SO3H SO3H-C6H4-N=N-X

b) copulation avec α naphtylamine donnant l'acide p-sulfonique de α naphtylamine-p-azobenzène conférant une teinte rosé à la solution.

Expression des résultats: en mg NO2-/l ou m.é. NO2

-/l.

5.12.1.1. Matériel

Matras jaugé de 50 ml bouché émeri, de contenance minimum voisine de 54 ml.2 pipettes de 1 ml.Spectrophotomètre ou à défaut colorimètre.

5.12.1.2. Réactifs:

1) 8 g acide sulfanilique dans 1000 ml CH3-COOH 5N.2) 5 g α naphtylamine dans 1000 ml CH3-COOH 5N. Filtrer.

5.12.1.3. Mode opératoire

50 ml eau.1 ml sol. d'acide sulfanilique - agiter.1 ml sol. α naphtylamine - agiter.Mesurer l'absorption à 520 mµ de longueur d'onde (max. d'absorption) après 30 min: à ce

moment la solution n'évolue quasi plus.

Sensibilité: 0,004 ± 0,001 mg/l.

Remarque: le coefficient d'absorption molaire am est supérieur à 30000.

Page 86: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 86

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.12.2. Réactif de Lombard

Principe:a) diazotation de l'acide sulfanilique en milieu acide

NO2- + H2N-C6H4-SO3H SO3H-C6H4-N=N-Cl

b) copulation avec phénol en milieu ammoniacal, donnant SO3H-C6H4-N=N-C6H4OH.

Expression des résultats: en mg NO2-/l ou m.é. NO2

-/l.

5.12.2.1. Matériel

Matras jaugé de 50 ml et d'une contenance minimum de 58 ml, bouché émeri.Pipette de 1 ml et de 5 ml.Spectrophotomètre ou photocolorimètre: filtre: 435 mµ.

5.12.2.2. Réactifs

1 g acide sulfanilique dans 100 ml sol. saturée chaude NH4Cl. Ajouter 1,5 g de phénol puis 100ml HCl 2N après refroidissement.

NH4OH concentré.

5.12.2.3. Mode opératoire

50 ml eau.1 ml réactif de Lombard.Attendre 15 min.5 ml NH4OH conc.Mesurer l'absorption par rapport à un blanc préparé dans les mêmes conditions.Longueur d'onde: 435 mµ (max. d'absorption).Epaisseur des cuvettes: 4,000cm.Stabilité de la coloration: 24 h.Dans ces conditions le coefficient d'absorption molaire am = 25500.

Sensibilité: 0,004 ± 0,001 mg/l.

5.12.3. Méthode utilisée au CEBEDEAU

5.12.3.1. RéactifsSol. 0,1 % bichlorure de N (1 naphtyl) - étylènediamine (1 ml = 1 mg).Réactif de diazotation: dissoudre 20 g de sulfanilamide dans 1 litre d'eau contenant 50 ml

H3PO4.Solution: 1 % de perhydrol.Solution standard: Dissoudre 75 mg nitrite de Na dans 500 H2O. Prélever 10 ml et porter à 100

(1 ml = 10 γNO2).

Page 87: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 87

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.12.3.2. Méthode

Prélever 50 ml dans une jauge de 100 ml. Ajouter 1 goutte de Perhydrol et agiter afin d'oxyder le SO2en sulfate. Ajouter 10 ml de réactif de sulfanilamide et 1 ml de bichlorure de N (1 naphtyl)éthylènediamine, dilué à 100 ml et mélanger.Laisser reposer 30 minutes et mesurer l'absorbance à 550 m/n (cuvettes 50 m/m).Pour trouver la courbe d'étalonnage eau distillée à laquelle on ajoute 0,2 - 0,4, 0,6 - 0,8 et 1,0 ml desol. standard de nitrate de Na.Ajouter 1 goutte H2O2, 10 ml réactif de diazotation et 1 ml de N (1 - naphtyl) - éthylènediamine.Porter à 100 ml.Faire la lecture à 550 mu.

Effet du SO2:Dans 1 échantillon, en présence de SO2, 1 goutte de H2O2, 1 % oxyde le SO2 en sulfate, maisn'interfère pas avec l'intensité de la coloration lorsqu'elle est mesurée après 30 min. (Analyse Chimiquemars 1958, 426-428).

5.12.4. Méthodes normalisées

5.12.4.1.1. Belgique: NBN 515: Méthode au réactif de Griess.En présence de chlore libre et de trichlorure d'azote, les nitrites ne subsistent évidemment pas. Letrichlorure produit une coloration rougeâtre qui peut être confondue avec celle des nitrites. Il faut doncpréalablement s'assurer de la présence ou de l'absence de chlore ou de trichlorure d'azote parl'orthotolidine.La méthode prévoit également une clarification des eaux contenant des substances colloïdales coloréesou des sels de métaux lourds par une solution d'hydroxyde sodique puis de sulfate aluminique et parfiltrage.

5.12.4.1.2. Grande-Bretagne: B. S. 1427 (1962).Méthode d'après Griess avec estimation de la coloration visuelle ou absorptiométrique (filtre vert:entre 5000 et 5400 Å),

5.12.4.1.3. France: NFT 90.013.Même méthode.

5.12.4.1.4. Normes internationales applicables à l'eau de boisson (Organisation mondialede la Santé, Genève).

Même méthode.

Page 88: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 88

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.13. DOSAGE DES NITRATES5

5.13.1. Réactif

acide 1-2-4 phénoldisulfonique.

5.13.2. Principe

l'acide 1-2-4 phénoldisulfonique formerait avec NO3- un mélange de p nitrophénol, 2-4 dinitrophénol,

et 2-4-6 trinitrophenol, dérivés nitrés de teinte jaune.(Andreotti - Industria Ital. Conserv. 26-203-1951).Raison pour laquelle la précision de la méthode n'est que de 5 % environ.

Ions gênants: NO2- pour des doses supérieures à 1 mg/l.

Cl pour des doses supérieures à 30 mg/l.Le pH doit être inférieur à 8.0.Les matières organiques.

Expression des résultats: en mg NO3-/l ou m.é. NO3

-/l.

5.13.3. Matériel

Capsule en porcelaine de 50 ml.Pipettes de 1 et 10 ml.Bain d'eau ou étuve à 105 °C.Matras jaugé de 50 ml.Spectrophotomètre ou photocolorimètre: filtre 405 mµ.

5.13.4. Réactifs

37 g H2SO4 concentré et 3 g de phénol.NH4OH concentré.

5.13.5. Mode opératoire

10 ml eau - évaporer à sec.Mouiller le résidu par 1 ml de réactif.10 ml eau distillée.10 ml NH4OH concentré.Porter à 50 ml.Mesurer l'absorption par rapport à un blanc préparé dans les mêmes conditions:

longueur d'onde: 450 mµ.épaisseur des cuvettes: 4,000 cm.

Dans ces conditions le coefficient molaire d'absorption am = 1020.

Page 89: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 89

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Sensibilité: 0,10 ± 0,02 mg/l.

5.13.6. Méthode utilisée au CEBEDEAU

Dosage des nitrates sous forme de nitrosalicylate de Na

Littérature: R. MLLLER - O. W1DEMANN, Jahrb. v. Wasser 22 - p. 249 (1955).

Principe: Formation de paranitrosalicylate de Na coloré en jaune. C'est la plus intense des colorationsfournies par les nitrates (brucine, diphénylamine, ac. phénodisulfonique). La coloration est stable aumoins 1 h. La loi de Beer est observée de 0 à 10 mg/l.

Sensibilité: ± 0,001 - 0,002 mg NO3.

Précision: (mesurée au CEBEDEAU) sur 9 échantillons étalons de 1 mg/l: écart 95 % = ± 2,94 %.

5.13.6.1. Réactifs

1) Solution salicylate de Na à 0,5 %. Cette solution est à renouveler journellement.2) H2SO4 conc.3) Solution NaOH 30 %. Dissoudre 30 g NaOH pour analyse dans de l'eau distillée. Laisser

refroidir et porter à 100 cc. Cette solution doit être conservée en flacon en polyéthylène.

5.13.6.2. Méthode

Pipetter 10 ml de l'eau à analyser dans un bêcher de 25 ml (pour des teneurs en N2O5, supérieures à 25mg/litre, la prise d'essai sera plus petite).Rendre faiblement alcalin par NaOH.Ajouter 1 ml de la solution de salicylate de soude.Evaporer à sec au bain marie ou dans une étuve portée à 75-80° (ne pas surchauffer, ni chauffer troplongtemps).Reprendre le résidu par 1 ml H2SO4 conc. tout en prenant attention que le résidu soit complètementhumecté.Attendre 10 minutes puis ajouter 6 ml d'eau bidistillée.Ajouter 10 ml NaOH et transvaser quantitativement la solution dans un jaugé de 100. Compléter autrait avec de l'eau bidistillée.En présence de nitrate, la solution est colorée en jaune.Lire l'extinction à 405, 436 ou 366 en utilisant un blanc préparé de la même façon à partir d'eaubidistillée.

Page 90: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 90

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.13.6.3. Calcul

52ON mg 0,488 .(cm) d

E405=

52ON mg 0,625 .(cm) d

E436=

52ON mg 1,14 .(cm) d

E366=

Remarques:1) Lorsque l'eau à analyser est fortement trouble et souillée, on y ajoute, lors du prélèvement,

quelques pastilles de NaOH (10-15 par litre). Pour le dosage des nitrates on utilise lasolution claire.

2) Pour l'établissement d'une courbe d'étalonnage on peut utiliser une solution de nitrate depotassium

Interférences:Insensibles à Cl- jusqu'à 200 mg/l, à Fe jusqu'à 5 mg/l, et à NO2

- jusqu'à 2 mg/l. En présence de 20mg/l NO2

-10 mg/l NO3- sont dosés.

[Fe] > 0,5-1 mg/l est en général décelée par la coloration violette produite lors de l'addition du réactif àla prise d'essai (dépend de la valence du Fe). Le résidu reste alors coloré. Si [Fe] ± 1-5 mg/l, doubler ladose de réactif.

5.13.7. Méthodes normalisées

5.13.7.1. Norme belge: NBN 525.Méthode à l'acide 1-2-4 phenoldisulfonique.La méthode prévoit une clarification des eaux contenant des substances colloïdales, colorées oubeaucoup de sels de fer par une solution d'hydroxyde sodique puis de sulfate aluminique et parfiltration.La méthode prévoit également une déchloruration par du sulfate d'argent avec séparation du précipitépar filtration ou centrifugation.

5.13.7.2. Pays-Bas: Projet de Normes 3130 O 63.Methoden voor de analyse van water in Ketelbedrijf.Détermination photométrique des nitrates.

5.13.7.3. France: NFT 90.012.Détermination à l'aide d'acide sulphophénique.Comparaison de- teintes avec celles de solutions témoins en tubes de Nessler ou déterminationcolorimétrique.

Page 91: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 91

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.14. OXYDABILITE AU PERMANGANATE DE POTASSIUM6

5.14.1. A froid (en milieu acide)

Elle fournit une appréciation de la teneur en matières organiques des eaux. La méthode consiste àlaisser un certain volume d'eau à examiner en contact avec une solution acide de permanganate depotassium, dont on dose l'excès après un temps de réaction de quatre heures.

5.14.1.1. Réactifs nécessaires

! solution de permanganate N/80, dont 1 ml correspond à 0,1 mg d'oxygène;! solution de sel de Mohr (sulfate de fer ferreux et d'ammonium) à 5 g/l;! solution d'acide sulfurique au 1/2 en volume.

5.14.1.2. Mode opératoire

On introduit 50 ml d'eau à analyser dans un matras, on ajoute 5 ml d'acide sulfurique au 1/2, puis 50ml de permanganate. On abandonne le matras pendant 4 heures à la température du laboratoire. Ondécolore ensuite par 10 ml de solution de sel de Mohr. On titre en retour l'excès par la solution depermanganate N/80 jusqu'à apparition d'une coloration rosé. Connaissant, d'une part la correspondanceentre le sel de Mohr et la solution de permanganate, d'autre part le volume d'eau utilisé, on déduitaisément la quantité d'oxygène nécessaire à l'oxydation de la matière organique contenue par litre d'eautraitée.Il est nécessaire qu'il y ait en permanence un excès de permanganate pendant 4 heures d'oxydation. Ons'assurera, en outre, que l'eau soumise aux essais ne contient pas de quantités importantes de nitrites.

5.14.2. A chaud (en milieu acide)

Porter à ébullition 100 ml d'eau sous analyse additionnée de 10 ml d'acide sulfurique au 1/2. Ajouter20 ml de permanganate N/80 et maintenir l'ébullition pendant 10 min exactement.Refroidir rapidement et ajouter 20 ml de sel de Mohr à 5 g/l. Titrer par le permanganate N/80 etretrancher de ce chiffre celui trouvé en faisant le même dosage sur de l'eau distillée.Si V est le volume de permanganate trouvé, l'oxydabilité s'exprime par V en mg d'oxygène par litre.Si l'oxydation dépasse 3,5 mg/l, il faut refaire le dosage en diluant l'échantillon.

5.15. DEMANDE CHIMIQUE EN OXYGENE (DCO)6

Cette mesure tend à remplacer l'ancienne méthode d'appréciation de la «teneur en matières organiquesdes eaux», méthode au permanganate de potassium. Le pouvoir oxydant du dichromate de potassiumest supérieur à celui du permanganate ; toutefois, un certain nombre de chaînes droites aliphatiquessont difficilement attaquées ; il en est de même pour certains noyaux.

Page 92: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 92

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.15.1. Réactifs nécessaires

! eau distillée ou de pureté équivalente;! sulfate de mercure en cristaux;! acide sulfurique dans lequel est dissous du sulfate d'argent. Dissoudre du sulfate d'argent en

cristaux dans de l'acide sulfurique (densité à 20 °C 1,84 g/ml) à raison de 6,6 g par litre.! solution de sulfate de fer ferreux et d'ammonium 0,25 N (sel de Mohr) obtenue par

dissolution de 98 g de FeSO4 (NH4)2SO4, 6 H2O dans l'eau, adjonction de 20 ml de H2SO4 etajustement à 1 L

5.15.2. Détermination du titre exact de la solution de sulfate de fer et d'ammonium

Diluer à 250 ml environ avec de l'eau distillée, 25 ml exactement mesurés, de solution de dichromate.Ajouter 75 ml d'acide sulfurique (ρ 20: 1,84 g/ml): refroidir jusqu'à la température ambiante et titrer àl'aide de la solution de sulfate de fer et ammonium en présence de quelques gouttes de solution deferroïne, soit VT le volume de titrage.

! Solution de dichromate de potassium 0,25 N. Dissoudre dans l'eau 12,2588 g de K2Cr2O7préalablement séché à 110 °C pendant 2 heures, compléter à un litre en fiole jaugée.

! Solution de ferroïne: dissoudre 1,485 g de 1-10 phénanthroline et 0,695 g de sulfate de fer(FeSO4, 7 H20) dans l'eau. Compléter à 100 ml.

5.15.3. Mode opératoire

On peut utiliser un ballon à fond plat muni d'un entonnoir latéral fermé par un robinet en téflon.Le ballon d'oxydation muni d'un barreau aimanté est assujetti au réfrigérant à reflux. Le col rodé estpréalablement lubrifié à l'aide d'acide sulfurique.Important: Ne jamais utiliser de graisse.

Le dispositif d'agitation couplé ou non avec le dispositif de chauffage, est placé sous le ballon.Introduire par l'entonnoir 50 ml d'eau résiduaire à étudier ou une partie aliquote complétée à 50 ml parde l'eau distillée.Mettre en marche le dispositif d'agitation.Ajouter 1 g de sulfate de mercure puis 5 ml d'acide sulfurique (contenant du sulfate d'argent) etdissoudre. S'assurer qu'il ne subsiste aucun précipité de chlorure d'argent, dans le cas contraire chaufferlégèrement jusqu'à dissolution. Ajouter 25 ml, exactement mesurés, de solution de dichromate puis 70ml d'acide sulfurique (avec sulfate d'argent 6,6 g/l).Fermer le robinet et faire bouillir pendant 2 h. Le barreau aimanté en mouvement ou non favorise uneébullition régulière.

5.15.4. Mesure

Après ébullition on laisse refroidir et on étend avec de l'eau distillée jusqu'à environ 400 ml, on ajoutequelques gouttes de solution de ferroïne et on réduit l'excès de dichromate à l'aide de la solution desulfate de fer et d'ammonium. La coloration passe du vert au rouge violacé, soit VT le volume utilisé.Parallèlement, on prépare un essai à blanc en remplaçant la prise d'essai par 50 ml d'eau distillée, soitV0 le volume de sulfate de fer et d'ammonium utilisé.

Page 93: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 93

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

La DCO exprimée en mg/l d'O2 est donnée par l'expression:

V t)V(V 8000 10 −

pour laquelle on a:t = titre de la solution de sulfate de fer et d'ammoniumV = volume de la prise d'essai en ml d'eau résiduaireV0, V1 = volumes en ml de sulfate de fer et d'ammonium.

Cette formule peut être simplifiée en:

V50 x

V )V(V 1000

T

10 −

VT étant le volume du titrage, si on a pris soin de titrer la solution de sulfate de fer et d'ammonium sur25 ml.Nota. � Analyse extraite de la norme AFNOR T 90-101, sept. 1971.

5.16. DETERMINATION DES MATIERES EN SUSPENSION6

On peut déterminer les matières en suspension présentes dans les eaux résiduaires par plusieursméthodes:

5.16.1. Méthode par centrifugation

On répartit 100 ml d'eau d'égout, préalablement bien agitée, dans plusieurs tubes, on centrifuge 10 à 15min à 3 000 t/min (vitesse habituelle des centrifugeuses commerciales de laboratoire). Les matièresétant agglutinées au fond des tubes par la rotation, on verse doucement le liquide clair qui serviraultérieurement pour déterminer les matières en solution. On remet le précipité en suspension dans l'eaudistillée, on centrifuge à nouveau, on jette le liquide surnageant.

Cette deuxième opération ayant été répétée deux fois, on entraîne avec un jet de pissette le précipitédans une capsule de silice ou de platine. On sèche au bain-marie d'abord, puis à 105 °C jusqu'à poidsconstant (24 h sont très suffisantes) et on pèse (matières en suspension totales) ; ensuite, on calcine à600 °C et on obtient la fraction volatile (perte au feu, assimilée parfois aux matières organiques) pardifférence entre les matières totales et le résidu calciné.

Lorsqu'il s'agit d'eau de rivière ou d'eaux résiduaires épurées, les volumes d'eau à mettre en �uvre sontplus considérables et nécessitent une centrifugeuse munie, soit de godets de grande capacité, soit d'unbol séparateur vertical à rotation rapide. Enfin, la centrifugation peut être remplacée par une filtrationou une décantation de 24 h ; toutefois, les résultats fournis par ces derniers procédés sont un peu moinsprécis.

Page 94: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 94

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.16.2. Méthode par filtration

On filtre par percolation sur un papier sans cendres, préalablement séché à 105 °C et taré, un volumebien déterminé d'eau à analyser. On sèche à 105 °C pendant 2 h environ jusqu'à poids constant(matières en suspension totales), puis on calcine à 600 °C (matières volatiles ou perte au feu).

On peut remplacer les filtres sans cendres par des filtres en fibre de verre (Millipore AP 20, Durieux D28, Sartorius FN 501, etc.). Ces filtres en fibre de verre ne peuvent être utilisés que pour ladétermination des matières en suspension totales.

5.16.3. Méthode densimétrique (pour les boues activées). Emploi du Ponsarimètre

Une méthode rapide de détermination des matières en suspension, donnant des résultats approchés etsignificatifs pour l'exploitation journalière des stations d'épuration par boues activées consiste à peserpar densimétrie un volume donné de liqueur de boues activées, logé dans un sac en plastique très léger,et immergé dans l'eau décantée (interstitielle) de la boue activée. La lecture de l'aréomètre auquel estsuspendu le sac plastique indique la masse des matières en suspension (p) contenues dans l'échantillonde boues activées à l'étude.

Si parallèlement à la pesée de la boue on effectue un essai de décantation de cette boue dans uneéprouvette «agrandie» de 2,5 dm3, permettant de déterminer le volume apparent (v) de la boue déposéeau bout de 30 min, on possède les deux éléments intervenant dans la définition d'un indice de qualité,

Ip = v/p (en ml/g)

qui, au même titre que l'indice de Mohlman ou l'indice de Donaldson (p) permet de caractériser uneboue activée.L'ensemble du pèse-boue et de l'éprouvette agrandie constitue le Ponsarimètre (Figure 1).

Figure 1 - Ponsarimètre

Page 95: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 95

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

TP 6 MICROPROCESSEUR Z80

6.1. But

Ce laboratoire ne sera pas facile et très déstabilisant. Mais tout est fait volontairement.

D'abord le manuel est en anglais, comme c'est le cas maintenant de nombreux manuels d'appareils. Deplus, comme dans la réalité, le manuel est complet, et tout n'est pas utilisable dès le début. Il va doncfalloir apprendre à faire le tri des informations nécessaire au départ. Le manuel fait par Hisoft est bienfait et didactique.Une autre difficulté sera l'utilisation d'un ordinateur, le ZX SPECTRUM. Cet ordinateur qui naquit en1982 avait une philosophie bien à lui. Comme de nos jours, il n'est plus possible d'avoir un telordinateur, nous utiliserons un émulateur. Le choix d'un tel ordinateur a été effectué parce que celui-cise rapproche grandement des automates programmables actuels, même si ces derniers ont unmicroprocesseur compatible supérieur (8051).

6.2. Emulateur ZX SPECTRUM

6.2.1. Historique des ordinateurs Sinclair

ZX 80Le premier modèle lancé par Sinclair Research en Janvier 1980, le ZX80, possède une mémoire vivepour le moins opulente de 1 Ko, un clavier à membrane multifonction qui permet d'entrer uneinstruction BASIC complète par la pression d'une seule touche, système nouveau et très apprécié desutilisateurs.Le système est simple, un Z80 à 1 Mhz, pas de son et des graphismes monochromes en 64x44, la RAMde base n'atteint que 1ko (mais est facilement extensible par module propriétaire), et la ROM fait 4Ko,pour accélérer les calculs le système ne travail que sur des entiers, son clavier sensitif ne rend pas lasaisie facile mais les instructions sont accessibles par raccourci clavier.

ZX 81La seconde �uvre de Sinclair sera le ZX81, lancé en Mars 1981. Plus petit que le ZX80, mieuxoptimisé dans son montage et son coût de fabrication, et toujours équipé du fameux clavier àmembrane que tout le monde complimente (c'est pourtant une véritable horreur), et surtout muni d'uneversion beaucoup plus complète du Basic Sinclair. Malgré une fiabilité matérielle catastrophique (leZX81 plante dès que l'on pose le doigt sur un de ses périphériques ou même en cas de trop fortepression sur les touches du clavier), c'est un succès encore plus probant que le ZX80, grâce à sesnombreuses possibilités d'extension (carte graphique haute résolution, changement de clavier,extension mémoire de 1 Ko à 16 Ko, carte son, carte entrée-sortie, etc.) toutes vendues à des priximbattables et à son parc logiciel impressionnant qui permet au néophyte de toucher à tout dans desconditions d'apprentissage idéales (la documentation de Sinclair est excellente et le ZX81 est unordinateur facile).C'est en 1981 que sort le ZX81, c'est tout simplement une petite évolution du ZX80, les principalesdifférences sont le recarossage de la bête, la vitesse du Z80 est porté à 3,25 Mhz, celui ci s'occupeentièrement de l'affichage ce qui fait que la machine est considérablement ralentit surtout qu'en plus leZX81 travail enfin sur des chiffre à virgules flottante, heureusement pour accélérer l'exécution desprogrammes il est possible de coupé le rafraîchissement de l'écran et alors le processeur déchargé de ce

Page 96: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 96

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

travail voit sa vitesse multiplié de 2 à 3 fois, la ROM elle, est doublé (8Ko) avec 30 nouvellesinstructions, on remarquera aussi une plus grande intégration de la carte mère.

ZX SPECTRUMLe Spectrum, sorti en Avril 1982, sera le plus beau coup de la carrière de Sir Clive. Pour la premièrefois, voilà un ordinateur doté de suffisamment de RAM (16 Ko ou 48 Ko selon le modèle), capabled'afficher des graphismes en haute résolution (256x192) en 8 couleurs et de produire du son (par unhaut-parleur interne)Rien n'empêchera le Spectrum de devenir peu à peu l'un des micro-ordinateurs les plus vendus aumonde et de connaître une longue, très longue carrière, notamment grâce aux innombrables jeuxvidéos développés pour lui.En Avril de la même année, le Spectrum se vend au rythme de 12000 unités par mois. En Juillet, lesinterfaces ZX 1 et 2 sont annoncée, ainsi que les tristement célèbres Microdrives, système de stockagede données sur bande pour ordinateurs Sinclair.Les Microdrives, un des fleurons de Sir Clive, sont gravement éreintés par la presse spécialisée. Ilss'avèrent plus lents à charger des données que de simples lecteurs de cassette, et leur fiabilité est loind'être probante, les bandes se détériorant souvent lors de la lecture.Idem pour les interfaces ZX 1et 2, prévues pour brancher des périphériques tels qu'extensions de ROM(logiciels sur cartouche) ou joysticks sur Spectrum, qui sont si fragiles qu'elles font planter l'ordinateursitôt qu'on les touche. Elles seront retirées du marché moins de deux ans après leur sortie, et leslogiciels sur cartouche se limiteront à quelques jeux.Le ZX Spectrum sorti 1982, permet à Sinclair de produire un ordinateur ayant toutes les spécificationsmodernes, le processeur est maintenant un Z80a cadencé à 3,5 Mhz accompagné d'une RAM de 16Koou 48Ko (le modèle 48Ko est le plus courant, mais la carte mère est la même, en fait, sur le modèle16Ko il y seulement la moitié des bancs de RAM occupé, les supports eux sont présents), la ROM estde nouveau doublé par rapport à la machine précédente et passe donc à 16Ko, il y a enfin unerésolution graphique qui n'a rien à envier aux meilleurs de l'époque en 256x192 en 8 couleurs avecpour chaque deux niveaux de luminosité mais hélas avec de grosses contraintes de proximité, obligeantla plus part des jeux à être en seulement deux ou quatre couleurs définis dans des zones de l'écran biendistinct et bien séparé les unes des autres, ce qui empêche pas de les voir à travers les sprites partransparence, le son lui aussi à subit une évolution puisque maintenant il existe mais est de seulement 1voie sur 10 octaves.

Le ZX Spectrum est un petit ordinateur personnel mis sur le marché au Royaume-Uni en 1982. Basésur le processeur Zilog Z80 tournant à 3,5 MHz, le Spectrum était vendu soit avec soit 16Ko soit 48Kode mémoire (une extension était aussi disponible pour passer de 16Ko à 48Ko). La sortie vidéo sefaisait sur une télévision avec un affichage monochrome. Un clavier en caoutchouc avec au-dessus dela membrane (similaire à celle d'une calculatrice) des inscriptions rappelant les mots clés du BASIC.Ainsi, en mode de programmation, l'appui sur la touche 'G', par exemple, insère la commande BASICGOTO. Les programmes étaient enregistrés sur un magnétophone classique.L'affichage vidéo du Spectrum, bien que rudimentaire par rapport aux standards actuels, était parfait àl'époque pour l'affichage sur des postes de télévision portables et n'a pas été un frein au développementde jeux vidéo.Le mode texte est de 32 colonnes sur 23 lignes avec un choix de huit couleurs dans un mode soitnormal, soit brillant, ce qui donne seize teintes. La résolution graphique est de 256x192 avec lesmêmes limitations de couleurs. Le Spectrum a une méthode intéressante de gestion des couleurs ; lesattributs de couleurs sont dans une grille de 32 par 24, séparée des données graphiques et texte, avecune limitation à seulement deux couleurs par cellule. Cela a amené à ce qui a été appelé colour clashou attribute clash (collision de couleurs ou d'attributs) qui provoquait des effets bizarres dans les jeuxde style arcade.Plusieurs périphériques pour le Spectrum ont été mis sur le marché par Sinclair: l'imprimante y étaitdéjà puisque le Spectrum pouvait utiliser l'imprimante du ZX81. L' interface 1 a ajouté un port RS-232

Page 97: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 97

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

standard, un port pour réseau local et la possibilité de connecter des microdrives, minuscules cassettescontenant une bande magnétique en boucle qui furent également utilisées sur le Sinclair QL. Sinclair aaussi délivré l' Interface 2 qui ajoutait deux ports de manette de jeu et un port pour cartouche ROM.

Le Spectrum 128 (ou Spectrum 128+), à été le dernier ordinateur réellement de Sinclair, sorti en 1985,tous les autres sorti après cette sont sorti sous la houlette d'Amstrad et d'ailleurs cela se sent dans leurconception et leur carte mère en porte l'inscription sériegraphié, mais revenons au ZX128, cetordinateur est une peu plus qu'une simple évolution de son prédécesseur, il a en plus un nouveau chipsonore (Yamaha AY-3-8912), et des ports RS232/midi, il a aussi comme son nom l'indique 128Ko demémoire et un nouvel éditeur basic avec de nouvelles instructions pour gérer les modificationshardware (l'ancien basic est toujours disponible via un menu au démarrage), ce nouvel éditeur basic estenfin en plein écran, ce qui donne un confort d'utilisation indéniable, quant à la mémoiresupplémentaire elle peut être utilisé sous forme de ramdisk.

QLEn Janvier 1984, Sinclair annonce le QL (pour Quantum Leap), destiné à être son plus grand succès.Le QL est un ordinateur voulu surpuissant, doté de 128 Ko de RAM et d'un clavier professionnel (cequi est l'argument de vente majeur à l'époque), et vendu pour 600 £.Malheureusement, la sortie de QL sera précipitée, notamment à cause du désir de Clive Sinclair de lesortir en même temps que le Macintosh, et le QL est vendu non finalisé, ajoutant à la mauvaiseréputation de Sinclair en matière de fiabilité de ses produits.La machine initialement vendue n'a pas grand chose à voir avec le projet tel que l'a voulu Sir Clive, etle système d'exploitation, programmé par GST, sera vite remplacé par le QDOS, réalisé par lesingénieurs de Sinclair, plus fiable mais aux capacités inférieures. Quatre mois après son lancement, leQL est toujours buggé, et curieusement, la moitié des instructions de son système d'exploitation sontinexploitables, car stockées sur des Eprom de mauvaise qualité. Sur les 13000 QL pré-commandés,seuls quelques centaines finiront chez leur acheteur, les autres multipliant les retours en garantie. Laréputation de Sinclair est sérieusement endommagée par l'affaire, et il faudra attendre l'été 1984, soit 8mois après la sortie du QL, pour que celui-ci soit enfin fiable, après que Sinclair ait essuyé les foudresde l'Advertising Standard Authority pour publicité mensongère.Soucieux d'apaiser les colères dirigées contre sa société, Sir Clive joue la carte de la prudence pour sonprochain projet, et n'annonce le Spectrum Plus que 24 heures avant son lancement officiel.

Une chance de salut pour Sinclair se présente sous la forme d'un possible rachat par le milliardaireRobert Maxwell, durant l'été 1985. Hélas, à l'automne, l'OPA de Maxwell est rejetée par son conseild'administration, et Sir Clive se retrouve seul dans la tempête. Les mois qui suivent sont difficiles.La sortie du Spectrum 128, en février 1986, donne un peu d'air à la compagnie. Ce nouvel ordinateur,qui obtient un certain succès, et la vente des droits du Spectrum Plus à la société Dixons permettent àSinclair d'éponger ses quelques 10 millions de livres de dettes. Sir Clive est persuadé que Sinclair varedevenir un des joyaux de la couronne britannique, ce qui n'arrivera finalement pas. Moins de huitmois après le lancement du Spectrum 128, lors d'une conférence de presse, Clive Sinclair annonce lamort dans l'âme le rachat de Sinclair Resarch par son principal concurrent et ennemi juré, Alan Sugar,patron d'Amstrad, pour 5 millions de livres sterling.

Page 98: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 98

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.2.2. Les ordinateurs SINCLAIR

La gamme 8 bits:Année Modèle Caractéristiques Particularités1979 MK14 256 octets carte mère, clavier hexadécimal et affichage 8 digits à LED1980 ZX 80 Z80A* à 3,25 MHz 1 Ko disponible en kit ou déjà monté1981 ZX 81 Z80A* à 3,25 MHz 1 Ko disponible en kit ou déjà monté1982 ZX Spectrum Z80A* à 3,54 MHz 16 Ko rapidement proposé avec 48 Ko1984 ZX Spectrum

plusZ80A* à 3,54 MHz 48 Ko apparition d'un clavier mécanique

1986 Spectrum 128 K Z80A à 3,54 MHz 128 Ko un gros radiateur noir sur le coté droit1987** Spectrum 2+ Z80A à 3,54 MHz 128 Ko lecteur de cassettes intégré, boitier gris clair1988 Spectrum +2A Z80A à 3,54 MHz 128 Ko ROM identique au Spectrum +3 avec lecteur de cassettes1988 Spectrum +2B Z80A à 3,54 MHz 128 Ko identique au Spectrum +2A mais fabriqué en Chine1988 Spectrum +3 Z80A à 3,54 MHz 128 Ko lecteur de disquette 3" intégré1988 Z88 Z80A à 3,27 MHz 32 Ko notebook fabriqué par une filiale "Cambridge Computer"

* Le microprocesseur sur certaine production est remplacé par un NEC780C, compatible Z80** En 1986 Sinclair est racheté par Amstrad, le Spectrum +2 est la 1ère machine issue de ce regroupement

6.2.3. Le ZX Spectrum

The keyboard

ZX Spectrum characters comprise not only the single symbols (letters, digits, etc), but also thecompound tokens (keywords, function names, etc) and all these are entered from the keyboard ratherthan being spelled out. To obtain all these functions and commands, some keys have five or moredistinct meanings, given partly by shifting the keys (i.e. pressing either the CAPS SHIFT key or theSYMBOL SHIFT key at the same time as the required one) and partly by having the machine indifferent modes.

The mode is indicated by the cursor, a flashing letter that shows where the next character from thekeyboard will be inserted:

! K (for keywords) mode automatically replaces L mode when the machine is expecting acommand or program line (rather than INPUT data), and from its position on the line itknows it should expect a line number or a keyword. This is at the beginning of the line, orjust after THEN, or just after: (except in a string). If unshifted, the next key will beinterpreted as either a keyword (written on the keys), or a digit.

! L (for letters) mode normally occurs at all other times. If unshifted, the next key will beinterpreted as the main symbol on that key, in lower case for letters.

Page 99: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 99

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Page 100: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 100

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

In both K and L modes, SYMBOL SHIFT and a key will be interpreted as the subsidiary red characteron the key and CAPS SHIFT with a digit key will be interpreted as the control function written inwhite above the key CAPS SHIFT with other keys does not affect the keywords in K mode, and in Lmode it converts lower case to capitals.

! C (for capitals) mode is a variant of L mode in which all letters appear as capitals. CAPSLOCK causes a change from L mode to C mode or back again.

! E (for extended) mode is used for obtaining further characters, mostly tokens. It occurs afterboth shift keys are pressed together, and lasts for one key depression only. In this mode, aletter gives one character or token (shown in green above it) if unshifted, and another (shownin red below it) if pressed with either shift. A digit key gives a token if pressed withSYMBOL SHIFT; otherwise it gives a color control sequence.

! G (for graphics) mode occurs after GRAPHICS (CAPS SHIFT and 9) is pressed, and lastsuntil it is pressed again or 9 is pressed on its own. A digit key will give a mosaic graphic, quitGRAPHICS or DELETE, and each of the letter keys apart from V, W, X, Y and Z, will givea user-defined graphic.

If any key is held down for more than about 2 or 3 seconds, it will start auto-repeating.

Keyboard input appears in the bottom half of the screen as it is typed, each character (single symbol orcompound token) being inserted just before the cursor. The cursor can be moved left with CAPSSHIFT and 5, or right with CAPS SHIFT and 8. The character before the cursor can be deleted withDELETE (CAPS SHIFT and 9). (Note: the whole line can be deleted by typing EDIT (CAPS SHIFTand 1) followed by ENTER.)

When ENTER is pressed, the line is executed, entered into the program, or used as INPUT data asappropriate, unless it contains a syntax error. In this case a flashing ? appears next to the error.

As program lines are entered, a listing is displayed in the top half of the screen. The last line entered iscalled the current line and is indicated by the symbol >; this can be moved by using the keys ▼ (CAPSSHIFT and 6) and ▲ (CAPS SHIFT and 7). If EDIT (CAPS SHIFT and 1) is pressed, the current lineis brought down to the bottom part of the screen and can be edited.

When a command is executed or a program run, output is displayed in the top half of the screen andremains until a program line is entered, or ENTER is pressed with an empty line, or ▲ or ▼ ispressed. In the bottom part appears a report giving a code (digit or letter) referred to in Appendix B.The report remains on the screen until a key is pressed (and indicates K mode).

In certain circumstances, CAPS SHIFT with the SPACE key acts as a BREAK, stopping the computerwith report D or L. This is recognized

1 at the end of a statement while a program is running, or2 while the computer is using the cassette recorder or printer.

The television screen

This has 24 lines, each 32 characters long, and is divided into two parts. The top part is at most 22lines and displays either a listing or program output. When printing in the top part has reached thebottom, it all scrolls up one line; if this would involve losing a line that you have not had a chance tosee yet, then the computer stops with the message scroll ?. Pressing the keys N, SPACE or STOP will

Page 101: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 101

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

make the program stop with report D BREAK - CONT repeats; any other key will let the scrollingcontinue. The bottom part is used for inputting commands, program lines, and INPUT data, and alsofor displaying reports. The bottom part starts off as two lines (the upper one blank), but it expands toaccommodate whatever is typed in. When it reaches the current print position in the top half, furtherexpansions will make the top half scroll up.

6.2.4. L'émulateur spectaculator

Nous utiliserons la version 5.3. Il suffit de lancer Spectaculator.

Si le menu suivant apparaît au démarrage, il faut cliquer sur la dernière ligne (Go to ZX SpectrumBASIC).

Page 102: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 102

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

A partir de maintenant vous êtes sous ZX Spectrum avec toute sa philosophie. Attention, ceci estdéroutant au début...

Page 103: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 103

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Remarque importante: comme il est dit plus haut dans l'historique des ordinateurs Sinclair, le ZXSpectrum utilisait comme mémoire de masse des cassettes audios. Cela estimpossible maintenant. On doit donc charger une cassette dans le lecteurvirtuel: c'est un fichier avec l'extension tzx, tap ou mdr (pour les microdrives).

Dans notre cas nous choisirons Hisoft Devpac v3M21 GENS.tzx

Soit on clique sur sur l'icone d'ouverture, soit dans le menu File on clique surOpen. Au sélecteur de fichiers on sélectionne Hisoft Devpac v3M21Gens.tzx.

Au bien si on a de la chance, on peut cliquer directement sur le bon fichier, sicelui-ci apparaît dans la liste des derniers fichiers utilisés.

6.3. DEVPAC

H I S O F TZX Spectrum Programmer's Manual

D E V P A C

(C) Hisoft 1985

(Typed in 1998 by Nele Abels-Ludwig. Help to keep Spectrum software usable. Transcribe technical manuals !)(Adapted by G. Olive for this syllabus)

6.3.1. HiSoft GENS3 Programmer's Manual

6.3.1.1. GETTING STARTED

Introduction and Loading Instructions

GENS3 is a powerful and easy-to-use Z80 assembler, which is very close to the standard Zilog assembler in definition.Unlike many other assemblers available for microcomputers, GENS3 is an extensive, professional piece of software and

Page 104: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 104

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

you are urged to study the following sections, together with the example in Appendix 3, very carefully before attempting touse the assembler. If you are a complete novice, work through Appendix 3 first.

GENS3 is roughly 9K bytes in length, once relocated, and uses its own internal stack so that it is a self-contained piece ofsoftware. It contains its own integral line editor which places the textfile immediately after the GENS3 code while theassembler's symbol table is created after the textfile. Thus when loading GENS3 you must allow enough room to includethe assembler itself and the maximum symbol table and text size that you are likely to use in the current session. It willoften be convenient, therefore, to load GENS3 into low memory.

To load GENS3 proceed as follows:

Place the supplied tape in your cassette recorder, type:

LOAD "" CODE xxxxx

and press PLAY on the recorder - where xxxxx is the decimal address at which you want GENS3 to run.

Once you have loade the GENS3 code into the computer you may enter the assembler by RANDOMIZE USR xxxxx wherexxxxx is the address at which you loaded the assembler code. If at any subsequent time you wish to re-enter the assemblerthen you should execute the address xxxxx + 56 for a cold start (destroying any text) or address xxxxx for a warm start(preserving any previously created textfile).

For example, say you want to load GENS3 so that it executes from address 26000 decimal - proceed as follows:

LOAD "" CODE 26000 RANDOMIZE USR 26000

To re-enter the assembler use RANDOMIZE USR 26056 for a cold start and RANDOMIZE USR 26000 for a warm start.

Once you have entered GENS3, you will be prompted with a '>' sign, the editor's command prompt - consult Section6.3.1.3 for how to enter and edit text and Section 6.3.1.2 for what to enter.

Making a Backup Copy

Once you have loaded GENS3 into your Spectrum's memory then you can make a backup copy of the assembler asfollows:

SAVE "GENS3" CODE xxxxx,10034 <ENTER> to cassette SAVE*"M";1;"GENS3" CODE xxxxx,10034 <ENTER> to Microdrive

where: xxxxx is the address at which you loaded GENS3.

Please note that we allow you to make a backup copy of GENS3 for your own use so that you can program withconfidence. Please do not copy GENS3 to give (or worse, sell) to your friends, we supply very reasonably priced softwareand a full after-sales support service but if enough people copy our software we shall not be able to continue this; pleasebuy, don't steal.

6.3.1.2. DETAILS OF GENS3

6.3.1.2.1. How GENS3 Works, Assembler Options, Listing Format etc.

GENS3 is a fast, two-pass Z80 assembler, which assembles all standard Z80 menmonics and has added features whichinclude macros, conditional assembly, many assembler commands and a binary-tree symbol table.

When you invoke an assembly (using the editor 'A' command - see Section 6.3.1.3) you will first be asked to specify 'Tablesize: ' in decimal. This is the amount of space that will be allocated to the symbol table during the assembly. If you default(by simply hitting ENTER) then GENS3 will choose a symbol table size that it thinks is suitable for the size of the text -

Page 105: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 105

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

normally this will be perfectly acceptable. However, when using the 'Include' option, you may have to specify a larger thannormal symbol table size; the assembler cannot predict the size of the file that will be included.

After 'Table size: ' you will be asked for any 'Options: ' that you require. Enter these in decimal adding the option numberstogether if you want more than one option. The options available are:

Assembler Options:Option 1 Produce a symbol table listing at the end of the second pass of the assembly.Option 2 Do not generate any object code.Option 4 Do not produce an assembly listing.Option 8 Direct any assembly listing to the printer.Option 16 Simply place the object code, if generated, after the symbol table. The Location Counter is still updated,by the ORG so that object code can be placed in one section of memory but designed to run elsewhere.Option 32 Turn off the check of where the object code is going - useful for speeding up assembly.

Example: Option 36 produces a fast assembly - no listing is generated and no checks are made to see where the object codeis being placed.

Note that if you have used Option 16 then the ENT assembler directive will have no effect. You can work out where theobject code has been placed if Option 16 has been specified by using the editor 'X' command to find out the end of the text(the second number displayed) and then adding to this the amount of symbol table allocated + 2.

Assembly takes place in two passes; during the first pass GENS3 searches for errors and compiles the symbol table, thesecond pass generates object code (if option 2 is not specified). During the first pass nothing is displayed on the screen orprinter unless an error is detected, in which case the rogue line will be displayed with an error number below it (seeAppendix 1 p 120). The assembly is paused - press 'E' to return to the editor or any other key to continue the assembly fromthe next line.

At the end of the first pass the message:

Pass 1 errors: nn

will be displayed. If any errors have been detected the assembly will then halt and not proceed to the second pass. If anylabels were referenced in the operand field but never declared in a label field then the message '*WARNING* label absent'will be displayed for each missing label declaration.

It is during the second pass that object code is generated (unless generation has been turned off by Option 2 - see above).An assembler listing is generated during this pass unless it has been switched off by Option 4 or the assembler command*L-. The assembler listing is normally of the form:

C000 210100 25 label LD HL,1 1 6 15 21 26

The first entry in the line is the value of the Location Counter at the start of processing this line, unless the mnemonic inthis line is one of the pseudo-mnemonics ORG, EQU or ENT (see Section 6.3.1.2.8) in which case the first entry willrepresent the value in the operand field of the instruction. This entry is normally displayed in hexadecimal but may bedisplayed in unsigned decimal through use of the assembler command *D+ (see Section 6.3.1.2.10)

The next entry, from column 6, is up to 8 characters in length (representing up to 4 bytes) and is the object code producedby the current instruction - but see the *C assembler command below.

Then comes the line number - an integer in the range 1 to 32767 inclusive.

Columns 21-26 of the first line contain the first 6 characters of any label defined in this line.

The following two paragraphs apply only to systems with narrow screen widths - on systems with a screen width greaterthan 40 each assembler listing line is contained wholly on one screen line.

After any label comes a new line - on this line the mnemonic is displayed from columns 21-24. Then comes the operandfield from column 26 of this line and finally any comments that have been inserted at the end of the line with new linesbeing generated as necessary.

Page 106: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 106

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

The above format aids readability of the assembler listing on such a narrow screen width as that of the SPECTRUM.GENS3 does not re-define the screen width of the SPECTRUM because this would increase the space occupied by GENS3and would be restrictive in that the standard output routines of the SPECTRUM ROM could not be used.

The *C assembler command may be used to produce a shorter assembly listing line - its effect is to omit the 9 charactersrepresenting the object code of the line thus enabling most assembler lines to fit on one screen line. See Section 6.3.1.2.9below.

Modifying the Listing Format

It is possible to modify the form in which each line of the listing is split by POKEing 3 locations within GENS3. Details ofhow to do this are given below. We distinguish between 'assembly line' which is the current line of the assembly listingheld in an internal buffer and 'screen line' which is a line that actually appears on the screen. An assembly line willnormally generate more than one screen line.

1. Location 'Start of GENS3 + 51 (#33)' dictates at which column position - 5 the first screen line of the assembly line willbe terminated. Change this byte to zero to cause the line to wrap round (useful if you have a full-width printer) or any othervalue (<256) to end the first screen line at a particular column.

2. Location 'Start of GENS3 + 52 (#34)' gives the column position (starting at 1) at which each subsequent screen line ofthe assembly line is to start.

3. Location 'Start of GENS3 + 53 (#35)' gives how many characters from the remainder of the assembly line are to bedisplayed on each screen line after the first screen line.

As an example, say you wanted the first screen line of each assembly line to contain 20 characters (i.e. not including thelabel field) and then each subsequent screen line to start at column 1 and fill the whole line. Also assume that you haveloaded GENS3 at 26000 decimal. To effect these changes, execute the following POKE instructions from within BASIC:

POKE 26051,20 POKE 26052,1 there must be at least one space at the POKE 26053,31 start of the subsequent screen line.

The above modifications are only applicable if the *C command has not been used - use of the *C command causes lines toroll over where necessary.

The assembly listing may be paused at the end of a line by hitting CAPS SHIFT and SPACE together - subsequently hit 'E'to return to the editor or any other key to continue the listing.

The only errors that can occur during the second pass are *ERROR* 10 (see Appendix 1 p 120) and 'Bad ORG!' (whichoccurs when the object code will overwrite GENS3, the textfile or the symbol table - the detection of this can be turned offby Option 32. *ERROR* 10 is non-fatal and you may continue the assembly as for first pass errors, whereas 'Bad ORG!' isfatal and immediately returns control to the editor.

At the end of the second pass the message:

Pass 2 errors: nn

will be displayed followed by warnings of any absent labels - see above.The following message is now displayed:

Table used: xxxxx from yyyyy

This informs you of how much of the symbol table was used compared with how much was allocated.

At this point, if the assembler directive ENT has been used correctly, the message 'Executes: nnnnn' is displayed. Thisshows the run address of the object code - you can execute the code by using the editor 'R' command. Be careful using the'R' command unless you have just finished a successful assembly and seen the 'Executes: nnnnn' message.

Page 107: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 107

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Finally, if option 1 has been specified, an alphabetic list of the labels used and their associated values will be produced. Thenumber of entries displayed on one line may be changed by POKEing 'Start of GENS3 + 50' with the relevant value; thedefault is 2.

Control now returns to the editor.

6.3.1.2.2. Assembler Statement Format.

Each line of text that is to be processed by GENS3 should have the following format where certain fields are optional:

LABEL MNEMONIC OPERANDS COMMENT start LD HL,label ;pick up 'label'

Spaces and tab characters (inserted by the editor) are generally ignored.

The line is processed in the following way:

The first character of the line is checked and subsequent action depends on the nature of this character as indicated below:

';' the whole line is treated as a comment i.e. effectively ignored.

'*' expects the next character(s) to constitute an assembler command (see Section 6.3.1.2.9). Treats all charactersafter the command as a comment.

<CR> (end-of-line character) simply ignores the line.

' ' (space or tab) if the first character is a space or a tab character then GENS3 expects the next non-space or non-tabcharacter to be the start of a Z80-mnemonic.

If the first character of a line is any character other than those given above then the assembler expects a label to be present -see Section 6.3.1.2.3. After processing a valid label, or if the first character of the line is a space/tab, the assembler searchesfor the next non-space/tab character and expects this to be either an end-of-line character or the start of a Z80-mnemonic(see Appendix 2 p 121) of up to 4 characters in length and terminated by a space/tab or end-of-line character. If themnemonic is valid and requires one or more operands then spaces/tabs are skipped and the operand field is processed.

Labels may be present alone in an assembler statement; this is useful for increasing the readability of the listing.

Comments may occur anywhere after the operand field or, if a mnemonic takes no arguments, after the mnemonic field.

6.3.1.2.3. Labels.

A label is a symbol, which represents up to 16 bits of information.

A label can be used to specify the address of a particular instruction or data area or it can be used as a constant via the EQUdirective (see Section 6.3.1.2.8).

If a label is associated with a value greater than 8 bits and it is then used in a context where an 8 bit constant is applicablethen the assembler will generate an error message e.g.

label EQU #1234 LD A,label

will cause *ERROR* 10 to be generated when the second statement is processed during the second pass.

A label may contain any number of valid characters (see below) although only the first 6 are treated as significant; thesefirst 6 characters must be unique since a label cannot be re-defined (*ERROR* 4). A label must not constitute a reservedword (see Appendix 2 p 121) although a reserved word may be embedded as part of a label.

Page 108: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 108

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

The characters which may be legally used within a label are 0-9, $ and A-z. Note that 'A-z' included all the upper and lowercase alphabetics together with the characters [, \, ], ^, # and _. A label must begin with an alphabetic character.

Some examples of valid labels are:

LOOPloopa_long_labelL[1]L[2]aLDIR LDIR is not a reserved wordtwo^5

6.3.1.2.4. Location Counter

The assembler maintains a location counter so that a symbol in the label field can be associated with an address and enteredinto the symbol table. This location counter may be set to any value via the ORG assembler directive (see Section6.3.1.2.8).

The symbol '$' can be used to refer to the current value of the location counter e.g. LD HL,$+5 would generate code thatwould load the register pair HL with a value 5 greater than the current location counter value.

6.3.1.2.5. Symbol Table

When a label is encountered for the first time it is entered into a table along with two pointers which indicate, at a latertime, how this label is related alphabetically to other labels within the table. If the first occurrence of the label is in the labelfield then its value (as given by the location counter of the value of the expression after an EQU assembler directive) isentered into the symbol table. Otherwise the value is entered whenever the symbol is subsequently found in the label field.

This type of symbol table is called a binary tree symbol table and its structure enables symbols to be entered into andrecovered from the table in a very short time - essential for large programs. The size of an entry in the table varies from 8bytes to 13 bytes depending on the length of the symbol.

If, during the first pass, a symbol is defined more than once then an error (*ERROR* 4) will be generated since theassembler does not know which value should be associated with the symbol.

If a symbol is never associated with a value then the message '*WARNING* symbol absent' will be generated at the end ofthe assembly. The absence of a symbol definition does not prevent the assembly from continuing.

Note that only the first 6 characters of a symbol are entered into the symbol table in order to keep down the size of thetable.

At the end of the assembly you will be given a message stating how much memory was used by the symbol table duringthis assembly - you may change how much memory is allocated to the symbol table by responding to the 'Table: ' promptwhen starting the assembly (see Section 6.3.1.2.1).

6.3.1.2.6. Expressions.

An expression is an operand entry consisting of either a single TERM or a combination of TERMs each separated by anOPERATOR. The definitions of TERM and PERATOR follow:

TERM decimal constant e.g. 1029 hexadecimal constant e.g. #405 binary constant e.g. %10000000101 character constant e.g. "a" label e.g. L1029

Page 109: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 109

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

also '$' may be used to denote the current value of the locationcounter.

OPERATOR '+' addition '-' substraction '&' logical AND '@' logical OR '!' logical XOR '*' integer multiplication '/' integer division '?' MOD function (a ? b = a - (a/b)*b)

Notes: '#' is used to denote the start of a hexadecimal number, '%' for a binary number and '"' for a character constant.When reading a number (decimal, hexadecimal or binary) GENS3 takes the least significant 16 bits of the number (i.e.MOD 65535) e.g. 70016 becomes 4480 and #5A2C4 becomes #A2C4.

A wide variety of operators are provided but no operator precedence is observed - expressions are evaluated strictly fromleft to right. The operators '*', '/' and '?' are provided merely for added convenience and not as part of a full expressionhandler which would increase the size of GENS3.

If an expression is enclosed within parentheses then it is taken as representing a memory address as in the instruction LDHL,(loc+5) which would load the register pair HL with the 16 bit value contained at memory location 'loc+5'.

Certain Z80 instructions (JR and DJNZ) expect operands which have an 8 bit value and not a 16 bit one - this is calledrelative addressing. When relative addresses are specified GENS3 automatically subtracts the value of the location counterat the NEXT instruction from the value given in the operand field of the current instruction in order to obtain the relativeaddress for the current instruction. The range of values allowed as a relative address are the location counter value of thenext instruction -128 to +127.

If, instead, you wish to specify a relative offset from the location counter value of the current instruction then you shoulduse the symbol '$' (a reserved word) followed by the required displacement. Since this is now relative to the currentinstruction's location counter value the displacement must be in the range -126 to +129 inclusive.

Examples of valid expressions:

#5000 - label %1001101 ! %1011 gives %1000110 #3456 ? #1000 gives #456 4 + 5 * 3 - 8 gives 19 $-label+8 2345 / 7 - 1 gives 334 "A"+128 "y"-";"+7 (5 * label - #1000 & %1111) 17 @ %1000 gives 25

Note that the spaces may be inserted between TERMs and OPERATORs and vice versa but not within TERMs.

If a multiplication operation would result in an absolute value greater than 32767 then *ERROR* 15 is reported while if adivision operation involves a division by zero then *ERROR* 14 is given - otherwise overflow is ignored. All arithmeticuses the two's complement for where any numbers greater than 32767 are treated as negative e.g. 60000 = -55336 (60000-65536).

6.3.1.2.7. Macros.

Macros allow you to write shorter, more meaningful assembler programs but they must be used with care and must not beconfused with subroutines. A macro definition consists of a series of assembler statements, together with the name of themacro; when this macro name is used subsequently in the mnemonic field then it will be replaced by all the assemblerstatements that made up the definition e.g. the macro NSUB may be defined thus:

Page 110: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 110

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

NSUB MAC OR A SBC HL,DE ADD HL,DE ENDM

and then, whenever NSUB is used as a mnemonic, it will generate the three assembler statements OR A, SBC HL and ADDHL,DE. This saves you typing and makes your program easier to understand but you must remember that every occurrenceof NSUB results in code being generated and it may be more efficient to use a CALL to a subroutine instead. Below, wegive the format of macro definitions and invocation together with some more examples, please study these carefully.

A macro definition takes the following form:

Name MAC . . macro definition . . ENDM

where Name is the macro name that will invoke the text of the macro whenever Name is used subsequently in themnemonic field, MAC indicates the start of the macro definition and ENDM indicates the end of the definition. Parametersof the macro may be referenced within the macro definition by the use of the equals sign '=' followed by the parameternumber (0-31 inclusive). For example, the macro:

MOVE MAC LD HL,=0 LD DE,=1 LD BC,=2 LDIR ENDM

takes 3 parameters, source address, destination address and length, loads the relevant values in HL, DE and BC and thenperforms the instruction LDIR. To invoke this macro at a later stage in your program, simply use the name of the macro inthe mnemonic field followed by the values that you wish the 3 parameters to take e.g.

MOVE 16384,16385,4069

We have used specific addresses in this example but we can, in fact, use any valid expression to specify the value of themacro parameter e.g.

MOVE start,start+1,length

Think ... is the above a good use of a macro ? Could it have been a subroutine ?

Within the macro definition, the parameters may appear in any valid expression e.g.

HMS MAC LD HL,=0*3600 LD DE,=1*60 ADD HL,DE LD DE,=2 ADD HL,DE ENDM

is a macro, taking 3 parameters - hours, minutes, seconds, that produces in register HL the total number of secondsspecified by the parameters.You might use it like this:

Hours EQU 2 Minutes EQU 30

Page 111: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 111

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Seconds EQU 12 Start EQU 0

HMS Hours,Minutes,Seconds LD DE,Start ADD HL,DE ; HL gives the finish time

Macros may not be nested so that you cannot define a macro within a macro definition nor can you invoke a macro within amacro definition.

At assembly time, whenever a macro name is encountered in the mnemonic field, the text of the macro is then assembled.Normally this text is not listed in the assembly listing - only the macro name is shown. However, you can force a listing ofthe expansion of the macro by using the assembler command *M+ before you want macro expansions to be listed -subsequently use *M- to switch off this expansion.

If you run out of Macro Buffer space then a message will be displayed and the assembly aborted; use the editor's Ccommand after saving your text, to allocate a larger macro buffer.

6.3.1.2.8. Assembler Directives

Certain 'pseudo-mnemonics' are recognised by GENS3. These assembler directives, as they are called, have no efect on theZ80 processor at run-time, i.e. they are not decoded into opcodes, they simply direct the assembler to take certain actions atassembly time. These actions have the effect of changing, in some way, the object code produced by GENS3.

Pseudo-menmonics are assembled exactly like executable instructions; they may be preceded by a label (necessary forEQU) and followed by a comment. The directives available are:

ORG expression

sets the location counter to the value 'expression'. If option 2 and option 16 are both not selected and an ORG would resultin the overwriting of the GENS3 program, the textfile or the symbol table then the message 'Bad ORG!' is displayed andthe assembly is aborted. See Section 2.0 for more details on how options 2 and 16 affect the use of ORG.

EQU expression

must be preceded by a label. Sets the value of the label to the value of 'expression'. The expression cannot contain a symbolwhich has not yet been assigned a value (*ERROR* 13).

DEFB expression,expression,...

each 'expression' must evaluate to 8 bits; the byte at the address currently held by the location counter is set to the value of'expression' and the location counter advanced by 1. Repeats for each expression.

DEFW expression,expresion,...

sets the 'word' (two bytes) at the address currently held by the location counter to the value of 'expression' and advances thelocation counter by 2. The lesser significant byte is placed first followed by the more significant byte. Repeats for eachexpression.

DEFS expression

increases the location counter by the value of 'expression' - equivalent to reserving a block of memory of size equal to thevalue of expression.

DEFM "s"

defines the contents of n bytes of memory to be equal to the ASCII representation of the string s, where n is the length ofthe string and may be, in theory, in the range 1 to 255 inclusive although, in practice, the length of the string is limited bythe length of the line you can enter from the editor. The first character in the operand field ('"' above) is taken as the stringdelimiter and the string s is defined as those characters between two delimiters; the end-of-line character also acts as aterminator of the string.

Page 112: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 112

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

ENT expression

this has no effect on the generated object code, it is simply used to define an address to which the editor's R command willjump to. ENT expression sets this address to the value of expression - used in conjunction with the editor 'R' command (seesection 3). There is no default for the execute address.

6.3.1.2.9. Conditional Pseudo-mnemonics.

Conditional pseudo-mnemonics provide the programmer with the capability of including or not including certain sectionsof source text in the assembly process. This is made available through the use of IF, ELSE and END.

IF expression

this evaluates 'expression'. If the result is zero then the assembly of subsequent lines is turned off until either an 'ELSE' oran 'END' pseudo-mnemonic is encountered. If the value of 'expression' is non-zero then the assembly continues normally.

ELSE

this pseudo-mnemonic simply flips the assembly on and off. If the assembly is on before the 'ELSE' is encountered then itwill subsequently be turned off and vice versa.

END

'END' simply turns the assembly on.

Note: Conditional pseudo-mnemonics cannot be nested; no check is made for nested IFs so any attempt to nest thesemnemonics will have unspecified results.

6.3.1.2.10. Assembler Commands.

Assembler commands, like assembler directives, have no effect on the Z80 processor at runtime since they are not decodedinto opcodes. However, unlike assembler directives, they also have no effect on the object code produced by the assembler- assembler commands simply modify the listing format. An assembler command is a line of the source text that beginswith an asterisk '*'. The letter after the asterisk determines type of the command and must be in upper case. The remainderof the line may be any text except that the commands 'L' and 'D' expect a '+' or a '-' after the command.

The following commands are available:

*E(eject) causes three blank lines to be sent to the screen or the printer - useful for separating modules.

*Hscauses string s to be taken as a heading which is printed after each eject (*E). *H automatically performs a *E.

*Scauses the listing to be stopped at this line. The listing may be reactivated by pressing any key on the keyboard. Useful forreading addresses in the middle of the listing. Note: *S is still recognized after a *L-, *S does not halt printing.

*L-causes listing and printing to be turned off beginning with this line.

*L+causes listing and printing to be turned on starting with this line.

*D+causes the value of the location counter to be given in decimal at the beginning of each line instead of the normalhexadecimal. Unsigned decimal is used.

Page 113: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 113

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

*D-reverts to using hexadecimal for the value of the location counter at the start of each line.

*C-shorten the assembler listing starting from the next line. The listing is abbreviated by not including the display of the objectcode generated by the current line - this saves 9 characters and enables most assembler lines to fit within one 32 characterscreen line, thus improving readability.

*C+Revert to the full assembler listing as described in Section 6.3.1.2.1.

*M+Turn on the listing of macro expansions.

*M-Turn off the listing of macro expansions.

*F {filename}This is a very powerful command which allows you to assemble text from tape to microdrive - the textfile is read from thetape or microdrive into a buffer, a block at a time, and then assembled from the buffer; this allows you to create largeamounts of object code since the text being assembled does not take up valuable memory space.

The filename (up to 10 characters) of the textfile you wish to 'include' at this point in the assembly may, optionally, bespecified after the 'F' and must be preceded with a space. If the file is on microdrive cartridge then you indicate this bystarting the filename with a drive number and a colon e.g.

*F 2:test to include from Microdrive Drive 2 *F test to include from tape

If no filename is given then the first textfile found on the tape is included, this is not allowed for microdrive inclusion.

If you are including from microdrive then the text to be included should have been saved previously using the editor's P(ut)command in the normal way.

If including from tape then you must have saved the file previously to tape using the editor's 'T' command and not the 'P'command - this is necessary because a textfile to be included from tape must be dumped out in blocks with sufficient lengthinter-block gaps to allow the assembly of the current block before the next block is loaded from the tape. The size of theblock used by this command (and the editor's 'T' command) is set using the editor's 'C' command (see next section). Theability to select the size of this buffer enables you to optimise the size/speed ratio of any inclusion of text from tape; forexample if you are not intending to use the 'F command during an assembly then you may find it useful to specify a buffersize of 0 to minimize the space taken up by GENS3 and its workspace.

Note that the buffer size specified in the session in which you dumped out a file to be included must be the same as thebuffer size given in the session in which you are actual including the text.

Whenever the assembler detects an 'F' command it searches the tape or microdrive cartridge for the relevant file; this willhappen in the first and second passes since the include text must be scanned in each pass. If including from tape, the tape isthen searched for an include file with the required filename, or for the first file. If an include file is found whose filenamedoes not match that required then the message 'Found filename' is displayed and the searching continues, otherwise 'Usingfilename' is displayed, the file loaded, block by block, and included.

See 6.3.1.6 Appendix 3 for an example of the use of this command.

Assembler commands, other than *F, are recognized only within the second pass.

If assembly has been turned off by one of the conditional pseudo-mnemonics then the effect of any assembler command isalso turned off.

Page 114: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 114

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.3.1.3. THE INTEGRAL EDITOR

6.3.1.3.1. Introduction to the Editor.

The editor supplied with all versions of GENS3 is a simple, line-based editor designed to work with all Z80 operatingsystems while maintaining ease of use and the ability to edit programs quickly and efficiently.

In order to reduce the size of the textfile, a certain amount of compression of spaces is performed by the editor. This takesplace according to the following scheme: whenever a line is typed in from the keyboard it is entered, character by characterinto a buffer internal to the assembler; then, when the line is finished (i.e. you hit ENTER), it is transferred from the bufferinto the textfile. It is during this transfer that certain spaces are compressed: the line is scanned from its first character, ifthis is a space then a tab character is entered into the textfile and all subsequent spaces are skipped. If the first character isnot a space then characters are transferred from the buffer to the textfile until a space is detected whereupon the actiontaken is the same as if the next character was the first character in the line. This is then repeated a further time with theresult that tab characters are inserted at the front of the line or between the label and mnemonic and between the mnemonicand the operands and between the operands and any comment. Of course, if any carriage return (ENTER) character isdetected at any time then the transfer is finished and control returned to the editor.

This compression process is transparent to the user who may simply use tab control characters (CAPS SHIT 8) to produce aneatly tabulated textfile which, at the same time, is economic on storage.

Note that spaces are not compressed within comments and spaces should not be present within a label, mnemonic oroperand field.

The editor is entered automatically when GENS3 is executed and displays the message:

Copyright Hisoft 1983,84All rights reserved

followed by the editor prompt '>'.

In response to the prompt you may enter a command line of the following format:

C N1,N2,S1,S2 followed by ENTER

C is the command to be executed (see Section 6.3.1.3.2 below).N1 is a number in the range 1-32767 inclusive.N2 is a number in the range 1-32767 inclusive.S1 is a string of characters with a maximum length of 20.S2 is a string of characters with a maximum length of 20.

The comma is used to separate the various arguments (although this can be changed - see the 'S' command) and spaces areignored, except within the strings. None of the arguments are mandatory although some of the commands (e.g. the 'D'eletecommand) will not proceed without N1 and N2 being specified. The editor remembers the previous numbers and stringsthat you entered and uses these former values, where applicable, if you do not specify a particular argument within thecommand line. The values of N1 an N2 are initially set to 10 and the strings are initially empty. If you enter an illegalcommand line such as F-1,100,HELLO then the line will be ignored and the message 'Pardon?' displayed - you shouldretype the line correctly e.g. F1,100,HELLO. This error message will also be displayed if the length of S2 exceeds 20; if thelength of S1 is greater than 20 then any excess characters are ignored.

Commands may be entered in upper or lower case.

While entering a command line certain key combinations may be used to edit the line viz. CAPS SHIFT 5 to delete to thebeginning of the line, CAPS SHIFT 8 to advance the cursor to the next tab position, CAPS SHIT 0 to delete the previouscharacter.

The following sub-section details the various commands available within the editor - note that wherever an argument isenclosed by the symbols '< >' then that argument must be present for the command to proceed.

Page 115: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 115

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.3.1.3.2. The Editor Commands

6.3.1.3.2.1. Text Insertion.

Text may be inserted into the textfile either by typing a line number, a space and then the required text or by use of the 'I'command. Note that if you type a line number followed by ENTER (i.e. without any text) then that line will be deletedfrom the text if it exists. Whenever text is being entered CAPS SHIFT 5 (delete to the beginning of the line), CAPS SHIFT8 (go to the next tab position) and CAPS SHIFT 1 (return to the command loop) may be employed.

The DELETE (CAPS SHIFT 0) key will produce a destructive backspace (but not beyond the beginning of the text line).Text is entered into an internal buffer within GENS3 and if this buffer should become full then you will be prevented fromentering any more text - you must then use CAPS SHIFT 0 or CAPS SHIFT 5 to free space in the buffer.

If, during text insertion, the editor detects that the end of text is nearing the top of RAM it displays the message 'BadMemory!'. This indicates that no more text can be inserted and that the current textfile, or at least part of it, should be savedto tape for later retrieval.

Command: I n,m

Use of this command gains entry to the automatic insert mode: you are prompted with line numbers starting at n andincrementing in steps of m. You enter the required text after the displayed line number, using the various control codes ifdesired and terminating the text line with ENTER. To exit from this mode use CAPS SHIFT 1.

If you enter a line with a line number that already exists in the text then the existing line will be deleted and replaced withthe new line, after you have pressed ENTER. If the automatic incrementing of the line number produces a line numbergreater than 32767 then the Insert mode will exit automatically.

If, when typing in text, you get to the end of a screen line without having entered 64 characters (the buffer size) then thescreen will be scrolled up and you may continue typing on the next line - an automatic indentation will be given to the textso that the line numbers are effectively separated from the text.

6.3.1.3.2.2. Text Listing.

Text may be inspected by use of 'L' command; the number of lines displayed at any one time during the execution of thiscommand is fixed initially but may be changed through use of the 'K' command.

Command: L n,m

This lists the current text to the display device from line number n to line number m inclusive. The default value for n isalways 1 and default value for m is always 32767 i.e. default values are not taken from previously entered arguments. Tolist the entire textfile simply use 'L' without any arguments. Screen lines are formatted with a left hand margin so that theline number is clearly displayed. Tabulation of the line is automatic, resulting in a clear separation of the various fields withthe line. The number of screen lines listed on the display device may be controlled through use of the 'K' command - afterlisting a certain number of lines the list will pause (if not yet at line number m), hit CAPS SHIFT 1 to return to the maineditor loop or any other key to continue the listing.

Command: K n

'K' sets the number of screen lines to be listed to the display device before the display is paused as described in 'L' above.The value (n MOD 256) is computed and stored. For example use K5 if you wish a subsequent 'L'ist to produce five screenlines at a time.

6.3.1.3.2.3. Text Editing

Once some text has been created there will inevitably be a need to edit some lines. Various commands are provided toenable line to be amended, deleted, moved and renumbered:

Page 116: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 116

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Command: D <n,m>

All lines from n to m inclusive are deleted from the textfile. If m<n, or less than two arguments are specified, then no actionwill be taken; this is to help prevent careless mistakes. A single line may be deleted by making m=n; this can also beaccomplished by simply typing the line number followed by ENTER.

Command: M n,m

This causes the text at line n to be entered at line m deleting any text that already exists there. Note that line n is left alone.So this command allows you to 'M'ove a line of text to another position within the textfile. If line number n does not existthen no action is taken.

Command: N <n,m>

Use of the 'N' command causes the textfile to be renumbered with a first line number of n and in line number steps of m.Both n and m must be present and if the renumbering would cause any line number to exceed 32767 then the originalnumbering is retained.

Command: F n,m,f,s

The text existing within the line range n < x < m is searched for an occurrence of the string f - the 'find' string. If such anoccurrence is found then the relevant text line is displayed and the Edit mode is entered - see below. You may then usecommands within the Edit mode to search for subsequent occurrences of the string f within the defined line range or tosubstitute the string s (the 'substitute' string) for the current occurrence of f and then search for the next occurrence of f; seebelow for more details.

Note that the line range and the two strings may have been set up previously by any other command so that it may only benecessary to enter 'F' to initiate the search - see the example in Section 6.3.1.3.3 for clarification.

Command: E n

Edit the line with line number n. If n does not exist then no action is taken; otherwise the line is copied into a buffer and isdisplayed again underneath the line and the Edit mode is entered. All subsequent editing takes place within the buffer andnot in the text itself; thus the original line can be recovered at any time.

In this mode a pointer is imagined moving through the line (starting at the first character) and various sub-commands aresupported which allow you to edit the line. The sub-commands are:

' ' (space) - increment the text pointer by one i.e. point to the next character in the line. You cannot step beyond the end ofthe line.

CAPS SHIFT 0 - decrement the text pointer by one to point at the previous character in the line. You cannot stepbackwards beyond the first character in the line.

CAPS SHIFT 8 - step the text pointer forwards to the next tab position on each screen line.

ENTER - end the edit of this line keeping all the changes made.

Q - quit the edit of this line i.e. leave the edit ignoring all the changes made and leaving the line as it was before the editwas initiated.

R - reload the edit buffer from the text i.e. forget all changes made on this line and restore the line as it was originally.

L - list the rest of the line being edited i.e. the remainder of the line beyond the current pointer position. You remain in theEdit mode with the pointer re-positioned at the start of the line.

K - kill (delete) the character at the current pointer position.

Z - delete all the characters from (and including) the current pointer position to the end of the line.

Page 117: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 117

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

F - find the next occurrence of the 'find' string previously defined within a command line (see the 'F' command above). Thissub-command will automatically exit the edit on the current line (keeping the changes) if it does not find anotheroccurrence of the 'find' string in the current line. If an occurrence of the 'find' string is detected in a subsequent line (withinthe previously specified line range) then the Edit mode will be entered for the line in which the string is found. Note thatthe text pointer is always positioned at the start of the found string.

S - substitute the previously defined 'substitute' string for the currently found occurrence of the 'find' string and thenperform the sub-command 'F' i.e. search for the next occurrence of the 'find' string. This, together with the above 'F' sub-command, is used to step through the textfile optionally replacing occurrences of the 'find' string with the 'substitute' string- see Section 6.3.1.3.3 for an example.

I - insert characters at the current pointer position. You will remain in this sub-mode until you press ENTER - this willreturn you to the main Edit mode with the pointer positioned after the last character inserted. Using CAPS SHIFT 0(DELETE) within this sub-mode will cause the character to the left of the pointer to be deleted from the buffer while theuse of CAPS SHIFT 8 will advance the pointer to the next tab position, inserting spaces.

X - this advances the pointer to the end of the line and automatically enters the insert sub-mode detailed above.

C - change sub-mode. This allows you to overwrite the character at the current pointer position and then advances thepointer by one. You remain in the change sub-mode until you press ENTER whence you are taken back to the Edit modewith the pointer positioned after the last character you changed. CAPS SHIFT 0 within this sub-mode simply decrementsthe pointer by one i.e. moves it left while CAPS SHIFT 8 has no effect.

6.3.1.3.2.4. Tape/Microdrive Commands

Text may be saved to tape/microdrive or loaded from tape/microdrive using the commands 'P', 'G' and 'T'. Object code maybe saved to tape/microdrive using the 'O' command.

Command: P n,m,s

The line range defined by n < x < m is saved to tape or microdrive under the filename specified by the string s. The textwill be saved to microdrive if the filename begins with a drive number followed by a colon (':'). Remember that thesearguments may have been set by a previous command. Examples:

P10,200,EXAMPLE saves lines 10-200 to tape as EXAMPLE P500,900,1:TEST saves lines 500-900 to microdrive 1

Before entering this command make sure that your tape recorder is switched on and in RECORD mode, if saving to tape.Do not use this command if you wish, at a later stage, to 'Include' the text from tape - use the 'T' command instead. If youintend to 'include' from microdrive then you should use this 'P' command.

When 'P'utting to microdrive and the filename you have specified already exists on the cartridge, you will be asked:

File Exists Delete (Y/N)?

answer Y to delete the file and continue saving or any other key to return to the editor without saving the file.

Command: G,,s

The tape or microdrive is searched for a file with a filename of s; when found, it is loaded at the end of the current text. If anull string is specified as the filename then the first textfile on the tape is loaded.For microdrive, you must specify a filename and it should begin with a drive number followed by a colon.

If using cassette, after you have entered the 'G' command, the message 'Start tape...' is displayed - you should now pressPLAY on your recorder. A search is now made for a textfile with the specified filename, or the first textfile if a nullfilename is given. If a match is made then the message 'Using filename' is displayed, otherwise 'Found filename' is shownand the search of the tape continues.

If using microdrive and the specified file cannot be found then the message 'Absent' is displayed.

Page 118: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 118

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Note that if any textfile is already present in the memory then the textfile that is loaded from tape will be appended to theexisting file and the whole file will be renumbered starting with line 1 in steps of 1.

Command: T n,m,s

Dump out a block of text, between the line numbers n and m inclusive, to tape in a format suitable for inclusion at a laterstage via the assembler command *F - see Section 6.3.1.2.10. The file is dumped with the filename s. The dump takes placeimmediately you have pressed ENTER so you should ensure that your tape recorder is ready to record before entering thiscommand line. If you intend to include from microdrive then use the 'P' command to save the text, as usual, and not this 'T'command. Note that this command is to be used only if you want to assemble the text from tape at a later stage.

Command: O,,s

Dump out your object code to cassette or microdrive. The filename s can be up to 8 characters in length and should beginwith a drive number (1-8) and a colon if you wish to save the object code to microdrive.

Only the last 'block' of code produced by the assembler can be saved in this way i.e. if you have more than one ORGdirective in your source program then only the code produced after the last ORG is saved.

Code must have been produced in memory before it can be saved using 'O'.

6.3.1.3.2.5. Assembling and Running from the Editor.

Command: A

This causes the text to be assembled from the first line in the textfile. See Section 6.3.1.2 for further details.

Command: R

If the source has been assembled without errors and an execute address has been specified by the use of the ENT assemblerdirective then the 'R' command may be used to execute the object program. The object program can use a RET (#C9)instruction to return to the editor so long as the stack is in the same position at the end of the execution of the program as itwas at the beginning. Note that ENT will have no effect if Option 16 has been specified for the assembly.

Before entering the code, interrupts are enabled and register IY is loaded with the value #5C3A.

6.3.1.3.2.6. Other Commands.

Command: B

This simply returns control to the operating system. To re-enter the assembler use either a cold or a warm start - see Section6.3.1.1.

Command: C

This allows you to configure the size of the Include and Macro buffers.

The include buffer is the buffer in which text is held when assembling directly from cassette or Microdrive - the larger thisbuffer, the more text that will be read in from cassette or microdrive at one go and therefore the faster the assembly willproceed. On the other hand, more memory is used. Thus, there is a compromise to be made between speed of assembly anduse of memory; the 'C' command allows you to control this tradeoff by giving you the opportunity of setting the size of theInclude buffer.

The Macro buffer is used to hold the text of any macro definitions that you may use.

Page 119: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 119

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

The 'C' command prompts you to enter the 'Include buffer' size and then the 'Macro buffer' size. In both cases simply enterthe number of bytes (in decimal) that you wish to allocate, followed by ENTER. If you press ENTER by itself withoutentering a number then no action is taken. If you specify an Include buffer size then the size is forced to be a minimum of256 bytes. You may abort the command using CAPS SHIFT 1.

Please note that 'C' effectively performs a cold start on your text, deleting it. Thus, remember to save any existing textbefore using the 'C' command. It is best to allocate the buffers as large as you will need them at the start of a session.

Command: Q

This command allows you to convert textfiles produced by GENS1 to the compressed text format of GENS3. Simply loadup the GENS1 textfile, using the 'G' command, use the 'Q' command to convert the file and then dump the compressed fileout using the 'P' command. 'Q' takes no arguments and may take a substantial time to complete the conversion of the file.

Command: S,,d

This command allows you to change the delimiter which is taken as separating the arguments in the command line. Onentry to the editor the comma ',' is taken as the delimiter; this may be changed by the use of the 'S' command to the firstcharacter of the specified string d. Remember that once you have defined a new delimiter it must be used (even within the'S' command) until another one is specified. Please do not confuse this command with the 'S'ubstitute sub-command withinedit mode.

Note that the separator may not be a space.

Command: V

The 'V' command displays the current values of N1, N2, S1 and S2 plus the current command delimiter i.e. the two defaultline numbers, the default strings and the delimiter. This is useful before entering any command in which you are going touse default values, to check that these values are correct.

Command: W n,m

The 'W' command causes the section of text between lines n and m inclusive to be output to the printer. If both n and m aredefaulted then the whole textfile will be printed. The printing will pause after the number of lines set by the 'K' command -press any key to continue printing.

Command: X

'X' simply causes the start and end address of the textfile to be displayed in decimal. This is useful if you wish to save thetext from within BASIC, or if you want to see how much memory you have left after the textfile. GENS3 always expectsthe text to start at the first address given by the 'X' command and holds the end address of the text in location TEXTENDwhich is at 'Start of GENS3 + 54'. Thus, if you wish to 'patch in' a textfile (perhaps produced by MONS3) you must movethe textfile to the address specified by the first address displayed by the 'X' command, modify TEXTEND to contain theend address of the file and finally enter GENS3 via a warm start. For example, say you have generated a textfile in thecorrect place and that it ends (the address after the final end-of-line marker) at #9A02. Then, assuming that you have loadedGENS3 at 24064, you should, from BASIC, POKE 24064+54,2 (#02) and POKE 24064+55,154 (#9A) and then enterGENS3 by RANDOMIZE USR 24125. You will now be able to work with the textfile normally from within the editor.

Command: H,,s

Allows you to verify a textfile that has been saved to microdrive. Simply use H,,n:filename where n is the drive number andfilename is the name you gave to the textfile on that drive. The file will be opened and each record in turn inspected tomake sure that it can be read from the drive; record numbers are displayed as they are checked. If a particular recordnumber fails the check then 'File not found' will be displayed and control returned to BASIC. If verification is successfulthen control will be returned to the assembler's editor.

6.3.1.3.3. An Example of the Use of the Editor.

Page 120: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 120

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Let us assume that you have typed in the following program (using I10,10):

10 *h 16 BIT RANDOM NUMBERS 20 30 ;INPUT: HL contains previous random number or seed. 40 ;OUTPUT: HL contains new randon number 50 60 Random PUSH AF ;save registers 70 PUSH BC 80 PUSH HL 90 ADD HL,HL ;*2 100 ADD HL,HL ;*4 110 ADD HL,HL ;*8 120 ADD HL,HL ;*16 130 ADD HL,HL ;*32 140 ADD HL,HL ;*64 150 PIP BC ;old random number 160 ADD HL,DE 170 LD DE,41 180 ADD HL,DE 190 POP BC ;restore registers 200 POP AF 210 REY

This program has a number of errors which are as follows:

Line 10: a lower case 'h' has been used in the assembler command *H.Line 40: 'randon' instead of 'random'.Line 70: PUSH BC starts in the label field.Line 150: 'PIP' instead of 'POP'.Line 160: needs a comment (not an error - merely style).Line 210: 'REY' should be 'RET'.

Also 2 extra lines of ADD HL,HL should be added between lines 140 and 150 and all references to the register pair DE inlines 160 to 180 should be to register pair BC.

To put all this right we can proceed as follows:

E10 ENTER then _(space) C(enter change mode) H ENTER ENTER F40,40,randon,random ENTER then the 'S' sub-command. E70 ENTER then I(insert mode) _______(7 spaces) ENTER ENTER I142,2 ENTER 142 _______ADD HL,HL ;*128 144 _______ADD HL,HL ;*256 CAPS SHIFT 1 F150,150,PIP,POP ENTER then the 'S' sub-command. E160 ENTER then X __ ;*257 + 41 ENTER ENTER F160,180,DE,BC ENTER then repeated use of the sub-command 'S'. E210 ENTER C (change mode) T ENTER ENTER N10,10 ENTER to renumber the text.

You are strongly recommended to work through the above example actually using the editor.

6.3.1.4. APPENDIX 1 ERROR NUMBERS AND THEIR MEANINGS.

*ERROR* 1 Error in the context of this line.

*ERROR* 2 Mnemonic not recognized.

*ERROR* 3 Statement badly formed.

Page 121: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 121

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

*ERROR* 4 Symbol defined more than once.

*ERROR* 5 Line contains an illegal character i.e. one which is not valid ina particular context.

*ERROR* 6 One of the operands in this line is illegal.

*ERROR* 7 A symbol in this line is a reserved word.

*ERROR* 8 Mismatch of registers.

*ERROR* 9 Too many registers in this line

*ERROR* 10 An expression that should evaluate to 8 bits evaluates to morethan 8 bits.

*ERROR* 11 The instructions JP (IX+n) and JP (IY+n) are illegal.

*ERROR* 12 Error in the formation of an assembler directive.

*ERROR* 13 Illegal forward reference i.e. an EQUate has been made to a symbolwhich has not yet been defined.

*ERROR* 14 Division by zero.

*ERROR* 15 Overflow in a multiplication operation.

*ERROR* 16 Nested macro definition.

*ERROR* 17 This identifier is not a macro.

*ERROR* 18 Nested macro call.

*ERROR* 19 Nested conditional statement.

Bad ORG! An ORG has been made to an address that would corrupt GENS, itstextfile or the symbol table. Control returns to the editor.

Out of Table Space!Occurs during the first pass if insufficient memory has beenallowed for the symbol table. Control returns immediately to theeditor.

Bad Memory! No room for any more text to be inserted i.e. the end of text isnear the top of RAM. You should save the current textfile or partof it.

6.3.1.5. APPENDIX 2 RESERVED WORDS, MNEMONICS ETC.

The following is a list of the reserved words within GENS. These symbols may not be used as labels although they mayform part of a label. Note that all the reserved words are composed of capital letters.

A B C D E H L I R $

AF AF' BC DE HL IX

IY SP NC Z NZ M

P PE PO

Page 122: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 122

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

There now follows a list of the valid Z80 mnemonics, assembler directives and assembler commands. Note that these alsomust be entered in capital letters.

ADC ADD AND BIT CALL CCF CP CPD CPDR

CPI CPIR CPL DAA DEC DI DJNZ EI EX

EXX HALT IM IN INC IND INDR INI INIR

JP JR LD LDD LDDR LDI LDIR NEG NOP

OR OTDR OTIR OUT OUTD OUTI POP PUSH RES

RET RETI RETN RL RLA RLC RLCA RLD RR

RRA RRC RRCA RRD RST SBC SCF SET SLA

SRA SRL SUB XOR

DEFB DEFM DEFS DEFW ELSE END ENT EQU IF

ORG MAC ENDM

*D *E *H *L *S *C *F *M

6.3.1.6. APPENDIX 3 A WORKED EXAMPLE.

There follows an example of a typical session using GENS3 - if you are a newcomer to the world of assembler programs orif you are simply a little unsure how to use the editor/assembler then we urge you to work through this example carefully.Note that <ENTER> is used to indicate that you should press ENTER on the keyboard.

Session objective:

To write and test a fast integer multiply routine, the text of which is to be saved to tape using the editor's 'T' command sothat it can easily be 'included' from tape in future programs.

Session workplan:

1. Write the multiply routine as a subroutine and save it to tape using the editor's 'P' command so that it can be easilyretrieved and edited during this sessions, should bugs be present.

2. De-bug the multiply subroutine, editing as necessary.

3. Save the de-bugged routine to tape, using the editor's 'T' command so that the routine may be 'included' from tape inother programs.

Before we start we must load GENS3 into the computer - do this by typing LOAD"" CODE 26000 ENTER to load theassembler at address 26000. Now type RANDOMIZE USR 26000 ENTER. You will now be prompted with a '>' sign - youare in editor mode ready to create assembly programs.

Stage 1 - write the integer multiply routine.

We use the editor's 'I' command to insert the text using CAPS SHIFT 8 (the tab character) to obtain a tabulated listing. Wedo not need to use CAPS SHIFT 8, a list of the text will always perform the tabulation for us. We have not indicated wheretabs have been used below but you can assume that they are used before the mnemonic and between the mnemonic and theoperand. Note that the addresses shown in the example assembler listings that follow may not correspond to those producedon your machine; they serve an illustrative purpose only.

>I10,10 <ENTER>

Page 123: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 123

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

10 ; A fast integer multiply <ENTER> 20 ; routine. Multiplies HL <ENTER> 30 ; by DE. Return the result <ENTER> 40 ; in HL. C flag set on an <ENTER> 50 ; overflow. <ENTER> 60 <ENTER> 70 ; ORG #7F00 <ENTER> 80 <ENTER> 90 Mult OR A <ENTER> 100 SBC HL,DE ;HL>DE? <ENTER> 110 ADD HL,DE <ENTER> 120 JR NC,Mu1 ;yes <ENTER> 130 EX DE,HL <ENTER> 140 Mu1 OR D <ENTER> 150 SCF ;overflow if <ENTER> 160 RET NZ ;DE>255 <ENTER> 170 OR E ;times 0? <ENTER> 180 LD E,D <ENTER> 190 JR NZ,MU4 ;no <ENTER> 200 EX DE,HL ;0 <ENTER> 210 RET <ENTER> 220 <ENTER> 230 ;Main routine. <ENTER> 240 <ENTER> 250 Mu2 EX DE,HL <ENTER> 260 ADD HL,DE <ENTER> 270 EX DE,HL <ENTER> 280 Mu3 ADD HL,HL <ENTER> 290 RET C ;overflow <ENTER> 300 Mu4 RRA <ENTER> 310 JR NC,Mu3 <ENTER> 320 OR A <ENTER> 330 JR NZ,Mu2 <ENTER> 340 ADD HL,DE <ENTER> 350 RET <ENTER> 360 CAPS SHIFT 1 >P10,350,Mult <ENTER> >

The above will create the text of the routine and save it to tape. Remember to have your tape recorder running and inRECORD mode before issuing the 'P' command.

Stage 2 - de-bug the routine.

First, let's see if the text assembles correctly. We will use option 6 so that no listing is produced and no object codegenerated.

>A <ENTER> Table size: <ENTER> {default the symbol table size} Options: 6 <ENTER>

*HISOFT GENS3 ASSEMBLER* Copyright Hisoft 1983,84 All Rights Reserved

Pass 1 errors: 00

Pass 2 errors: 00

*WARNING* MU4 absent Table used: 74 from 161

Page 124: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 124

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

>

We see from this assembly that we have made a mistake in line 190 and entered MU4 instead of Mu4 which is the label wewish to branch to. So edit line 190:

>F190,190,MU4,Mu4 <ENTER> 190 JR NZ, {now use the 'S' sub-command} >

Now assemble the text again and you should find that it assembles without errors. So now we must write some code to testthe routine:

>N300,10 <ENTER> {renumber so that we can write some more text} >I10,10 <ENTER> 10 ;Some code to test <ENTER> 20 ;the Mult routine. <ENTER> 30 <ENTER> 40 LD HL,50 <ENTER> 50 LD DE,20 <ENTER> 60 CALL Mult ;Multiply <ENTER> 70 LD A,H ;o/p result <ENTER> 80 CALL Aout <ENTER> 90 LD A,L <ENTER> 100 CALL Aout <ENTER> 110 RET ;Return to editor <ENTER> 120 <ENTER> 130 ;Routine to o/p A in hex <ENTER> 140 <ENTER> 150 Aout PUSH AF <ENTER> 160 RRCA <ENTER> 170 RRCA <ENTER> 180 RRCA <ENTER> 190 RECA <ENTER> 200 CALL Nibble <ENTER> 210 POP AF <ENTER> 220 Nibble AND %1111 <ENTER> 230 ADD A,#90 <ENTER> 240 DAA <ENTER> 250 ADC A,#40 <ENTER> 260 DAA <ENTER> 270 LD IY,#5C3A ; for ROM <ENTER>

280 RST #10 ; ROM call <ENTER> 290 RET <ENTER> 300 CAPS SHIFT 1 >

Now assemble the test routine and the Mult routine together.

>A <ENTER> Table size: <ENTER> Options: 6 <ENTER>

*HISOFT GENS3 ASSEMBLER* Copyright HISOFT 1983,84 All rights reserved

7EAC 190 RECA *ERROR* 02 {hit any key to continue}

Pass 1 errors: 01

Table used: 88 from 210

Page 125: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 125

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

>

We have an error in our routine; RECA should be RRCA in line 190. So:

>E190 190 RECA 190 _______C {enter change mode} R <ENTER> <ENTER>

Now assemble again, using simply option 4 (no list), and then the text should assemble correctly. Assuming it does, we arenow in a position to test the working of our Mult routine so we need to tell the editor where it can execute the code from.We do this with the ENT directive:

>35 ENT $ <ENTER>

Now assemble the text again and the assembly should terminate correctly with the messages:

Table used: 88 from 211 Executes: 32416

>

or something similar. Now we can run our code using the editor's 'R' command. We should expect it to multiply 50 by 20producing 1000 which is #3E8 (in hexadecimal).

>R <ENTER> 0032>

It doesn't work! Why not ? List the lines 380 to 500 (L380,500). You will see that at line 430 the instruction is an OR Dfollowed, effectively, by a RET NZ. What this is doing is a logical OR between the D register and the accumulator A andreturning with an error flag set (the C flag) if the result is non-zero. The object of this is to ensure that DE<256 so that themultiplication does not overflow - it does this by checking that D is zero ... but the OR will only work correctly in this caseif the accumulator A is zero to start with, and we have no guarantee that this is so. We must ensure that A is zero beforedoing the OR D, otherwise we will get unpredictable overflow with the higher number returned as the result. Frominspection of the code we see that the OR A at line 380 could be made into a XOR A thus setting the flags for the SBCHL,DE instruction and setting A to zero. So:

>E380 <ENTER> 380 Mult OR A 380 ________I {enter insert mode}X <ENTER> <ENTER>

Now assemble again (option 4) and run the code, using 'R'. The answer should now be correct - #3E8.

We can further check the routine by editing lines 40 and 50 to multiply different numbers and then assembling and running- you should find that the routine works perfectly.

Now we have perfected the routine we can save it to tape in 'Include' format:

>T300,999,Mult <ENTER>

Remember to start the recorder in RECORD mode before pressing ENTER.Once the routine has been saved like this it may be included in a program as shown below:

500 RET 510 520 ;Include the Mult routine here 530 540 *F Mult 550 560 ;The next routine.

When the above text is assembled the assembler will ask you to 'Start tape...' when it gets to line 540 on both the first andsecond pass. Therefore you should have the Mult dump cued up on the tape in both cases. This will normally mean

Page 126: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 126

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

rewinding the tape after the first pass. You could record two dumps of Mult on the tape, following each other and use onefor the first pass and the other for the second pass.

Please study the above example carefully and try it out for yourself.

6.3.1.7. APPENDIX 4 AN EXTENDED CAT PROGRAM

We present below an assembly listing of a program that produces a CATalogue of a Microdrive cartridge similar to thatproduced by ZX BASIC'S CAT command but with extra information viz.

Type of file:

D - a data or print-type fileP - a BASIC program fileB - a CODE fileS - a string arrayN - a numeric array

Also, for a CODE file, the length and start address are displayed in decimal while, for a program file, the length andautoexecution address are displayed in decimal.

To use the program either type in the hex codes directly (using MONS3 or POKE from BASIC) or use GENS3 to assemblethe source of the program. Note that the program is positioned at 60000 - you may of course change this and re-assemble.

Once the code is in the Spectrum's memory you may execute it from within BASIC or path it into the GENS3 editor.

To use the program from within BASIC, first POKE the Microdrive number that you wish to catalogue into location 60345(assuming that the code starts at 60000) and then RANDOMIZE USR 60000.

To use the catalogue program from within GENS3 you must patch the dummy 'Z' command to jump to the CATaloguecode. To do this patch, load up GENS3 normally and then POKE the address of the extended CATalogue routine + 2 intolocations Start of GENS3 + 7790 and Start of GENS3 + 7791 (low order byte first). For example, say you have loadedGENS3 at 26000 and the extended CATalogue routine is at 60000. Then to effect the patch simply POKE 33790,98 andPOKE 33791,234 and then enter GENS3 in the normal way. You can then use Zn<ENTER> from within the editor toCATalogue drive number n.

Below is the listing of the extended CATalogue program:

Microdrive Extended CATalogue 28 February 1984

1 *H Microdrive Extended CATalogue 28 February 1984 2 *C+ 3 ;Produced with Hisoft's GEN assembler 4 5 ;Copyright Hisoft 1984 6 ;With many thanks to Andre Pennell for his 7 ;Microdrive 'bible'and the Stream 14 routine 8 9 ;Equates 10000D 11 CR EQU 13 120002 13 PRINT EQU 20043 14 RECFLG EQU 67 1515D4 16 WAIT_K EQU #15D41655 17 MAKE_S EQU #1655 185C16 19 STRMS EQU #5C165C3A 20 ERR_NR EQU #5C3A5C4F 21 CHANS EQU #5C4F

Page 127: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 127

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5C53 22 PROG EQU #5C53 235CD6 24 D_STR1 EQU #5CD65CD8 25 S_STR1 EQU #5CD85CDA 26 N_STR1 EQU #5CDA5CDC 27 T_STR1 EQU #5CDC5CE6 28 HD_00 EQU #5CE65CE7 29 HD_0B EQU #5CE75CE9 30 HD_0D EQU #5CE95CEB 31 HD_0F EQU #5CEB5CED 32 HD_11 EQU #5CED 330022 34 OPEN_M EQU #220023 35 CLOSE_ EQU #230031 36 NEWVAR EQU #310032 37 SHADOW EQU #32 38 39 ;For GENS3M2 only. 401C81 41 NUM1of EQU 7297 42 43EA60 44 ORG 60000 45 46 ;BASIC entry point 47EA60 1817 48 JR BasEnt 49 50 ;GENS3M2 entry point 51EA62 E1 52 POP HLEA63 54 53 LD D,HEA64 5D 54 LD E,LEA65 E5 55 PUSH HLEA66 21811C 56 LD HL,NUM 1offEA69 19 57 ADD HL,DEEA6A 7E 58 LD A,(HL)EA6B 23 59 INC HLEA6C B6 60 OR (HL)EA6D 2002 61 JR NZ,NumSetEA6F 3E01 62 LD A,1EA71 E60F 63 NumSet AND %00001111EA73 2600 64 LD H,0EA75 6F 65 LD L,AEA76 22B9EB 66 LD (DRIVE),HL 67 68 ;Initialise 69EA79 210AEC 70 BasEnt LD HL,SPACEEA7C 2208EC 71 LD (POINTER),HLEA7F FD213A5C 72 LD IY,#5C3A 73EA83 21C5EB 74 LD HL,SIGNONEA86 0634 75 LD B,SIGNEND-SIGNONEA88 CD9AEB 76 CALL WRstring 77 78 ;Set upnew channel and attach to Stream 14 79EA8B 2A535C 80 LD HL,(PROG)EA8E 2B 81 DEC HLEA8F E5 82 PUSH HLEA90 010B00 83 LD BC,11EA93 CD5516 84 CALL MAKE_SPACE

Page 128: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 128

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

EA96 2191EB 85 LD HL,CH14outEA99 D1 86 POP DEEA9A D5 87 PUSH DEEA9B EB 88 EX DE,HLEA9C 73 89 LD (HL),EEA9D 23 90 INC HLEA9E 72 91 LD (HL),DEA9F 23 92 INC HLEAA0 EB 93 EX DE,HLEAA1 21FDEB 94 LD HL,C14INFOEAA4 010900 95 LD BC,11-2EAA7 EDB0 96 LDIREAA9 E1 97 POP HLEAAA 23 98 INC HLEAAB ED4B4F5C 99 LD BC,(CHANS)EAAF B7 100 OR AEAB0 ED42 101 SBC HL,BCEAB2 22325C 102 LD (STRMS+28),HL 103 104 ;Now read in bare catalogue 105EAB5 D9 106 EXXEAB6 E5 107 PUSH HLEAB7 D9 108 EXX 109EAB8 CF 110 RST 8EAB9 31 111 DEFB NEWVARS 112EABA 3E0E 113 LD A,14EABC 32D85C 114 LD (S_STR1),AEABF 2AB9EB 115 LD HL,(DRIVE)EAC2 22D65C 116 LD (D_STR1),HLEAC5 2A06EC 117 LD HL,(CAT)EAC8 22ED5C 118 LD (HD_11),HLEACB FB 119 EIEACC CF 120 RST 8EACD 32 121 DEFB SHADOW 122 123 ;Now process bare catalogue 124EACE 210AEC 125 LD HL,SPACEEAD1 060B 126 LD B,11EAD3 CD9AEB 127 CALL WRstringEAD6 060F 128 CatL1 LD B,15EAD8 C5 129 CatLoo PUSH BCEAD9 23 130 INC HLEADA 7E 131 LD A,(HL)EADB FE0D 132 CP CR ;finished?EADD 2879 133 JR Z,CatEndEADF 2B 134 DEC HLEAE0 060B 135 LD B,11EAE2 E5 136 PUSH HLEAE3 CD9AEB 137 CALL WRstringEAE6 E3 138 EX (SP),HLEAE7 23 139 INC HLEAE8 EB 140 EX DE,HLEAE9 21DC5C 141 LD HL,T_STR1EAEC 73 142 LD (HL),EEAED 23 143 INC HLEAEE 72 144 LD (HL),DEAEF 2AB9EB 145 LD HL,(DRIVE)EAF2 22D65C 146 LD (D_STR1),HLEAF5 210A00 147 LD HL,10

Page 129: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 129

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

EAF8 22DA5C 148 LD (N_STR1),HLEAFB FB 149 EIEAFC CF 150 RST 8EAFD 22 151 DEFB OPEN_MEAFE CDB5EB 152 CALL SpaceEB01 DDCB4356 153 BIT PRINT,(IX+RECFLG)EB05 2007 154 JR NZ,NotPrintEB07 3E44 155 LD A,"D"EB09 CDACEB 156 CALL CONOUTEB0C 1841 157 JR CatBackEB0E DDE5 158 NotPri PUSH IXEB10 D1 159 POP DEEB11 215200 160 LD HL,82EB14 19 161 ADD HL,DEEB15 EB 162 EX DE,HLEB16 1A 163 LD A,(DE)EB17 13 164 INC DEEB18 21F9EB 165 LD HL,TYPETABEB1B 4F 166 LD C,AEB1C 0600 167 LD B,0EB1E 09 168 ADD HL,BCEB1F 7E 169 LD A,(HL)EB20 CDACEB 170 CALL CONOUTEB23 CDB5EB 171 CALL SpaceEB26 EB 172 EX DE,HLEB27 79 173 LD A,CEB28 B7 174 OR AEB29 2013 175 JR NZ,NotProgEB2B 23 176 INC HLEB2C 23 177 INC HLEB2D 23 178 INC HLEB2E 23 179 INC HLEB2F 5E 180 LD E,(HL)EB30 23 181 INC HLEB31 56 182 LD D,(HL)EB32 23 183 INC HLEB33 CD66EB 184 CALL DEOUTSEB36 5E 185 LD E,(HL)EB37 23 186 INC HLEB38 56 187 LD D,(HL)EB39 CD66EB 188 CALL DEOUTSEB3C 1811 189 JR CatBackEB3E FE03 190 NotPro CP 3EB40 200D 191 JR NZ,CatBackEB42 5E 192 LD E,(HL)EB43 23 193 INC HLEB44 56 194 LD D,(HL)EB45 23 195 INC HLEB46 CD66EB 196 CALL DEOUTSEB49 5E 197 LD E,(HL)EB4A 23 198 INC HLEB4B 56 199 LD D,(HL)EB4C CD66EB 200 CALL DEOUTSEB4F CF 201 CatBac RST 8EB50 23 202 DEFB CLOSE_MEB51 E1 203 POP HLEB52 C1 204 POP BCEB53 1083 205 DJNZ CatLoopEB55 C3D6EA 206 JP CatL1 207EB58 C1 208 CatEnd POP BCEB59 2B 209 DEC HLEB5A 0605 210 LD B,5

Page 130: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 130

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

EB5C CD9AEB 211 CALL WRstringEB5F D9 212 EXXEB60 E1 213 POP HLEB61 D9 214 EXXEB62 010000 215 LD BC,0EB65 C9 216 RET 217 218 ;OutputDE in decimal 219EB66 E5 220 DEOUTS PUSH HLEB67 DDE5 221 PUSH IXEB69 EB 222 EX DE,HLEB6A 0605 223 LD B,5EB6C DD21BBEB 224 LD IX,TENTABEB70 DD5E00 225 DEloop LD E,(IX)EB73 DD5601 226 LD D,(IX+1)EB76 3EFF 227 LD A,-1EB78 3C 228 TenLoo INC AEB79 B7 229 OR AEB7A ED52 230 SBC HL,DEEB7C 30FA 231 JR NC,TenLoopEB7E 19 232 ADD HL,DEEB7F F630 233 OR #30EB81 CDACEB 234 CALL CONOUTEB84 DD23 235 INC IXEB86 DD23 236 INC IXEB88 10E6 237 DJNZ DEloopEB8A CDB5EB 238 CALL SpaceEB8D DDE1 239 POP IXEB8F E1 240 POP HLEB90 C9 241 RET 242 243 ;Outputfor Stream14 244EB91 2A08EC 245 CH14ou LD HL,(POINTER)EB94 77 246 LD (HL),AEB95 23 247 INC HLEB96 2208EC 248 LD (POINTER),HLEB99 C9 249 RET 250 251 ;Writea string oflength B from (HL) 252EB9A 7E 253 WRstri LD A,(HL)EB9B CDACEB 254 CALL CONOUTEB9E 23 255 INC HLEB9F 10F9 256 DJNZ WRstringEBA1 C9 257 RET 258 259 ;Open a stream 260EBA2 E5 261 ChOpen PUSH HLEBA3 D5 262 PUSH DEEBA4 C5 263 PUSH BCEBA5 CD0116 264 CALL #1601EBA8 C1 265 POP BCEBA9 D1 266 POP DEEBAA E1 267 POP HLEBAB C9 268 RET 269 270 ;Output to stream 2 271EBAC F5 272 CONOUT PUSH AFEBAD 3E02 273 LD A,2

Page 131: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 131

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

EBAF CDA2EB 274 CALL ChOpenEBB2 F1 275 POP AFEBB3 D7 276 RST #10EBB4 C9 277 RET 278 279 ;Output a space to stream 2 280EBB5 3E20 281 Space LD A," "EBB7 18F3 282 JR CONOUT 283 284 285 ;Storage 286EBB9 0100 287 DRIVE DEFW 1 288EBBB 1027E803 289 TENTAB DEFW 10000,1000,100,10,1 290EBC5 0D 291 SIGNON DEFB CREBC6 4869736F 292 DEFM "Hisoft Extended CAT Listing"EBE1 0D 293 DEFB CREBE2 436F7079 294 DEFM "Copyright Hisoft 1984"EBF7 0D0D 295 DEFB CR,CREBF9 296 SIGNEN EQU $ 297EBF9 504E5342 298 TYPETA DEFM "PNSB" 299EBFD C415 300 C14INF DEFW #15C4EBFF 5A 301 DEFB "Z"EC00 28002800 302 DEFW #28,#28,11 303 304 ;*** this value may change with new Interface 1 ROM*** 305EC06 581C 306 CAT DEFW #1C58 *) 307 308 ;***************************************************** 309EC08 310 POINTE DEFS 2EC0A 311 SPACE DEFS 512 312

Pass 2 errors: 00

*) 2nd issue #1C52 *) 3rd issue #1C54

6.3.2. HiSoft MONS3 Programmer's Manual

6.3.2.1. GETTING STARTED

MONS3 is supplied in a relocatable form; you simply load it at the address that you wish it to execute from and then enterMONS3 via that address. If you wish to enter MONS3 again (having returned from MONS3 to BASIC) then you shouldexecute the address at which you originally loaded the debugger.

Example:

Say you want to load MONS3 at address #C000 (49152 decimal) - proceed as follows:

LOAD "MONS3" CODE 49152 <ENTER> RANDOMIZE USR 49152 <ENTER>

Page 132: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 132

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

To enter MONS3 again use:

RANDOMIZE USR 49152 <ENTER>

MONS3 is roughly 5K in length once it has been relocated but you should allow nearer 6K bytes on loading MONS3owing to the table of relocation addresses which comes after the main code. MONS3 contains its own internal stack so thatit is a self-contained programs.

Making a Backup Copy.

Once you have loaded MONS3 into your Spectrum's memory then you can make a backup copy of the package as follows:

SAVE "MONS3" CODE xxxxx,6068 <ENTER> to cassette SAVE *"M";1;"MONS3" CODE xxxxx,6068 <ENTER> to Microdrive

where: xxxxx is the address at which you loaded MONS3.

Please note that we allow you to make a backup copy of MONS3 for your own use so that you can program withconfidence. Please do not copy MONS3 to give (or worse, sell) to your friends, we supply very reasonably priced softwareand a full after-sales support service but if enough people copy our software we shall not be able to continue this; pleasebuy, don't steal.

Once you have entered MONS3 the message '*MONS3 (C) Copyright 1983*' will appear for a few seconds to be replacedby a 'front panel' display (see the Appendix 6.3.2.3 for an example display). This consist of the Z80 registers and flagstogether with their contents plus a 24 byte section of memory centered (using '>' and '<') around the current value of theMemory Pointer which is initially set to address 0. On the top line of the display is a dis-assembly of the instructionaddressed by the Memory Pointer.

On entry to MONS3, all the addresses displayed within the Front Panel are given in hexadecimal format (i.e. to base 16);you can change this so that the addresses are shown in decimal by using the command SYMBOL SHIFT 3 - see then nextsection. Note, however, that addresses must always be entered in hexadecimal. Commands are entered from the keyboardin response to the prompt '>' under the memory display and may be entered in upper or lower case.

Some commands, whose effect might be disastrous if used in error, require you to press SYMBOL SHIFT as well as thecommand letter. Throughout this manual the use of the SYMBOL SHIFT key may be represented by the symbol '^' e.g. ^Zmeans hold the SYMBOL SHIFT and Z key down together.

Comamnds take effect immediately - there is no need to terminate them with <ENTER>. Invalid commands are simplyignored. The entire 'front panel' display is updated after each command is processed so that you can observe any results ofthe particular command.

Many commands require the input of a hexadecimal number - when entering a hexadecimal number you may enter as manyhexadecimal digits (0-9 and A-F or a-f) as you wish and terminate them with any non-hex digit. If the terminator is a validcommand then the command is obeyed after any previous command has been processed. If the terminator is a minus sign '-'then the negative of the hexadecimal number entered is returned - in two's complement form e.g. 1800- gives E800. If youenter more than 4 digits when typing a hexadecimal number then only the last 4 typed are retained and displayed on thescreen.

If, at any stage, you wish to return to the BASIC interpreter from MONS then simply press CAPS SHIFT 1

IMPORTANT NOTE: MONS3 disables interrupts in order to ensure correct functioning - the user should ensure thatinterrupts are not re-enabled during a session with MONS3.

6.3.2.2. THE COMMANDS AVAILABLE.

The following commands are available from within MONS3. In this section, whenever ENTER is used to terminate ahexadecimal number this in fact can be any non-hex character (see Section 6.3.2.1). Also '_' is used to denote a space whereapplicable.

SYMBOL SHIFT 3

Page 133: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 133

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

flip the number base in which addresses are displayed between base 16 (hexadecimal) and base 10 (deanery). On entry toMONS3, addresses are shown in hexadecimal, use ^3 to flip to a decimal display and ^3 again to revert to the hexadecimalformat. This affects all addresses displayed by MONS3 including those generated by the dis-assembler but it does notchange the display of memory contents - this is always given in hexadecimal.

SYMBOL SHIFT 4 or '$'display a page of dis-assembly starting from the address held in the Memory Pointer. Useful to look ahead on your currentposition to see what instructions are coming up. Hit ^4 again to return to the 'Front Panel' display or another key to get afurther page of dis-assembly.

ENTERincrement the Memory Pointer by one so that the 24 byte memory display is now centered around an address one greaterthan it was previously.

CAPS SHIFT 7decrement the Memory Pointer by one.

CAPS SHIFT 5decrement the Memory Pointer by eight - used to step backwards quickly.

CAPS SHIFT 8increment the Memory Pointer by eight - used to step forwards quickly.

',' (comma)update the Memory Pointer so that it contains the address currently on the stack (indicated by SP). This is useful when youwant to look around the return address of a called routine etc.

'G'search memory for a specified string ('G'et a string).You are prompted with a ':' and you should then enter the first byte for which you want to search followed by 'ENTER' -now keep entering subsequent bytes (and 'ENTER') in response to the ':' until you have defined the whole string. Then justpress 'ENTER' in response to the ':', this will terminate the definition of the string and search memory, starting from thecurrent Memory Pointer address, for the first occurrence of the specified string. When the string is found the 'front panel'display will be updated so that the Memory Pointer is positioned at the first character of the string. Example:Say that you wish to search memory, starting from #8000, for occurrences of the pattern #3E #FF (2 bytes) - proceed asfollows;

M:8000 ENTER set the Memory Pointer to #8000 G:3E ENTER define the first byte of the string. FF ENTER define the second byte of the string. ENTER terminate the string.

After the final ENTER (or any non-hex character) 'G' proceeds to search memory from #8000 for the first occurrence of#3E #FF. When found the display is updated - to find subsequent occurrences of the string use 'N' command.

'H'convert a decimal number to its hexadecimal equivalent.You are prompted with ':' to enter a decimal number terminated by any non-digit (i.e. any character other than 0..9inclusive). Once the number has been terminated, an '=' sign is displayed on the same line followed by the hexadecimalequivalent of the decimal number. Now hit any key to return to the command mode.Example:

H:41472_=A200 here a space was used as the terminator.

'I'intelligent copy.This is used to copy a block of memory from one location to another - it is intelligent in that the block of memory may becopied to locations where it would overlap its previous locations.'I' prompts for the inclusive start and end addresses of the block to be copied ('First:', 'Last:') and then for the address towhich the block is to be moved ('To:'); enter hexadecimal numbers in response to each of these prompts. If the start addressis greater than the end address then the command is aborted - otherwise the block is moved as directed.

Page 134: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 134

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

'J'

execute code from a specified address.This command prompts, via ':', for a hexadecimal number - once this is entered the internal stack is reset, the screen clearedand execution transferred to the specified address. If you wish to return to the 'front panel' after executing code then set abreakpoint (see the 'W' command) at the point where you wish to return to the display.

Example:

J:B000 ENTER executes the code starting at #B000

You may abort this command before you terminate the address by using CAPS SHIFT 5. Note that 'J' corrupts the Z80registers before executing the code; thus the machine program should make no assumptions as to the values held in theregisters. If you wish to execute code with the registers set to particular values then you should use the SYMBOL SHIFT Kcommand - see below.

'SYMBOL SHIFT K'continue execution from the address currently held in the Program Counter (PC).This command will probably be used most frequently in conjunction with the 'W' command - an example should help toclarify this usage:

say you are single-stepping (using '^Z') through the code given below and you have reached address #8920. You are nownot interested in stepping through the subroutine at #9000 but wish to see how the flags are set up after the call to thesubroutine at #8800.

891E 3EFF LD A,-1 8920 CD0090 CALL #9000 8923 2A0080 LD HL,(#8000) 8926 7E LD A,(HL) 8927 111488 LD DE,#8814 892A CD0088 CALL #8800 892D 2003 JR NZ,labl 892F 320280 LD (#8002),A 8932 211488 labl LD HL,#8814

Proceed as follows: set a breakpoint, using 'W', at location #892D (remember to use 'M' first to set the Memory Pointer)and then issue a '^K' command. Execution continues from the address held in the PC which, in this case, is #8920.Execution will then continue until the address at which the breakpoint was set (#892D) at which point the display will beupdated and you can inspect the state of flags etc. after the call to the subroutine at #8800. Then you can resume single-stepping through the code.

So '^K' is useful for executing code without first resetting the stack or corrupting the registers as 'J' does.

'L'tabulate, or list, a block of memory starting from the address currently held in the Memory Pointer.'L' clears the screen and displays the hexadecimal representation and ASCII equivalence of the 80 bytes of memory startingfrom the current value of the Memory Pointer. Addresses will be shown in either hexadecimal or decimal depending on thecurrent state of the Front Panel (see ^3 above). The display consists of 20 rows with 4 bytes per row, the ASCII beingshown at the end of each row. For the purposes of the ASCII display any values above 127 are decremented by 128 and anyvalues between 0 an 31 inclusive are shown as '.'.At the end of a page of the list you have the option of returning to the main 'front panel' display by pressing CAPS SHIFT 5or continuing with the next page of 80 bytes by pressing any other key (other than CAPS SHIFT 1).

'M'set the Memory Pointer to a specified address.You are prompted with ':' to enter a hexadecimal address (see Section 6.3.2.1). The Memory Pointer is then updated withthe address entered and the memory display of the 'front panel' changes accordingly.M is useful as a prelude to entering code, tabulating memory etc.

'N'find the next occurrence of the hex string last specified by the 'G' command.

Page 135: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 135

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

'G' allows you to define a string and then searches for the first occurrence of it; if you want further occurrences of the stringthen use 'N'.'N' begins searching from the Memory Pointer and updates the memory display when the next occurrence of the string isfound.

'O'go to the destination of a relative displacement.The command takes the byte currently addressed by the Memory Pointer, treats it as a relative displacement and updates thememory display accordingly.

Example:

Say the Memory Pointer is set to #6800 and that the contents of locations #67FF and #6800 are #20 and #16 respectively -this could be interpreted as a JR NZ, $+24 instruction. To find out where this branch would go on a Non-Zero conditionsimply press 'O' when the Memory Pointer is addressing the displacement byte #16. The display will then update to centrearound #6817, the required destination of the branch.

Remember that relative displacements of greater then #7F (127) are treated as negative by the Z80 processor; 'O' takes thisinto account.See also the 'U' command in connection with 'O'.

'P'fill memory between specified limits with a specified byte.'P' prompts for 'First:', 'Last:' and 'With:'. Enter hexadecimal numbers in response to these prompts; respectively, the startand end addresses (inclusive) of the block that you wish to fill and the byte with which you want to fill the block ofmemory.Example:

P First: 7000 ENTER Last: 77FF ENTER With: 55 ENTER

will fill locations #7000 to #7FF (inclusive) with the byte #55 ('U').

If the start address is greater than the end address then 'P' will be aborted.

'Q'flip register sets.On entry to the 'front panel' display the set of registers displayed is the standard register set (AF, HL, DE, BC). The use of'Q' will display the alternate register set (AF', HL', DE', BC') which is distinguished from the standard set by the singlequote "'" after the register name.If 'Q' is used when the alternate register set is displayed then the standard set will be shown.

'SYMBOL SHIFT T'set a breakpoint after the current instruction and continue execution.

Example:

9000 B7 OR A 9001 C20098 CALL NZ,#9800 9004 010000 LD BC,0

9008 21FFFF LD HL,-1

You are single-stepping the above code and have reached #9001 with a non-zero value in register A, thus the zero flag willbe in a NZ state after the OR A instruction. If you now use '^Z' to continue single-stepping then execution will continue ataddress #9800, the address of the subroutine. If you do not wish to single-step through this routine then issue the ^Tcommand when at address #9001 and the CALL will be obeyed automatically and execution stopped at address #9004 foryou to continue single-stepping.Remember, ^T sets a breakpoint after the current instruction and then issues a ^K command.See the '^Z' command for an extended example of single-stepping.

Page 136: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 136

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

'T'dis-assemble a block of code, optionally to the printer.

You are first prompted to enter the 'First:' and 'Last:' addresses of the code that you wish to dis-assemble - enter these inhexadecimal as detailed in Section 6.3.2.1. If the start address is greater than the end address then the command is aborted.After entering these addresses you will be prompted with 'Printer?'; answer 'Y' (capital 'Y' only) to direct the dis-assemblyto your printer stream or any other value to send output to the screen.Now you are prompted with 'Text:' to enter, in hexadecimal, the start address of any textfile that you wish the dis-assemblerto produce. If you do not want a textfile to be generated then simply press ENTER after this prompt. If you specify anaddress then a textfile of the dis-assembly will be produced, starting at that address, in a form suitable for use by GENS3. Ifyou want to use a textfile with GENS3 then you must either generate it at, or move it to, the first address given by theassembler editor's 'X' command because this is the address of the start of the text expected by GENS3. You must also tellGENS3 where the end of the textfile is; do this by taking the 'End of text' address given by the dis-assembler (see below)and patching it into the TEXTEND location of GENS3 - see the GENS3 manual, Section 6.3.1.3.2. Then you must enterGENS3 by the warm start entry point, to preserve the text.If, at any stage when you are generating a textfile, the text would overwrite MONS3 then the dis-assembly is aborted -press any key to return to the Front Panel.If you specified a textfile address you are now asked to specify a 'Workspace:' address - this should be the start of a sparearea of memory which is used as a primitive symbol table for any labels generated by the dis-assembler. The amount ofmemory needed is 2 bytes for each label generated. If you default by simply hitting ENTER then an address of #6000 (hex)is assumed.After this, you are asked repeatedly for the 'First:' and 'Last:' (inclusive) addresses of any data areas that exist within theblock that you wish to dis-assemble. Data areas are areas of, say, text that you do not wish to be interpreted as Z80instructions - instead these data areas cause DEFB assembler directives to be generated by the dis-assembler. If the value ofthe ASCII interpretation of the byte is given e.g. #41 is changed to 'A' after a DEFB. When you have finished specifyingdata areas, or if you do not wish to specify any, simply type ENTER in response to both prompts. The 'T' command uses anarea at the end of MONS3 to store the data area addresses and so you may set as many data areas as there is memoryavailable; each data area requires 4 bytes of storage. Note that using 'T' destroys any breakpoints that were previously set -see the 'W' command.The screen will now be cleared. If you asked for a textfile to be created then there will be a short delay (depending on howlarge a section of memory you wish to be dis-assembled) while the symbol table is constructed. This having been done, thedis-assembly listing will appear on the screen or printer - you may pause the listing at the end of a line by hitting ENTER orSPACE, subsequently hit CAPS SHIFT 5 to return to the 'front panel' display or any other key (except CAPS SHIFT 1) tocontinue the dis-assembly. If an invalid opcode is encountered then it is disassembled as NOP and flagged with an asterisk'*' after the opcode in the listing.At the end of the dis-assembly the display will pause and, if you have asked for a textfile to be produced, the message 'Endof text xxxxx' will be displayed; xxxxx is the address (in hexadecimal or decimal) that should be POKEd (low order bytefirst) into the GENS3 location TEXTEND in order that the assembler can pick up this dis-assembled textfile on a warmstart. When the dis-assembly has finished, press any key to return to the 'front panel' display, apart from CAPS SHIFT 1which will return you to BASIC.Labels are generated, where relevant (e.g. in C30078), in the form LXXXX where 'XXXX' is the absolute hex address ofthe label, but only if the address concerned is within the limits of the dis-assembly. If the address lies outside this rangethen a label is not generated, simply the hexadecimal or decimal address is given. For example, if we were dis-assemblingbetween #7000 and #8000, then the instruction C30078 would be dis-assembled as JP L7800; on the other hand, if we werebe disassembled as JP #7800 or JP 30720 if a decimal display is being used. If a particular address has been referenced inan instruction within the dis-assembly then its label will appear in the label field (before the mnemonic) of the dis-assemblyof the instruction at that address but only if the listing is directed to a textfile. Example:

T First:8B ENTER Last:9E ENTER Printer?Y Text: ENTER First:95 ENTER Last:9E ENTER First: ENTER Last: ENTER

008B FE16 CP #16 008D 3801 JR C,L0090 008F 23 INC HL

Page 137: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 137

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

0090 37 SCF 0091 225D5C LD (#5C5D),HL 0094 C9 RET 0095 BF524E DEFB #BF,"R","N" 0098 C4494E DEFB #C4,"I","N" 009B 4B4559 DEFB "K","E","Y" 009e A4 DEFB #A4

'U'used in conjunction with the 'O' command.Remember that 'O' updates the memory display according to a relative displacement i.e. it shows the effect of a JR or DJNZinstruction. 'U' is used to update the memory display back to where the last 'O' was issued. Example:

7200 47 71F3 77 7201 20 71F4 C9 >7202 F2< >71F5 F5< 7203 06 71F6 C5 display 1 display 2

You are on display 1 and wish to know where the relative jump 20 F2 branches. So you press 'O' and the memory displayupdates to display 2. Now you investigate the code following #71F5 for a while and then wish to return to the codefollowing the original relative jump in order to see what happens if the zero flag is set. So press 'U' and the memory displaywill return to display 1. Note that you can only use 'U' to return to the last occurrence of the 'O' command, all previous usesof 'O' are lost.

'V'used in conjunction with the 'X' command.'V' is similar to the 'U' command in effect except that it updates the memory display to where it was before the last 'X'command was issued.Example:

8702 AF 842D 18 8703 CD 842E A2 >8704 2F< >842F E5< 8705 44 8430 21 display 1 display 2

You are on display 1 and wish to look at the subroutine at #842F. So you press 'X' with the display centered as shown; thememory display then updates to display 2. You look at this routine for a while and then wish to return to the code after theoriginal call to the subroutine. So press 'V' and display 1 will reappear. As with 'U' you can use this command only to reachthe address at which the last 'X' command was issued, all previous addresses at which 'X' was used are lost.

'W'sets a breakpoint at the Memory Pointer.A 'breakpoint', as far as MONS3 is concerned, is simply a CALL instruction into a routine within MONS3 that displays the'front panel' thus enabling the programmer to halt the execution of a program and inspect the Z80 registers, flags and anyrelevant memory locations. Thus, if you wish to halt the execution of a program at #9876, say, then use the 'M' command toset the Memory Pointer to #9876 and then use 'W' to set a breakpoint at that address. The 3 bytes of code that wereoriginally at #9876 are saved and then replaced with a call instruction that halts the execution when obeyed. When thisCALL instruction is reached it causes the original 3 bytes to be replaced at #9876 and the 'front panel' to be displayed withall the registers and flags in the state they were just before the breakpoint was executed. You can now use any of thefacilities of MONS3 in the usual way.Notes: When the breakpoint is encountered, MONS3 will emit a short tone through the Spectrum's speaker and wait for youto hit a key before returning to the Front Panel.MONS3 uses the area, at the end of itself, that originally contained the relocation addresses in order to store breakpointinformation. This means that you may set as many breakpoints as there is memory available; each breakpoint requires 5bytes of storage. When a breakpoint is executed MONS3 will automatically restore that memory contents that existed priorto the setting of that breakpoint. Note that, since the 'T' command also uses this area, all breakpoints are lost when the 'T'command is used. Breakpoints can only be set in RAM. Since a breakpoint consists of a 3 bytes CALL instruction a certainamount of care must be exercised in certain exceptional cases e.g. consider the code:

Page 138: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 138

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

8000 3E 8008 00 8001 01 8009 00 8002 18 800A 06 8003 06 800B 02 >8004 AF< >800C 18< 8005 0E 800D F7 8006 FF 800E 06 8007 01 800F 44

If you set a breakpoint at #8004 and then begin execution of the code from location #8000 then register A will be loadedwith the value 1, execution transferred to #800A, register B loaded with the value 2 and execution transferred to location#8005. But #8005 has been overwritten with the low byte of the breakpoint call and thus we now have corrupted code andunpredictable results will occur. This type of situation is rather unusual but you must attempt to guard against it - in thiscase single-stepping the code would provide the answer; see the '^Z' command below for a detailed example of single-stepping.

'X'used to update the Memory Pointer with the destination of an absolute CALL or JP instruction.'X' takes the 16 bits address specified by the byte at the Memory Pointer and the byte at the Memory Pointer +1 and thenupdates the memory display so that it is centered around that address. Remember that the low order half of the address isspecified by the first byte and the high order half of the address is given by the second byte - Intel format. Example:

say you wish to look at the routine that the code CD0563 calls; set the Memory Pointer (using 'M') so that it addresses the05 within the CALL instruction and then press 'X'. The memory display will be updated so that it is centered aroundlocation #6305.

See also the 'V' command in connection with 'X'.

'Y'enter ASCII from the Memory Pointer.'Y' gives you a new line on which you can enter ASCII characters directly from the keyboard. These characters are echoedand their hexadecimal equivalents are entered into memory starting from the current value of the Memory Pointer. Thestring of characters should be terminated by CAPS SHIFT 5 and DELETE (CAPS SHIFT 0) may be used to deletecharacters from the string. When you have finished entering the ASCII characters (and typed CAPS SHIFT 5) then thedisplay is updated so that the Memory Pointer is positioned just after the end of the string as it was entered into memory.

'SYMBOL SHIFT Z'single-stepPrior to the use of '^Z' (or '^T') both the Program Counter (PC) must be set to the address of the instruction that you wish toexecute.'^Z' simply executes the current instruction and then updates the 'front panel' to reflect the changes caused by the executedinstruction.Note that you can single-step anywhere in the memory map (RAM or ROM) but that you should ensure that interrupts arenot enabled at any time.You cannot single-step the Interface 1 ROM.There now follows an extended example which should clarify the use of many of the debugging commands available withinMONS3 - you are urged to study it carefully and try it out for yourself.Let us assume that we have 3 sections of code shown on the next page in the machine, the first section is the main programwhich loads HL and DE with numbers and then calls a routine to multiply them together (the second section) with the resultin HL and finally calls a routine twice to output the result of the multiplication to the screen (third section).

7080 2A0072 LD HL,(#7200) ; SECTION 1 7083 ED5B0272 LD DE,(#7202) 7087 CD0071 CALL Mult 708A 7C LD A,H 708B CD1D71 CALL Aout 708E 7D LD A,L 708F CD1D71 CALL Aout 7092 210000 LD HL,0 . . .

Page 139: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 139

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

7100 AF Mult OR A ; SECTION 2 7101 ED52 SBC HL,DE 7103 19 ADD HL,DE 7104 3001 JR NC,Mu1 7106 EB EX DE,HL 7107 B2 Mu1 OR D 7108 37 SCF 7109 C0 RET NZ 710A B3 OR E 710B 5A LD E,D 710C 2007 JR NZ,MU4 710E EB EX DE,HL 710F C9 RET 7110 EB Mu2 EX DE,HL 7111 19 ADD HL,DE 7112 EB EX DE,HL 7113 29 Mu3 ADD HL,HL 7114 D8 RET C 7115 1F Mu4 RRA 7116 30FB JR NC,Mu3 7118 B7 OR A 7119 20F5 JR NZ,Mu2 711B 19 ADD HL,DE 711C C9 RET

711D F5 Aout PUSH AF 711E 0F RRCA 711F 0F RRCA 7120 0F RRCA 7121 0F RECA 7122 CD2671 CALL Nibble 7125 F1 POP AF 7126 E60F Nibble AND %1111 7128 C690 ADD A,#90 712A 27 DAA 712B CE40 ADC A,#40 712D 27 DAA 712E FD213A5C LD IY,#5C3A 7132 D7 RST #10 7133 C9 RET . . 7200 1B2A DEFW 10779 7202 0300 DEFW 3

Now we wish to investigate the above code either to see if it works or maybe how it works. We can do this with thefollowing set of commands - it should be noted that this is merely one way of stepping through the code, it is notnecessarily efficient but should serve to demonstrate single stepping:

M:7080 ENTER set Memory Pointer to #7080 7080. set Program Counter to #7080 ^Z single step. ^Z single step. ^Z follow the CALL. M:7115 ENTER skip the pre-processing of the numbers. W set a breakpoint. ^K continue execution from #7100 up to breakpoint. ^Z single step. ^Z follow the relative jump. ^Z single step. ^Z " ^Z " ^Z "

Page 140: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 140

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

^Z " ^Z " ^Z " ^Z return from multiply routine. ^Z single step. ^Z follow the CALL. M:7128 ENTER set Memory Pointer to interesting bit. ^K continue execution from #711D to breakpoint. ^Z single step. ^Z " ^Z " ^Z " , have a look at the return address. W set breakpoint there ^K and continue. ^Z single step. , return from Aout routine W ^K ^Z single step. ^T obey the whole CALL to Aout.

Please do work through the above example, first typing in the code of the routines (see 'Modifying Memory' below), orusing GENS3, and then obeying the commands detailed above. You will find the example invaluable as an aid tounderstanding how to trace a path through a program.

'"' SYMBOL SHIFT Pthis command is exactly the same as the 'L'ist command except that the output goes to the printer stream instead of to thescreen. Remember that, at the end of a page, you press CAPS SHIFT 5 to return to the 'front panel' or any other key (exceptCAPS SHIFT 1) to get another page.

Modifying Memory.The contents of the address given by the Memory Pointer may be modified by entering a hexadecimal number followed bya terminator (see Section 6.3.2.1). The two least significant hex digits (if only one digit is entered then it is padded to theleft with a zero) are entered into the location currently addressed by the Memory Pointer and then the command (if any)specified by the terminator is obeyed. If the terminator is not a valid command then it is ignored.Examples:

F2 ENTER #F2 is entered and the Memory Pointer advanced by 1. 123 CAP SHIFT 8 #23 is entered and the Memory Pointer advanced by 8. EM:E00_ #0E is entered at the current Memory Pointer and then the Memory Pointer is updated to #E00. Notice that a space ('_') has been used to terminate the 'M' command here. 8CO #8C is entered and the Memory Pointer is updated (because of the use of the 'O' command) to the destination of the relative offset #8C i.e. to its current value - 115. 2A5D_ #5D is entered and the Memory Pointer is not changed since the terminator is a space, not a command.

Modifying Registers.If a hexadecimal number is entered in response to the '>' prompt and is terminated by a period, '.', then the number specifiedwill be entered into the Z80 register currently addressed by the right arrow '>'.On entry to MONS3 '>' points to the program Counter (PC) and so using '.' as a terminator to a hex number initially willmodify the program counter. Should you wish to modify any other register then use '.' by itself (not as a terminator) and thepointer '>' will cycle round the registers PC to AF. Note that is is not possible to address (and thus change) either the StackPointer (SP) or the IR registers.

Examples:

Assume that the register pointer '>' is initially addressing the PC.

Page 141: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 141

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

. point to IY. . point to IX. 0. set IX to zero. . point to HL. 123 set HL to #123. . point to DE. . point to BC. E2A7 set BC to E2A7. . point to AF. FF00. set A to #FF and reset all the flags. . point to PC. 8000. set the PC to #8000

Note that '.' can also be used to modify the alternate register set if this is displayed. Use to 'Q' command to flip the displayof the register sets.

6.3.2.3. APPENDIX AN EXAMPLE FRONT PANEL DISPLAY

710C 2007 JR NZ,#7115 >PC 710C 20 07 EB C9 EB 19 EB SP D0AF 8A 70 06 03 0A 03 0D IY CF6A 0D 11 0C 0F 09 18 18 IX D09F 04 03 04 00 00 00 1B HL 2A1B DF FE 29 28 02 CF 02 DE 0000 F3 AF 11 FF FF C3 CB BC 0004 FF C3 CB 11 2A 5D 5C AF 0304 V IR 3F7C

7100 AF 7108 37 7110 EB 7101 ED 7109 C0 7111 19 7102 52 710A B3 7112 EB 7103 19 710B 5A 7113 29 7104 30 >710C 20< 7114 D8 7105 01 710D 07 7115 1F 7106 EB 710E EB 7116 30 7107 B2 710F C9 7117 FB >

Shown above is a fairly typical 'front panel' display - the display is one actually obtained while single-stepping the Multroutine given in the example of the 'Z' command.

The first 9 lines of the display contain the Z80 registers; the name of the register first (PC to IR), then (for PC to BC) thevalue presently held in the register and finally the contents of the 7 memory locations starting from the address held in theregister. The Flag register is decoded to show the flags currently set in the bit order that they are used within the register - ifthe Flag register was set to #FF then the display following AF would look like 00FF SZ H VNC i.e. the sign, zero, half-carry, parity/overflow, add/subtract and carry flags are all set.

A register pointer '>' points to the register currently addressed; see Section 6.3.2.2 - Modifying Registers.

The 24 byte memory display below the register display is organized as the address (2 bytes, 4 characters) followed by thecontents (1 byte, 2 characters) of the memory at that address. The display is centered around the current Memory Pointervalue, indicated by '> <'.

Commands (see Section 6.3.2.2) are entered on the bottom line of the screen in response to the prompt '>'. The display isupdated after each command is processed.

Page 142: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 142

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.4. Introduction to Z80 AssemblerWritten by James Hollidge7

ForewordThe Z80 is one of the most popular microprocessors of the 80's having been used in many homecomputers systems of that era. This document will give an introduction to all aspects of the Z80assuming no knowledge of programming.This guide is only intended as an introduction to the concepts and language of machine code andassembler - it doesn't give a complete examination of the instruction set nor does it attempt to deal withthe particulars of any one Z80 system. However I will be covering that sort of stuff in my next Z80article when I deal with the actual specific Spectrum stuff and some more of the instructions that areonly useful in context.

ContentsBinary vs Decimal vs HexadecimalThe Registers, Memory and Machine Language vs AssemblerAddition and SubtractionBit ManipulationProgram Flow, more on Flags and The StackMemory Manipulation

6.4.1. Binary vs Decimal vs Hexadecimal

The way we count things in every day life is based on the number ten. This is an arabic convention thathas been widely adopted by the west. However it's not the only way of counting things. Ancientcultures have used systems based on 5, 12 and even 60. Computers use a counting system based on 2.Why ? Quite simply it's for electronic simplicity - it is far easier to determine whether something is on(1) or off (0) (known as digital) than if it is at a range of voltages (known as analogue).It's really very easy to work with binary. In decimal each extra digit represents numbers ten timesgreater than the last digit. For example take 55. The first 5 represents 5 tens, the second 5 represents 5ones. The first digit hence represents numbers ten times larger than the second. In 555 the first digitrepresents 5 hundreds, the second 5 tens and the third 5 ones. The first digit represents numbers tentimes bigger than the second, in turn ten times bigger than the third. The magnitude of the digits are10x10x1, 10x1, 1. For thousands the magnitude of the digits is 10x10x10x1 and so on. Each extra digitis worth ten times more the last. Why do we work in these columns ? Well when we get to 9 in onecolumn then adding 1 will produce a number too large to represent (we can only represent0,1,2,3,4,5,6,7,8 and 9). Unless we invent a symbol for each number we have to show the numberslarger than 9 in a different way. We do this by creating a column of digits that do this, the tens. Hencewhen we add 1 to 9 we write 10 to show there's one 10 and zero 1s.Binary works in the same way except as we only have two digits we have to represent the 2's in adifferent way ; by adding an extra column. For example when we add 1 to 1 we add an extra column ofdigits to represent the 2 leaving us with a number 10 in binary: 1 two and 0 ones. Each extra digit (ormore correctly bit, for binary digit) we add represents numbers twice as large as the last bit. Hence:1=1, 1x2=2, 1x2x2=4, 1x2x2x2=8, 1x2x2x2x2=16 etc....

The Z80 is an 8 bit system which means it uses 8 bits to represent its numbers, which can look likethis:76543210 - Bit Number01001000 - Binary Number

Page 143: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 143

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Now to convert this to decimal we take each bit that is set (1) and look at it's bit number (shown abovethe binary number), take 2 to the power of that number and add it to the total. (Taking a power of anumber says take that number and multiply it by itself a number of times, 2 to the power of 2 (or 2^2)is the same as 2x2x1 or 4).2^6 (2x2x2x2x2x2x1 = 64 ) + 2^3 (2x2x2x1 = 8 ) = 64 + 8 = 72The maximum value we can represent with 8 bits is therefore 2^0 + 2^1 + 2^2 + 2^3 + 2^4 + 2^5 +2^6 + 2^7 = 255, practice your binary mathematics as it's going to be essential here.

Now alongside binary in computing we use hexadecimal, a number system based on 16. So this timeeach digit we write represents 16 times the magnitude of the last digit. We use the letters A to F torepresent the number 10 to 15 in decimal.So a hexadecimal number like A5 would be 10 x 16 + 5 in decimal or 165. However hexadecimal isfar more useful when converting binary because it just so happens that because 16 is a power of 2(2^4) that conversion between these number systems is very straightforward. All we need do is takeeach group of four bits in the number and replace them with the hexadecimal equivalent. Why doesthis work ? Well each group of four bits can represent 16 different numbers and each hexadecimaldigit can represent 16 different numbers. For example:7654321011101101

The first four bits (0-3) are 2^3 + 2^2 + 2^0 = 13 which is D, the second four bits (4-7) are 2^3 + 2^2 +2^1 = 14 which is E. Hence this number is ED in hexadecimal (and 14x16 + 13 = 237 in decimal). Asyou might see hexadecimal is very much more convenient for writing binary numbers down quicklywithout having to think too much about conversion as going back from hexadecimal is just as easy:you simply replace each digit with it's equivalent binary number. For example C9 would become 12and 9, or 1100 and 1001: 11001001 or 201. Hexadecimal makes working with binary a bit easier andconverting to decimal a bit more straightforward. If you can, learn the first 16 binary numbers so youcan convert quickly:

Binary Decimal Hexadecimal0000 0 00001 1 10010 2 20011 3 30100 4 40101 5 50110 6 60111 7 71000 8 81001 9 91010 10 A1011 11 B1100 12 C1101 13 D1110 14 E1111 15 F

In this article b, d and h after a number represent binary, decimal and hexadecimal respectively, ifthere is any possibility of misinterpretation.

Page 144: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 144

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.4.2. The Registers, Memory and Machine Language vs Assembler

The Z80 stores it's numbers and does all its math's (most of the time) using registers - these are a set of8 bit numbers that are stored internally (actually it's a bit more complicated by we'll get to that in a bit).At the moment we'll deal with the registers you'll going to use pretty much all the time. They areA,B,C,D,E,F,H,L and A',B',C',D',E',F',H',L'.

Each register stores an 8 bit number (that's 0-255). A and F are special registers. A is known as theaccumulator. It does most of the math's work. F is known as the flag register. It works a bit differentlyto other registers in that it's purpose is to store the results of other operations depending on whetherthey are zero, negative, carry etc... but that'll be covered more later. The registers B,C,D,E,H and L area set of general purpose registers and can also be used in pairs to form 16 bit numbers (which canrepresent numbers up to 65535, test your binary understanding to figure out why). The valid pairs areBC, DE and HL.

The other registers are known as shadow registers, They can't be accessed directly but instead can beswapped around with the normal registers. They are incredibly useful for temporarily storing values.The way we load values into these registers is by way of the LD instruction, which is short for load.For example LD A,0 will load A with 0. LD BC,0 will load B and C with 0. LD A,B will load A withB and so on. There are many forms of LD but you can't do things like LD HL,BC.

Now back to shadow registers. We access those using the exchange instructions. EXX will swap BCwith B'C', DE with D'E' and HL with H'L'. EX AF,AF' will swap A with A' and F with F'. You won'tsee them for awhile but you should know about them.

In addition to those exchange instructions there are a few others, EX DE,HL will swap DE with HL.You'll see its uses later. The other instructions you need not know about for now.

Before we actually move on to assembler proper you should also know about machine language.Assembler is basically one step away from machine language. The Z80 gets instructions from thememory as numbers. Assembler is the english representation of these numbers. Machine language ormachine code is the numbers represented by the assembler. So to clarify when we write an instructionLD A,0 the Z80 reads 3E 00. 3E is the opcode or machine code and 00 is the operand, or the value thattells LD A,number what number to load. For the most part we don't need to concern ourselves withthese numbers but for advanced code we can use the knowledge of these opcodes to manipulate thememory and actually alter the operation of a program by altering the opcodes stored !

Now for those of you wondering what memory is exactly it's best thought of as a huge storage area. Itstores opcodes and data side by side. The Z80 doesn't understand the difference so you need to lookafter it and make sure you don't try to execute graphic data or display program code ! The Z80 uses a16 bit register called PC, or program counter, to keep track of where it's getting instructions from. As16 bit numbers can represent 65536 different numbers the Z80 can access 65536 different memorylocations to execute code. Each memory location stores an 8 bit number or byte, giving 65536 bytes ofmemory or 64 kilobytes (a kilobyte being 1024 bytes) or 64 kb. You'll see more about PC later but fornow all you need to understand is that memory stores all the information the Z80 can use and it'swhere we place instructions and data so we can make a computer useful !

Page 145: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 145

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.4.3. Addition and Subtraction

Now we are actually getting somewhere. Addition and subtraction are the most basic mathematicaltools available to the Z80 and you'll probably use them a lot.Addition in binary works the same way as in decimal. We add the ones, twos, fours etc... together andwrite down the result for each column, carrying to the next if it's too large. For example:

00000110 00000011+ 00001001 Result0 00001100 Carry

The carry is treated as a third number to add. If the result of the addition of one column of bits is toolarge to fit into one column (i.e. if both bits are 1) then we place a 1 in the carry in the next column andinclude that in the next addition. The carry usually starts with a zero in the first (rightmost) column.

Now what if we add up two values with a result greater than 255 ?

11111111 11111111+ 11111110 Result1 11111110 Carry

Or 255+255 = 254 ?!? No, in fact we use the F register to store the extra carry in one of its bits,strangely enough called the CARRY bit, or flag. The CARRY bit in essence represents 256, makingthe result of the addition 510. There's more on the carry flag later.

Now, when we do subtraction we do things in a slightly different way. The way negative numbers arerepresented is though a system called 'twos complement'. The reason it is called a complement is thatwe represent negative numbers by inverting each bit of a positive number. It's twos complementbecause we then add one to this inversion (ones complement). Why twos complement ? Well, it's quitesimple really.

Inverting all the bits to form ones complement seems a reasonable way to represent negative numbers,if we have 00001011, or 11, -11 is simply 11110100. Obviously this means numbers above 127 will benegative (01111111 is 127, thus -127 is 10000000, or 128 in positive representations). However lookat zero. If we invert the bits in zero we get 11111111 for -0 ! As there is no positive or negative sensefor zero clearly we have a problem here. We get around this in twos complement by adding 1.11111111 + 1 = 0 plus a carry out - which we ignore. 00001011 will now be 11110100 + 1, or11110101. We now have a range from -128, 10000000, to +127 01111111. The leftmost (or mostsignificant bit) thus determines whether or not the number is negative or positive.

Twos complement also makes subtraction easy - as adding two numbers represented in twoscomplement together will always give the right result. For example, 11111111 + 00000001 (-1 + 1),which we've already seen equals zero as expected. In ones complement we'd have 11111110 +00000001 - which is 11111111 and still right as we have two zeros. If we went on to add 1 twoscomplement would give us the correct answer but ones complement would not. - it would remain zero- positive zero ! The Z80 cannot know whether or not a number is positive or signed in this system andhandle the two zeros correctly for subsequent instructions.

Page 146: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 146

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Hence due to the fact ones complement has two zeros and would make the Z80 work harder we usetwos complement to perform subtraction - always treating both numbers as twos complement.Here we can do 100 - 10 by adding 100 and 10 in twos complement.

01100100 100 11110110 + -10 01011010 Result 901 11001000 Carry

What about something like 255 - 128 ? -128 doesn't have a positive representation in twoscomplement. Well the Z80 doesn't make the distinction between twos complement and unsignednumbers so what we're actually doing is -1 + 128 which is still 127. So when adding 255 + 128 this isalso -1 + 128 and again gives us 127. So 128 is treated as both positive and negative at the same time -it's the context with which you use it that gives it a sign.

In essence don't worry about the way the Z80 actually performs the operation - (you won't get the carryworking as it does here with subtraction for example) - it'll always give the correct answer whensubtracting or adding. What you as a programmer need to worry about is whether or not you treat thenumber as signed or unsigned.There are four flags which will help you working with addition and subtraction operations:

The carry flag you have met. It will be set if an addition has a result greater than 255 or a subtractionhas a result less than 0.The sign flag will be set if an operation on a register leaves a negative result (i.e. bit 7 is set).The parity/overflow flag - which has two uses; the parity part we'll see later. In dealing with additionand subtraction an overflow occurs if an operation causes a result larger than can be represented intwos complement, i.e. something less than -128 or more than 127. So 127 + 1 or -128 - 1 would bothcause overflows.Finally there is the zero flag which is set if an operation results in a zero result - no surprises there.

Along with carry flag these flags are helpful in dealing with the results of operations as will be seenlater.

The instructions for carrying out these operations are ADD and SUB, no prizes for guessing what theydo. For example:LD A,23LD B,100LD C,53ADD A,BSUB C

Would leave A with 70, sign unset, carry.

ADD A, can work with any of the normal registers (excluding F of course) or an 8 bit number, soADD A,D or ADD A,65 are fine. ADD A,HL or ADD A,1000 are invalid.

SUB works in pretty much the same way, with any of the normal registers or an 8 bit number but notwith pairs or numbers larger than 255.

However, ADD can also work with register pairs. There are three ADD HL, instructions that workwith BC, DE or HL. SUB cannot do this however, it's always A take away another number and hencethe reason why A is not mentioned in the SUB C operation in the above example. Note that when

Page 147: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 147

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

adding register pairs if carry is set it will represent 65536 (use your understanding of binary to figureout why).

As seen above these operations can often produce a result that leads to carry being set. In this casethere are two further instructions that take heed of this, ADC and SBC, or add with carry and subtractwith carry.

ADC will treat the carry as 1, hence if carry is set ADC A,0 will actually add 1, not 0. SBC worksagain in basically the same way, treating carry as 1. So SBC A,0 with carry set will subtract 1. Noticethat SBC is written with A, like ADD and ADC.This is because SBC has some 16 bit subtraction instructions: SBC HL, and any valid register pair.Remember EX DE,HL ? Well say instead of HL-DE you want to do DE-HL. Using EX DE,HL SBCHL,DE EX DE,HL will achieve this. Very useful.

There's one final subtraction instruction you should know about, NEG. NEG is short for negate andperforms 0-A. In effect it will convert twos complement number from positive to negative. Forexample if A is 1 NEG will be FF, or -1. If A is FF NEG will be 1 or +1. Remember however thatNEG 128 will be.

There are two final instructions for addition and subtraction which are very useful indeed. They areINC and DEC and stand for increment and decrement. These basically add 1 or take away 1. You'llfind yourself using them all the time as they are much more convenient than the above instructions.They work on any valid register pair or single register. Both instructions completely ignore the carryflag and won't affect it at all. When you get to 255 or 65535 and increment you get zero, if you're atzero and decrement you get 255 or 65535. Carry plays no part at all.

6.4.4. Bit Manipulation

Beyond addition and subtraction there are numerous other ways in which you can affect registers.They are called bitwise instruction because they work at the level of bits.

AND is short for, erm, and and works by comparing each bit and setting the result bit to 1 if they areboth 1. For example:11000011 AND 10011001 = 10000001

OR is short for, well or, and works in a similar way to AND but will set the result but to 1 if either bitbeing compared is 1. For example:11000011 OR 10011001 = 11011011

XOR is short for exclusive or and works a bit like OR and a bit like AND. It will set the result bit to 1if either bit being compared is 1 but *NOT* if both bits are 1. For example:11000011 XOR 10011001 = 01011010

AND, OR and XOR all work on A and either a number or a single register, XOR B or AND 45 forexample. Note that XOR A will set A to 0 and is a very useful optimization (try to figure out why).

CPL is short for complement and basically inverts each bit, so a 1 is 0 and a 0 is 1. For example:CPL 10010010 = 01101101

CPL only works on A and hence takes no operand. XOR FF is equivalent to CPL, can you see why ?

Page 148: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 148

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

The next set of instructions all work by shifting and rotating bits rather than comparing them.

The rotation group works by moving all the bits either left or right and then moving the leftmost orrightmost bit to the beginning or to the carry and the carry or the rightmost or leftmost bit to the end.So starting from:

Register C10000001 0

with RL (rotate left with carry)00000010 1

with RR (rotate right with carry)01000000 1

with RLC (rotate left without carry)00000011 0

with RRC (rotate right without carry)11000000 0

Can you see why RL and RR nine times and RLC and RRC eight times returns the register to its initialvalue ? These instructions take any normal single register. There are also some special instructionsinvolving the A register only. They are RLA, RRA, RRCA and RLCA. Note the lack of a space isimportant - these are different to RL A, RR A, RRC A and RLC A but work very similarly. Thedifference in these instructions is that they only affect the carry flag. There is another flag called theparity/overflow flag which will be explained after the shift instructions.

The shift instructions work in a very similar way, either shifting bits right or left. SLA, or shift leftarithmetic, will shift each bit left with the leftmost bit being moved into the carry but the rightmost bitis *always* reset to zero. In effect it will multiply by two. (Why ? Well adding a zero in decimal to theend of the number makes it ten times bigger, here we're basically doing the same thing with the carryrepresenting 256 and hence adding a zero here makes it twice as big).

Now there are two right shifting instructions that have one subtle difference. SRL, or shift rightlogical, will do much the opposite of SLA, but with the leftmost bit being set to zero and the rightmostbeing moved into the carry. SRA, or shift right arithmetic on the other hand will leave the leftmost bitunchanged. So if it was one it remains one and if it was zero it remains zero. This is because SRAtreats the number as being signed, and hence leaves bit 7 alone as it signifies the signing. All threeinstructions work on any single register but don't have any special instruction for A or excluding carry.

Right, back to flags. These instructions have a special use for the parity/overflow flag (or PV).Basically if the result of the instruction leaves a register with an even number of bits the parity is even,and if it's left with an odd number of bits the parity is odd. You'll see in the next topic how we can usePE (parity even) and PO (parity odd).The final group of instructions are the SET, RES and BIT instructions. These take the form bit,registerand will SET, RESet or test the BIT of the register in question. For example SET 4,D will make bit 4of D 1, RES 0,H will make bit 0 of H 0 and BIT 7,C will test bit 7 of C and set the zero flag dependingon the result.

Page 149: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 149

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.4.5. Program Flow, more on Flags and The Stack

What is program flow ? Essentially it refers to the way we navigate a program's instructions. So faryou've only see things move linearly, that is to say when you execute one instruction you move ontothe next in memory straight after it and any operands. As you've heard PC keeps track of where code isbeing fetched from the memory. For every instruction and operand fetched from memory PC isincremented by one. However why should PC always being moving forward ? If we change itcompletely we could move to an entirely different part of memory to execute instructions. Why wewould want to do this and how we do this are covered here. Firstly why. Well we've been talking a lotabout flags but so far only carry has been of any use. However say you want to execute one bit of codedepending on whether or not A-B is zero and another if it isn't it might look like this:

SUB BJP Z,somewhereJP NZ,elsewhere

JP is short for jump. It basically reads two bytes of information and sets PC to them. You could thinkof it as LD PC,xxxxh. JP Z is a conditional jump, and this is where flags start to make more sense. JPZ will only jump is the zero flag is set. That is to say IF Z=1 LD PC,xxxxh. JP NZ is anotherconditional jump but will only jump if the zero flag isn't set. Can you see now why the above programdoes what it's supposed to ? Conditions form the backbone of most programs - you'll find it next toimpossible to make useful programs without them. The conditions we can use with JP are:

Z, jump if the zero flag is set.NZ, jump if the zero flag is reset.C, jump if the carry flag is set.NC, jump if the carry flag is reset.PO, jump if parity odd or there's no overflow.PE, jump if parity even or there's an overflow.P, jump if positive.M, jump if negative.

Let's look at PO, PE and P and M a bit more closely. As you already know 00 to 7F can representpositive numbers and 80 to FF can represent negative numbers. P and M work with this convention asyou might expect - using the sign flag - depending on whether the result of an operation if positive ornegative using this convention. PO and PE have two uses. As outlined with the shift and rotateinstructions they stand for parity even and parity odd. However the flag is called the parity/overflowflag and it also detects something called an overflow. What is an overflow ? Well as stated in chapter6.4.3 if the result of an operation in two's complement produces a result that's signed incorrectly thenthere's an overflow. For example 127+127 is 254, but in twos complement 254 is -2. Two positivenumbers added together don't form a negative so there's an overflow.

Now along side JP is the CALL instruction that works in a very similar way. The CALL instructionalso takes the conditions outlined above but it will first store a copy of the current PC value in a specialplace called the stack. Why does it do this and what is the stack ?

Well the stack is a section of memory where registers can be stored temporarily. Think of it like a bitspike where you can shove bits of paper on and take bits of paper off but only ever work with the topof the spike. The Z80 uses a 16 bit register called SP, or the stack pointer, to point to the stack. Twoinstructions are then used to manipulate the stack. They are PUSH and POP.

Page 150: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 150

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

PUSH does what you might expect, it PUSHes a register pair onto the stack. That's BC, DE, HL andAF. AF ? Yes, in this case AF is treated as a register pair. Only pairs may be used with the stack. Oncepushed onto the stack the stack pointer is decremented twice to point to the next bit of memory wherethe next item will be pushed on. It decrements SP as the stack works backwards, starting high andgetting lower with the more items on the stack. In essence the spike is stuck to the ceiling !POP does the opposite, and POPs a register pair off the stack and increments SP twice. Note that itdoesn't have to be the same register pair at all, which can be useful for swapping register values aroundin pairs.So our CALL instruction is effectively PUSH PC. So what's POP PC ?RET is. RET is POP PC essentially. It can also use the same conditions as CALL and JP. So usingCALL and RET you can CALL a subroutine and then use RET at the end of it to get back to whereyou were. Trust me, this is incredibly useful. I should also note at this point that you can LD SP,HL,ADD HL,SP, ADC HL,SP, SBC HL,SP, INC SP and DEC SP. There are other instructions with SP butI'll wait another time to detail all the instructions and their various iterations.

Finally there is the JR instruction. JR is short for jump relative as doesn't LD PC,xxxxh, no, it's moreof a ADD +/-xxh,PC. That is to say using two's complement PC is moved up to 127 bytes forward or128 bytes back. The advantage of JR is that it's one byte shorter than JP. The disadvantage is that onlyZ, NZ ,C ,NC can be used as conditions.Now on a different note is the CP instruction, compare. It works basically by doing a subtractionwithout subtracting anything. So CP B is A-B but it doesn't affect A. So what's the use of it ? Wellwhat it will do is set the flags according to the result of A-B. So if A-B is zero the zero flag is set, if Bis greater than A then carry is set and so on. CP can be used with any single register or a number.

6.4.6. Memory Manipulation

The final part of our introduction to Z80 deals with the memory. We've already been manipulating thememory using POP and PUSH and CALL and RET, but this section covers the major tools.

Firstly our old friend LD. We use brackets to signify that instead of being a number or register weactually mean the contents of the memory at that address. For example LD A,(ABCD) loads A withthe memory at ABCD, not with ABCD itself (it wouldn't fit anyway would it ?). LD A,(HL) will loadA with the contents at memory address HL, not with HL itself. We can also load memory withregisters, LD (HL),A and LD (ABCD),A for example. We can also load a memory address with HL, atwo byte number, or HL with a memory address of two bytes, a bit like using a stack at HL.

There are also a set of instructions called the block shift instructions because they are designed tomove chunks of memory around and block search because they are designed to search through chunksof memory.

The block shift instructions start with LD, like load. Then they take either I or D, standing forincrement and decrement, and then a R for repeat. So we have LDI, LDD, LDIR and LDDR. How dothey work ?

Well each instruction uses BC, DE and HL. BC is a counter, DE is the target, HL is the source. Eachcommand works in a similar way, they'll load the memory at DE with the memory at HL (hence targetand source).

LDD will then decrement BC, DE and HL. It will then set the PV flag to zero, or parity odd, if BC iszero. It leaves the other flags unaffected though. LDDR works in much the same way but will continue

Page 151: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 151

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

working until BC is zero. LDI and LDIR are basically the same. However DE and HL are incrementedinstead of decremented.Here's an example of block shift:

LD DE,0000hLD HL,4000hLD BC,0100hLDIR

Can you see how this works ? Basically 100h bytes of data starting at 4000h are copied to 0000hthrough to 0100h. Block shift is useful in a text editor for example. You might want to delete acharacter and then shift everything else down in memory. Block shift will do that quickly and easily.You can think of it as a copy instruction.

Now block search is basically a CP with, I or D and R tacked onto the end. It works by comparing Awith the memory at HL, then setting PV if the result is zero, leaving the other flags alone. CPIincrements HL, CPD decrements HL and the both decrement BC. CPIR and CPDR repeat until BC iszero (and the zero flag is set) or PV is set. So BC is again a counter, HL is the source and A is thetesting number.So say you want to find the first occurrence of 124 in the valid memory space:LD HL,0000hLD BC,0000hLD A,124CPIR

Note if you used CPDR it would find the last occurrence of 124 in the valid memory space. Can youfigure out why ?

6.5. Le TP lui-même

6.5.1. Lancement de Gens

Relire en premier lieu le paragraphe 6.2.4 à la page 101 et notamment sa remarque.Une fois que la cassette contenant GENS v3M21 a été placée dans le lecteur virtuel, on va chargerl'assembleur Z80 Gens à l'adresse 26000. Pour cela on va taper l'ordre suivant:

LOAD "" CODE 26000

ce qui en langage ZX Spectrum va se traduire par taper sur les touches suivantes:

J (LOAD)Shitf droit P (")Shitf droit P (deuxième ")Shitf droit et Shift gauche (Passage en mode étendu)I (CODE)26000 (Attention pas par le clavier numérique qui n'est pas reconnu)

Je vous l'avais dit que cela être déroutant au départ.

Maintenant, il faut lancer Gens, qui est un simple fichier exécutable binaire. On va donc faire:

Page 152: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 152

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

RANDOMIZE USR 26000

Ce qui en touche devient:

T, Shift droit et Shift gauche, L, 26000

A partir de maintenant, vous êtes sous Gens et je considère que le manuel a été lu et que vousconnaissez donc les ordres si referrant.

6.5.2. Ce qui est demandé

Il y aura deux parties dans ce TP: prénom et bordure.A partir d'un certain nombre d'informations sur le système vous êtes priez de faire un programme enZ80. Dans certains cas, je vous donne un exemple de programme.

Voici les informations sur le système du ZX Spectrum. Elles consistent en quelques adresses de laROM:

#0D6B 3435 CLS#1601 5633 Ouverture du Canal (Mettre le canal dans l'accumulateur)#203C 8252 PRINT chaine#10 16 Affiche un caractère (Mis dans l'accumulateur)#8 8 Envoi un message compte-rendu

Pour afficher un nombre: le mettre dans BC puis appeler#2D2B 11563#2DE3 11747

Pour les deux exercices demandés, on placera le code binaire à l'adresse 60000 et le point d'entrée à lamême adresse. Ne pas oublier non plus de finir votre programme par un retour !

6.5.2.1. Ecrire son prénom

Nous allons tester différentes méthodes pour afficher son prénom.

Dans tous les cas, il faut ouvrir le canal 2, qui correspond à l'écran. On chargera l'accumulateuravec le nombre 2 (LD A,2) puis on ferra un CALL #1601.

6.5.2.1.1. Méthode 1

La première méthode est la plus simple mais la moins pratique et celle qui consomme le plus demémoire. Elle consiste à faire appel à chaque fois au sous programme qui se trouve à l'adresse #10 (ou16). On le fera avec l'ordre RST qui ne prend qu'un octet au lieu de trois.

Page 153: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 153

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.5.2.1.2. Méthode 2

Comme on remarque, la méthode 1 est fastidieuse. On peut alors l'améliorer un peu. On va mettrechaque lettre du message à la suite et on terminera par le chiffre 0 (zéro). Il suffit alors de prendrechaque caractère un par un de le tester, de s'arrêter si il est égal à zéro sinon de l'afficher. Soit:

Avouez que c'est quand même plus facile à programmer ... et pourtant il y a encore plus simple.

6.5.2.1.3. Méthode 3

Il suffit de faire appel au système "PRINT chaine" qui justement se charge d'afficher une chaîne decaractères. Il suffit de mettre l'adresse de la chaîne à afficher dans DE et la longueur dans BC etd'appeler l'adresse #203C ... et c'est tout !

Page 154: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 154

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.5.2.2. Bordure

6.5.2.2.1. Devoir

Après avoir lu les informations techniques, le but est de faire un programme qui affiche plusieurscouleurs sur le bord de l'écran. Vous pouvez faire deux versions, une où l'image n'est pas stabilisée etl'autre, en jouant sur les délais, stabilisée.

6.5.2.2.2. Informations techniques

Ports Entrée/Sortie du ZX SpectrumLe Spectrum possède 65536 ports d'entrée/Sortie. Cependant, du fait de sa conception hardware, il nepeut adresser que peu de périphériques: l'octet bit de poids faible sert à indiquer quel périphérique lemicroprocesseur veut utiliser. Pour adresser une extension particulière, il suffit de faire un out ou un insur un numéro de port dont l'octet de poids faible a tous ses bits à un, à l'exception du bitcorrespondant au périphérique auquel on s'adresse (cf. tableau). En clair, si je veux envoyer un octetsur l'imprimante, je dois faire un out sur un port dont le poids faible est égal à b11111011.

Bit Signification0 Clavier et entrée cassette (en lecture) et haut-parleur, sortie cassette, border de l'écran (en sortie)1 Périphérique optionnel2 Imprimante3 Périphérique optionnel4 Périphérique optionnel5 Non utilisé6 Non utilisé7 Non utilisé

(Les bit notés "périphérique optionnel" sont utilisés par des extensions Sinclair. Il s'agit d'une interfaceRS232, le micro-drive, et d'un périphérique réseau. Nous n'avons pas les informations permettant depréciser quel bit correspond à quel périphérique.)

Page 155: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 155

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Attention de n'écrire que sur des ports accessibles en écriture, ou de ne lire que sur des portsaccessibles en lecture, sinon il est possible que vous endommagiez irrémédiablement votre ordinateur !A noter, les bits 5, 6 et 7 ne sont pas utilisés, cela veut dire que sur un Spectrum sans extensionmatérielle la valeur de ces bits n'est pas prise en compte. Il est préférable cependant de les garder à 1,car votre programme pourrait avoir des effets imprévisibles sur un Spectrum customisé !Et que se passe-t'il si on fait un out sur un port b11111010 ? Vous vous adresserez à plusieurspériphériques à la fois. En l'occurrence, à l'imprimante et à la sortie cassette. Cette bidouille pourraitêtre utile dans certains cas bien particuliers, mais encore une fois il vaut mieux éviter ! Et accéder decette manière à des ports en lecture pourrait se révéler fatal à votre machine.

Quand le bit 0 du poids faible est à zéro...En écriture c'est très simple: l'octet que vous envoyez sera interprété comme ceci:

Bit Signification0 Couleur du border de l'écran1 Couleur du border de l'écran2 Couleur du border de l'écran3 Sortie cassette4 Haut-parleur5 Non utilisé6 Non utilisé7 Non utilisé

Les bit 0 à 2 contiennent la couleur du border. C'est très simple : Out &FE,1 met la couleur du border àbleu (couleur n°l), out &FE,2 met le border à rouge (Couleur n°2), et ainsi de suite, jusqu'à 7.

En lecture, c'est un peu plus ardu car le poids fort du numéro de port est utilisé !Ce dernier fonctionne de la même manière que le poids faible, c'est à dire qu'il sert à adresser unnuméro de demi rangée de clavier, cette dernière étant désignée quand le bit qui lui correspond dansl'octet passe à 0.Attention, seuls les bits 0 à 4 sont utilisés pour le clavier,

Port TouchesFEFE "CAPS SHIFT à "V"FDFE "A" à "G"FBFE "Q" à "T"F7FE "1" à "5"EFFE "0" à "6"DFFE "P" à "Y"BFFE "ENTER" à "H"7FFE "SPACE" à "B"

Le bit correspondant à une touche est à 0 si elle est enfoncée. Le bit 6 correspond à l'entrée du lecteurde cassette, les autres sont inutilisés.

Page 156: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 156

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

TP 7 EAU FORTELe but de ce TP est de voir un traitement de surface. Pour cela nous allons réaliser une �uvre d'art sousla forme d'une eau forte.On appelait avant l'acide nitrique de l'eau forte: c'est ce qui a donné le nom de eau forte dansl'impression.

Les informations en italique m'ont été données oralement par le service Chalcographie de laBibliothèque Royale de Bruxelles (place du musée,1 - 1000 Bruxelles 02/519.56.31).

! On prend une plaque de cuivre (ou bien de zinc) et on met dessus un film de paraffine (ou devernis à graver (liquide)).

! Puis on prend un stylet fin et on creuse le dessin dans la paraffine (attention on creuse lesparties où il ne doit pas y avoir de dessin).

! On prend la plaque et on la trempe dans de l'acide nitrique concentré (l'acide nitrique doitavoir une concentration entre 10 et 25 °Bauméd): il y aura réaction là où il n'y a plus deparaffine. (On laisse 30 min si l'acide est faible et 5 min si l'acide est fort. C'est ce qu'onappelle le temps de morsure.).(Plus l'acide est dilué, meilleur sera la gravure).

! On réchauffe ensuite la plaque pour enlever la paraffine.! Puis on frotte du cirage noir (ou de l'encre "taille douce" (marque Charbonnel ou Lefranc-

Bourgeois) ou on la prépare en mélangeant des pigments avec de l'huile fine) sur la plaque(qui va dans les sillons), puis on presse sur un papier buvard (ou du papier Français Arches-blanc-250 g ou Rives-250 g ou bien du papier Allemand Zierhall-demi encollé-250-230 g):on obtient une �uvre d'art que l'on nomme au forte.

Remarques:♦ Au lieu d'utiliser de la paraffine nous utiliserons du papier collant♦ L'attaque doit durer au moins 5 minutes, car le cuivre doit être attaqué sur au moins 0,5 mm♦ Ce principe est utilisé pour graver les circuits imprimés en électronique, sauf qu'on utilise du

perchlorure de fer au lieu d'acide nitrique.

d Relation entre les °Baumé et la densité: d

145145Be −=° . Calculez la dilution avec la table au 0.5.1 page 16.

Page 157: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 157

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

TP 8 DETERMINATION D'ENTHALPIES

8.1. DETERMINATION D'UNE ENTHALPIE DE NEUTRALISATION

Prendre du papier millimétré

La méthode décrite ci-après permet la détermination d'un ∆Hneutralisation mais aussi le dosage d'un acide(base) par une mesure de variation de température; dans ce cas on l'appelle titrage thermométrique.

8.1.1. Dispositif de mesure

agitateur magnétique

50 ml d'acide

burette NaOH 2 Mthermomètre au 1/10tenu à la main

gobelet (fragile) enpolystyrène expansé(isolant thermique)jouant le rôle decalorimètre (sécheravec du papier, pas à 1'acétone !)

8.1.2. Mode opératoire

! Prélever 50 ml (pipette et propipette) d'HCl et les transvaser dans le gobelet! Avant d'entamer les mesures, thermostatiser les 50 ml d'acide dans le gobelet pendant 5 à 10

minutes! Remplir la burette de NaOH 2 M! Déverser rapidement le NaOH dans le gobelet par portions de 2,5 ml! Entre chaque ajout, mesurer précisément la température dès qu'elle est stabilisée! Dès la mesure de température effectuée, déverser la portion suivante de NaOH, et ainsi de

suite jusqu'à un volume total de 40 ml de NaOH! Porter, sur papier millimétré, T en fonction de VNaOH

Refaire la même expérience avec l'acide acétique. Rincer, sécher (au papier, pas à l'acétone) legobelet entre les 2 expériences.

Page 158: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 158

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Superposer la courbe de l'acide acétique à celle de HCl, mais dans une autre couleur. Déduire les deux∆Hneutralisation A quoi sont-ils dus ? Pourquoi diffèrent-ils ?

8.2. MESURE D’UNE ENTHALPIE DE MELANGE

Le mélange H2SO4/H2O est réputé dangereux à cause de son fort dégagement de chaleur qui peut allerjusqu�à faire bouillir l�eau au niveau du contact eau-acide et ainsi entraîner des projections d�acide. Cemélange est un des rares cas où un ∆Hmél peut être mesuré facilement vu son intensité. L�existenced�un ∆Hmél lors du mélange de deux liquides est lié à des changements d�interactions moléculaires parrapport à celles existant dans les deux liquides purs. Dans le cas du mélange H2SO4/H2O ledégagement de chaleur est dû principalement à la formation d�interactions de type ponts hydrogènesentre les molécules H2SO4 et H2O.

8.2.1. Préparation: matériel - sous hotte

! 1 éprouvette graduée de 100 ml + 1 pissette H2O distillée! 1 pipette graduée 10 ml munie d�une propipette et qui reste plongée dans le flacon H2SO4

pendant cette partie de la manipulation! 1 erlenmeyer de 250 ml où doit être déposé le thermomètre (au 1/10e) entre chaque usage

pour éviter les dépôts d�H2SO4 sur le carrelage de la hotte

8.2.2. Mode opératoire

! venir sous hotte avec un erlenmeyer de 100 ml rincé, non séché! y transvaser 40 ml H2O distillée (éprouvette graduée)! mesurer la température de l�eau à l�aide du thermomètre, bien mélanger! y transvaser prudemment 7 ml d�H2SO4 concentré (96 ou 99 %) avec pipette/propipette en

maintenant les goulots de l�erlenmeyer et du flacon H2SO4 l�un contre l�autre !! mesurer sur place (sous hotte), la température du milieu immédiatement après avoir

homogénéisé! déposer ensuite le thermomètre dans l�erlenmeyer 250 prévu à cet usage! transvaser l�acide dilué (encore chaud) dans un flacon brun «H2SO4 2,7 M»de récupération

Calculs: Utilisez la formule du calorimètre pour calculer ∆Hmél en kJ par mole de H2SO4.

8.3. MESURE D’UNE ENTHALPIE DE DISSOLUTION

Nous traiterons le cas du tétraborate de sodium décahydraté dont la réaction de dissociation ioniqueest:

La constante d�équilibre de cette réaction s�écrit: Ks =

ou encore, en termes de molaliltés:3

S mα. K =

Page 159: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 159

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

(Rappel: la molalité ou concentration molale est le nombre de mole de soluté par kg de solvant:

)g.molen molaire masse la M avec M

g.kg (mol.kg 1-

1-1- 1-mol.kg m == )

Comme toutes les constantes d�équilibre, Ks varie avec la température: /RT)HC.exp(- K dissS ∆=

8.3.1. Mode opératoire

! Munissez-vous de deux erlenmeyers de 100 rincés, non secs ; numérotez-les (1) et (2)! Etude à 20 °C: dans l�erlenmeyer (1) introduisez ± 3 g de borax (balance technique) + 50 ml

(éprouvette graduée) d�eau distillée! Etude à 30 °C: dans l�erlenmeyer (2) introduisez ± 5 g de borax (balance technique.) + 50 ml

(éprouvette graduée) d�eau distillée ; plongez cet erlenmeyer dans un bain thermostatique à ±30 °C, l�erlenmeyer sera maintenu par une pince et un statif

! Les deux erlenmeyers doivent être agités régulièrement pendant 10 min (on observera unexcès de cristaux non dissous dans les deux cas, on sera donc en présence de deux solutionssaturées)

! Pendant ce temps, tarer deux erlenmeyers 100 propres et secs munis de parafilms etnumérotés (1') et (2') (balance technique)

! Lorsque la phase d�agitation des deux premiers erlenmeyers (borax) est terminée, laissezdécanter les cristaux 30 à 60 secondes en maintenant les erlenmeyers dans leurs milieuxthermiques d�origine

! Transférez depuis l�erlenmeyer (1) (20 °C) ± 10 ml de surnageant vers l�erlenmeyer sec (1')⇒ cela se fait à l�aide d�une pipette de 10 ml sans aspirer de cristaux ! Mesurez latempérature dans le flacon d�origine au moment du prélèvement

! Transférez depuis l�erlenmeyer (2) (30 °C) ± 10 ml de surnageant vers l�erlenmeyer sec (2')⇒ ce prélèvement se fait hors du bain thermostatique, mais il faut dans ce cas agirrapidement. Mesurez la température dans le flacon d�origine au moment du prélèvement

! Pesez (balance technique) les deux erlenmeyers ayant accueilli les deux prélèvements etmunis de leurs parafilms

! Titrez chaque erlenmeyer par HCl 0,1 M titrisol + 4 gouttes méthylorange! Tracez le tableau suivant

T m Véquivalence

(1)(2)

! Calculez les molalités des deux solutions saturées ainsi que le ∆Hdiss (kJ/mol) du borax àl�aide de la formule

−=

12

21diss

T1

T1

)m/mln(3R ∆H

Page 160: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 160

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

TP 9 EXTRACTION D’AROME

9.1. Entraînement à la vapeur d’eau

9.1.1. Extraction du limonène

! Avant la séance, éplucher 2 oranges, 3 clémentines, 2 pamplemousses ou 3 citrons frais ;débarrasser l'écorce de la membrane blanche et ne conserver que la partie externe, orange oujaune, qui contient l'huile.

! Découper en morceaux d�environ ≈0,25 cm2, peser à ± 0,01g (balance technique). Placerl'écorce et un même volume d'eau dans le bol mélangeur d'un mixer ; mixer jusqu'à obtentiond'une purée épaisse.

! Préparer un montage pour entraînement à la vapeur ; ce dispositif comprend un ballon de 500ml à 3 tubulures logé dans un manteau chauffant, une tête à entraînement à la vapeur dansl'une des tubulures, une ampoule à brome dans la deuxième et un bouchon dans la troisièmeselon la Figure 2. Transvaser la purée d'écorce dans le ballon, introduire 100 ml d'eau dansl'ampoule et prévoir un erlen de 150 ml pour recueillir le distillat.

Figure 2

! Porter le mélange à ébullition douce, maintenir pendant une vingtaine de minutes puisaugmenter le chauffage pour que le mélange vapeur d'eau/huile distille. Ce mélange secondense dans le réfrigérant et, dans l'erlen, on recueille de l'eau avec un mince film d'huileflottant à la surface.

! Transvaser le contenu de 1'erlen dans une ampoule à décanter ; éliminer la phase aqueuse.L'huile, recueillie dans un petit erlen (25 ml) ou un tube à essais large, est débarrassée desdernières traces d'eau par addition d'un petit fragment de sulfate de calcium ou de chlorure decalcium anhydre.

! Filtrer pour éliminer le desséchant.! Observer l'huile obtenue (couleur, odeur) et mesurer l'indice de réfraction! Tester la solubilité de l'huile dans plusieurs solvants organiques: 0,5 ml de solvant/3 gouttes

d'huile à ajouter en observant s'il y a solubilité après l'addition de chacune.! Comparer les résultats : noter s'il y a des différences et si elles peuvent provenir de l'agrume

utilisé.! Rechercher des informations sur le limonène dans le Handbook et le Merck Index.

Page 161: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 161

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

9.1.2. Extraction de l’eugénol

Les arômes caractéristiques des plantes sont dus à des huiles volatiles ou essentielles qui, dèsl'antiquité, furent à l'origine des parfums et saveurs. Souvent concentrées dans les brindilles, les fleurset les graines, ces huiles sont soit des mélanges complexes d'hydrocarbures, d'alcools, de composéscarbonylés appartenant à la famille des terpènes (géraniol, limonène) soit des phénols ou des aldéhydesaromatiques (arômes des condiments tels que le clou de girofle, la vanille et la cannelle)Le but de ce TP est l'isolement par entraînement à la vapeur de l'huile essentielle du clou de girofledont l'odeur agréable est due principalement à l'eugénol ou 4-allyl-2-méthoxyphénol. Ce composé estutilisé comme analgésique local doux en soins dentaires et surtout, dans le domaine culinaire, pourapporter des saveurs.

OH

OCH3

H2CHC CH2

MODE OPERATOIRE! Fixer un ballon de 500 ml à 3 tubulures dans un manteau chauffant ; placer une tête à

entraînement à la vapeur dans l'une des tubulures, une ampoule à brome dans la deuxième etboucher la 3ème (voir Figure 2)

! Peser 12 g de clou de girofle, les placer dans le ballon avec 100 ml d'eau distillée ; introduire100 ml dans l'ampoule et prévoir un erlen de 150 ml pour recueillir le distillat.

! Chauffer le contenu du ballon (robinet de l'ampoule fermé) jusqu'à ébullition et distiller àvitesse régulière; ajouter de temps en temps de l'eau dans le ballon afin de maintenir le niveauconstant.

! Après avoir recueilli ≈100 ml de distillat, changer de récipient collecteur : si des goutteshuileuses s'écoulent encore, il y a lieu de distiller au moins 20 ml d'eau supplémentaires.

! Placer le distillat dans une ampoule à décanter, rincer les erlens avec 5 ml dedichlorométhane que l'on ajoute ensuite au distillat. Agiter l'ampoule, laisser les 2 phases seséparer et recueillir la couche organique dans un erlen de 50 ml, pesé au préalable. Rincer lacouche aqueuse et l'ampoule à décanter avec 2 ml de dichlorométhane; ajouter cette nouvellephase organique à celle contenue dans 1'erlen.

! Si la séparation a été soigneusement effectuée, il est inutile de sécher ; toutefois, si des tracesd'eau subsistent, sécher sur sulfate de sodium anhydre et filtrer sur coton. Recueillir le filtratdans un autre erlen pesé.

! Concentrer et évaporer le dichlorométhane à l'aide du rotavapor-micro. Peser 1'erlencontenant le résidu d'eugénol et calculer le rendement de l'extraction en tenant compte de lamasse de clous de girofle utilisés.

! Lire l'indice de réfraction.

Page 162: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 162

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

9.2. Extraction par solvant

EXTRACTION ET SEPARATION DES CONSTITUANTS DE LA CANNELLE, DU CAFE ETDU CLOU DE GIROFLE

1. Introduire dans un ballon (100 ml)1g de cannelle ou1g de grains de café ou1g de clous de girofle et20 ml de dichlorométhane

puis, placer un réfrigérant en position verticale2. Chauffer (manteau chauffant) ; maintenir le reflux durant 5 min3. Refroidir et filtrer4. Evaporer le solvant (flash distillation) et redissoudre le résidu dans 1 ml de toluène.

Page 163: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 163

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

TP 10 VISCOSIMETRIE

10.1. Le viscosimètre que nous allons utiliser - Notice

New! Size #3 increases viscosity range to 1000 cp., with tantalum float to 2000 cp.

VISCOMETER

FALLING BALL TYPE

The Falling Ball Viscometer has been recognized as one of the most effective and accurate instruments for the determination of viscosity.Now for the first time, a simplified type is available at low cost.

This new instrument utilizes a novel method of releasing the ball and has the following features:

• The tube is made of high precision bore glass tubing with stabilizing beads.• Two high precision balls, one of glass and one of stain-less steel, are supplied with each instrument to extend the range.• The ball release device is made of PTFE and sealed with a VITON fluoroelastomer O-ring.• The remaining plastic parts are made from corrosion resistant acetal copolymer.• The ball is observed against a white background with red lines permanently fused into the glass.• Available in three sizes to cover a wide range of viscosity.• Tantalum ball may be purchased separately to double range.

VISCOMETERS, FALLING BALL

Size No. Range in cp. Approx K Cat.No.1 0.2 - 10 0.3 GV-21002 2 - 100 3.3 GV-22003 20 - 1000 35 GV-2300

Maximum cp. for each size may be doubled using Tantalum ball, see Spare Parts List.

SPARE PARTS LIST

Description Cat. No.Glass Tube size #1Glass Tube size #2Glass Tube size #3Release MechanismNut

GV-2101GV-2201GV-2301GV-2102GV-2111

AdapterKnobLock NutCap

GV-2112GV-2113GV-2114GV-2115

PTFE ScrewLarge VITON O-ringLarge O-ring, pkg/6Large PTFE O-ringLarge O-ring, pkg/6

GV-2116GV-2117GV-2117/6GV-2117TGV-2117T/6

Small VITON O-ringSmall O-ring, pkg/6

GV-2118GV-2118/6

Glass BallS.S. BallTantalum Ball

GF-1332GV-2119SGF-1332-T

NOTE: The same diameter (1/4 in) ball is used in ail three sizes.

Page 164: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 164

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

DIRECTIONS

ASSEMBLY-The viscometer is supplied with a glass ball and a stainless steel ball (type 316). A tantalum ball maybe ordered separately. The recommended ranges of viscosity for each size and ball are as follows:

Size No. Range in cp.Glass S. S. Tantalum

1 0.2 to 2 1 to 10 2 to 202 2 to 20 10 to 100 20 to 2003 20 to 200 100 to 1000 200 to 2000

The proper ball is selected and the instrument is scrupulously cleaned and dried. The ball is added to the tube and theparts are assembled as in the diagram. The position of the knob and locknut are adjusted so that the PTFE screw willjust prevent the ball from falling when the knob is turned to meet the adapter. Unscrewing the knob should allow theball to be released. This adjustment should be made with care so as not to over-compress the end of the PTFE screwwhich holds the ball.

FILLING WITH LIQUID-The nut and the adapter are separated and the cap is removed from the screw. The ballis also removed from the tube. Approximately 5 mL of the test liquid is required to fill the tube. The liquid should beclear of particles and filtered if necessary. Particles in the liquid will interfere with the motion of the ball and reducethe accuracy of measurement. The liquid is carefully pipetted into the tube until nearly full (approximately 1/4 infrom the top of the flange). The ball is now carefully added and allowed to drop into the tube. The adapter and screwassembly in the release position is now carefully inserted into the tube and liquid allowed to enter the capillary vent.The nut and adapter are tightened on the flange of the tube until secure. The cap is replaced on the screw.

TAKING A READING-The instrument full of liquid is inverted until the ball enters the PTFE screw and the knobturned until the closed position is reached. The instrument is restored to its normal vertical position and is ready fortaking a reading. For the most accurate work, the viscometer tube should be immersed in a constant temperature bath

with a transparent window to observe the fiduciary lines. At elevated temperatures the cap should beremoved to permit excess liquid to pass through the capillary vent. Air and gas bubbles should also bevented after equilibrium is reached. Then the cap is replaced.The ball is released by turning the knob to raise the screw. The time of descent between the two sets offiduciary lines is measured with a stop-watch. Repeat measurements can be made by removing theviscometer from the bath and inverting to return the ball to the screw and turning to the closed position.With good technique measurements, should be reproducible from 0.2 to 1.0 % depending upon the time ofdescent.

CALCULATING THE VISCOSITY-For a falling ball viscometer the viscosity is calculated by thesimple formula:

µ = K(ρf-ρ)t

where, µ = viscosity in centipoises (cp)ρf = density of ball (gms/mL)

2.53 for the glass8.02 for stainless steel16.6 for tantalum

ρ = density of liquid (gms/mL)t = time of descent (minutes)K = viscometer constant

The approximate K for size 1=0.3, size 2=3.3 and size 3=35. The viscometer constant is obtained bymeasuring the time of descent for a standard liquid (e.g. a viscosity standard solution).

ρ)t-(ρµ K

f

=

For the most accurate work, the standard liquid should have physical properties as close to that of theunknown liquid as possible.

Page 165: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 165

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

ASSEMBLY INSTRUCTIONS FOR THEVISCOMETER BALL-RELEASE MECHANISM

The ball-release mechanism is adjusted for proper operation as follows:

With the tube dry and clean:

1. Ensure the ball easily enters and exits the PTFE screw. If not,remove the ball-release assembly from the tube and open up theend of the screw with a suitable tool.

2. With the screw retracted, assemble the ball-release mechanismto the tube. Separate the locknut and knob on the threadedportion.

3. Holding the cap, advance the screw until the tip is close to beingcompressed by the tapered portion of the glass tube.

4. While tilting the assembly back and forth to allow the ball toenter and exit the screw, advance the screw slightly until the endis compressed just enough to retain the ball.

5. While holding threaded portion stationary, run knob downclockwise until it stops against the adapter. Ensure the threadedportion is not being advanced, as this will cause the PTFE screwto deform.

6. Tighten the locknut against the knob to act as a jam nut.

7. When properly assembled, turning the knob will advance andretract the screw. When advanced until the knob meets theadapter, ball will be held in screw assembly. A 1/4 turnretraction of the screw assembly should release the ball.

Page 166: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 166

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

10.2. Manipulation 1

VISCOSIMETRIE

10.2.1. Définition

La viscosité d'un liquide est la propriété de ce liquide, résultant de la résistance qu'opposent sesmolécules à une force tendant à les déplacer par glissement. Au sein d'un liquide homogène, dont lamasse volumique est supposée constante, les déformations auxquelles ce corps peut être soumis sontdes glissements ou des cisaillements auxquels il oppose une résistance mesurable. Les liquidesvisqueux sont ceux qui manifestent une résistance F, fonction de la vitesse à laquelle se produisent lesglissements imposés et qui s'annule avec elle.Si, au sein d'un tel liquide, un élément de surface S glisse sur un plan de même liquide distant de dx,

avec une vitesse relative dv, le gradient de vitesse G est conventionnellement égal à dxdv .

La tension tangentielle SF τ = , ou contrainte de cisaillement, est fonction de

dxdv .

Si le gradient de vitesse est assez faible pour que la relation entre ces deux grandeurs soit linéaire, elles'exprime alors par l'équation de Newton:

dxdvη τ =

η est par définition le coefficient de viscosité absolue dynamique ou "viscosité absolue" et estindépendant du gradient de vitesse.Les liquides qui suivent cette équation sont appelés liquides "newtonien".Par contre, pour les suspensions colloïdales, les émulsions, les solutions de composés à massemoléculaire élevée, la viscosité dépend notamment du prétraitement thermique ou mécanique et il n'y apas de relation linéaire entre la contrainte et le gradient de vitesse. Ces liquides sont appelés liquidesnon newtoniens.

10.2.2. Coefficients et unités de viscosité

10.2.2.1. Le coefficient de viscosité absolue dynamique η est égal à

dvdx

SF η = d'équation de dimension: M.L-1.T-1

La viscosité absolue s'exprime dans un système cohérent d'unités. Dans le cas du système C.G.S. cetteunité est LE POISE (Po) dyne-seconde par cm2.C'est la viscosité absolue dynamique d'un liquide opposant une résistance d'une dyne au glissementdans son plan de surface plane d'un centimètre carré, avec un gradient de vitesse d'un centimètre parseconde et par centimètre.Un sous-multiple couramment employé de cette unité est le centipoise (cPc).En système M.K.S.A. cette unité est le POISEUILLE (égale 10 poises).

Page 167: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 167

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

10.2.2.2. Le coefficient de viscosité absolue cinématique d'un liquide

est le rapport du coefficient de viscosité absolue dynamique de ce liquide à sa masse volumique ; il estgénéralement désigné par le symbole:

ρη ν = de dimension L2.T-1

Le STOKES (St) est l'unité de viscosité absolue "cinématique". C'est la viscosité absolue cinématiqued'un liquide dont la masse volumique est d'un gramme par centimètre cube et dont la viscosité absoluedynamique est égale a un poise, ρ étant la masse volumique du liquide, le coefficient ν est exprime enstokes.Un sous-multiple couramment employé de cette unité est le ''centistokes" (cSt).

10.2.3. Viscosité des solutions

La viscosité relative est le rapport de la viscosité d'une solution η à la viscosité du solvant η0.

0rel η

η η =

La viscosité spécifique est le rapport de la différence entre les viscosités de la solution et du solvant àla viscosité du solvant:

1 - η ηη - η η rel0

0sp ==

10.2.4. Loi de Einstein

Pour une suspension de particules sphériques rigides imperméables au milieu dispersant etsuffisamment peu nombreuses pour négliger leur interaction, la viscosité η est liée à la viscosité dusolvant par l'expression:

Vv

25 1 -

ηη

0

=

v: volume occupé par toutes les sphères,V: volume total de solution.

Si vi est le volume d'une particule et C la concentration de la solution en mole/litrePour V = 1 litreNb de molécules par litre C x Navec N nombre d'Avogadro = 6,03 1023

v = vi x N x C3

i r π34 v = r: rayon de la molécule

Page 168: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 168

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

C x 6,03.10 x r π34 x

25 1

ηη 233

0

+=

C r 10 6,03 1 ηη 324

0

+=

10.2.5. Loi de Poiseuille

Dans le cas des liquides newtoniens, leur écoulement à travers un tube capillaire obéit à la loi dePoiseuille. Le régime d'écoulement d'un liquide dans un canal cylindrique de longueur L et de rayon Rvarie avec la vitesse d'écoulement v et pour des valeurs suffisamment faibles les vitesses des moléculessont parallèles entre elles ; l'écoulement se fait par couches concentriques, on obtient le régimelaminaire ou régime de Poiseuille.Le volume total écoulé durant le temps t est:

)p-(p L η 8 tr π v 21

4

=

p1 - p2 différence de pression aux deux extrémités du tube. Cette différence de pression est directementproportionnelle à la densité d du liquide.L'application de cette formule suppose que le liquide arrive à l'orifice de sortie du tube avec uneénergie cinétique négligeable. Si non, il est nécessaire d'effectuer une correction d'énergie cinétique enajoutant au deuxième membre de l'équation de Poiseuille, le terme:

tL π8V −

10.2.6. Théorie de Eyring

Eyring suppose que les liquides contiennent des régions où les molécules peuvent se mouvoir aprèsactivation. Les molécules se déplacent en couches parallèles en passant par une barrière de potentielchaque fois qu'elles atteignent une nouvelle position d'équilibre.

Si ∆Evisco est l'énergie libre standard d'activation par mole, on a:

/RT∆EviscoeA η = soit ALn RT∆E ηLn visco += (A = constante)

E/RT0 e η η =

On trace ( )T1f ηLn =

Page 169: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 169

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

ln η

η0

1/T

E/R

RemarqueLa formule de Eyring n'est pas la seule proposée mais c'est la plus simple d'emploi.

On suppose que l'écoulement d'un liquide est le résultat du mouvement des molécules dans les sitesvacants dans le liquide. La première étape de ce processus devant être la formation des sitesdisponibles. Evidemment, la rupture des liaisons entre des molécules avoisinantes nécessaire dans laformation d'un de ces sites, doit faire intervenir les mêmes forces que celles qui interviennent dans leprocessus de vaporisation.Il est intéressant de comparer l'énergie d'activation de viscosité et la variation d'énergie interne devaporisation (étude faite par Ewell et Eyring). Kincaid en a tiré une loi empirique approchée:

∆Evisco = ∆Uvap / 2,45

10.2.7. MANIPULATION

On étudiera:

1. La variation de viscosité absolue dynamique en fonction de la température avec un viscosimètre àchute de bille de HOPPLER, ce qui conduira au calcul de l'énergie d'activation ∆Evisco et d'unevaleur approchée de la variation d'énergie interne lors de la vaporisation.

2. La variation de viscosité absolue dynamique en fonction de la concentration avec un viscosimètre àécoulement (application de la loi de EINSTEIN).

10.2.8. Viscosimètre à chute de bille de Hoppler

Si la vitesse de chute v et le rayon r de la sphère sont suffisamment petits, l'écoulement du fluideautour de la sphère est laminaire.Dans ces conditions la loi de Stokes s'applique:

W = 6 π η r v

W: résistance au mouvement d'une sphère de rayon r se mouvant à une vitesse uniforme v, sousl'action de la gravité. Dans ces conditions, on considère la résistance comme égale au poids effectif dela sphère.

Page 170: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 170

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

Avec ρs et ρl: masses volumiques de la sphère et du liquide en g/cm3.

Poids de la sphère: g ρ r π34

s3

Poussée d'Archimède: g ρ r π34

l3

( ) ρ - ρ g r π34 r v η π6 W ls

3==

( )g/v ρ - ρ r 92 η ls

2=

Or tL v = L: longueur du tube ; t: temps de chute.

η = K (ρs - ρl) t

En posant g/L r 92 K 2= K: constante caractéristique de l'appareil.

η: centipoisest : en secondesK et ρl seront déterminés à partir des abaques. On admet que la variation de ρs en fonction de latempérature est négligeable devant les erreurs de mesure. On prendra (ρs = 2,388 g/cm3) (Voir valeursdu constructeur)

10.2.8.1. Réglage de l'appareil

On procédera au réglage du viscosimètre à l'aide des vis de nivellement et du niveau à bulle.

10.2.8.2. Remplissage du tube de chute

Fermer le tube de chute avec le bouchon de fermeture inférieure et le couvercle à vis.Remplir avec le fluide à mesurer. Pour cela utiliser l'entonnoir servant au remplissage et à la vidange,remplir jusqu'à, environ 15 mm du bord supérieur du tube.A l'aide de la pince à bille, introduire la bille, nettoyée et séchée ; s'il se trouve des bulles d'air au-dessous de la bille, la pousser vers le bas avec la tige de verre.Fermer l'extrémité supérieure du tube de chute avec le capillaire de fermeture, le bouchon de fermetureet le couvercle à vis. A la mise en place du capillaire de fermeture une partie du fluide à mesurer estrepoussée à travers le capillaire dans la chambre.Après stabilisation thermique (au moins 20 minutes), il suffit de retourner l'appareil et de noter letemps de passage de la bille entre les repères.Il est possible de faire des mesures dans les deux positions.Faire 6 à 8 mesures à des températures comprises entre 25 et 40 °C.Calculer η et dresser le tableau de résultats suivant:

θ °C, T, T1 , t, ρeau, ρs - ρeau, K, η, log η.

Tracer ( )T1f η log = et calculer ∆Evisco et ∆Uvap.

Page 171: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 171

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

10.2.9. Viscosimètre à écoulement

On mesure le temps mis par un volume de liquide contenu dans le réservoir du viscosimètre pours'écouler par un capillaire calibré sous une charge de liquide exactement reproductible et à unetempérature exactement contrôlée.L'équation de Poiseuille peut s'écrire:

ηcPo = A d t

A: constante de l'appareilt: temps d'écoulement du volume V dans le capillaire,d: densité du liquide à la température de l'appareil.La densité des solutions étudiées est donnée en fonction de la concentration (voir fiche technique).

10.2.9.1. Remplissage de l'appareil. Mesure du temps d'écoulement

Introduire dans le viscosimètre une quantité convenable de la solution au moyen d'une pipette jusqu'aurepère de remplissage.Faire passer la solution par le capillaire du viscosimètre, par soufflage d'air sec au moyen d'une poirede caoutchouc. Arrêter l'opération lorsque le niveau du liquide est juste au-dessus du repère supérieur.Immerger le viscosimètre dans le bain à 25 °C ± 0,1 °C.Fixer le viscosimètre de façon que, d'une part, le niveau du bain soit à 20 mm au-dessus du repère degraduation supérieur et que, d'autre part, l'axe du tube soit parfaitement vertical.Après une attente de 15 minutes au moins laisser le liquide s'écouler en mesurant au moyen duchronomètre le temps mis par le ménisque pour redescendre du repère supérieur au repère inférieur,c'est le temps d'écoulement de la solution.

10.2.9.2. Résultats

Préparer 500 ml d'une solution M/2 dans de l'eau dégazée et préparer à partir de celle-ci les solutionssuivantes:

M/2 M/3 M/4 M/6 M/8

Mesurer la viscosité à 25 °C du solvant pur et de chacune des 5 solutions. Calculer la valeur du rapportη/η0.

On remarquera que la constante A du viscosimètre n'intervient pas. On dressera le tableau de résultatssuivant:

C, t, 0tt ,

0dd ,

000 d tdt

ηη=

Porter 0ηη en fonction de C sur un graphique.

Pour les faibles concentrations, la loi de variation s'approche de la loi théorique et la portion de courbepeut être assimilée à une droite. On peut alors déterminer r à partir de la pente de la droite.

Page 172: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 172

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

10.2.10. ORDRE DES OPERATIONS

La température intervenant grandement dans les mesures de viscosité, il importe que l'équilibrethermique soit correctement établi.

1. Il n'y a qu'un seul appareil HOPPLER au laboratoire, chaque étudiant en disposera 2 heures. On letrouvera rempli d'eau et prêt à fonctionner. Surtout ne pas l'ouvrir. Le réglage de la température sefait par le thermostat placé à côté. Si l'on ne sait pas régler le thermostat demander desexplications. La lecture de la température se fait sur le thermomètre placé dans la jacquette etproche du tube d'expérience.

2. En arrivant, on mettra le viscosimètre à écoulement, rempli de solvant (ici eau dégazée) à stabiliseren température.

3. Les solutions de glycérine dans l'eau dégazée sont préparées de la façon suivante:

Solution M/2: La quantité nécessaire de glycérine (ou glycérol) pure est pesée à l'aide de la balanceMettler K7, et étendue avec de l'eau dégazée à 500 ml. Bien agiter au fur et à mesure que l'onajoute l'eau car l'homogénéité est difficile à atteindre.Solution M/3: A partir de la solution M/2. On dispose d'une fiole de 150 ml. Les autres solutions sepréparent dans des fioles de 100 ml.

Dès que la mesure à été faite sur une solution en mettre une autre à stabiliser.

10.2.11. MODIFICATIONS AU LABORATOIRE CI-DESSUS

Pour chaque mesure, faire 3 essais de temps et faire le moyenne (les indiquer au dos de la feuille).

Viscosimètre à chute de bille de Hoppler

Il n'y a aucune modification sur cette partie du laboratoire. Pour la densité de l'eau en fonction de latempérature, on se reportera au 5.1 du Tome 2 de chimie industrielle (Tome sur l'eau).

Viscosimètre à écoulement

Comme il n'y a pas de viscosimètre à écoulement, on utilisera le viscosimètre d'HOPPLER. De plus,au lieu de travailler sur la glycérine on travaille sur le saccharose de masse molaire 342 g.mol-1. On nefera pas les solutions M/2 et M/3. On partira directement par 250 ml d'une solution M/4, dont il faudracalculer la quantité à peser. En plus des solutions M/6 et M/8, on préparera des solutions M/12 et M/16(par dilution bien sur).Pour calculer les densités, ou du moins le rapport d/d0, on utilisera la relation suivante:

C 0,1306 1 dd

0

+= avec C = concentration en mol.l-1.

10.3. Manipulation 2 - Vérification de la loi de Guzman Andrade

Tirée de Tension superficielle et viscosité du BTS (Lycée de l'Escaut à Valenciennes).

Page 173: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 173

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

MesuresVous devrez mesurer ρhuile.Faire au moins 4 mesures cohérentes du temps de chute (se placer assez loin du point de départ pourêtre sûr d'avoir une vitesse constante). Prendre la valeur moyenne.En déduire le coefficient de viscosité dynamique (en mPl).Travailler pour une gamme de température allant de la température la plus basse possible à unetempérature d'au moins 80 °C.

Tracer η en fonction de T (en K).

Est-ce que la viscosité dynamique de l�huile de cette huile vérifie la loi de Guzman Andrade qui ditque η = A . exp(B/T) avec T en Kelvin.

(Pour rappel selon http://www.educnet.education.fr/rnchimie/gen_chim/sommaire.htm: Quand lecoefficient de viscosité dynamique ne dépend que de la température et de la pression, le fluide est dit newtonien oulinéaire.)

10.4. Manipulation 3 - Etude de la variation de la viscosité d’une huile lors d’un chauffagetrop intense

D'après http://www.educnet.education.fr/rnchimie/default.htm

10.4.1. Manipulation

! le viscosimètre 1 a été rempli d�huile non chauffée et le capillaire rincé avec cette huile! aspirer l�huile non chauffée au-dessus de l�index supérieur du viscosimètre! déclencher le chronomètre lorsque la surface de l�huile passe au niveau de l�index supérieur! arrêter le chronomètre lorsque la surface de l�huile passe au niveau de l�index inférieur : soit t1le temps d�écoulement! le viscosimètre 2 est rempli avec la même huile mais qui a subi un chauffage très intensependant quelques minutes! mesurer de même le temps t2 de vidange.! on vérifiera à chaque mesure que la température est la même.

10.4.2. Exploitation des résultats

1. A l�aide des certificats d�étalonnage, déterminer les viscosités des deux huiles sachant que leurdensité mesurée au densimètre et inchangée au cours du chauffage est d = 0,917 à températureambiante.

2. Comment a varié la viscosité après le chauffage ?

10.5. Manipulation 4 - Contrôle de la polymérisation du styrène - Relation entre massemolaire et viscosité: loi de Mark - Houwink

D'après http://www.educnet.education.fr/rnchimie/default.htm

Page 174: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 174

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

L�addition de molécules de polymère à un solvant augmente invariablement sa viscosité.Pour relier cet accroissement de la viscosité aux propriétés du soluté, on fait intervenir un certainnombre de grandeurs dépendant de la viscosité dynamique du solvant pur η0 et η, celle de la solution.On définit ainsi:

! la viscosité relative: ηR = η / η0

! la viscosité spécifique: ηsp =( η - η0 ) / η0 = ηR - 1! la viscosité réduite: ηRed = ηsp / C où C est la concentration en soluté! la viscosité intrinsèque: [ ] Red0 CRed η lim η

→=

La viscosité intrinsèque représente la variation relative de la viscosité d�une solution par unité deconcentration de polymère, à dilution infinie. Elle s�exprime généralement en cm3.g-1

Elle correspond à l�absence de toute interaction moléculaire de par l�extrapolation à dilution infinie.Elle est directement liée à la nature des molécules du soluté (polymère)

Relation entre masse molaire et viscosité: loi de Mark - Houwink

C�est une loi empirique : [ηRed] = K . Mα

où K et α sont des constantes caractéristiques du couple polymère - solvant à une température donnéeet M, la masse molaire moyenne du polymère.La connaissance de K et α (Polymer Handbook) permet de déterminer la masse molaire M dupolymère avec une précision d�environ 20 %.

Extrait du Polymère Handbook: ( concentrations exprimées en g/cm3 )Polymère Solvant Température °C K.1000 α

polystyrène benzène 25 1.03 0.74polystyrène toluène 20 4.16 0.79polystyrène méthyléthylbutène 25 3.9 0.58

polyisobutène cyclohexane 30 6.6 0.70polyisobutène benzène 24 8.3 0.50

caoutchouc toluène 25 5.3 0.67

Remarque: l�effet du polymère sur la viscosité dépend de la forme des molécules de polymère ; dansun bon solvant, on s�attend à ce que les chaînes de polymères soient solvatées, donc allongées. Dansun mauvais solvant, elles ont tendance à rester enroulées ou repliées.

Etude expérimentale au viscosimètre d’Ostwald:

CONSTITUTION ET PRINCIPE:Le viscosimètre d�Ostwald est un viscosimètre à capillaire: on mesure le temps que met un volume V de liquide comprisentre deux repères à s�écouler dans le capillaire (= temps de vidange).Ce temps de vidange est proportionnel à la viscosité dynamique du liquide et inversement proportionnel à la pressionmotrice ici uniquement de pesanteur (pression de la colonne de liquide) donc à la masse volumique du liquide: t = k η / ρ.Les constructeurs délivrent avec chaque tube, un certificat d�étalonnage où intervient plutôt K: η = K * ρ * t (voir lecertificat d�étalonnage du tube utilisé)

Si on compare le temps d�écoulement d�un volume de solvant pur à celui d�une solution de polymère, on obtient: ηR = η /ηo = K ρ t / K ρo to = t / to car, si la solution est suffisamment diluée, ρ = ρo.

Page 175: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 175

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

10.5.1. Manipulation: attention ! travailler sous la hotte, avec des gants.

! préparer 100 mL d�une solution de polystyrène à 12 g /L dans le toluène, soit S6 cettesolution

! préparer les solutions suivantes de polystyrène dans le toluène:

SolutionS1 1 mL qsp 25 mLS2 2 mL qsp 25 mLS3 4 mL qsp 25 mLS4 6 mL qsp 25mLS5 10 mL qsp 25 mL

S0 = toluène pur

! introduire la solution S0 (= toluène pur) dans le viscosimètre, de façon à ce que le capillaireplonge jusqu�aux graduations

! aspirer le liquide plusieurs fois afin de bien rincer le capillaire. Jeter ce liquide de lavage! introduire à nouveau la solution S0, rincer mais travailler avec ce liquide.! mesurer le temps d�écoulement de cette solution au viscosimètre à 20 °C, éventuellement

deux fois.! faire de même pour les autres solutions (en allant de la moins concentrée à la plus

concentrée)! bien rincer tout le matériel avec le toluène.

10.5.2. Exploitation des résultats

1. Compléter le tableau suivant:

Solution So S1 S2 S3 S4 S5Temps t en secondesConcentration en g/cm3

ηR= (t/t0)ηRed = (ηR - 1)/Cen cm3.g-1

2. Tracer grâce à l�ordinateur la courbe ηRed = f(C), montrer que c�est une droite.3. Déterminer [ηRed].4. A l�aide des valeurs données par le Polymer Handbook, en déduire la masse molaire moyenne du

polystyrène étudié.

Page 176: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 176

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

SOMMAIRE

TP 0 INFORMATIONS DIVERSES ............................................................................. 5

0.1. CALCINATION AU BEC BUNSEN .................................................................................................................5

0.2. SOLUTIONS TAMPON .................................................................................................................................5

0.2.1. Premier mélange1.................................................................................................................................50.2.2. Deuxième mélange2 .............................................................................................................................70.2.3. Troisième mélange3 .............................................................................................................................80.2.4. Propriétés des tampons2.....................................................................................................................100.3. SOLUTION DE CALIBRATION (PH MÈTRE)1............................................................................................10

0.4. INDICATEURS COLORÉS ..........................................................................................................................10

0.4.1. Indicateurs de pH................................................................................................................................100.4.1.1. De Riedel-deHaën2 ......................................................................................................................11

0.4.1.2. De Merck3 ...................................................................................................................................12

0.4.2. Indicateurs d'Oxydo-réduction3 .........................................................................................................140.5. TABLE DENSITÉ-POURCENTAGE DE QUELQUES BASES ET ACIDES3 .....................................................15

0.5.1. Acide nitrique.....................................................................................................................................160.5.2. Acide sulfurique .................................................................................................................................170.5.3. Acide phosphorique............................................................................................................................180.5.4. Acide chlorhydrique ...........................................................................................................................180.5.5. Ammoniaque ......................................................................................................................................190.5.6. Lessive de soude.................................................................................................................................190.5.7. Lessive de potasse ..............................................................................................................................200.5.8. Concentrations usuelles de quelques acides et bases..........................................................................200.6. INTERPRÉTATION DES RÉSULTATS PAR LE CALCUL STATISTIQUE.......................................................21

0.6.1. Généralité ...........................................................................................................................................210.6.2. Exemple..............................................................................................................................................230.6.3. Programmes Informatique en BASIC ................................................................................................240.6.3.1. Version PET CBM.......................................................................................................................24

0.6.3.2. Version Quick Basic 4.5 ..............................................................................................................25

0.7. SPECTRE ÉLECTROMAGNÉTIQUE ...........................................................................................................29

TP 1 ACIDIMÉTRIE ..................................................................................................... 30

1.1. MISE EN SOLUTION..................................................................................................................................30

1.2. NETTOYAGE DE LA VERRERIE ................................................................................................................30

1.3. NOTE SUR LES RÉACTIFS "POUR ANALYSE" (P.A.) ...............................................................................31

1.4. PRINCIPE DE LA TITRIMÉTRIE ................................................................................................................31

1.5. LE RÔLE DE L'INDICATEUR ACIDE-BASE................................................................................................31

1.6. DIFFÉRENTS TYPES DES TITRAGES.........................................................................................................32

Page 177: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 177

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

1.6.1. Titrage direct et inverse......................................................................................................................321.6.2. Titrage en retour .................................................................................................................................321.7. RÉALISATION PRATIQUE DES SOLUTIONS DILUÉES...............................................................................33

1.7.1. Quelques définitions...........................................................................................................................331.7.2. Expression de la dilution ....................................................................................................................331.7.3. Calcul de la dilution ...........................................................................................................................331.7.4. Réalisation pratique............................................................................................................................341.8. PRÉPARATION D'UNE SOLUTION D'HCL 0,1 M......................................................................................36

1.9. PRÉPARATION D'UNE SOLUTION STANDARD DE NA2CO3 (UNE PAR BINÔME)......................................36

1.10. STANDARDISATION DE HCL PAR NA2CO3............................................................................................37

1.10.1. Rappel théorique...............................................................................................................................371.10.2. Réactifs .............................................................................................................................................371.10.3. Mode opératoire................................................................................................................................371.11. PRÉPARATION D'UNE SOLUTION DE NAOH ≈ 0,1 M............................................................................38

1.12. STANDARDISATION DE NAOH PAR HCL..............................................................................................38

1.12.1. Rappel théorique...............................................................................................................................381.12.2. Réactifs .............................................................................................................................................381.12.3. Mode opératoire................................................................................................................................38

TP 2 CHROMATOGRAPHIE SUR PAPIER ............................................................ 40

2.1. PRINCIPE...............................................................................................................................................40

2.2. TECHNIQUE GENERALE...................................................................................................................40

2.2.1. PAPIER ..............................................................................................................................................402.2.2. SOLVANT .........................................................................................................................................402.2.3. APPLICATION DES ECHANTILLONS..........................................................................................402.2.4. OPERATION .....................................................................................................................................402.2.5. SECHAGE DU CHROMATOGRAMME.........................................................................................412.2.6. DEVELOPPEMENT DU CHROMATOGRAMME .........................................................................412.2.7. LE Rf ET LE Rx..................................................................................................................................412.3. REACTIFS ..............................................................................................................................................41

2.4. MODE OPERATOIRE ..........................................................................................................................41

2.4.1. CHROMATOGRAPHIE ASCENDANTE ........................................................................................412.4.2. CHROMATOGRAPHIE A DEUX DIRECTIONS ...........................................................................422.4.3. CHROMATOGRAPHIE DESCENDANTE......................................................................................42

TP 3 SYNTHESE DE L'ACIDE ACETYLSALICYLIQUE ..................................... 43

3.1. PRINCIPE...............................................................................................................................................43

3.1.1. Acetylation .........................................................................................................................................433.1.2. Dosage de l'acide ................................................................................................................................443.1.3. Hydrolyse basique ..............................................................................................................................443.2. REACTIFS ..............................................................................................................................................44

3.3. MODE OPERATOIRE ..........................................................................................................................45

3.3.1. TITRAGE DE L'ACIDE ACETYLSALICYLIQUE .........................................................................45

Page 178: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 178

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

3.3.2. INDICE DE SAPONIFICATION ......................................................................................................453.3.3. Chromatographie sur couche mince (CCM).......................................................................................453.4. RECRISTALLISATION .......................................................................................................................46

TP 4 SYNTHÈSE DU PARACETAMOL .................................................................... 47

4.1. MATÉRIEL ET RÉACTIFS .........................................................................................................................47

4.2. SYNTHÈSE DU PARACÉTAMOL BRUT ......................................................................................................47

4.2.1. Dissolution du paraminophénol..........................................................................................................474.2.2. Synthèse du paracétamol ....................................................................................................................484.2.3. Cristallisation .....................................................................................................................................484.3. PURIFICATION DU PARACÉTAMOL PAR RECRISTALLISATION ..............................................................48

4.4. CHROMATOGRAPHIE SUR COUCHE MINCE (CCM) ...............................................................................48

4.5. DONNÉES..................................................................................................................................................48

TP 5 ANALYSE D'UNE EAU ....................................................................................... 49

5.1. DURETÉ DE L'EAU....................................................................................................................................49

5.1.1. A: Détermination de la dureté de l'eau par acidimétrie ......................................................................505.1.1.1. Rappel théorique. .........................................................................................................................50

5.1.1.2. Réactifs ........................................................................................................................................50

5.1.1.3. Matériel ........................................................................................................................................51

5.1.1.4. Mode opératoire ...........................................................................................................................51

5.1.2. B: Détermination de la dureté de l'eau par complexométrie ..............................................................515.1.2.1. Rappel théorique ..........................................................................................................................51

5.1.2.2. Réactifs ........................................................................................................................................52

5.1.2.3. Matériel ........................................................................................................................................52

5.1.2.4. Mode opératoire ...........................................................................................................................52

5.1.3. C: Méthode au réactif complexant4 ...................................................................................................525.1.3.1. Objet de la norme.........................................................................................................................53

5.1.3.1.1. Généralités .............................................................................................................................53

5.1.3.1.2. Principe..................................................................................................................................53

5.1.3.2. Réactifs ........................................................................................................................................53

5.1.3.2.1. Solution tampon (pH 10) .......................................................................................................53

5.1.3.2.2. Sel disodique de l'acide éthylène diamine tétra-acétique: .....................................................54

5.1.3.2.3. Calcium: solution-étalon de calcium N/50, telle que 1 ml contienne 0,4 mg de calcium......54

5.1.3.2.4. Ériochrome noir T: solution indicateur: ................................................................................54

5.1.3.3. Mode opératoire ...........................................................................................................................54

5.1.3.3.1. Prise d'essai............................................................................................................................54

Page 179: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 179

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.1.3.3.2. Dosage ...................................................................................................................................54

5.1.3.3.3. Agiter .....................................................................................................................................55

5.1.3.3.4. Expression des résultats.........................................................................................................55

5.1.3.3.5. Précision ................................................................................................................................55

5.1.3.3.6. Procès-verbal d'essai..............................................................................................................55

5.1.3.3.7. Commentaires........................................................................................................................55

5.1.3.3.8. Ions gênant le virage..............................................................................................................55

5.1.4. Méthodes au savon4 ...........................................................................................................................565.1.4.1. Principe ........................................................................................................................................56

5.1.4.2. Réactifs ........................................................................................................................................56

5.1.4.3. Mode opératoire ...........................................................................................................................56

5.1.5. Séparation des duretés calcique et magnésienne4 ..............................................................................565.1.5.1. Principe ........................................................................................................................................56

5.1.5.2. Réactifs ........................................................................................................................................56

5.1.5.3. Mode opératoire ...........................................................................................................................57

5.1.6. D: Autres expériences avec l'EDTA...................................................................................................575.1.6.1. Principe ........................................................................................................................................57

5.1.6.1.1. Définition...............................................................................................................................57

5.1.6.1.2. Influence du pH .....................................................................................................................57

5.1.6.1.3. Indicateurs .............................................................................................................................58

5.1.6.2. Mode opératoire ...........................................................................................................................58

5.1.6.2.1. Préparation d'un litre de solution d'EDTA ≈ 0,01 M.............................................................58

5.1.6.2.2. Préparation de 100 ml de solution étalon de carbonate de calcium.......................................58

5.1.6.2.3. Détermination du titre de la solution d'E.D.T.A. pH = 10.....................................................58

5.1.6.2.4. Détermination du titre hydrotimétrique total d'une eau. pH = 10..........................................59

5.1.6.3. Expression des résultats ...............................................................................................................59

5.1.6.4. Détermination du degré permanent..............................................................................................59

5.2. DÉTERMINATION DE L'ALCALINITÉ4.........................................................................................60

5.2.1. Modes d'expression ............................................................................................................................605.2.2. Méthode classique ..............................................................................................................................605.2.2.1. Réactifs ........................................................................................................................................60

5.2.2.2. Mode opératoire ...........................................................................................................................61

5.2.2.3. Calculs..........................................................................................................................................61

5.2.3. Méthode de Winckler .........................................................................................................................615.2.3.1. Principe ........................................................................................................................................62

5.2.3.2. Réactifs ........................................................................................................................................62

5.2.3.3. Mode opératoire ...........................................................................................................................62

5.3. DÉTERMINATION DU PH4 ................................................................................................................62

5.4. DÉTERMINATION DE LA SALINITÉ4 ............................................................................................62

Page 180: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 180

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.4.1. Mesure de la densité ...........................................................................................................................635.4.2. Dosage des chlorures..........................................................................................................................635.4.2.1. Principe ........................................................................................................................................63

5.4.2.2. Réactifs ........................................................................................................................................63

5.4.2.3. Mode opératoire ...........................................................................................................................63

5.4.2.4. Calculs..........................................................................................................................................64

5.4.3. Mesure de résistivité...........................................................................................................................645.4.4. Détermination extrait sec....................................................................................................................645.5. DOSAGE DES PHOSPHATES1...........................................................................................................64

5.5.1. Méthode colorimétrique au bleu de molybdène .................................................................................655.5.1.1. Principe ........................................................................................................................................65

5.5.1.2. Appareillage.................................................................................................................................65

5.5.1.3. Réactifs ........................................................................................................................................65

5.5.1.4. Mode opératoire ...........................................................................................................................65

5.5.2. Méthode acidimétrique.......................................................................................................................665.5.2.1. Principe ........................................................................................................................................66

5.5.2.2. Réactifs ........................................................................................................................................66

5.5.2.3. Mode opératoire ...........................................................................................................................66

5.5.2.4. Résultats .......................................................................................................................................66

5.6. DOSAGE DES POLYPHOSPHATES1................................................................................................67

5.6.1. Principe...............................................................................................................................................675.6.2. Précaution essentielle .........................................................................................................................675.6.3. Hydrolyse du polyphosphate ..............................................................................................................675.6.4. Dosage par la méthode colorimétrique au bleu de molybdène...........................................................675.6.4.1. Appareillage.................................................................................................................................67

5.6.4.2. Réactifs ........................................................................................................................................68

5.6.4.3. Mode opératoire ...........................................................................................................................68

5.6.5. Méthode AFNOR ...............................................................................................................................685.7. DOSAGE DE L'OXYGÈNE1................................................................................................................68

5.7.1. Méthode polarographique...................................................................................................................685.7.1.1. Principe ........................................................................................................................................68

5.7.1.2. Appareillage.................................................................................................................................69

5.7.1.3. Mode opératoire ...........................................................................................................................69

5.7.1.4. Résultats .......................................................................................................................................69

5.7.2. Méthode de Winckler .........................................................................................................................695.7.2.1. Principe ........................................................................................................................................69

5.7.2.2. Prise de l'échantillon ....................................................................................................................69

5.7.2.3. Réactifs ........................................................................................................................................70

5.7.2.4. Mode opératoire ...........................................................................................................................70

5.7.2.4.1. colorimétrique........................................................................................................................70

5.7.2.4.2. volumétrique..........................................................................................................................70

5.7.3. O2 dissous - Méthodes utilisées au CEBEDEAU5.............................................................................70

Page 181: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 181

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.7.3.1. Méthodes normalisées..................................................................................................................71

5.7.3.1.1. Norme belge: NBN 390. Méthode de Winckler. ...................................................................71

5.7.3.1.2. Suisse: SNV 81506................................................................................................................71

5.7.3.1.3. Grande Bretagne: BS 2690 (1956). .......................................................................................72

5.7.3.1.4. Normes internationales applicables à l'eau de boisson (Organisation mondiale de la santé,

Genève). 72

5.7.3.1.5. France: NFT 90.010. Détermination colorimétrique des faibles teneurs d'O2 libre...............72

5.8. DOSAGE DE LA SILICE1....................................................................................................................72

5.8.1. Méthode colorimétrique .....................................................................................................................725.8.1.1. Principe ........................................................................................................................................72

5.8.1.2. Réactifs ........................................................................................................................................73

5.8.1.3. Mode opératoire ...........................................................................................................................73

5.8.1.3.1. Teneur en SiO2 supérieure à 2 mg/l. ......................................................................................73

5.8.1.3.2. Teneur en SiO2 inférieure à 2 mg/l. .......................................................................................73

5.8.2. Méthode pondérale .............................................................................................................................745.8.2.1. Principe ........................................................................................................................................74

5.8.2.2. Réactifs ........................................................................................................................................74

5.8.2.3. Mode opératoire ...........................................................................................................................74

5.9. DOSAGE DU MANGANESE5..............................................................................................................75

5.9.1.1. Matériel ........................................................................................................................................75

5.9.1.2. Réactifs ........................................................................................................................................75

5.9.1.3. Mode opératoire ...........................................................................................................................75

5.9.1.4. Normes Etrangères.......................................................................................................................76

5.9.1.4.1. Pays-Bas: Projet de norme 3130 H 60...................................................................................76

5.9.1.4.2. Suisse: SNV. 81.502..............................................................................................................76

5.9.1.4.3. Normes Internationales applicables à l'eau de boisson (Organisation mondiale de la santé:

Genève) 76

5.10. DOSAGE DU FER5..............................................................................................................................76

5.10.1. Dosage des ions ferreux et ferriques.................................................................................................765.10.1.1. KSCN .........................................................................................................................................76

5.10.1.1.1. Matériel................................................................................................................................77

5.10.1.1.2. Réactifs ................................................................................................................................77

5.10.1.1.3. Mode opératoire...................................................................................................................77

5.10.1.1.4. Détermination des résultats:.................................................................................................77

5.10.1.2. αα' dipyridyl ..............................................................................................................................78

5.10.1.2.1. Matériel................................................................................................................................78

5.10.1.2.2. Réactifs ................................................................................................................................78

5.10.1.2.3. Mode opératoire...................................................................................................................78

Page 182: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 182

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.10.2. Fer complexé ....................................................................................................................................795.10.2.1. Matériel ......................................................................................................................................79

5.10.2.2. Réactifs.......................................................................................................................................79

5.10.2.3. Mode opératoire .........................................................................................................................79

5.10.3. Méthodes normalisées ......................................................................................................................795.10.3.1.1. Norme belge: NBN 616. ......................................................................................................79

5.10.3.1.2. Pays-Bas: Projets de Normes: Methoden voor de analyse van water in ketelbedrijf...........80

5.10.3.1.3. Grande-Bretagne: BS 1427 1962. ........................................................................................80

5.10.3.1.4. France: NFT 90.017, Mai 59. ..............................................................................................80

5.10.3.1.5. Normes internationales applicables à l'eau de boisson (Organisation mondiale de la Santé -

Genève). 80

5.11. DOSAGE DE L'AMMONIAQUE5.....................................................................................................81

5.11.1. Méthode par distillation....................................................................................................................815.11.1.1.1. Matériel................................................................................................................................81

5.11.1.1.2. Réactifs ................................................................................................................................81

5.11.1.1.3. Mode opératoire...................................................................................................................81

5.11.2. Méthode de Nessler ..........................................................................................................................825.11.2.1. Matériel ......................................................................................................................................82

5.11.2.2. Réactifs.......................................................................................................................................82

5.11.2.3. Mode opératoire .........................................................................................................................83

5.11.3. Méthode utilisée au CEBEDEAU ....................................................................................................835.11.3.1. Réactifs: .....................................................................................................................................83

5.11.3.2. Appareillage ...............................................................................................................................84

5.11.3.3. Mode opératoire .........................................................................................................................84

5.11.4. Méthodes normalisées ......................................................................................................................845.11.4.1.1. Norme belge: NBN 489. ......................................................................................................84

5.11.4.1.2. France: NFT 90.015, Nov. 56. Dosage colorimétrique........................................................84

5.11.4.1.3. Grande-Bretagne: RS 2690 (1956), p. 69-72. ......................................................................84

5.12. DOSAGE DES NITRITES5.................................................................................................................85

5.12.1. Réactif de Griess...............................................................................................................................855.12.1.1. Matériel ......................................................................................................................................85

5.12.1.2. Réactifs: .....................................................................................................................................85

5.12.1.3. Mode opératoire .........................................................................................................................85

5.12.2. Réactif de Lombard ..........................................................................................................................865.12.2.1. Matériel ......................................................................................................................................86

5.12.2.2. Réactifs.......................................................................................................................................86

5.12.2.3. Mode opératoire .........................................................................................................................86

5.12.3. Méthode utilisée au CEBEDEAU ....................................................................................................865.12.3.1. Réactifs.......................................................................................................................................86

5.12.3.2. Méthode .....................................................................................................................................87

5.12.4. Méthodes normalisées ......................................................................................................................87

Page 183: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 183

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

5.12.4.1.1. Belgique: NBN 515: Méthode au réactif de Griess. ............................................................87

5.12.4.1.2. Grande-Bretagne: B. S. 1427 (1962). ..................................................................................87

5.12.4.1.3. France: NFT 90.013.............................................................................................................87

5.12.4.1.4. Normes internationales applicables à l'eau de boisson (Organisation mondiale de la Santé,

Genève). 87

5.13. DOSAGE DES NITRATES5 ...............................................................................................................88

5.13.1. Réactif...............................................................................................................................................885.13.2. Principe.............................................................................................................................................885.13.3. Matériel.............................................................................................................................................885.13.4. Réactifs .............................................................................................................................................885.13.5. Mode opératoire................................................................................................................................885.13.6. Méthode utilisée au CEBEDEAU ....................................................................................................895.13.6.1. Réactifs.......................................................................................................................................89

5.13.6.2. Méthode .....................................................................................................................................89

5.13.6.3. Calcul .........................................................................................................................................90

5.13.7. Méthodes normalisées ......................................................................................................................905.13.7.1. Norme belge: NBN 525. ............................................................................................................90

5.13.7.2. Pays-Bas: Projet de Normes 3130 O 63. ....................................................................................90

5.13.7.3. France: NFT 90.012. ..................................................................................................................90

5.14. OXYDABILITE AU PERMANGANATE DE POTASSIUM6.........................................................91

5.14.1. A froid (en milieu acide) ..................................................................................................................915.14.1.1. Réactifs nécessaires....................................................................................................................91

5.14.1.2. Mode opératoire .........................................................................................................................91

5.14.2. A chaud (en milieu acide).................................................................................................................915.15. DEMANDE CHIMIQUE EN OXYGENE (DCO)6 ...........................................................................91

5.15.1. Réactifs nécessaires ..........................................................................................................................925.15.2. Détermination du titre exact de la solution de sulfate de fer et d'ammonium ..................................925.15.3. Mode opératoire................................................................................................................................925.15.4. Mesure ..............................................................................................................................................925.16. DETERMINATION DES MATIERES EN SUSPENSION6............................................................93

5.16.1. Méthode par centrifugation ..............................................................................................................935.16.2. Méthode par filtration.......................................................................................................................945.16.3. Méthode densimétrique (pour les boues activées). Emploi du Ponsarimètre ...................................94

TP 6 MICROPROCESSEUR Z80 ................................................................................ 95

6.1. BUT ...........................................................................................................................................................95

6.2. EMULATEUR ZX SPECTRUM...............................................................................................................95

6.2.1. Historique des ordinateurs Sinclair ....................................................................................................956.2.2. Les ordinateurs SINCLAIR................................................................................................................986.2.3. Le ZX Spectrum .................................................................................................................................986.2.4. L'émulateur spectaculator.................................................................................................................1016.3. DEVPAC................................................................................................................................................103

Page 184: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 184

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.3.1. HiSoft GENS3 Programmer's Manual .............................................................................................1036.3.1.1. GETTING STARTED ...............................................................................................................103

6.3.1.2. DETAILS OF GENS3 ...............................................................................................................104

6.3.1.2.1. How GENS3 Works, Assembler Options, Listing Format etc. ...........................................104

6.3.1.2.2. Assembler Statement Format...............................................................................................107

6.3.1.2.3. Labels. .................................................................................................................................107

6.3.1.2.4. Location Counter .................................................................................................................108

6.3.1.2.5. Symbol Table.......................................................................................................................108

6.3.1.2.6. Expressions..........................................................................................................................108

6.3.1.2.7. Macros. ................................................................................................................................109

6.3.1.2.8. Assembler Directives...........................................................................................................111

6.3.1.2.9. Conditional Pseudo-mnemonics. .........................................................................................112

6.3.1.2.10. Assembler Commands. ......................................................................................................112

6.3.1.3. THE INTEGRAL EDITOR .......................................................................................................114

6.3.1.3.1. Introduction to the Editor. ...................................................................................................114

6.3.1.3.2. The Editor Commands.........................................................................................................115

6.3.1.3.3. An Example of the Use of the Editor...................................................................................119

6.3.1.4. APPENDIX 1 ERROR NUMBERS AND THEIR MEANINGS..............................................120

6.3.1.5. APPENDIX 2 RESERVED WORDS, MNEMONICS ETC. ....................................................121

6.3.1.6. APPENDIX 3 A WORKED EXAMPLE...................................................................................122

6.3.1.7. APPENDIX 4 AN EXTENDED CAT PROGRAM ..................................................................126

6.3.2. HiSoft MONS3 Programmer's Manual ............................................................................................1316.3.2.1. GETTING STARTED ...............................................................................................................131

6.3.2.2. THE COMMANDS AVAILABLE. ..........................................................................................132

6.3.2.3. APPENDIX AN EXAMPLE FRONT PANEL DISPLAY .......................................................141

6.4. INTRODUCTION TO Z80 ASSEMBLER ...................................................................................................142

6.4.1. Binary vs Decimal vs Hexadecimal .................................................................................................1426.4.2. The Registers, Memory and Machine Language vs Assembler .......................................................1446.4.3. Addition and Subtraction..................................................................................................................1456.4.4. Bit Manipulation ..............................................................................................................................1476.4.5. Program Flow, more on Flags and The Stack ..................................................................................1496.4.6. Memory Manipulation......................................................................................................................1506.5. LE TP LUI-MÊME...................................................................................................................................151

6.5.1. Lancement de Gens ..........................................................................................................................1516.5.2. Ce qui est demandé...........................................................................................................................1526.5.2.1. Ecrire son prénom ......................................................................................................................152

6.5.2.1.1. Méthode 1............................................................................................................................152

6.5.2.1.2. Méthode 2............................................................................................................................153

6.5.2.1.3. Méthode 3............................................................................................................................153

6.5.2.2. Bordure ......................................................................................................................................154

6.5.2.2.1. Devoir ..................................................................................................................................154

Page 185: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 185

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

6.5.2.2.2. Informations techniques ......................................................................................................154

TP 7 EAU FORTE ....................................................................................................... 156

TP 8 DÉTERMINATION D'ENTHALPIES............................................................. 157

8.1. DETERMINATION D'UNE ENTHALPIE DE NEUTRALISATION............................................157

8.1.1. Dispositif de mesure.........................................................................................................................1578.1.2. Mode opératoire ...............................................................................................................................1578.2. MESURE D’UNE ENTHALPIE DE MELANGE.............................................................................158

8.2.1. Préparation: matériel - sous hotte .....................................................................................................1588.2.2. Mode opératoire ...............................................................................................................................1588.3. MESURE D’UNE ENTHALPIE DE DISSOLUTION......................................................................158

8.3.1. Mode opératoire ...............................................................................................................................159

TP 9 EXTRACTION D’AROME ............................................................................... 160

9.1. ENTRAÎNEMENT À LA VAPEUR D’EAU ..................................................................................................160

9.1.1. Extraction du limonène ....................................................................................................................1609.1.2. Extraction de l�eugénol ....................................................................................................................1619.2. EXTRACTION PAR SOLVANT..................................................................................................................162

TP 10 VISCOSIMETRIE ........................................................................................ 163

10.1. LE VISCOSIMÈTRE QUE NOUS ALLONS UTILISER - NOTICE...............................................................163

10.2. MANIPULATION 1.................................................................................................................................166

10.2.1. Définition........................................................................................................................................16610.2.2. Coefficients et unités de viscosité ..................................................................................................16610.2.2.1. Le coefficient de viscosité absolue dynamique η est égal à.....................................................166

10.2.2.2. Le coefficient de viscosité absolue cinématique d'un liquide ..................................................167

10.2.3. Viscosité des solutions....................................................................................................................16710.2.4. Loi de Einstein................................................................................................................................16710.2.5. Loi de Poiseuille .............................................................................................................................16810.2.6. Théorie de Eyring ...........................................................................................................................16810.2.7. MANIPULATION ........................................................................................................................16910.2.8. Viscosimètre à chute de bille de Hoppler .......................................................................................16910.2.8.1. Réglage de l'appareil ................................................................................................................170

10.2.8.2. Remplissage du tube de chute ..................................................................................................170

10.2.9. Viscosimètre à écoulement.............................................................................................................17110.2.9.1. Remplissage de l'appareil. Mesure du temps d'écoulement .....................................................171

Page 186: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 186

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

10.2.9.2. Résultats ...................................................................................................................................171

10.2.10. ORDRE DES OPERATIONS....................................................................................................17210.2.11. MODIFICATIONS AU LABORATOIRE CI-DESSUS .........................................................17210.3. MANIPULATION 2 - VÉRIFICATION DE LA LOI DE GUZMAN ANDRADE............................................172

10.4. MANIPULATION 3 - ETUDE DE LA VARIATION DE LA VISCOSITÉ D’UNE HUILE LORS D’UN

CHAUFFAGE TROP INTENSE ...............................................................................................................................173

10.4.1. Manipulation...................................................................................................................................17310.4.2. Exploitation des résultats................................................................................................................17310.5. MANIPULATION 4 - CONTROLE DE LA POLYMÉRISATION DU STYRÈNE - RELATION ENTRE MASSE

MOLAIRE ET VISCOSITÉ: LOI DE MARK - HOUWINK .......................................................................................173

10.5.1. Manipulation: attention ! travailler sous la hotte, avec des gants. ..................................................17510.5.2. Exploitation des résultats................................................................................................................175

Page 187: chimie_industrielle_tome_tp.pdf

Tome TP Dr. Gilles OLIVE 187

CHIMIE INDUSTRIELLE 25/03/2005 1ère Edition

BIBLIOGRAPHIE1. Tonneau J. Tables de chimie - Un mémento pour le laboratoire. Bruxelles: De Boeck -

Wesmael, 19912. Laboratory auxiliary tables de Riedel-deHaën.3. Memento pour le laboratoire de chimie de Merck.4. Germain L, Colas L, Jean R. Le traitement des eaux destinées à l'alimentation des chaudières à

vapeur, aux circuits de réfrigération et aux réseaux de distribution d'eaux industrielles etpotables. Paris: Dunod, 1969

5. Analyse des eaux potables. In: Leclerc E, ed. Livre de l'eau. Liège: CEBEDEAU (Centre Belged'Etude et Documentation des Eaux), 1965 (vol Volume II),, 301-323

6. Mémento technique de l'eau. Paris: Degrémont, 19787. Document Internet: http://www.worldofspectrum.org/Z80.html (2003)