- mbed-ядро: только mbed API, hardware/pwm.h и hardware/timer.h не нужны - CircuitPython: один цикл DDS + опрос USB-консоли (без threading), f_s меряется на старте - прямоугольник < 20 Гц — программный (тот же ШИМ)
13 KiB
Лабораторная работа
Интегратор и дифференциатор на ОУ: передаточная функция, АЧХ/ФЧХ и разброс по допускам
Дисциплина: Электронные устройства мехатронных и робототехнических
систем (Б1.В.06, очная форма)
Семестр: 5 · Объём: 4 часа · Тема: lab5-peredatochnaya-funkciya-na-ou
Форма: черновик — в учебный план пока не привязана
AI-сгенерировано (2026-10-26), требует проверки преподавателем.
1. Легенда
В мехатронном модуле сигнал датчика проходит через аналоговую обработку: фильтрацию, интегрирование, выделение скорости (дифференцирование). Каждое такое звено описывается передаточной функцией, и от его параметров (K, τ) зависит поведение всей системы управления.
Задача работы: убедиться, что аналоговое звено на операционном усилителе действительно реализует расчётную передаточную функцию — сначала в симуляторе, затем на макетной плате. И понять, как допуски резисторов и конденсаторов влияют на параметры звена в серии.
Работа состоит из двух частей:
- Симуляция (LTSpice): АЧХ/ФЧХ и новый анализ — Monte Carlo по допускам;
- Железо (макет + генератор): переходные процессы и автоматическое снятие АЧХ генератором-свипом на RP2040.
2. Теория кратко
Интегратор на ОУ (R1 на входе, C1 в ООС):
W(s) = −1 / (R1·C1·s)
Реальный интегратор (резистор утечки R2 параллельно C1) — это апериодическое звено первого порядка:
W(s) = −R2 / (R1 · (1 + R2·C1·s)) = −K / (τ·s + 1)
где K = R2/R1, τ = R2·C1, f_c = 1/(2π·τ).
Дифференциатор (C1 на входе, R1 в ООС):
W(s) = −R1·C1·s
Модель для работы: K = −10, τ = 10 мс, f_c ≈ 16 Гц (R1 = 10 кОм, R2 = 100 кОм, C1 = 0,1 мкФ).
3. Задания
Задание 1 (1 ч). Симуляция: АЧХ и ФЧХ
В LTSpice собрать интегратор с резистором утечки: R1 = 10 кОм, R2 = 100 кОм, C1 = 0,1 мкФ (R2 || C1 в ООС).
- Задать анализ
.ac dec 20 1 100k. - Снять АЧХ в децибелах и ФЧХ.
- По графику определить:
- усиление на плоском участке (должно быть ≈ 20 дБ, т. е. K = 10);
- частоту сопряжения f_c (где спад −3 дБ);
- наклон спада (ожидается −20 дБ/дек).
- Сравнить с расчётом по формулам из п. 2.
Задание 2 (1 ч). Симуляция: Monte Carlo по допускам ⭐
Новый анализ. Реальные резисторы и конденсаторы имеют допуск ±5 % (ряд E24 — не лучше). Оценим разброс параметров звена.
- Задать разброс:
.step param tol list -5 -2.5 0 2.5 5и применить его к номиналам (например{100k*(1+tol/100)}для R2, аналогично R1 и C1). Либо, для полноценного статистического анализа, использовать.step param run 1 100 1с генератором случайных отклонений. - Прогнать не менее 100 прогонов.
- Для каждого прогона зафиксировать K (усиление на плоском участке) и f_c.
- Построить гистограммы распределения K и f_c.
- Посчитать долю экземпляров, укладывающихся в полосу ±10 % от номинального значения K и f_c.
- Сделать вывод: какой компонент вносит наибольший вклад в разброс и почему.
Задание 3 (1 ч). Железо: переходные процессы
Собрать на макетной плате:
3.1. Интегратор (R1 = 10 кОм, C1 = 0,1 мкФ):
- подать прямоугольник 1 кГц (от RP2040-генератора или лабораторного);
- наблюдать пилообразный сигнал на выходе;
- замерить размах пилы и сравнить с U_m = U_вх · T / (2 · R1 · C1);
- убедиться, что при росте частоты размах падает обратно пропорционально.
3.2. Дифференциатор (C1 = 0,1 мкФ на входе, R1 = 10 кОм в ООС):
- подать пилу 1 кГц;
- наблюдать импульсы в моменты перепада;
- сравнить амплитуду с U_m = R1·C1 · dU_вх/dt.
3.3. Роль резистора утечки: собрать интегратор с R2 = 100 кОм параллельно C1 и без него; объяснить, что меняется на постоянном токе.
Задание 4 (1 ч). Железо: автоматическое снятие АЧХ
Использовать подготовленный генератор-свип:
stub/01-dds-generator-rp2040.ino— прошить в RP2040 (Raspberry Pi Pico) в Arduino IDE (работает в обоих ядрах: earlephilhower и официальном mbed). Прямоугольник (ШИМ) и синус (DDS) + логарифмический свип- измерение амплитуды на ADC0.
stub/01-dds-generator-rp2040-circuitpython.py— альтернатива без Arduino: положить файл на Pico с прошивкой CircuitPython (переименовать в code.py). Протокол команд тот же.stub/02-izmerenie-achh.py— хост-скрипт: запускает свип по Serial, собирает точки, строит АЧХ.
Порядок:
-
Прошить генератор, проверить команды
F,W S,M,Aв мониторе порта. -
Собрать внешний ФНЧ на выходе генератора (без него будет меандр, а не синус):
GP15 ──[R1 1к]──┬──[R2 1к]──┬──────► вход схемы │ │ [C1 47н] [C2 47н] │ │ GND GNDЭто пассивный ФНЧ 2-го порядка, f_c ≈ 3,4 кГц; он подавляет несущую ШИМ 62,5 кГц примерно на 50 дБ. Зарисовать фильтр в отчёт.
-
Выход фильтра → вход схемы; выход схемы → вход измерения (ADC0). Если сигнал превышает 3,3 В — только через делитель.
-
Запустить:
python 02-izmerenie-achh.py --port /dev/ttyACM0 \ --f0 10 --f1 100000 --n 25 --dwell 150 --uin 500 --out achh.csv --plot -
Импортировать CSV, нанести точки на модельную кривую из задания 1.
-
Объяснить расхождения.
Смещение: при скважности 50 % среднее на выходе ШИМ =
Uпит/2= 1,65 В, поэтому синус смещён относительно земли. Если это мешает измерению — поставьте разделительныйC = 1 мкФ+R = 47 кОмна землю, либо уменьшите амплитуду командойM.
Свип-генератор — студенческая заготовка (черновик). Если на стенде есть серийный функциональный генератор с режимом свипа/логарифмической развёртки — можно использовать его, принцип тот же.
Задание 5 (СРС / отчёт). Сведение результатов
Свести в одну таблицу «расчёт / симуляция / железо» параметры K, τ, f_c. Построить совмещённый график АЧХ (три кривые).
Сделать выводы:
- причины расхождения расчёта и симуляции;
- причины расхождения симуляции и железа;
- что даёт анализ Monte Carlo для реального проектирования.
4. Варианты
| № | R1, кОм | R2, кОм | C1, мкФ | K | τ, мс | f_c, Гц |
|---|---|---|---|---|---|---|
| 1 | 10 | 100 | 0,1 | 10 | 10 | 15,9 |
| 2 | 10 | 47 | 0,1 | 4,7 | 4,7 | 33,9 |
| 3 | 4,7 | 100 | 0,1 | 21 | 10 | 15,9 |
| 4 | 10 | 100 | 0,047 | 10 | 4,7 | 33,9 |
| 5 | 1 | 47 | 1,0 | 47 | 47 | 3,4 |
| 6 | 22 | 220 | 0,022 | 10 | 4,84 | 32,9 |
Примечание. Номиналы приведены к ряду E24. Вариант 2 и 4 дают одинаковую f_c при разном K — удобно для сравнения вклада параметров.
5. Оформление и оценивание
Отчёт содержит:
- Схему интегратора и дифференциатора (KiCad или от руки).
- АЧХ и ФЧХ из LTSpice.
- Гистограммы Monte Carlo (K и f_c) + доля годных.
- Осциллограммы переходных процессов (пила, импульсы).
- CSV-точки автоматического свипа + совмещённый график АЧХ.
- Итоговую таблицу «расчёт / симуляция / железо».
- Выводы.
| Задание | Баллы |
|---|---|
| 1. Симуляция АЧХ/ФЧХ | 2,0 |
| 2. Monte Carlo | 2,5 |
| 3. Железо: переходные процессы | 2,0 |
| 4. Железо: автоснятие АЧХ | 2,0 |
| 5. Отчёт: сведение | 1,5 |
| Итого | 10 |
Зачёт — при 6 и более баллах. Расхождение с эталоном ±10 % (допуски компонентов).
6. Контрольные вопросы
- Чему равна передаточная функция идеального интегратора и почему без резистора утечки она нереализуема на практике?
- Как по АЧХ отличить идеальный интегратор от апериодического звена первого порядка?
- Почему частота сопряжения определяется R2·C1, а не R1·C1?
- Как связаны наклон АЧХ в дБ/дек и порядок звена?
- Какой компонент даёт наибольший вклад в разброс f_c при допуске ±5 % и почему?
- Как на форме переходного процесса сказывается конечная полоса пропускания операционного усилителя?
7. Литература
- Хоровиц П., Хилл У. Искусство схемотехники. 3-е изд. М.: Бином, 2014. Гл. 4.
- Титце У., Шенк К. Полупроводниковая схемотехника. 12-е изд. М.: ДМК Пресс, 2008. Т. 1, гл. 11.
- Бесекерский В.А., Попов Е.П. Теория систем автоматического регулирования. М.: Наука, 2010. Гл. 2.
- LTSpice XVII User Guide. Analog Devices.
- LM358 / TL081 datasheet. Texas Instruments.
- RP2040 Datasheet. Raspberry Pi Ltd.