De reactie van citroenzuur met
soda |
Datum: juli 2002
Principe:
Voor de endotherme reactie van citroenzuur met soda is energie nodig. Met dit experiment bepalen we hoeveel. |
Beschrijving:
Natrium carbonaat reageert met citroenzuur in water volgens de reactie: 3Na2CO3.10H2O(s) + 2H3C6H5O7.H2O(s) à 2C6H5O7Na3(aq) + 14H2O(l) + 3CO2(g) Aangezien het CO2 uit het water ontwijkt is het geen evenwichtsreactie maar een reactie van het type Aà B. Deze reactie onttrekt energie uit de omgeving, in dit geval het water, hetgeen waargenomen kan worden door het meten van een dalende temperatuur. |
Materiaal:
Natrium carbonaat (soda) (10 g)
Ciroenzuur (10 g) Water (50 g) BekerglasNauwkeurige thermometer (of Lego Mindstorms RCX met temperatuursensor - zie de foto hiernaast voor de opstelling). |
|
Uitvoering:
|
Meetresultaten en uitwerking:
Ik heb de Lego Mindstorms RCX geprogrammeerd om elke 15 s de temperatuur te
meten. De resultaten worden weergegeven in ondertaande tabel en grafiek. |
t (s) |
T (°C) |
|
0 15 30 45 60 75 90 105 120 135 150 165 180 195 210 225 240 255 270 285 300 315 330 345 360 |
21,5 19 17,1 16,8 16,7 16,7 16,9 16,9 17 17,1 17,2 17,3 17,3 17,5 17,4 17,5 17,5 17,6 17,6 17,7 17,7 17,8 17,8 18 18 |
Discussie en conclusie:
De watertemperatuur (50 g) is gedaald van 21.5 °C naar 16.7 °C, een
daling van 4.8 °C. DT=
4.8 °C Dit vertaalt zich naar de volgende hoeveelheid energie:
We nemen hierbij aan dat de verandering in water temperatuur correspondeert met de reactie-energie. 10 g citroenzuur = 10/210 * 1000 = 48 mmol 10 g soda = 10/286 * 1000 = 35 mmol We zien hieraan dat we een overmaat aan citroenzuur hebben toegevoegd, hetgeen betekent dat alle soda weggereageerd is. Voor soda geldt dan: 1008/0.035/1000 = 28.8 kJ/mol |
Opmerkingen:
|
Literatuur:
Relevante websites: |
Appendix:
NQC programma gebruikt voor datalogging |
// templog.nqc // log temperature every 15 seconds for 6 hours #define SAMPLE_TIME 1500 // 15 seconds #define DATALOG_SIZE 1440 // 6 hours of data task main() { SetSensor(SENSOR_1, SENSOR_CELSIUS); SelectDisplay(1); CreateDatalog(0); CreateDatalog(DATALOG_SIZE); int i = 0; while(i < DATALOG_SIZE) { AddToDatalog(SENSOR_1); Wait(SAMPLE_TIME); i++; } } |
17-01-2017