Prochaine révision | Révision précédente |
hp48 [2021/03/22 00:14] – créée physix | hp48 [2021/03/22 00:25] (Version actuelle) – physix |
---|
====== HP48 ====== | ====== HP48 ====== |
| |
| {{:jbsim13.zip|JBSim 1.3}} |
| <code> |
| |
| « "JBSIM 1.3 BY J.B." { "Calcul d'un pH" "Dosage" } 1. |
| IF CHOOSE |
| THEN { "Calcul d'un pH" "Dosage" } SWAP POS { Vd VM NVAC V H CALCpH EQPH } PURGE { AcideFort |
| « "Acide Fort" { { "C" "Concentration en acide fort" 0. 6. } } 1. { } { } |
| IF INFORM |
| THEN OBJ→ DROP |
| END -1. 0. |
| » BaseForte |
| « "Base Forte" { { "C" "Concentration en base forte" 0. 6. } } 1. { } { } |
| IF INFORM |
| THEN OBJ→ DROP |
| END 1. 0. |
| » Acidite1 |
| « "1 ACIDITE" { { "CA" "Concentration en [AH]" 0. 6. } { "CB" "Concentration en [A-]" 0. 6. } { "pKa" "-LOG(Constante d'acidite)" 0. 6. } } 1. { } { } |
| IF INFORM |
| THEN OBJ→ DROP |
| END → CA CB pKa |
| « H CB * CA pKa NEG ALOG * |
| - H pKa NEG ALOG + / 1. |
| » 0. |
| » Acidites2 |
| « "2 ACIDITES" { { "C1" "Concentration en AH2" 0. 6. } { "C2" "Concentration en AH-" 0. 6. } { "C3" "Concentration en A2-" 0. 6. } { "pKa1" "-LOG(Constante d'acidite 1)" 0. 6. } { "pKa2" "-LOG(Constante d'acidite 2)" 0. 6. } } 2. { } { } |
| IF INFORM |
| THEN OBJ→ DROP |
| END → C1 C2 C3 pKa1 pKa2 |
| « C2 2. C1 * + H C3 * H C1 * |
| - pKa2 ALOG * |
| - 2. H 2. ^ * C3 * H 2. ^ C2 * + pKa2 pKa1 + ALOG * |
| - NEG 1. H pKa2 ALOG * + H 2. ^ pKa2 pKa1 + ALOG * + / 1. |
| » 0. |
| » Acidites3 |
| « "3 ACIDITES" { { "C1" "Concentration en H3A" 0. 6. } { "C2" "Concentration en H2A-" 0. 6. } { "C3" "Concentration en HA2-" 0. 6. } { "C4" "Concentration en A3-" 0. 6. } { "pKa1" "-LOG(Constante d'acidite 1)" 0. 6. } { "pKa2" "-LOG(Constante d'acidite 2)" 0. 6. } { "pKa3" "-LOG(Constante d'acidite 3)" 0. 6. } } 2. { } { } |
| IF INFORM |
| THEN OBJ→ DROP |
| END → C1 C2 C3 C4 pKa1 pKa2 pKa3 |
| « -1. 10. pKa1 NEG pKa2 - pKa3 - ^ 10. pKa2 NEG pKa1 - ^ H * + 10. pKa1 NEG ^ H 2. ^ * + H 3. ^ + / 3. 10. pKa2 NEG pKa3 - ^ * 2. 10. pKa2 NEG ^ * H * + H 2. ^ + * C1 C2 + C3 + C4 + * 10. pKa1 NEG ^ * C2 + 2. C3 * + 3. C4 * + 1. |
| » 0. |
| » CH1 |
| « { AcideFort BaseForte Acidite1 Acidites2 Acidites3 Continuer } 1. |
| » Calcul1pH |
| « { Vd 10. } | { V 0. } | 'H' { 0. .0000001 1.E-14 } ROOT LOG NEG "pH" →TAG 1. |
| » Courbe |
| « (0.,-2.) VM SORT DUP SIZE GET 14. R→C 'V' # 2h { (0.,0.) { 1. 1. } } { FUNCTION } OBJ→ DROP 'Y' 7. →LIST 'PPAR' STO |
| « 'EQPH' 'H' 0. H 1.E-14 3. →LIST ROOT LOG NEG |
| » 'EQ' STO PICT PURGE DRAX DRAW |
| » } → Ch LISTE |
| « 'H-1.E-14/H' { |
| « |
| DO LISTE DUP CH1 POS 1. + GET "BECHER" SWAP EVAL |
| IF CHOOSE |
| THEN |
| IF DUP Continuer SAME |
| THEN DROP LISTE DUP Calcul1pH POS 1. + GET EVAL |
| ELSE LISTE DUP 3. ROLL POS 1. + GET EVAL 3. ROLL 3. ROLL * 3. ROLL + SWAP |
| END |
| ELSE DROP 1. |
| END |
| UNTIL |
| END |
| » |
| « |
| DO LISTE DUP CH1 POS 1. + GET "BECHER" SWAP EVAL |
| IF CHOOSE |
| THEN |
| IF DUP Continuer SAME |
| THEN DROP |
| DO LISTE DUP CH1 POS 1. + GET "BURETTE" SWAP EVAL |
| IF CHOOSE |
| THEN |
| IF DUP Continuer SAME NOT |
| THEN LISTE DUP 3. ROLL POS 1. + GET EVAL 3. ROLL V * Vd V + / 3. ROLL * 3. ROLL + SWAP |
| ELSE DROP "VOLUME" { { "LIST V" "LISTE DES PH A CALCULER" 5. } { "Vd" "VOLUME DE SOLUTION A DOSER" 0. 6. } } 1. { } { } |
| IF INFORM |
| THEN OBJ→ DROP 'Vd' STO DUP 'VM' STO SIZE 'NVAC' STO EVAL 'EQPH' STO 1. 1. |
| ELSE DROP 1. |
| END |
| END |
| ELSE DROP 1. |
| END |
| UNTIL |
| END |
| ELSE LISTE DUP 3. ROLL POS 1. + GET EVAL 3. ROLL Vd * Vd V + / 3. ROLL * 3. ROLL + SWAP |
| END |
| ELSE DROP 1. |
| END |
| UNTIL |
| END 0. 'H' STO |
| « 'EQPH' 'H' 0. H 1.E-14 3. →LIST ROOT LOG NEG |
| » 'CALCpH' STO " +--------------+" 3. DISP " | Calcul de pH |" 4. DISP " | en cours ... |" 5. DISP " +--------------+" 6. DISP 1. NVAC |
| FOR M VM M GET DUP 'V' STO CALCpH |
| NEXT NVAC 2. 2. →LIST →ARRY "Courbe ?" { "Oui" "Non" } 1. |
| IF CHOOSE |
| THEN |
| IF "Oui" SAME |
| THEN LISTE DUP Courbe POS 1. + GET EVAL |
| END |
| END { Vd VM NVAC } PURGE |
| » } Ch GET EVAL |
| » |
| END |
| » |
| |
| </code> |
| |
| ===== Installation ===== |
| |
| On télécharge le répertoire JBSIM.DIR (ou les fichiers séparément) |
| |
| On tape INSTALL. |
| |
| Le programme demande de choisir le port d'installation (non protégé en écriture). |
| |
| ===== Principe ===== |
| |
| JBSim se contente de résoudre l'équation en fonction de [H+] (la concentration en ion hydrogène). |
| |
| Pour une solution d'eau distillée on résout l'équation suivante : |
| |
| [H+]=[OH-] <=⇒ [H+]-10E-14/[H+]=0 |
| |
| Si on rajoute un monoacide (HCl par exemple), il suffit de rajouter [Cl-] |
| |
| [H+]=[OH-]+[Cl-] <=⇒ [H+]-10E-14/[H+]-Co=0 |
| |
| ou Co est la concentration de l'acide. |
| |
| Chaque fois que l'on rajoute une espèce chimique dans la solution, on rajoute un terme a l'équation d'électroneutralité. |
| |
| Le programme a été "code" avec l'utilitaire CODE de Levy après avoir été compressé avec PK de Mika. |
| |
| ===== Calcul d'un pH ===== |
| |
| <font 10.0pt/inherit;;inherit;;inherit>On lance le programme :</font> |
| |
| {{:8003f2c8cda89aac37bafdc000242e4e.png}} |
| |
| //__<font 10.0pt/inherit;;inherit;;inherit>Si on introduit dans le bêcher un acide fort (HCl), on procède ainsi :</font> __ // |
| * <font 10.0pt/inherit;;inherit;;inherit>Calcul d'un pH.</font> |
| |
| {{:670bc79457d8f41fdca2391cdbec7403.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>AcideFort.</font> |
| |
| {{:24c307dedf7ca60be31ff2dceaebc00f.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en mol/L.</font> |
| |
| {{:ffd35e92a1cb5707d914972ca605967f.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>Continuer.</font> |
| |
| {{:f3f41287cc036a01edb064d62ac8e716.png}} |
| |
| <font 10.0pt/inherit;;inherit;;inherit>Le pH est alors calculé et le résultat apparaît sur la pile.</font> |
| |
| {{:c2dddb154bf91e14013c85d03be95a96.png}} |
| |
| //__<font 10.0pt/inherit;;inherit;;inherit>Si on introduit dans le bêcher un acide faible (CH3COOH), on procède ainsi :</font>__ // |
| * <font 10.0pt/inherit;;inherit;;inherit>Calcul d'un pH.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>Acidite1.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en [AH] en mol/L.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On met 0 pour la concentration en [A-] (la concentration de la base conjuguée au départ).</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On indique le pKa.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>Continuer.</font> |
| |
| <font 10.0pt/inherit;;inherit;;inherit>Le pH est alors calcule et le résultat apparaît sur la pile.</font> |
| |
| //__<font 10.0pt/inherit;;inherit;;inherit>Si on introduit dans le bêcher une base faible (NH3), on procède ainsi :</font>__ // |
| * <font 10.0pt/inherit;;inherit;;inherit>Calcul d'un pH.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>Acidite1.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On met 0 pour la concentration en [AH] (la concentration de l'acide conjuguée au départ).</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en [A-] en mol/L.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On indique le pKa.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>Continuer.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>Le pH est alors calcule et le résultat apparaît sur la pile.</font> |
| |
| //__<font 10.0pt/inherit;;inherit;;inherit>Si on introduit dans le bêcher une solution tampon (CH3COOH 0.1 mol/L et CH3COO- 0.1 mol/L), on procède ainsi :</font>__ // |
| * <font 10.0pt/inherit;;inherit;;inherit>Calcul d'un pH.</font> |
| |
| {{:670bc79457d8f41fdca2391cdbec7403.png}} |
| |
| {{:e87f4d02bdf786e52a1e94a3b0463ea5.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>Acidite1.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en [AH] en mol/L.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en [A-] en mol/L.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On indique le pKa.</font> |
| |
| {{:7b3704cb33ee7e34aabe2b9db08ac745.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>Continuer.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>Le pH s'affiche</font> |
| |
| {{:43ef5f302ab911753ee92ec58bdeaaf7.png}} |
| |
| <font 10.0pt/inherit;;inherit;;inherit>Le pH est alors calcule et le résultat apparaît sur la pile.</font> |
| |
| //__<font 10.0pt/inherit;;inherit;;inherit>Si on introduit dans le bêcher un mélange d'acide et de base forts (HCl et NaOH), on procède ainsi :</font>__ // |
| * <font 10.0pt/inherit;;inherit;;inherit>Calcul d'un pH.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>AcideFort.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en mol/L.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>BaseForte.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>On indique la concentration en mol/L.</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>Continuer.</font> |
| |
| <font 10.0pt/inherit;;inherit;;inherit>Le pH est alors calcule et le résultat apparaît sur la pile.</font> |
| |
| **On rajoute dans la solution tout ce que l'on veut puis on Continue …** |
| |
| ===== Dosage ===== |
| |
| <font 10.0pt/inherit;;inherit;;inherit>On opère de la même façon que pour le calcul d'un pH :</font> |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>on indique ce que l'on met dans le bêcher.</font> |
| |
| {{:611ab8ad5a3d455a7d7158fbba21599d.png}} |
| |
| {{:c6a83a10c7f73fc24c3a38d291bd3584.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>Continuer</font> |
| |
| {{:5bb1bd3b981cf21c0d96276bdbdbb644.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>on indique ce que l'on met dans la burette.</font> |
| |
| {{:d7be2920c64fc713d28f5610d9c1ca07.png}} |
| |
| {{:2b11f1f57f4c77e849a816cca911b4c4.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>Continuer</font> |
| |
| {{:b5ff4bd16321cded70c67d7b9676b730.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>Indiquer les volumes versés a la burette dont les pH seront calculés en particulier :</font> |
| |
| <font 10.0pt/inherit;;inherit;;inherit>Ex : {0 5 10 15 20 25 30 35 40}</font> |
| |
| {{:8f71dce8ab320b3e187cb16d5462fed2.png}} |
| |
| <font 10.0pt/inherit;;inherit;;inherit>le pH sera calculé pour</font> |
| |
| <font 10.0pt/inherit;;inherit;;inherit>V = 0, 5, 10, 20, 35, 30, 35, 40 mL</font> |
| |
| <font 10.0pt/inherit;;inherit;;inherit>et la courbe sera tracée pour un volume total versé de 40mL.</font> |
| |
| <font 10.0pt/inherit;;inherit;;inherit>Si on met {20} un seul pH sera calculé a 20mL et la courbe sera tracée de 0 a 20mL.</font> |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>Indiquer le volume initial de la solution du bêcher(ici 10 mL)</font> |
| |
| {{:8f71dce8ab320b3e187cb16d5462fed2.png}} |
| |
| <font 10.0pt/inherit;;inherit;;inherit>NB : les volumes doivent être exprimés dans la même unité (mL ou L).</font> |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>Le calcul de pH s'effectue</font> |
| |
| {{:dee09569ba85619a2c4a434cbd8cfcf2.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>Indiquer si la courbe doit être affichée</font> |
| * <font 10.0pt/inherit;;inherit;;inherit>Si oui, elle est tracée</font> |
| |
| {{:83403aee212eed3c099566dd11b956d8.png}} |
| |
| {{:caba941de7eb92a3d6d2a9ee7e453264.png}} |
| |
| * <font 10.0pt/inherit;;inherit;;inherit>Le pH des différents volume est affiché</font> |
| |
| {{:bd2b490d5f32e5c7a610e1da0fd21178.png}} |
| |
| |