Files
eumirts5-dds/README.md
T
mss 7f8b52aa2c ai: lab5 — скетч без зависимости от pico-sdk в mbed-ядре (mbed::PwmOut + mbed::Ticker) + альтернатива на CircuitPython (01-dds-generator-rp2040-circuitpython.py)
- mbed-ядро: только mbed API, hardware/pwm.h и hardware/timer.h не нужны
- CircuitPython: один цикл DDS + опрос USB-консоли (без threading), f_s меряется на старте
- прямоугольник < 20 Гц — программный (тот же ШИМ)
2026-10-26 15:43:35 +04:00

6.9 KiB
Raw Blame History

Лабораторная: интегратор и дифференциатор на ОУ (АЧХ/ФЧХ + Monte Carlo + автосвип)

Комплект к теме topics/lab5-peredatochnaya-funkciya-na-ou.md («Электронные устройства мехатронных и робототехнических систем», Б1.В.06, 5 семестр, 4 ч).

AI-сгенерировано (2026-10-26), требует проверки преподавателем перед использованием на стенде.

Контракт

Оформлено по контракту labs/:

labs/lab5-peredatochnaya-funkciya-na-ou/
├── meta.yaml                          ← контракт
├── task.md                            ← задание студенту
├── method.md                          ← методичка преподавателю
├── README.md                          ← этот файл
├── print/                             ← брошюры DOCX (rpd methodical)
└── stub/
    ├── 01-dds-generator-rp2040.ino    ← генератор-свип (Arduino RP2040;
    │                                    оба ядра: earlephilhower и mbed)
    ├── 01-dds-generator-rp2040-circuitpython.py
    │                                  ← то же на CircuitPython (code.py)
    ├── 02-izmerenie-achh.py           ← автоснятие АЧХ по Serial
    └── 03-blank-otchyota.md           ← бланк отчёта студента

Новое относительно topics/lab5-peredatochnaya-funkciya-na-ou.md

  1. Monte Carlo по допускам (.step param) — новый для курса анализ в симуляторе: разброс K и f_c при ±5 % на компонентах, доля годных.
  2. Генератор-свип на RP2040 — автономный генератор для натурной части: прямоугольник (ШИМ) и синус (DDS), логарифмический свип, синхроимпульс для осциллографа, измерение амплитуды на ADC0.
  3. Хост-скрипт автоснятия АЧХ — управление генератором по Serial, сбор точек, экспорт CSV, построение графика.
  4. Явное разделение практики и лаборатории: симуляция — на практическом занятии (2 ч), железо — на лабораторном (4 ч), отчёт — СРС.

Предупреждения по стенду

  • ADC0 RP2040: 0…3,3 В. Сигнал с выхода исследуемой цепи ≥ 3,3 В подавать только через делитель или пиковый детектор.
  • Питание ОУ: LM358 работает при однополярном +5…+12 В, TL081 — при ±12 В. Уточнить по фактическому стенду.
  • Синус DDS: качество зависит от внешнего ФНЧ после ШИМ (см. схему ниже). Без фильтра на выходе будет меандр переменной скважности, а не синус.

Схема DDS-генератора (внешняя обвязка)

ШИМ сам по себе даёт меандр переменной скважности, а не синус. Синус получается выделением огибающей фильтром. Поэтому на выходе GP15 нужен внешний ФНЧ:

GP15 (ШИМ 62,5 кГц) ──[R1 1к]──┬──[R2 1к]──┬──────► OUT (вход DUT)
                               │           │
                             [C1 47н]    [C2 47н]
                               │           │
                              GND         GND

Пассивный ФНЧ 2-го порядка, f_c ≈ 3,4 кГц:

  • подавление несущей: (62,5 / 3,4)² ≈ 338 ≈ 50 дБ → пульсации ≈ 10 мВ;
  • рабочий диапазон генератора: ≈ 1 Гц … 1 кГц (для звена с f_c = 16…34 Гц — с запасом).

Две оговорки

  1. Согласование сопротивлений. Выход фильтра ≈ 1 кОм, вход интегратора — R1 = 10 кОм → делитель 10/11, просадка ≈ 9 %. Если нужна точность — поставить буфер-повторитель на ОУ (Sallen–Key: тот же 2-й порядок + низкое выходное).

  2. Постоянная составляющая. При скважности 50 % среднее = Uпит/2 = 1,65 В, синус смещён. Где смещение недопустимо — разделительный C = 1 мкФ последовательно + R = 47 кОм на землю (ФВЧ ≈ 3,4 Гц), либо уменьшить амплитуду командой M.

Варианты фильтра под другую несущую

SAMPLE_HZ R C f_c
62,5 кГц 1 кОм 47 нФ 3,4 кГц
62,5 кГц 2,2 кОм 22 нФ 3,3 кГц
31,25 кГц 2,2 кОм 47 нФ 1,5 кГц

Как использовать

  1. task.md + stub/03-blank-otchyota.md — студенту.
  2. stub/01-dds-generator-rp2040.ino — прошить в RP2040 заранее (или дать студенту в задании 4); альтернатива — ...-circuitpython.py на Pico с прошивкой CircuitPython (как code.py).
  3. stub/02-izmerenie-achh.py — запускается на ПК студента (нужен pyserial).
  4. method.md — только преподавателю.
  5. Брошюры: uv run rpd methodical lab5-peredatochnaya-funkciya-na-ou.

Связи

  • Практика pr5-raschet-analogovyh-ustrojstv — расчётная часть (K, R1, R2, фильтры) выполняется там.
  • Лекция le5-metody-modelirovaniya — типы анализа; Monte Carlo и .step — прямое применение.
  • Лекция le5-proektirovanie-analogovyh-ustrojstv — топология ОУ.
  • ТАУ (b1-o-23) — передаточные функции и типовые звенья идут параллельно в 5 семестре; эта работа даёт им физическую реализацию.

Статус

Черновик (draft). Тема lab5-peredatochnaya-funkciya-na-ou существует в topics/; комплект в labs/ — подготовлен для интеграции после проверки преподавателем и согласования сквозной работы по мехатронике.