{
  "id": "induction-identification",
  "lesson_ids": [
    "II05.1",
    "II05.2",
    "II05.3"
  ],
  "title": "Идентификация асинхронной машины: обучающие и проверочные частоты",
  "intro": [
    "Схема замещения сводит распределённое поле машины к небольшому числу параметров: намагничивающей индуктивности, рассеянию и приведённому роторному сопротивлению. Параметры полезны только вместе с определённой нормировкой фазы, сектора и концов обмоток.",
    "Выполненная серия содержит шесть частот 0,5; 1; 2; 3; 4; 5 Гц. Две частоты используются для подбора параметров, две — для независимого прогноза. Сравниваются постоянное роторное сопротивление и явно ограниченная частотная поправка."
  ],
  "theory": [
    {
      "heading": "Положительная последовательность и ветвь ротора",
      "paragraphs": [
        "При симметричных трёхфазных токах полезно выделить положительную последовательность напряжений. Она даёт устойчивое комплексное Z⁺ даже тогда, когда отдельные фазные значения секторной постановки численно немного различаются.",
        "Простейшая низкочастотная ветвь состоит из индуктивности рассеяния, последовательно соединённой с параллельным контуром намагничивания и роторного сопротивления. Комплексное деление получается обычным сложением проводимостей параллельных ветвей.",
        "Учебная поправка R₂(f)=R₂₀(1+kf²) учитывает ограниченную частотную тенденцию вытеснения и распределения тока. Положительность параметров обеспечивается при подборе; это не универсальный закон глубокого паза на любых частотах."
      ],
      "formulas": [
        {
          "latex": "a=\\exp(\\mathrm i2\\pi/3),\\quad \\widehat U^{+}=\\frac{\\widehat U_A+a\\widehat U_B+a^2\\widehat U_C}{3},\\quad \\underline Z^{+}=\\frac{\\widehat U^{+}}{\\widehat I^{+}}",
          "explanation": "Порядок фаз соответствует токам конкретной модели; при ином порядке меняется выбранная последовательность."
        },
        {
          "latex": "\\underline Z_{\\mathrm{ветв}}(f)=\\mathrm i\\omega L_{\\sigma}+\\frac{\\mathrm i\\omega L_{\\mathrm{м}}R_2(f)}{R_2(f)+\\mathrm i\\omega L_{\\mathrm{м}}},\\qquad R_2(f)=R_{20}(1+kf^2)",
          "explanation": "Параметры этого разбора относятся к секторной приведённой ветви; внешнее статорное сопротивление ведётся отдельно."
        }
      ]
    },
    {
      "heading": "Идентифицируемость и геометрические поправки",
      "paragraphs": [
        "Одна комплексная частота даёт две вещественные зависимости, поэтому три независимых параметра по ней не определяются однозначно. В опыте с исключением одной частоты фиксируется Lσ=0,005 Гн как явная априорная гипотеза; свободными остаются два параметра.",
        "Концевые кольца отсутствуют в плоском сечении. Их влияние в этом комплекте добавлено через выбранную геометрию колец и эффективную проводимость стержней. Это отдельный учёт физического пути тока, а не произвольный коэффициент для улучшения совпадения.",
        "Выборка и проверка разделены: малый остаток на обучающих частотах не доказывает хорошего прогноза. Проверочные 2 и 4 Гц позволяют сравнить два закона сопротивления без повторной подгонки.",
        "При исследовании сетки нужно считать элементы в проводниках, а не только всю группу ротора: эта группа содержит и сталь. Инвентаризация проводников приложена отдельно."
      ],
      "formulas": [
        {
          "latex": "\\varepsilon_Z(f)=\\frac{|\\underline Z_{\\mathrm{модель}}(f)-\\underline Z_{\\mathrm{FEMM}}(f)|}{|\\underline Z_{\\mathrm{FEMM}}(f)|}",
          "explanation": "Проверочная ошибка вычисляется по частотам, не использованным для настройки."
        }
      ]
    },
    {
      "heading": "Как вынести концевые кольца за пределы 2D-сечения",
      "paragraphs": [
        "В таблицах идентификации сохранён исходный низкочастотный опыт с проводимостью стержней 34,45 МСм/м. Значение 21,0608 МСм/м применяется к отдельному файлу ring-effective-source-model.fem; эти две версии не называются одним и тем же входом.",
        "В каждом кольце токи соседних сегментов различаются на ток присоединённого стержня. Периодическое замыкание требует нулевой суммы токов всех стержней. Из этого дискретного закона Кирхгофа восстанавливают токи сегментов; неопределённую постоянную кольцевого тока выбирают так, чтобы минимизировать потери при отсутствии внешнего кольцевого источника.",
        "Сопротивление сегмента получается по длине дуги 2πr/Zрот, сечению и проводимости. Для двух одинаковых колец суммарная средняя мощность равна удвоенной мощности одного кольца; при амплитудных токах коэффициенты 2 и 1/2 взаимно сокращаются.",
        "Если вычисленное отношение ηкол=Pкол/Pстерж сохраняется приближённо постоянным, последовательное увеличение сопротивления стержней в 1+ηкол раз можно внести в поле уменьшением проводимости в то же число раз. Это ограниченный эквивалент потерь, не трёхмерная модель колец."
      ],
      "formulas": [
        {
          "latex": "R_{\\mathrm{сег}}=\\frac{2\\pi r_{\\mathrm{кол}}}{Z_{\\mathrm{рот}}\\sigma_{\\mathrm{кол}}S_{\\mathrm{кол}}},\\quad I_{\\mathrm{сег},j}-I_{\\mathrm{сег},j-1}=I_{\\mathrm{стерж},j},\\quad \\sum_j I_{\\mathrm{стерж},j}=0",
          "explanation": "Здесь Zрот=32, rкол=0,036 м, Sкол=50 мм²; знак токов фиксируют единым обходом кольца."
        },
        {
          "latex": "P_{\\mathrm{кол}}=2\\cdot\\frac12\\sum_jR_{\\mathrm{сег}}|\\widehat I_{\\mathrm{сег},j}|^2,\\quad \\eta_{\\mathrm{кол}}=\\frac{P_{\\mathrm{кол}}}{P_{\\mathrm{стерж}}},\\quad \\sigma_{\\mathrm{эфф}}=\\frac{\\sigma_{\\mathrm{стерж}}}{1+\\eta_{\\mathrm{кол}}}",
          "explanation": "При ηкол=0,635740 проводимость 34,45 МСм/м превращается в 21,0608 МСм/м."
        }
      ]
    }
  ],
  "parameters": [
    {
      "name": "Сектор",
      "value": 90,
      "unit": "°"
    },
    {
      "name": "Пары полюсов",
      "value": 2,
      "unit": ""
    },
    {
      "name": "Глубина",
      "value": 100,
      "unit": "мм"
    },
    {
      "name": "Обучающие частоты",
      "value": "1;3",
      "unit": "Гц"
    },
    {
      "name": "Проверочные частоты",
      "value": "2;4",
      "unit": "Гц"
    },
    {
      "name": "Проводимость отдельной модели с эквивалентом колец",
      "value": 21.06080128398081,
      "unit": "МСм/м"
    }
  ],
  "steps": [
    "Запустите reproduce.py и проверьте новое поле контрольной частоты.",
    "В reference/measurements.json отдельно изучите паспорт, частотные данные, итоговые параметры и проверочные прогнозы.",
    "Полные программы, названные далее, запускайте через run-series.py из корня распакованного комплекта: выберите SERIES_NUMBER по списку README.html. Диспетчер сам устанавливает подпапку и контекст исходной программы; прежний рабочий каталог FEMM не важен.",
    "Для полной серии выполните rebuild-frequency-matrix.py; для повторения подбора и проверок — rebuild-identification.py встроенным Python FEMM 5.",
    "Восстановите Z⁺ и сравните обе модели на 2 и 4 Гц; затем объясните, почему нельзя освободить три параметра после удаления одной из двух обучающих частот.",
    "Сопоставьте исходную и уточнённую сетку проводников; проверьте отдельный реестр сопротивлений активных частей, лобовых частей и колец."
  ],
  "table": {
    "columns": [
      {
        "key": "model",
        "label": "Закон сопротивления",
        "unit": ""
      },
      {
        "key": "f",
        "label": "Проверочная частота",
        "unit": "Гц"
      },
      {
        "key": "re",
        "label": "Re Zпрогноз",
        "unit": "Ом"
      },
      {
        "key": "im",
        "label": "Im Zпрогноз",
        "unit": "Ом"
      },
      {
        "key": "err",
        "label": "Ошибка",
        "unit": "%"
      }
    ],
    "rows": [
      {
        "model": "Постоянное R₂",
        "f": 2.0,
        "re": 0.38570226789163675,
        "im": 0.24688101289756623,
        "err": 0.02174235319675217
      },
      {
        "model": "Постоянное R₂",
        "f": 4.0,
        "re": 0.44953392080704085,
        "im": 0.22959245910677062,
        "err": 0.10948325256574497
      },
      {
        "model": "R₂₀(1+kf²)",
        "f": 2.0,
        "re": 0.385639483472045,
        "im": 0.24680180108765698,
        "err": 0.005044840192218831
      },
      {
        "model": "R₂₀(1+kf²)",
        "f": 4.0,
        "re": 0.45004614220037165,
        "im": 0.22985552779037788,
        "err": 0.017773414528925523
      }
    ]
  },
  "series": [
    {
      "title": "Измеренная полем Re Z⁺",
      "x_label": "Частота, Гц",
      "y_label": "Re Z⁺, Ом",
      "points": [
        [
          0.5,
          0.10049829760253054
        ],
        [
          1.0,
          0.24598118456964452
        ],
        [
          2.0,
          0.38562425953710744
        ],
        [
          3.0,
          0.4311730254718221
        ],
        [
          4.0,
          0.4500590227044349
        ],
        [
          5.0,
          0.4596750163237212
        ]
      ]
    },
    {
      "title": "Измеренная полем Im Z⁺",
      "x_label": "Частота, Гц",
      "y_label": "Im Z⁺, Ом",
      "points": [
        [
          0.5,
          0.2092329996373129
        ],
        [
          1.0,
          0.2678357510060997
        ],
        [
          2.0,
          0.24681917169633605
        ],
        [
          3.0,
          0.229694352998789
        ],
        [
          4.0,
          0.22976664404009056
        ],
        [
          5.0,
          0.2400286793869566
        ]
      ]
    }
  ],
  "scope": [
    "Геометрия колец и внешние сопротивления выбраны для учебного исследования; это не измеренный паспорт исходного двигателя.",
    "Идентифицированные величины секторные; множитель четыре применяется согласно реестру нормировки один раз.",
    "Лобовая индуктивность в базовом опыте принята нулевой из-за отсутствия геометрии; отдельное сравнение с 0,001 Гн не превращает её в известную величину."
  ],
  "sources": [
    {
      "title": "D. Meeker. Induction Motor Example",
      "url": "https://www.femm.info/doku/doku.php?id=InductionMotorExample"
    },
    {
      "title": "Руководство FEMM 5, разделы магнитного поля и встроенного Python",
      "url": "https://www.femm.info/doku/lib/exe/fetch.php?media=femm-qt:docs:manual.pdf"
    }
  ],
  "checks": [
    {
      "name": "Относительная ошибка прогноза Z на 2 Гц",
      "value": 5.044840192218831e-05,
      "limit": "< 0,001",
      "passed": true
    },
    {
      "name": "Относительная ошибка прогноза Z на 4 Гц",
      "value": 0.00017773414528925524,
      "limit": "< 0,001",
      "passed": true
    }
  ],
  "downloads": [],
  "python": {
    "path": "downloads/audit-native/induction-identification/reproduce.py",
    "description": "Распакуйте ZIP целиком в новую папку. Выполните reproduce.py встроенным Python FEMM 5: проверяются хеши, заново решаются контрольные поля и пересчитываются численные проверки таблиц. Рабочий каталог определяется по пути сохранённого сценария. Полные программы запускайте через run-series.py; номер SERIES_NUMBER выбирается по списку в README.html."
  },
  "provenance": {
    "origin": "Неизменённые ранее выполненные расчёты FEMM 5 и новый читаемый разбор",
    "runtime": "FEMM 5.0 06Oct2026; встроенный MicroPython; без внешнего Python/COM/TCP",
    "files": [
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/checks.json",
        "path": "reference/checks.json",
        "sha256": "3d674cf6a335a83f2d64f6baed8b802c7acd514afff91864a58a94530dd1bfa8",
        "bytes": 7678
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/complete-plan.json",
        "path": "reference/complete-plan.json",
        "sha256": "72320f14bd78708b21cc556e9e6343b028c01e395f1a25ea00ba8400f272bc9b",
        "bytes": 2537
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/conductor-mesh-inventory.json",
        "path": "reference/conductor-mesh-inventory.json",
        "sha256": "5daca3303d051ce988470cbef6b47dfcc18de91e05a93da7a728605836e969a5",
        "bytes": 6046
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/control-0.fem",
        "path": "reference/control-0.fem",
        "sha256": "390393209bf1761b1733de0d948cbbb66e57c88ab7fd017b95829ac2a1191f51",
        "bytes": 16383
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/control-1.fem",
        "path": "reference/control-1.fem",
        "sha256": "c1305e67e0f699a581ad56f21de74e8cbe676f81be671cd80cb1407d0ab122c5",
        "bytes": 16383
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/control-2.fem",
        "path": "reference/control-2.fem",
        "sha256": "35034dd8173fc523cf13abc688ce1c61715007bf6c416413e00ece17ddf0db1c",
        "bytes": 16383
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/control-3.fem",
        "path": "reference/control-3.fem",
        "sha256": "2a43e14fbc6cd0e087aada081fa5c4317175fb8375d17dcd7ba4704a471d0827",
        "bytes": 16383
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/control-4.fem",
        "path": "reference/control-4.fem",
        "sha256": "3e2de14e6617e29588eeb84193b250f8aa3fec24b74c1e19b362733e8aa8b396",
        "bytes": 16463
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/gap-refined-source-model.fem",
        "path": "reference/gap-refined-source-model.fem",
        "sha256": "a2f8ed71a7a4435690fc3236a38c6bed6d61150cb3ffd3c2261dc34936c605de",
        "bytes": 16398
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/InductionMotorExample.pdf",
        "path": "reference/InductionMotorExample.pdf",
        "sha256": "e8f3b7982898841d6983c84055e1fb23e12940e010b565af7a3acd3847d1ebc1",
        "bytes": 244687
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/key-cases.json",
        "path": "reference/key-cases.json",
        "sha256": "00da143eec99a9be34c84ac8ef9fa406e55dc160f0114609a93b08e8334f81d1",
        "bytes": 5093
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/measurements.json",
        "path": "reference/measurements.json",
        "sha256": "bc3ebc64c4d0cb6eb7f199462dcd28591442dde1c6ebbbabe181dc67bfc79454",
        "bytes": 29563
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/native-experiments-02.json",
        "path": "reference/native-experiments-02.json",
        "sha256": "1f5c05e285bba7f53c68182ea6a04541979fcbff0163aeb10e5d0bc4ed2064ec",
        "bytes": 54774
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/native-portable-receipt.json",
        "path": "reference/native-portable-receipt.json",
        "sha256": "2643b2395e8a09273eb13e88b46403691b49c551a3e45f4ccd661a246dd91682",
        "bytes": 4981
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/native-receipt-02.json",
        "path": "reference/native-receipt-02.json",
        "sha256": "072a9fec733402dadbd9eb1dcbc993bbb03954aaa5f153d8f0bb055dcf42d56c",
        "bytes": 7455
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/native-receipt-10.json",
        "path": "reference/native-receipt-10.json",
        "sha256": "b2719b66ece31eef2edc301d0623b9f92d389d709fe25eb7552314f44223e7fc",
        "bytes": 8225
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/native-receipt-19.json",
        "path": "reference/native-receipt-19.json",
        "sha256": "2978718a1c7ce72f7e87bd6b8dbdc4b7213010a0b3cdb5f6b68762aaf6a620f8",
        "bytes": 9199
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/native-receipt-33.json",
        "path": "reference/native-receipt-33.json",
        "sha256": "137c81daefcf04cff75574e27e9f5760ce5521ae0bbd860942ef579d722f600f",
        "bytes": 14064
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/original-00.py",
        "path": "reference/original-00.py",
        "sha256": "be29d08e70b54063891d07a9e70e91cf31306907fb8f6acedb644ff54401324e",
        "bytes": 1335
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/practice-ii05-1-source-model.fem",
        "path": "reference/practice-ii05-1-source-model.fem",
        "sha256": "30abddc9ae53dcce287efa0294c0a9d753a23e2471a36ec4d8eb6e4c8a31ca6c",
        "bytes": 15802
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/rebuild-frequency-matrix.py",
        "path": "reference/rebuild-frequency-matrix.py",
        "sha256": "b67a11a7caaefda044f4c8d5faf222c931ad8136673551c7afc5112e48fd4595",
        "bytes": 10179
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/rebuild-identification.py",
        "path": "reference/rebuild-identification.py",
        "sha256": "fb3289c27ae11a76aea0ada3b845c3d2d59f4a0fb249fc5a93110e1567735aaa",
        "bytes": 12095
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/REPORT.md",
        "path": "reference/REPORT.md",
        "sha256": "51b70eb3e425f8c5f70f7d5c6dbef21cfbf532aee1043f2e0cd1209f3d88cb59",
        "bytes": 16652
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/reproduce.py",
        "path": "reference/reproduce.py",
        "sha256": "32d9549c1ddb1ee586f69b2ae69be2f20817075592ef867e2876a156071c3e52",
        "bytes": 3487
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/resistance-ledger.json",
        "path": "reference/resistance-ledger.json",
        "sha256": "e29804bf633001352fa64350df3205a3a89a556762c63422e4f91d23e1c6e9cf",
        "bytes": 1300
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/result.json",
        "path": "reference/result.json",
        "sha256": "93183ad5db10121beed4bd1acf6fbac63e73b55b170fce7f0aa72feb61b39a07",
        "bytes": 34477
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/results.csv",
        "path": "reference/results.csv",
        "sha256": "13656423c20ac118bcf85ff0834e84430449197a35406b57fdb2b8e966cafbb5",
        "bytes": 40626
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/ring-effective-source-model.fem",
        "path": "reference/ring-effective-source-model.fem",
        "sha256": "ce719f5345432c7177cad08e45d3b07da0338952ab73ec868417db7a41f75c70",
        "bytes": 16721
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/source-manifest.json",
        "path": "reference/source-manifest.json",
        "sha256": "c32a8cb1000750282f69f347b206edd9deb329dd6f7b9b3cdf9f1a8a3f76526a",
        "bytes": 3611
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/source-task.json",
        "path": "reference/source-task.json",
        "sha256": "403bab0329c00ee4d9bbcdccd0740ae586ddfaff6206af4379f3e2988f70223e",
        "bytes": 95848
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/uniformT10.0-source-model.fem",
        "path": "reference/uniformT10.0-source-model.fem",
        "sha256": "4af7a5fe56e90148edc5bf86ef38d0ccc494ca9a52532a0bc07e517baa2a8982",
        "bytes": 16721
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/uniformT100.0-source-model.fem",
        "path": "reference/uniformT100.0-source-model.fem",
        "sha256": "74c67949c74dff5ddeea052400c9dbb8fe5eee2daaa279000bf64c5da542d6b2",
        "bytes": 16721
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/uniformT110.0-source-model.fem",
        "path": "reference/uniformT110.0-source-model.fem",
        "sha256": "a7b10504e52cc411f9430fe2df75bf5678a869bb908db89a8e42fd296b5f3322",
        "bytes": 16721
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/uniformT20.0-source-model.fem",
        "path": "reference/uniformT20.0-source-model.fem",
        "sha256": "ce719f5345432c7177cad08e45d3b07da0338952ab73ec868417db7a41f75c70",
        "bytes": 16721
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/uniformT30.0-source-model.fem",
        "path": "reference/uniformT30.0-source-model.fem",
        "sha256": "6a5de529ae2d40165fffb7885be1a721420081ba7f4ce63cc7878e73e80a5da7",
        "bytes": 16721
      },
      {
        "origin": "work/assignment-native-280-2026-10-16/python/practice-ii05-1/A/uniformT90.0-source-model.fem",
        "path": "reference/uniformT90.0-source-model.fem",
        "sha256": "31bd8d25a233d155224df413e7f2870ae4732e99916ee0a13ddce5a2c27b42e3",
        "bytes": 16721
      }
    ],
    "native_key_fields_per_replay": 1,
    "full_series_entrypoints": [
      "reference/rebuild-frequency-matrix.py",
      "reference/rebuild-identification.py"
    ],
    "source_models_mutated": false,
    "original_check_reports": [
      {
        "path": "reference/checks.json",
        "checks": 33,
        "passed": 33
      }
    ],
    "native_replay": {
      "passed": true,
      "fresh_fields": 1,
      "checks": 13,
      "runtime_sha256": "6a79ed0e882d054275347a1f267b57d04a31e900beaa7f6a6251487ed2e1df1b",
      "launch_cwd_differs_from_package": true
    }
  }
}