{
  "assignment": {
    "id": "practice-ii05-1",
    "lessonId": "II05.1",
    "version": "2026-10-16.2",
    "primary": true,
    "displayNumber": "39.1",
    "title": "Серия расчётов по частоте и определение параметров асинхронного двигателя",
    "summary": "Серия гармонических решений на разных частотах позволяет определить параметры асинхронной машины и проверить их физический смысл.",
    "part": "VII",
    "partLabel": "Углублённый расчёт электрических машин",
    "moduleId": "VII.03",
    "moduleTitle": "Идентификация асинхронной машины",
    "position": 118,
    "category": "Python и расчёт",
    "durationMinutes": 150,
    "environment": "FEMM 5; запишите точную сборку, физический модуль, единицы, тип задачи и параметры своего опыта. Для аналитической части укажите формулы и исходные данные; для Python — встроенную среду и рабочий каталог.",
    "instructions": [
      {
        "title": "Уточните выданное условие",
        "text": "Выполните базовый практикум «Частотная серия и идентификация схемы ротора» по шагам занятия. Затем выполните самостоятельную часть: Идентифицируйте RL-эталон по 1 и 3 Гц, затем добавьте искусственную частотную зависимость R и объясните систематический остаток постоянной модели."
      },
      {
        "title": "Откройте исходный практикум",
        "text": "Сопоставьте условия варианта с параметрами и действиями занятия. Сохраните исходники отдельно; работайте в своём каталоге.",
        "href": "lessons/ii05-1/index.html#practice"
      },
      {
        "title": "Подготовьте результат",
        "text": "Выполните запрошенные действия. В таблице укажите величину, значение, единицу, метод и файл-источник; для ошибки оставьте численное поле пустым и запишите причину. Пустой шаблон CSV не является результатом."
      },
      {
        "title": "Проверьте доказательства",
        "text": "1. Названы собственные материалы, использованные средства расчёта, единицы, параметры и режимы; для полевой работы указана сборка FEMM. Числа из примера отделены от самостоятельно полученных результатов.\n2. По переданному ответу и файлам можно повторить формулы или действия и найти каждый результат. Для полевого расчёта указаны порядок запуска, точки, области и контуры измерений; пропуски и отказы объяснены.\n3. Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке.\n4. Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты.\n5. Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты.\n6. Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
      },
      {
        "title": "Сдайте и получите отзыв",
        "text": "Заполните результаты, приложите обязательные файлы и скачайте ZIP. Передайте его преподавателю. Полученный JSON откройте на шаге 5; при замечаниях подготовьте новую версию.",
        "href": "workspace/index.html?assignment=practice-ii05-1&variant=A#assignment-work"
      }
    ],
    "variants": [
      {
        "id": "A",
        "title": "A · Практикум и самостоятельная работа",
        "task": "Выполните базовый практикум «Частотная серия и идентификация схемы ротора» по шагам занятия. Затем выполните самостоятельную часть: Идентифицируйте RL-эталон по 1 и 3 Гц, затем добавьте искусственную частотную зависимость R и объясните систематический остаток постоянной модели.",
        "sourceTask": "Идентифицируйте RL-эталон по 1 и 3 Гц, затем добавьте искусственную частотную зависимость \\(R\\) и объясните систематический остаток постоянной модели.",
        "sourceVariantId": "II05.1:source-assignment",
        "sourceRubric": [
          "Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты.",
          "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
        ],
        "source": {
          "file": "course-site/data/lessons-embedded.json",
          "lessonId": "II05.1",
          "field": "assignment + practice.verification",
          "sha256": "ce0962c054fbbd3562f421c3ddc53fccae08374844addbdd77fa0cb53287fe0e"
        },
        "kind": "practice",
        "parameters": [
          {
            "name": "Частоты неподвижного опыта",
            "value": "0,5; 1; 2; 3; 5",
            "unit": "Гц"
          },
          {
            "name": "Статорная частота",
            "value": "50",
            "unit": "Гц"
          },
          {
            "name": "Пары полюсов",
            "value": "2",
            "unit": ""
          }
        ],
        "expected": [
          {
            "id": "outcome",
            "type": "text",
            "label": "Ответ и полученные результаты",
            "unit": "",
            "maxLength": 16000,
            "hint": "Представьте собственные результаты именно этого варианта: величины с единицами, таблицу или вывод. Укажите файл и строки/режимы. Частотная серия и идентификация схемы ротора"
          },
          {
            "id": "verification",
            "type": "text",
            "label": "Проверка результата и расхождения",
            "unit": "",
            "maxLength": 12000,
            "hint": "Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты."
          },
          {
            "id": "evidence-map",
            "type": "text",
            "label": "Где находятся доказательства по критериям",
            "unit": "",
            "maxLength": 12000,
            "hint": "Для каждого предметного критерия ниже укажите файл, строку таблицы, режим или абзац ответа. Отдельно назовите невыполненные пункты и причины."
          }
        ],
        "criteria": [
          {
            "id": "source",
            "label": "Исходные условия и происхождение",
            "description": "Названы собственные материалы, использованные средства расчёта, единицы, параметры и режимы; для полевой работы указана сборка FEMM. Числа из примера отделены от самостоятельно полученных результатов."
          },
          {
            "id": "reproduce",
            "label": "Повторение по переданным файлам",
            "description": "По переданному ответу и файлам можно повторить формулы или действия и найти каждый результат. Для полевого расчёта указаны порядок запуска, точки, области и контуры измерений; пропуски и отказы объяснены."
          },
          {
            "id": "practice",
            "label": "Выполнение базового практикума",
            "description": "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
          },
          {
            "id": "source-task",
            "label": "Самостоятельная часть",
            "description": "Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты."
          },
          {
            "id": "evidence-1",
            "label": "Предметный критерий 1",
            "description": "Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты."
          },
          {
            "id": "evidence-2",
            "label": "Предметный критерий 2",
            "description": "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
          }
        ],
        "requiredExtensions": [
          ".fem",
          ".py",
          ".csv"
        ],
        "requiredFileCounts": [
          {
            "extension": ".fem",
            "minimum": 1
          },
          {
            "extension": ".py",
            "minimum": 1
          },
          {
            "extension": ".csv",
            "minimum": 1
          }
        ],
        "allowEmptyFiles": false,
        "referenceNote": "Форма проверяет заполнение ответа. Предметную правильность по приведённым критериям подтверждает преподаватель. Базовые параметры и шаги относятся к исходному практикуму; изменения для выбранного варианта заданы в его условии. Не подставляйте учебный ориентир вместо собственного измерения.",
        "instructions": [
          {
            "title": "Уточните выданное условие",
            "text": "Выполните базовый практикум «Частотная серия и идентификация схемы ротора» по шагам занятия. Затем выполните самостоятельную часть: Идентифицируйте RL-эталон по 1 и 3 Гц, затем добавьте искусственную частотную зависимость R и объясните систематический остаток постоянной модели."
          },
          {
            "title": "Откройте исходный практикум",
            "text": "Сопоставьте условия варианта с параметрами и действиями занятия. Сохраните исходники отдельно; работайте в своём каталоге.",
            "href": "lessons/ii05-1/index.html#practice"
          },
          {
            "title": "Подготовьте результат",
            "text": "Выполните запрошенные действия. В таблице укажите величину, значение, единицу, метод и файл-источник; для ошибки оставьте численное поле пустым и запишите причину. Пустой шаблон CSV не является результатом."
          },
          {
            "title": "Проверьте доказательства",
            "text": "1. Названы собственные материалы, использованные средства расчёта, единицы, параметры и режимы; для полевой работы указана сборка FEMM. Числа из примера отделены от самостоятельно полученных результатов.\n2. По переданному ответу и файлам можно повторить формулы или действия и найти каждый результат. Для полевого расчёта указаны порядок запуска, точки, области и контуры измерений; пропуски и отказы объяснены.\n3. Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке.\n4. Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты.\n5. Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты.\n6. Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
          },
          {
            "title": "Сдайте и получите отзыв",
            "text": "Заполните результаты, приложите обязательные файлы и скачайте ZIP. Передайте его преподавателю. Полученный JSON откройте на шаге 5; при замечаниях подготовьте новую версию.",
            "href": "workspace/index.html?assignment=practice-ii05-1&variant=A#assignment-work"
          }
        ]
      },
      {
        "id": "B",
        "title": "B · Защита выполненной работы",
        "task": "Защитите ранее выполненный практикум A. В письменном ответе укажите код/имя своей работы A и опирайтесь на её результаты. Вопрос защиты: Что означают отрицательные найденные R и L?",
        "sourceTask": "Что означают отрицательные найденные \\(R\\) и \\(L\\)?",
        "sourceVariantId": "II05.1:oral-defense",
        "sourceRubric": [
          "Либо постановка/знаки ошибочны, либо выбранная схема не описывает данные; нельзя принимать такие параметры без объяснения.",
          "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
        ],
        "source": {
          "file": "course-site/data/lessons-embedded.json",
          "lessonId": "II05.1",
          "field": "questions[-1] + practice.verification",
          "sha256": "ce0962c054fbbd3562f421c3ddc53fccae08374844addbdd77fa0cb53287fe0e"
        },
        "kind": "defense",
        "parameters": [],
        "expected": [
          {
            "id": "outcome",
            "type": "text",
            "label": "Ответ и полученные результаты",
            "unit": "",
            "maxLength": 16000,
            "hint": "Ответьте на вопрос защиты с опорой на работу A."
          },
          {
            "id": "verification",
            "type": "text",
            "label": "Проверка результата и расхождения",
            "unit": "",
            "maxLength": 12000,
            "hint": "Либо постановка/знаки ошибочны, либо выбранная схема не описывает данные; нельзя принимать такие параметры без объяснения."
          },
          {
            "id": "evidence-map",
            "type": "text",
            "label": "Где находятся доказательства по критериям",
            "unit": "",
            "maxLength": 12000,
            "hint": "Для каждого предметного критерия ниже укажите файл, строку таблицы, режим или абзац ответа. Отдельно назовите невыполненные пункты и причины."
          }
        ],
        "criteria": [
          {
            "id": "source",
            "label": "Связь с выполненной работой A",
            "description": "Указана работа A, её условия и конкретные результаты, на которые опирается ответ."
          },
          {
            "id": "reproduce",
            "label": "Обоснованный ответ",
            "description": "Ответ содержит ход рассуждения и способ проверить вывод на сохранённых результатах работы A."
          },
          {
            "id": "evidence-1",
            "label": "Предметный критерий 1",
            "description": "Либо постановка/знаки ошибочны, либо выбранная схема не описывает данные; нельзя принимать такие параметры без объяснения."
          },
          {
            "id": "evidence-2",
            "label": "Предметный критерий 2",
            "description": "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
          }
        ],
        "requiredExtensions": [],
        "requiredFileCounts": [],
        "allowEmptyFiles": true,
        "referenceNote": "Форма проверяет заполнение ответа. Предметную правильность по приведённым критериям подтверждает преподаватель. Защита относится к выполненной работе A; повторный полевой расчёт для одного вопроса не требуется.",
        "instructions": [
          {
            "title": "Уточните выданное условие",
            "text": "Защитите ранее выполненный практикум A. В письменном ответе укажите код/имя своей работы A и опирайтесь на её результаты. Вопрос защиты: Что означают отрицательные найденные R и L?"
          },
          {
            "title": "Откройте исходный практикум",
            "text": "Сопоставьте условия варианта с параметрами и действиями занятия. Сохраните исходники отдельно; работайте в своём каталоге.",
            "href": "lessons/ii05-1/index.html#practice"
          },
          {
            "title": "Подготовьте результат",
            "text": "Подготовьте письменный ответ с отсылками к своему пакету A. Дополнительные файлы можно приложить, если они нужны для объяснения."
          },
          {
            "title": "Проверьте доказательства",
            "text": "1. Указана работа A, её условия и конкретные результаты, на которые опирается ответ.\n2. Ответ содержит ход рассуждения и способ проверить вывод на сохранённых результатах работы A.\n3. Либо постановка/знаки ошибочны, либо выбранная схема не описывает данные; нельзя принимать такие параметры без объяснения.\n4. Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
          },
          {
            "title": "Сдайте и получите отзыв",
            "text": "Заполните результаты, приложите обязательные файлы и скачайте ZIP. Передайте его преподавателю. Полученный JSON откройте на шаге 5; при замечаниях подготовьте новую версию.",
            "href": "workspace/index.html?assignment=practice-ii05-1&variant=B#assignment-work"
          }
        ]
      }
    ],
    "downloads": [
      {
        "label": "Итоговая модель FEMM",
        "path": "downloads/examples/induction/Асинхронный-двигатель-09-Готовая-модель.fem",
        "sha256": "30abddc9ae53dcce287efa0294c0a9d753a23e2471a36ec4d8eb6e4c8a31ca6c",
        "role": "reference"
      },
      {
        "label": "Численные результаты",
        "path": "results/induction.json",
        "sha256": "c8912a697a49ec83d998860005837d4b0750375ac8b9a870dddab0e12e6e0abf",
        "role": "reference"
      },
      {
        "label": "Исходная программа занятия",
        "path": "downloads/python/II05-1_Параметры_асинхронного_двигателя.py",
        "sha256": "e40616195ed23bc483365b17d0c0828855fb02108383d8a48aa69e8fac113c5a",
        "role": "source-code"
      },
      {
        "label": "Пустой шаблон таблицы результатов CSV",
        "path": "downloads/assignments/ii05-1/results-template.csv",
        "sha256": "05d084635358f5c0f35abb574502b01a65ad6a4e3d7865c00063815c7b1d3092",
        "role": "blank-template"
      }
    ],
    "requiredExtensions": [
      ".fem",
      ".py",
      ".csv"
    ],
    "criteria": [
      {
        "id": "source",
        "label": "Исходные условия и происхождение",
        "description": "Названы собственные материалы, использованные средства расчёта, единицы, параметры и режимы; для полевой работы указана сборка FEMM. Числа из примера отделены от самостоятельно полученных результатов."
      },
      {
        "id": "reproduce",
        "label": "Повторение по переданным файлам",
        "description": "По переданному ответу и файлам можно повторить формулы или действия и найти каждый результат. Для полевого расчёта указаны порядок запуска, точки, области и контуры измерений; пропуски и отказы объяснены."
      },
      {
        "id": "practice",
        "label": "Выполнение базового практикума",
        "description": "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
      },
      {
        "id": "source-task",
        "label": "Самостоятельная часть",
        "description": "Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты."
      },
      {
        "id": "evidence-1",
        "label": "Предметный критерий 1",
        "description": "Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты."
      },
      {
        "id": "evidence-2",
        "label": "Предметный критерий 2",
        "description": "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
      }
    ],
    "reflectionPrompts": [
      "Почему при 1425 об/мин роторная частота равна 2,5, а не 50 Гц?",
      "Что означают отрицательные найденные R и L?"
    ],
    "limitations": "Модель Meeker 2horse перенесена и решена в FEMM 5. Частота — частота тока ротора в данном неподвижном опыте. Геометрия представляет четверть машины; результаты приведены без дополнительного множителя 4, который выводят отдельно. Это не новая собственная геометрия и не расчёт пуска. Комплексные токи и потокосцепления заданы амплитудными значениями; они отличаются от действующих значений источника.",
    "verificationNote": "Расширен путь сдачи и проверки исходного практикума. Новое выполнение всех вариантов в FEMM этим изменением не заявляется. Сохранённые результаты примеров относятся только к указанным в них моделям и условиям.",
    "teacherPlan": [
      {
        "minutes": 10,
        "title": "Условие и прогноз",
        "text": "Выдать A или продолжение B; проверить исходные данные и связь с практикумом."
      },
      {
        "minutes": 115,
        "title": "Выполнение",
        "text": "Частотная серия и идентификация схемы ротора"
      },
      {
        "minutes": 15,
        "title": "Проверка и пакет",
        "text": "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке."
      },
      {
        "minutes": 10,
        "title": "Обратная связь",
        "text": "Применить рубрику выбранного варианта; вернуть адресные замечания и проверить новую сдачу."
      }
    ],
    "sources": [
      {
        "file": "course-site/data/lessons-embedded.json",
        "lessonId": "II05.1",
        "field": "objectives + questions + assignment",
        "sha256": "ce0962c054fbbd3562f421c3ddc53fccae08374844addbdd77fa0cb53287fe0e"
      },
      {
        "path": "tools/assignment_expansion.py",
        "kind": "source-backed-workflow"
      }
    ],
    "sourcePractice": {
      "title": "Частотная серия и идентификация схемы ротора",
      "parameters": [
        {
          "name": "Частоты неподвижного опыта",
          "value": "0,5; 1; 2; 3; 5",
          "unit": "Гц"
        },
        {
          "name": "Статорная частота",
          "value": "50",
          "unit": "Гц"
        },
        {
          "name": "Пары полюсов",
          "value": "2",
          "unit": ""
        }
      ],
      "steps": [
        "Изучите определение частотного опыта в скачанном InductionMotorExample и выпишите его нормировку.",
        "Скопируйте исходную модель метода конечных элементов в новый каталог. Не запускайте старую программу на Lua, дописывающий results.txt, как основной учебный путь.",
        "Встроенным Python изменяйте частоту через mi_probdef при неизменных остальных параметрах задачи.",
        "Сохраняйте комплексные свойства цепей и выбранные потери для всех частот; отдельно фиксируйте число элементов в проводнике.",
        "Подберите только обоснованные параметры схемы по нормированной ошибке; ограничьте их физически допустимым диапазоном.",
        "Заранее выделите часть частот для следующего проверочного занятия. Эти частоты не используются при определении параметров."
      ],
      "expected": "Параметры описывают заранее выбранную физическую схему; частотный опыт и рабочее скольжение различены.",
      "verification": "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке.",
      "table_number": "39.2"
    },
    "sourceAssignment": {
      "task": "Идентифицируйте RL-эталон по 1 и 3 Гц, затем добавьте искусственную частотную зависимость \\(R\\) и объясните систематический остаток постоянной модели.",
      "acceptance": "Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты."
    }
  },
  "lesson": {
    "id": "II05.1",
    "title": "Серия расчётов по частоте и определение параметров асинхронного двигателя",
    "summary": "Серия гармонических решений на разных частотах позволяет определить параметры асинхронной машины и проверить их физический смысл.",
    "objectives": [
      "Различать частоту поля, частоту токов ротора и скольжение; идентифицировать малое число физических параметров.",
      "Отделить частоту неподвижного опыта от статорной частоты и скольжения.",
      "Определить физически допустимые параметры по обучающим точкам, сохранив независимые частоты."
    ],
    "prerequisites": [
      "II04.3"
    ],
    "theory": [
      {
        "heading": "Физическая и вычислительная постановка",
        "paragraphs": [
          "Скорость синхронного поля определяется частотой статора и числом пар полюсов. Скольжение измеряет относительное отставание ротора, поэтому в установившемся симметричном режиме для рассматриваемого двигательного диапазона \\(0\\le s\\le1\\) частота роторных токов равна \\(sf_1\\). В общем случае неотрицательная частота равна \\(|s|f_1\\), а знак скольжения задаёт относительное направление вращения поля. Гармонический опыт с неподвижным ротором и изменяемой частотой используют для исследования роторного эффекта; его параметры требуют корректного пересчёта в рабочую схему и не означают прямого расчёта движущегося проводника любой командой графического интерфейса.",
          "В простой последовательной RL-ветви действительная часть полного сопротивления даёт активное сопротивление, мнимая — \\(\\omega L\\). Из этой зависимости выводится линейный контроль для идентификации. В короткозамкнутой обмотке ротора происходит вытеснение тока, поэтому эффективные сопротивление и индуктивность могут зависеть от частоты. Небольшой поиск внутри MicroPython способен подобрать несколько параметров по нормированной сумме квадратов ошибок; положительность \\(R\\) и \\(L\\) задаётся заранее. Сначала используйте минимальную физическую модель, затем добавляйте усложнение лишь при устойчивом систематическом остатке."
        ],
        "formulas": [
          {
            "latex": "n_{\\text{син}}=\\frac{60f_1}{p},\\quad s=\\frac{n_{\\text{син}}-n}{n_{\\text{син}}},\\quad f_2=sf_1,\\quad Z(\\omega)=R+j\\omega L",
            "explanation": "Первые три соотношения относятся к установившейся асинхронной машине; последнее — только к малому RL-эталону идентификации.",
            "number": "39.1",
            "anchor": "eq-ii05-1-1"
          }
        ]
      },
      {
        "heading": "Порядок проверки результата",
        "paragraphs": [
          "Численный пример ниже является аналитическим учебным эталоном. Его значения вычислены по указанным формулам; они не обозначают результат решения новой модели методом конечных элементов. Практикум связывает эталон с полевой задачей: сначала воспроизведите уже проверенный результат части I, затем измените только один исследуемый параметр. Именно такое сравнение позволяет отделить ошибку программы от влияния геометрии, сетки и физического приближения. Сохраните исходную модель, рабочую копию и таблицу с заголовками величин. В подписи каждой величины укажите единицу, положительное направление и способ получения; для гармонических величин дополнительно укажите амплитудную нормировку. Если условие задачи не выполнено, остановите серию и сохраните причину отказа вместе с последним корректным состоянием."
        ],
        "formulas": []
      },
      {
        "heading": "Пояснение программы",
        "paragraphs": [
          "Синхронная частота вращения вычисляется по частоте сети и числу пар полюсов. Скольжение определяет частоту токов ротора. В отдельной аналитической серии действительная часть полного сопротивления даёт активное сопротивление, а мнимая часть, делённая на 2\\(\\pi f\\), — индуктивность. Эта серия проверяет обработку данных; она не является новым полевым расчётом движущегося ротора."
        ],
        "formulas": []
      },
      {
        "heading": "Идентификация по частоте скольжения",
        "paragraphs": [
          "Серия полевых расчётов предназначена для определения параметров эквивалентной схемы в указанном диапазоне частот и токов."
        ],
        "formulas": [],
        "derivation_steps": [
          {
            "text": "Для каждой частоты получите комплексное потокосцепление при одном и том же токовом масштабе. Деление на комплексный ток даёт частотную индуктивность."
          },
          {
            "text": "Подберите параметры одновременно по действительной и мнимой частям. Подгонка одного модуля теряет фазовую информацию и допускает неоднозначные наборы."
          },
          {
            "text": "Преобразуйте частоту скольжения в механическую скорость при известной частоте статора и числе пар полюсов. Сохраните знак режима и условия питания отдельно от идентификационной серии."
          }
        ],
        "symbols": [
          {
            "symbol": "s",
            "meaning": "Скольжение в принятом направлении вращения",
            "unit": "1"
          },
          {
            "symbol": "f",
            "meaning": "Частота гармоники",
            "unit": "Гц"
          },
          {
            "symbol": "p",
            "meaning": "Число пар полюсов",
            "unit": "1"
          },
          {
            "symbol": "L",
            "meaning": "Индуктивность при явно указанной линеаризации",
            "unit": "Гн"
          },
          {
            "symbol": "\\Psi",
            "meaning": "Потокосцепление обмотки",
            "unit": "Вб"
          },
          {
            "symbol": "\\widehat I",
            "meaning": "Комплексная амплитуда тока",
            "unit": "А"
          }
        ],
        "applicability": "Параметры, найденные при слабом насыщении, не считаются постоянными для всего диапазона токов. Гармоники пазов и движение требуют отдельной оценки применимости.",
        "editorial_tag": "textbook-math-2026-10",
        "symbols_number": "39.1"
      }
    ],
    "worked_example": {
      "title": "Вычисленный аналитический эталон",
      "given": "\\(f_{1}\\) = 50 Гц; \\(p\\) = 2; \\(n\\) = 1425 об/мин. Контрольная ветвь: \\(R\\) = 0,5 Ом, \\(L\\) = 0,02 Гн.",
      "steps": [
        {
          "text": "\\(n_{\\text{син}}\\) = 1500 об/мин; \\(s\\) = (1500 − 1425)/1500 = 0,05; \\(f_{2}\\) = 2,5 Гц.",
          "latex": "s=\\frac{1500-1425}{1500}=0{,}05,\\quad f_2=0{,}05\\cdot50=2{,}5\\ \\text{Гц}",
          "formula_number": "39.2",
          "anchor": "eq-ii05-1-2"
        },
        {
          "text": "На 1 Гц \\(Z\\) = 0,5 + \\(j0{,}125664\\) Ом; на 3 Гц \\(Z\\) = 0,5 + \\(j0{,}376991\\) Ом."
        },
        {
          "text": "Из любой контрольной точки \\(L\\) = \\(\\operatorname{Im}\\) \\(Z\\)/(2\\(\\pi f\\)) = 0,02 Гн; \\(R\\) = \\(\\operatorname{Re}\\) \\(Z\\) = 0,5 Ом."
        }
      ],
      "answer": "Скольжение 5 %, роторная частота 2,5 Гц; идентифицированный RL-эталон возвращает исходные параметры.",
      "check": "Одинаковая \\(L\\) на обеих частотах является свойством контрольной RL-модели, а не универсальным законом для короткозамкнутой обмотки ротора."
    },
    "practice": {
      "title": "Частотная серия и идентификация схемы ротора",
      "parameters": [
        {
          "name": "Частоты неподвижного опыта",
          "value": "0,5; 1; 2; 3; 5",
          "unit": "Гц"
        },
        {
          "name": "Статорная частота",
          "value": "50",
          "unit": "Гц"
        },
        {
          "name": "Пары полюсов",
          "value": "2",
          "unit": ""
        }
      ],
      "steps": [
        "Изучите определение частотного опыта в скачанном InductionMotorExample и выпишите его нормировку.",
        "Скопируйте исходную модель метода конечных элементов в новый каталог. Не запускайте старую программу на Lua, дописывающий results.txt, как основной учебный путь.",
        "Встроенным Python изменяйте частоту через mi_probdef при неизменных остальных параметрах задачи.",
        "Сохраняйте комплексные свойства цепей и выбранные потери для всех частот; отдельно фиксируйте число элементов в проводнике.",
        "Подберите только обоснованные параметры схемы по нормированной ошибке; ограничьте их физически допустимым диапазоном.",
        "Заранее выделите часть частот для следующего проверочного занятия. Эти частоты не используются при определении параметров."
      ],
      "expected": "Параметры описывают заранее выбранную физическую схему; частотный опыт и рабочее скольжение различены.",
      "verification": "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке.",
      "table_number": "39.2"
    },
    "widget": {
      "type": "induction",
      "config": {
        "variant": "slip",
        "frequency": 50,
        "polePairs": 2,
        "speedRpm": 1425,
        "rotorResistance": 0.5,
        "rotorInductance": 0.02
      },
      "figure_numbers": {
        "main": "39.1",
        "schematic": "39.2",
        "response": "39.3"
      }
    },
    "questions": [
      {
        "question": "Почему при 1425 об/мин роторная частота равна 2,5, а не 50 Гц?",
        "answer": "Роторные токи возбуждаются относительным движением между ротором и синхронным полем; частота равна \\(sf_1\\)."
      },
      {
        "question": "Что означают отрицательные найденные \\(R\\) и \\(L\\)?",
        "answer": "Либо постановка/знаки ошибочны, либо выбранная схема не описывает данные; нельзя принимать такие параметры без объяснения."
      }
    ],
    "assignment": {
      "task": "Идентифицируйте RL-эталон по 1 и 3 Гц, затем добавьте искусственную частотную зависимость \\(R\\) и объясните систематический остаток постоянной модели.",
      "acceptance": "Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты."
    },
    "pitfalls": [
      "Секторный коэффициент исходного примера может быть уже включён в результаты.",
      "Параметры схемы нельзя без пересчёта переносить между частотой неподвижного опыта и частотой рабочего статора."
    ],
    "sources": [
      {
        "title": "Руководство FEMM 5, редакция от 1 октября 2026 года",
        "url": "https://www.femm.info/doku/lib/exe/fetch.php?media=femm-qt:docs:manual.pdf",
        "pages": "10–15, 98–110",
        "offline_url": "../../materials/00_FEMM5_Official/FEMM_5_User_Manual_01Oct2026.pdf"
      },
      {
        "title": "Встроенный MicroPython и доступные пакеты FEMM 5",
        "url": "https://www.femm.info/doku/doku.php?id=micropython",
        "pages": "Раздел Packages",
        "offline_url": "../../materials/00_FEMM5_Official/FEMM_5_MicroPython_Packages.html"
      },
      {
        "title": "David Meeker: Induction Motor Example",
        "url": "https://www.femm.info/wiki/InductionMotorExample",
        "pages": "Скачанный InductionMotorExample.pdf, с. 1–14"
      }
    ],
    "model_family": "induction",
    "code": [
      {
        "title": "Численная проверка выведенного эталона",
        "language": "python",
        "source": "import math\n# Частота сети, Гц; число пар полюсов; частота вращения ротора, об/мин.\nfrequency_hz, pole_pairs, speed_rpm = 50, 2, 1425\n# Синхронная частота вращения: 60·f/p, об/мин. Скольжение безразмерно.\nsync_speed_rpm = 60*frequency_hz/pole_pairs\nslip = (sync_speed_rpm-speed_rpm)/sync_speed_rpm\n# Порядок вывода: синхронная частота вращения, об/мин; скольжение; частота ротора, Гц.\nprint(sync_speed_rpm, slip, slip*frequency_hz)\n# Учебная серия по частоте ротора. Формула сопротивления не решает полевую задачу.\nfor rotor_frequency_hz in [1, 3]:\n    impedance_ohm = 0.5+1j*2*math.pi*rotor_frequency_hz*0.02\n    resistance = impedance_ohm.real\n    # Из мнимой части Z выделяем L = Im(Z)/(2πf); при f = 0 эта формула неприменима.\n    inductance = impedance_ohm.imag/(2*math.pi*rotor_frequency_hz)\n    # Порядок вывода: частота, Гц; полное сопротивление, Ом; активное сопротивление, Ом; L, Гн.\n    print(rotor_frequency_hz, impedance_ohm, resistance, inductance)\n",
        "explanation": "Код выполняется во встроенном Python FEMM 5. Он проверяет приведённый аналитический вывод; получение полевых данных выполняется отдельным практикумом с указанной моделью.",
        "highlighted": "<span class=\"kn\">import</span><span class=\"w\"> </span><span class=\"nn\">math</span>\n<span class=\"c1\"># Частота сети, Гц; число пар полюсов; частота вращения ротора, об/мин.</span>\n<span class=\"n\">frequency_hz</span><span class=\"p\">,</span> <span class=\"n\">pole_pairs</span><span class=\"p\">,</span> <span class=\"n\">speed_rpm</span> <span class=\"o\">=</span> <span class=\"mi\">50</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">1425</span>\n<span class=\"c1\"># Синхронная частота вращения: 60·f/p, об/мин. Скольжение безразмерно.</span>\n<span class=\"n\">sync_speed_rpm</span> <span class=\"o\">=</span> <span class=\"mi\">60</span><span class=\"o\">*</span><span class=\"n\">frequency_hz</span><span class=\"o\">/</span><span class=\"n\">pole_pairs</span>\n<span class=\"n\">slip</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">sync_speed_rpm</span><span class=\"o\">-</span><span class=\"n\">speed_rpm</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">sync_speed_rpm</span>\n<span class=\"c1\"># Порядок вывода: синхронная частота вращения, об/мин; скольжение; частота ротора, Гц.</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">sync_speed_rpm</span><span class=\"p\">,</span> <span class=\"n\">slip</span><span class=\"p\">,</span> <span class=\"n\">slip</span><span class=\"o\">*</span><span class=\"n\">frequency_hz</span><span class=\"p\">)</span>\n<span class=\"c1\"># Учебная серия по частоте ротора. Формула сопротивления не решает полевую задачу.</span>\n<span class=\"k\">for</span> <span class=\"n\">rotor_frequency_hz</span> <span class=\"ow\">in</span> <span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">]:</span>\n    <span class=\"n\">impedance_ohm</span> <span class=\"o\">=</span> <span class=\"mf\">0.5</span><span class=\"o\">+</span><span class=\"mi\">1</span><span class=\"n\">j</span><span class=\"o\">*</span><span class=\"mi\">2</span><span class=\"o\">*</span><span class=\"n\">math</span><span class=\"o\">.</span><span class=\"n\">pi</span><span class=\"o\">*</span><span class=\"n\">rotor_frequency_hz</span><span class=\"o\">*</span><span class=\"mf\">0.02</span>\n    <span class=\"n\">resistance</span> <span class=\"o\">=</span> <span class=\"n\">impedance_ohm</span><span class=\"o\">.</span><span class=\"n\">real</span>\n    <span class=\"c1\"># Из мнимой части Z выделяем L = Im(Z)/(2πf); при f = 0 эта формула неприменима.</span>\n    <span class=\"n\">inductance</span> <span class=\"o\">=</span> <span class=\"n\">impedance_ohm</span><span class=\"o\">.</span><span class=\"n\">imag</span><span class=\"o\">/</span><span class=\"p\">(</span><span class=\"mi\">2</span><span class=\"o\">*</span><span class=\"n\">math</span><span class=\"o\">.</span><span class=\"n\">pi</span><span class=\"o\">*</span><span class=\"n\">rotor_frequency_hz</span><span class=\"p\">)</span>\n    <span class=\"c1\"># Порядок вывода: частота, Гц; полное сопротивление, Ом; активное сопротивление, Ом; L, Гн.</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">rotor_frequency_hz</span><span class=\"p\">,</span> <span class=\"n\">impedance_ohm</span><span class=\"p\">,</span> <span class=\"n\">resistance</span><span class=\"p\">,</span> <span class=\"n\">inductance</span><span class=\"p\">)</span>\n",
        "title_html": "Численная проверка выведенного эталона",
        "explanation_html": "Код выполняется во встроенном Python FEMM 5. Он проверяет приведённый аналитический вывод; получение полевых данных выполняется отдельным практикумом с указанной моделью."
      }
    ],
    "slug": "ii05-1",
    "display_number": "39.1",
    "paragraph_number": 39,
    "position": 118,
    "part": "VII",
    "part_label": "Углублённый расчёт электрических машин",
    "module_id": "VII.03",
    "module_title": "Идентификация асинхронной машины",
    "module_hours": 10.0,
    "curriculum_path": [
      "VII",
      "VII.03"
    ],
    "siblings": [
      {
        "id": "II05.1",
        "title": "Серия расчётов по частоте и определение параметров асинхронного двигателя",
        "slug": "ii05-1",
        "sourceFile": "course-site/data/lessons-embedded.json",
        "legacyId": "II05.1",
        "moduleId": "VII.03",
        "hours": 2.5,
        "displayNumber": "VII.03.1",
        "display_number": "39.1"
      },
      {
        "id": "II05.2",
        "title": "Проверка параметров на независимых частотах",
        "slug": "ii05-2",
        "sourceFile": "course-site/data/lessons-embedded.json",
        "legacyId": "II05.2",
        "moduleId": "VII.03",
        "hours": 2.5,
        "displayNumber": "VII.03.2",
        "display_number": "39.2"
      },
      {
        "id": "II05.3",
        "title": "Лобовые части, кольца ротора и температура",
        "slug": "ii05-3",
        "sourceFile": "course-site/data/lessons-embedded.json",
        "legacyId": "II05.3",
        "moduleId": "VII.03",
        "hours": 2.5,
        "displayNumber": "VII.03.3",
        "display_number": "39.3"
      },
      {
        "id": "II05.4",
        "title": "Электромагнитный момент, частота вращения и согласованный нагрузочный режим",
        "slug": "ii05-4",
        "sourceFile": "course-site/data/lessons-embedded.json",
        "legacyId": "II05.4",
        "moduleId": "VII.03",
        "hours": 2.5,
        "displayNumber": "VII.03.4",
        "display_number": "39.4"
      }
    ],
    "previous": {
      "id": "II04.3",
      "slug": "ii04-3",
      "title": "Нейтраль, нулевая последовательность и ограничения двумерной модели",
      "display_number": "38.3"
    },
    "next": {
      "id": "II05.2",
      "slug": "ii05-2",
      "title": "Проверка параметров на независимых частотах",
      "display_number": "39.2"
    },
    "formula_count": 2,
    "fe_reference": {
      "name": "induction",
      "description": "Расчёт выполнен установленным FEMM 5.0, сборка 06Oct2026, встроенным Python. Файл модели и решение позволяют повторить опыт; параметры этого образца указаны ниже. Повторный полевой расчёт 15 октября 2026 года и построение из учебной Python-программы подтвердили воспроизводимость модели.",
      "scope": "Модель Meeker 2horse перенесена и решена в FEMM 5. Частота — частота тока ротора в данном неподвижном опыте. Геометрия представляет четверть машины; результаты приведены без дополнительного множителя 4, который выводят отдельно. Это не новая собственная геометрия и не расчёт пуска. Комплексные токи и потокосцепления заданы амплитудными значениями; они отличаются от действующих значений источника.",
      "metrics": [
        {
          "name": "Частота",
          "value": "1",
          "unit": "Гц"
        },
        {
          "name": "Активная длина",
          "value": "100",
          "unit": "мм"
        },
        {
          "name": "Ток цепи Фаза А",
          "value": "1 + j0",
          "unit": "А"
        },
        {
          "name": "Потокосцепление цепи Фаза А",
          "value": "0,04209757 − j0,03967635",
          "unit": "Вб"
        },
        {
          "name": "Ток цепи Фаза С",
          "value": "-0,5 − j0,8660254",
          "unit": "А"
        },
        {
          "name": "Потокосцепление цепи Фаза С",
          "value": "-0,05517166 − j0,01805659",
          "unit": "Вб"
        },
        {
          "name": "Ток цепи Фаза В",
          "value": "-0,5 + j0,8660254",
          "unit": "А"
        },
        {
          "name": "Потокосцепление цепи Фаза В",
          "value": "0,01251102 + j0,05636878",
          "unit": "Вб"
        },
        {
          "name": "Средняя энергия поля",
          "value": "0,03197054",
          "unit": "Дж"
        },
        {
          "name": "Норма комплексных амплитуд B в контрольной точке",
          "value": "0,4583679",
          "unit": "Тл"
        },
        {
          "name": "Координаты контрольной точки (x, y)",
          "value": "50; 0",
          "unit": "мм"
        }
      ],
      "files": [
        {
          "path": "downloads/examples/induction/Асинхронный-двигатель-09-Готовая-модель.fem",
          "title": "Итоговая модель FEMM",
          "download_name": "Асинхронный-двигатель-09-Готовая-модель.fem",
          "sha256": "30abddc9ae53dcce287efa0294c0a9d753a23e2471a36ec4d8eb6e4c8a31ca6c",
          "bytes": 15802
        },
        {
          "path": "downloads/examples/induction/Асинхронный-двигатель-09-Готовая-модель.ans",
          "title": "Сохранённое решение эталона",
          "download_name": "Асинхронный-двигатель-09-Готовая-модель.ans",
          "sha256": "61310c44132c0c07e8e3331ef0f7d30ac39d8b909b2ad19cdccf5482aa4c890d",
          "bytes": 1830534
        },
        {
          "path": "results/induction.json",
          "title": "Численные результаты"
        }
      ],
      "image": "images/fields/induction.svg",
      "caption": "Визуализация численных данных FEMM 5: Асинхронный двигатель: сектор модели. Это экспорт результатов поля, а не снимок окна программы.",
      "image_width": 960,
      "image_height": 900,
      "table_number": "39.3",
      "figure_number": "39.4"
    },
    "code_download": "downloads/python/II05-1_Параметры_асинхронного_двигателя.py",
    "code_download_name": "II05-1_Параметры_асинхронного_двигателя.py",
    "code_download_title": "Программа: Численная проверка выведенного эталона",
    "screenshots": [
      {
        "shot_id": "31-induction-geometry",
        "path": "images/screenshots/31-induction-geometry.png",
        "caption": "Геометрия: адаптированная модель Meeker: 36 пазов статора, 28 стержней, неподвижный AC-опыт",
        "width": 1026,
        "height": 800,
        "figure_number": "39.5"
      },
      {
        "shot_id": "31-induction-field",
        "path": "images/screenshots/31-induction-field.png",
        "caption": "Распределение магнитной индукции: адаптированная модель Meeker: 36 пазов статора, 28 стержней, неподвижный AC-опыт",
        "width": 1026,
        "height": 800,
        "figure_number": "39.6"
      },
      {
        "shot_id": "python-ii05-1",
        "path": "images/screenshots/supplemental/python-ii05-1.png",
        "caption": "Встроенная консоль FEMM: Серия расчётов по частоте и определение параметров асинхронного двигателя. Аналитическая проверка программы занятия.",
        "width": 1026,
        "height": 800,
        "source_series": "embedded_analytic",
        "figure_number": "39.7"
      }
    ],
    "detail_shots": [],
    "formula_refs": [
      {
        "number": "39.1",
        "anchor": "eq-ii05-1-1",
        "title": "Физическая и вычислительная постановка"
      },
      {
        "number": "39.2",
        "anchor": "eq-ii05-1-2",
        "title": "Численный пример"
      }
    ],
    "example_links": [
      {
        "id": "induction",
        "slug": "induction",
        "title": "Асинхронный двигатель: сектор модели",
        "path": "examples/induction/index.html",
        "primary": true
      }
    ],
    "view": {
      "id": "II05.1",
      "title": "Серия расчётов по частоте и определение параметров асинхронного двигателя",
      "summary": "Серия гармонических решений на разных частотах позволяет определить параметры асинхронной машины и проверить их физический смысл.",
      "objectives": [
        "Различать частоту поля, частоту токов ротора и скольжение; идентифицировать малое число физических параметров.",
        "Отделить частоту неподвижного опыта от статорной частоты и скольжения.",
        "Определить физически допустимые параметры по обучающим точкам, сохранив независимые частоты."
      ],
      "prerequisites": [
        "38.3"
      ],
      "theory": [
        {
          "heading": "Физическая и вычислительная постановка",
          "paragraphs": [
            "Скорость синхронного поля определяется частотой статора и числом пар полюсов. Скольжение измеряет относительное отставание ротора, поэтому в установившемся симметричном режиме для рассматриваемого двигательного диапазона <span class=\"inline-math\" data-inline-latex=\"0\\le s\\le1\">0\\le s\\le1</span> частота роторных токов равна <span class=\"inline-math\" data-inline-latex=\"sf_1\">sf_1</span>. В общем случае неотрицательная частота равна <span class=\"inline-math\" data-inline-latex=\"|s|f_1\">|s|f_1</span>, а знак скольжения задаёт относительное направление вращения поля. Гармонический опыт с неподвижным ротором и изменяемой частотой используют для исследования роторного эффекта; его параметры требуют корректного пересчёта в рабочую схему и не означают прямого расчёта движущегося проводника любой командой графического интерфейса.",
            "В простой последовательной RL-ветви действительная часть полного сопротивления даёт активное сопротивление, мнимая — <span class=\"inline-math\" data-inline-latex=\"\\omega L\">\\omega L</span>. Из этой зависимости выводится линейный контроль для идентификации. В короткозамкнутой обмотке ротора происходит вытеснение тока, поэтому эффективные сопротивление и индуктивность могут зависеть от частоты. Небольшой поиск внутри MicroPython способен подобрать несколько параметров по нормированной сумме квадратов ошибок; положительность <span class=\"inline-math\" data-inline-latex=\"R\">R</span> и <span class=\"inline-math\" data-inline-latex=\"L\">L</span> задаётся заранее. Сначала используйте минимальную физическую модель, затем добавляйте усложнение лишь при устойчивом систематическом остатке."
          ],
          "formulas": [
            {
              "latex": "n_{\\text{син}}=\\frac{60f_1}{p},\\quad s=\\frac{n_{\\text{син}}-n}{n_{\\text{син}}},\\quad f_2=sf_1,\\quad Z(\\omega)=R+j\\omega L",
              "explanation": "Первые три соотношения относятся к установившейся асинхронной машине; последнее — только к малому RL-эталону идентификации.",
              "number": "39.1",
              "anchor": "eq-ii05-1-1"
            }
          ]
        },
        {
          "heading": "Порядок проверки результата",
          "paragraphs": [
            "Численный пример ниже является аналитическим учебным эталоном. Его значения вычислены по указанным формулам; они не обозначают результат решения новой модели методом конечных элементов. Практикум связывает эталон с полевой задачей: сначала воспроизведите уже проверенный результат базового раздела, затем измените только один исследуемый параметр. Именно такое сравнение позволяет отделить ошибку программы от влияния геометрии, сетки и физического приближения. Сохраните исходную модель, рабочую копию и таблицу с заголовками величин. В подписи каждой величины укажите единицу, положительное направление и способ получения; для гармонических величин дополнительно укажите амплитудную нормировку. Если условие задачи не выполнено, остановите серию и сохраните причину отказа вместе с последним корректным состоянием."
          ],
          "formulas": []
        },
        {
          "heading": "Пояснение программы",
          "paragraphs": [
            "Синхронная частота вращения вычисляется по частоте сети и числу пар полюсов. Скольжение определяет частоту токов ротора. В отдельной аналитической серии действительная часть полного сопротивления даёт активное сопротивление, а мнимая часть, делённая на 2<span class=\"inline-math\" data-inline-latex=\"\\pi f\">\\pi f</span>, — индуктивность. Эта серия проверяет обработку данных; она не является новым полевым расчётом движущегося ротора."
          ],
          "formulas": []
        },
        {
          "heading": "Идентификация по частоте скольжения",
          "paragraphs": [
            "Серия полевых расчётов предназначена для определения параметров эквивалентной схемы в указанном диапазоне частот и токов."
          ],
          "formulas": [],
          "derivation_steps": [
            {
              "text": "Для каждой частоты получите комплексное потокосцепление при одном и том же токовом масштабе. Деление на комплексный ток даёт частотную индуктивность."
            },
            {
              "text": "Подберите параметры одновременно по действительной и мнимой частям. Подгонка одного модуля теряет фазовую информацию и допускает неоднозначные наборы."
            },
            {
              "text": "Преобразуйте частоту скольжения в механическую скорость при известной частоте статора и числе пар полюсов. Сохраните знак режима и условия питания отдельно от идентификационной серии."
            }
          ],
          "symbols": [
            {
              "symbol": "s",
              "meaning": "Скольжение в принятом направлении вращения",
              "unit": "1"
            },
            {
              "symbol": "f",
              "meaning": "Частота гармоники",
              "unit": "Гц"
            },
            {
              "symbol": "p",
              "meaning": "Число пар полюсов",
              "unit": "1"
            },
            {
              "symbol": "L",
              "meaning": "Индуктивность при явно указанной линеаризации",
              "unit": "Гн"
            },
            {
              "symbol": "\\Psi",
              "meaning": "Потокосцепление обмотки",
              "unit": "Вб"
            },
            {
              "symbol": "\\widehat I",
              "meaning": "Комплексная амплитуда тока",
              "unit": "А"
            }
          ],
          "applicability": "Параметры, найденные при слабом насыщении, не считаются постоянными для всего диапазона токов. Гармоники пазов и движение требуют отдельной оценки применимости.",
          "editorial_tag": "textbook-math-2026-10",
          "symbols_number": "39.1"
        }
      ],
      "worked_example": {
        "title": "Вычисленный аналитический эталон",
        "given": "<span class=\"inline-math\" data-inline-latex=\"f_{1}\">f_{1}</span> = 50 Гц; <span class=\"inline-math\" data-inline-latex=\"p\">p</span> = 2; <span class=\"inline-math\" data-inline-latex=\"n\">n</span> = 1425 об/мин. Контрольная ветвь: <span class=\"inline-math\" data-inline-latex=\"R\">R</span> = 0,5 Ом, <span class=\"inline-math\" data-inline-latex=\"L\">L</span> = 0,02 Гн.",
        "steps": [
          {
            "text": "<span class=\"inline-math\" data-inline-latex=\"n_{\\text{син}}\">n_{\\text{син}}</span> = 1500 об/мин; <span class=\"inline-math\" data-inline-latex=\"s\">s</span> = (1500 − 1425)/1500 = 0,05; <span class=\"inline-math\" data-inline-latex=\"f_{2}\">f_{2}</span> = 2,5 Гц.",
            "latex": "s=\\frac{1500-1425}{1500}=0{,}05,\\quad f_2=0{,}05\\cdot50=2{,}5\\ \\text{Гц}",
            "formula_number": "39.2",
            "anchor": "eq-ii05-1-2"
          },
          {
            "text": "На 1 Гц <span class=\"inline-math\" data-inline-latex=\"Z\">Z</span> = 0,5 + <span class=\"inline-math\" data-inline-latex=\"j0{,}125664\">j0{,}125664</span> Ом; на 3 Гц <span class=\"inline-math\" data-inline-latex=\"Z\">Z</span> = 0,5 + <span class=\"inline-math\" data-inline-latex=\"j0{,}376991\">j0{,}376991</span> Ом."
          },
          {
            "text": "Из любой контрольной точки <span class=\"inline-math\" data-inline-latex=\"L\">L</span> = <span class=\"inline-math\" data-inline-latex=\"\\operatorname{Im}\">\\operatorname{Im}</span> <span class=\"inline-math\" data-inline-latex=\"Z\">Z</span>/(2<span class=\"inline-math\" data-inline-latex=\"\\pi f\">\\pi f</span>) = 0,02 Гн; <span class=\"inline-math\" data-inline-latex=\"R\">R</span> = <span class=\"inline-math\" data-inline-latex=\"\\operatorname{Re}\">\\operatorname{Re}</span> <span class=\"inline-math\" data-inline-latex=\"Z\">Z</span> = 0,5 Ом."
          }
        ],
        "answer": "Скольжение 5 %, роторная частота 2,5 Гц; идентифицированный RL-эталон возвращает исходные параметры.",
        "check": "Одинаковая <span class=\"inline-math\" data-inline-latex=\"L\">L</span> на обеих частотах является свойством контрольной RL-модели, а не универсальным законом для короткозамкнутой обмотки ротора."
      },
      "practice": {
        "title": "Частотная серия и идентификация схемы ротора",
        "parameters": [
          {
            "name": "Частоты неподвижного опыта",
            "value": "0,5; 1; 2; 3; 5",
            "unit": "Гц"
          },
          {
            "name": "Статорная частота",
            "value": "50",
            "unit": "Гц"
          },
          {
            "name": "Пары полюсов",
            "value": "2",
            "unit": ""
          }
        ],
        "steps": [
          "Изучите определение частотного опыта в скачанном InductionMotorExample и выпишите его нормировку.",
          "Скопируйте исходную модель метода конечных элементов в новый каталог. Не запускайте старую программу на Lua, дописывающий results.txt, как основной учебный путь.",
          "Встроенным Python изменяйте частоту через mi_probdef при неизменных остальных параметрах задачи.",
          "Сохраняйте комплексные свойства цепей и выбранные потери для всех частот; отдельно фиксируйте число элементов в проводнике.",
          "Подберите только обоснованные параметры схемы по нормированной ошибке; ограничьте их физически допустимым диапазоном.",
          "Заранее выделите часть частот для следующего проверочного занятия. Эти частоты не используются при определении параметров."
        ],
        "expected": "Параметры описывают заранее выбранную физическую схему; частотный опыт и рабочее скольжение различены.",
        "verification": "Правильный частотный масштаб, единицы и восстановление сектора; параметры не оценены по одной случайной точке.",
        "table_number": "39.2"
      },
      "questions": [
        {
          "question": "Почему при 1425 об/мин роторная частота равна 2,5, а не 50 Гц?",
          "answer": "Роторные токи возбуждаются относительным движением между ротором и синхронным полем; частота равна <span class=\"inline-math\" data-inline-latex=\"sf_1\">sf_1</span>."
        },
        {
          "question": "Что означают отрицательные найденные <span class=\"inline-math\" data-inline-latex=\"R\">R</span> и <span class=\"inline-math\" data-inline-latex=\"L\">L</span>?",
          "answer": "Либо постановка/знаки ошибочны, либо выбранная схема не описывает данные; нельзя принимать такие параметры без объяснения."
        }
      ],
      "assignment": {
        "task": "Идентифицируйте RL-эталон по 1 и 3 Гц, затем добавьте искусственную частотную зависимость <span class=\"inline-math\" data-inline-latex=\"R\">R</span> и объясните систематический остаток постоянной модели.",
        "acceptance": "Есть частотный паспорт, положительные параметры, функция ошибки и независимые проверочные частоты."
      },
      "pitfalls": [
        "Секторный коэффициент исходного примера может быть уже включён в результаты.",
        "Параметры схемы нельзя без пересчёта переносить между частотой неподвижного опыта и частотой рабочего статора."
      ],
      "model_family": "induction",
      "slug": "ii05-1",
      "display_number": "39.1",
      "paragraph_number": 39,
      "position": 118,
      "part": "VII",
      "part_label": "Углублённый расчёт электрических машин",
      "module_id": "VII.03",
      "module_title": "Идентификация асинхронной машины",
      "module_hours": 10.0,
      "curriculum_path": [
        "VII",
        "VII.03"
      ],
      "formula_count": 2,
      "fe_reference": {
        "name": "induction",
        "description": "Расчёт выполнен установленным FEMM 5.0, сборка 06Oct2026, встроенным Python. Файл модели и решение позволяют повторить опыт; параметры этого образца указаны ниже. Повторный полевой расчёт 15 октября 2026 года и построение из учебной Python-программы подтвердили воспроизводимость модели.",
        "scope": "Модель Meeker 2horse перенесена и решена в FEMM 5. Частота — частота тока ротора в данном неподвижном опыте. Геометрия представляет четверть машины; результаты приведены без дополнительного множителя 4, который выводят отдельно. Это не новая собственная геометрия и не расчёт пуска. Комплексные токи и потокосцепления заданы амплитудными значениями; они отличаются от действующих значений источника.",
        "metrics": [
          {
            "name": "Частота",
            "value": "1",
            "unit": "Гц"
          },
          {
            "name": "Активная длина",
            "value": "100",
            "unit": "мм"
          },
          {
            "name": "Ток цепи Фаза А",
            "value": "1 + j0",
            "unit": "А"
          },
          {
            "name": "Потокосцепление цепи Фаза А",
            "value": "0,04209757 − j0,03967635",
            "unit": "Вб"
          },
          {
            "name": "Ток цепи Фаза С",
            "value": "-0,5 − j0,8660254",
            "unit": "А"
          },
          {
            "name": "Потокосцепление цепи Фаза С",
            "value": "-0,05517166 − j0,01805659",
            "unit": "Вб"
          },
          {
            "name": "Ток цепи Фаза В",
            "value": "-0,5 + j0,8660254",
            "unit": "А"
          },
          {
            "name": "Потокосцепление цепи Фаза В",
            "value": "0,01251102 + j0,05636878",
            "unit": "Вб"
          },
          {
            "name": "Средняя энергия поля",
            "value": "0,03197054",
            "unit": "Дж"
          },
          {
            "name": "Норма комплексных амплитуд B в контрольной точке",
            "value": "0,4583679",
            "unit": "Тл"
          },
          {
            "name": "Координаты контрольной точки (x, y)",
            "value": "50; 0",
            "unit": "мм"
          }
        ],
        "files": [
          {
            "path": "downloads/examples/induction/Асинхронный-двигатель-09-Готовая-модель.fem",
            "title": "Итоговая модель FEMM",
            "download_name": "Асинхронный-двигатель-09-Готовая-модель.fem",
            "sha256": "30abddc9ae53dcce287efa0294c0a9d753a23e2471a36ec4d8eb6e4c8a31ca6c",
            "bytes": 15802
          },
          {
            "path": "downloads/examples/induction/Асинхронный-двигатель-09-Готовая-модель.ans",
            "title": "Сохранённое решение эталона",
            "download_name": "Асинхронный-двигатель-09-Готовая-модель.ans",
            "sha256": "61310c44132c0c07e8e3331ef0f7d30ac39d8b909b2ad19cdccf5482aa4c890d",
            "bytes": 1830534
          },
          {
            "path": "results/induction.json",
            "title": "Численные результаты"
          }
        ],
        "image": "images/fields/induction.svg",
        "caption": "Визуализация численных данных FEMM 5: Асинхронный двигатель: сектор модели. Это экспорт результатов поля, а не снимок окна программы.",
        "image_width": 960,
        "image_height": 900,
        "table_number": "39.3",
        "figure_number": "39.4"
      },
      "code_download": "downloads/python/II05-1_Параметры_асинхронного_двигателя.py",
      "code_download_name": "II05-1_Параметры_асинхронного_двигателя.py",
      "code_download_title": "Программа: Численная проверка выведенного эталона",
      "detail_shots": [],
      "formula_refs": [
        {
          "number": "39.1",
          "anchor": "eq-ii05-1-1",
          "title": "Физическая и вычислительная постановка"
        },
        {
          "number": "39.2",
          "anchor": "eq-ii05-1-2",
          "title": "Численный пример"
        }
      ]
    },
    "client_data": {
      "id": "II05.1",
      "title": "Серия расчётов по частоте и определение параметров асинхронного двигателя",
      "slug": "ii05-1",
      "widget": {
        "type": "induction",
        "config": {
          "variant": "slip",
          "frequency": 50,
          "polePairs": 2,
          "speedRpm": 1425,
          "rotorResistance": 0.5,
          "rotorInductance": 0.02
        },
        "figure_numbers": {
          "main": "39.1",
          "schematic": "39.2",
          "response": "39.3"
        }
      },
      "formula_count": 2,
      "fe_reference": {
        "name": "induction",
        "description": "Расчёт выполнен установленным FEMM 5.0, сборка 06Oct2026, встроенным Python. Файл модели и решение позволяют повторить опыт; параметры этого образца указаны ниже. Повторный полевой расчёт 15 октября 2026 года и построение из учебной Python-программы подтвердили воспроизводимость модели.",
        "scope": "Модель Meeker 2horse перенесена и решена в FEMM 5. Частота — частота тока ротора в данном неподвижном опыте. Геометрия представляет четверть машины; результаты приведены без дополнительного множителя 4, который выводят отдельно. Это не новая собственная геометрия и не расчёт пуска. Комплексные токи и потокосцепления заданы амплитудными значениями; они отличаются от действующих значений источника.",
        "metrics": [
          {
            "name": "Частота",
            "value": "1",
            "unit": "Гц"
          },
          {
            "name": "Активная длина",
            "value": "100",
            "unit": "мм"
          },
          {
            "name": "Ток цепи Фаза А",
            "value": "1 + j0",
            "unit": "А"
          },
          {
            "name": "Потокосцепление цепи Фаза А",
            "value": "0,04209757 − j0,03967635",
            "unit": "Вб"
          },
          {
            "name": "Ток цепи Фаза С",
            "value": "-0,5 − j0,8660254",
            "unit": "А"
          },
          {
            "name": "Потокосцепление цепи Фаза С",
            "value": "-0,05517166 − j0,01805659",
            "unit": "Вб"
          },
          {
            "name": "Ток цепи Фаза В",
            "value": "-0,5 + j0,8660254",
            "unit": "А"
          },
          {
            "name": "Потокосцепление цепи Фаза В",
            "value": "0,01251102 + j0,05636878",
            "unit": "Вб"
          },
          {
            "name": "Средняя энергия поля",
            "value": "0,03197054",
            "unit": "Дж"
          },
          {
            "name": "Норма комплексных амплитуд B в контрольной точке",
            "value": "0,4583679",
            "unit": "Тл"
          },
          {
            "name": "Координаты контрольной точки (x, y)",
            "value": "50; 0",
            "unit": "мм"
          }
        ],
        "files": [
          {
            "path": "downloads/examples/induction/Асинхронный-двигатель-09-Готовая-модель.fem",
            "title": "Итоговая модель FEMM",
            "download_name": "Асинхронный-двигатель-09-Готовая-модель.fem",
            "sha256": "30abddc9ae53dcce287efa0294c0a9d753a23e2471a36ec4d8eb6e4c8a31ca6c",
            "bytes": 15802
          },
          {
            "path": "downloads/examples/induction/Асинхронный-двигатель-09-Готовая-модель.ans",
            "title": "Сохранённое решение эталона",
            "download_name": "Асинхронный-двигатель-09-Готовая-модель.ans",
            "sha256": "61310c44132c0c07e8e3331ef0f7d30ac39d8b909b2ad19cdccf5482aa4c890d",
            "bytes": 1830534
          },
          {
            "path": "results/induction.json",
            "title": "Численные результаты"
          }
        ],
        "image": "images/fields/induction.svg",
        "caption": "Визуализация численных данных FEMM 5: Асинхронный двигатель: сектор модели. Это экспорт результатов поля, а не снимок окна программы.",
        "image_width": 960,
        "image_height": 900,
        "table_number": "39.3",
        "figure_number": "39.4"
      },
      "code_download": "downloads/python/II05-1_Параметры_асинхронного_двигателя.py",
      "screenshots": [
        {
          "shot_id": "31-induction-geometry",
          "path": "images/screenshots/31-induction-geometry.png",
          "caption": "Геометрия: адаптированная модель Meeker: 36 пазов статора, 28 стержней, неподвижный AC-опыт",
          "width": 1026,
          "height": 800,
          "figure_number": "39.5"
        },
        {
          "shot_id": "31-induction-field",
          "path": "images/screenshots/31-induction-field.png",
          "caption": "Распределение магнитной индукции: адаптированная модель Meeker: 36 пазов статора, 28 стержней, неподвижный AC-опыт",
          "width": 1026,
          "height": 800,
          "figure_number": "39.6"
        },
        {
          "shot_id": "python-ii05-1",
          "path": "images/screenshots/supplemental/python-ii05-1.png",
          "caption": "Встроенная консоль FEMM: Серия расчётов по частоте и определение параметров асинхронного двигателя. Аналитическая проверка программы занятия.",
          "width": 1026,
          "height": 800,
          "source_series": "embedded_analytic",
          "figure_number": "39.7"
        }
      ],
      "example_links": [
        {
          "id": "induction",
          "slug": "induction",
          "title": "Асинхронный двигатель: сектор модели",
          "path": "examples/induction/index.html",
          "primary": true
        }
      ]
    }
  }
}
