<jupyter_start><jupyter_text>Приготовление EDTA Fe ПодготовкаДля приготовления микро нам нужны следующие компоненты1. Хелаторы, один из них:   - <NAME>      * C10H14N2Na2O8*2H2O (Na2 - `ди`натриевая соль), ЭДТУК, EDTA                Лучше использовать её.              * C10H12N2O8Na4*4H2O (Na4 - `тетра`натриевая соль), ЭДТУК, EDTA    2. KOH 3. Fe - Сульфат железа (II) семиводный `FeSO4*7H2O` (Fe 20,1%)4. Основное микро   * Mn - Марганец (II) сернокислый 5-водный, `MnSO4*5H2O` (Mn 21.95%)   * B - Борная кислота `H3BO3`, (B 17,5%)   * Zn - Цинк сернокислый 7-водный `ZnSO4*7H2O`, (Zn 22,7%)   * Cu - Медь (II) сернокислая 5-водная `CuSO4*5H2O`, (Cu 25,5%)   * Mo - Аммоний молибденовокислый 4х-водный `(NH4)6Mo7O24*4H2O`, (Mo 54,3%)    5. Опционально, обычно не требуется   * Co - Сульфат кобальта семиводный `CoSO4*7H2O` (Co 21%)   * Si - Кремнекислый натрий пятиводный `Na2SiO3*5H2O` (Si 13,2%)6. Стакан термостойкий на 250-400мл. Не колба, т.к. нужно измерять pH7. Мешалка или стеклянная палочка РасчетСначала определяемся с профилем микро.Допустим у наc профиль, в микрограммах:`Fe=4500; Mn=600; B=600; Zn=400; Cu=100; Mo=100`Хотим приготовить концентрат микро 1:1000 на 2 литраНа 1 моль железа приходится 1 моль Трилона-БНаходим молярную массу Трилона Б: - `372.2369`* [Можно воспользоваться этим калькулятором](https://apkawa.github.io/react-fertilizer-calculator//formula/C10H14N2Na2O8*2H2O/)* [Или этим](https://ru.webqc.org/molecular-weight-of-C10H14N2Na2O8%2A2H2O.html)Находим молярную массу сульфата железа: - `278.0146`Делим моли трилона на моли железа, получаем коэфициент:$$ K_{ТрилонБ} = \frac{M_{ТрилонБ}}{M_{FeSO4*7H2O}} = \frac{372.2369}{278.0146} = 1.3389$$Далее нужно вычислить навеску железаЕсть 2 пути.1) Рассчитать самому      * Вычисляем массовую долю железа в сульфате железа, с учетом паспорта (ЧДА 100,6%):\   $$Fe = \frac{М_{Fe}}{M_{FeSO4*7H2O}} \cdot \frac{Чистота_{FeSO4*7H2O}}{100} $$   Где $M_{Fe}$ и $M_{FeSO4*7H2O}$ - молярные массы      Или воспользоваться [калькулятором](https://apkawa.github.io/react-fertilizer-calculator//formula/FeSO4*7H2O/100.6) и взяв железо из NPK      * Вычисляем необходимое количество сульфата железа в г/л   ```   m = ((Профиль / Fe% ) / мкг в г) * V * C   m = ((4500 / 0.2021) / 10^6) * 2 * 1000 = 44.5г   ```   V - объем    C - концентрация   2) Воспользоваться калькулятором   * Забиваем формулу сульфата железа с учетом паспорта в удобрения   * Выбираем в калькуляторе сульфат железа, профиль, желаемый объем и концентрацию   * Calculate   Получаем `44.5г` сульфата железа.Аналогично поступаем с остальными элементами:   * `5.47г` - Марганец (II) сернокислый 5-водный   * `0.79г` - Медь сернокислая (II) 5-водная   * `3.58г` - Цинк сернокислый   * `6.87г` - Борная кислота   * `0.37г` - Аммоний молибденовокислый 4-водныйНеобходимое количество Трилона Б, с учетом паспорта (ЧДА 99,6%)$$m_{ТрилонБ} = m{Fe} \cdot K_{ТрилонБ} \cdot \left( \frac{100+(100-Чистота_{ТрилонБ})}{100}\right)$$```(44.5 * 1.3389) * ((100 + (100 - 99.6)) / 100) =  59.82г ```Необходимое количество KOH, с учетом паспорта (ЧДА 90%)[2 KOH + FeSO4 → K2SO4 + Fe(OH)2](https://chemequations.com/ru/?s=KOH%20%2B%20FeSO4%20%3D%20K2SO4%20%2B%20Fe(OH)2&ref=search)$$m_{KOH} = m{Fe} \cdot \frac{2M_{KOH}}{M_{FeSO4*7H2O}} \cdot \left( \frac{100+(100-Чистота_{KOH})}{100}\right)$$```56.10564 * 2 / 278.0146 = 0.403(44.5 * 0.403) * ((100 + (100 - 90)) / 100)  = 19.72г```Массу остальных солей не учитываем, т.к. нет необходимости хелатировать остальные соли. Хелатирование солей нужно в случае аквариумистики, чтобы рыбам было хорошо.<jupyter_code># Install a pip package in the current Jupyter kernel
import sys
!{sys.executable} -m pip install sympy

import sympy as sym
from sympy import Eq
sym.init_printing()
from IPython.display import Math, display
import ipywidgets as widgets
Fe_profile = widgets.BoundedIntText(
    value=4500,
    min=1,
    max=10000,
    step=0.1,
    description='Fe профиль, в мкг/л',
    disabled=False
)
Volume = widgets.BoundedFloatText(
    value=2,
    min=0.1,
    max=100,
    step=0.01,
    description='Объем, в л',
    disabled=False
)
Concentration = widgets.BoundedIntText(
    value=1000,
    min=1,
    max=5000,
    step=1,
    description='Концентрация, разы',
    disabled=False
)
Fe_clean = widgets.BoundedFloatText(
    value=100.6,
    min=1,
    max=200,
    step=0.01,
    description='Чистота FeSO4',
    disabled=False
)
ChelateB_clean = widgets.BoundedFloatText(
    value=99.6,
    min=1,
    max=200,
    step=0.01,
    description='Чистота Трилона Б',
    disabled=False
)
KOH_clean = widgets.BoundedFloatText(
    value=90,
    min=1,
    max=200,
    step=0.01,
    description='Чистота KOH',
    disabled=False
)

out = widgets.Output(layout={'border': '1px solid black'})
out



M_ChelateB = 372.2369
M_Fe = 55.8452
M_FeSO4_7H2O = 278.0146
M_KOH = 56.10564



# Функция расчета
def calculate(*args):
    Fe_p = (M_Fe / M_FeSO4_7H2O) * (Fe_clean.value / 100)
    m_FeSO4 = round(((Fe_profile.value / Fe_p) / 10**6) * Volume.value * Concentration.value,2)
    m_ChelateB = round((m_FeSO4 * (M_ChelateB / M_FeSO4_7H2O)) * ((100 + (100 - ChelateB_clean.value)) / 100), 2)
    m_KOH = round((m_FeSO4 * ((M_KOH * 2) / M_FeSO4_7H2O)) * ((100 + (100 - KOH_clean.value)) / 100), 2)
    out.clear_output()
    with out:
        print(f'Навеска FeSO4 = {m_FeSO4}г')
        print(f'Навеска ТрилонаБ = {m_ChelateB}г')
        print(f'Навеска KOH = {m_KOH}г')
    
calculate()

Inputs = [Fe_profile, Volume, Concentration, Fe_clean, ChelateB_clean, KOH_clean]
for i in Inputs:
    i.observe(calculate, names='value')

display(*(Inputs + [out]))<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14068575468363378, 'fraction_numerical': 0.08642629904559915, 'mean_word_length': 3.9466783216783217, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '334218', 'license': 'MIT', 'n_tokens_mistral': 2887, 'n_tokens_neox': 2791, 'n_words': 519, 'path': 'docs/EDTA_Fe.ipynb', 'repo_name': 'Apkawa/react-fertilizer-calculator', 'size': '5660'}