Skip to content

CelloPickUP: активный звукосниматель и DSP-процессор студийного уровня

Паспорт модуля

ПараметрЗначение
Аудитория1 обучающийся, подросток; ученик музыкальных школ(виолончель); в электронике — стартовый уровень «новичок»; мотивация высокая, внутренняя (свой инструмент, свой звук); формат — индивидуально с наставником
Аутентичная задача (зачем)Спроектировать, собрать и защитить активный звукосниматель с DSP-обработкой для виолончели; выступить с проектом на соревновательном треке («Инженеры будущего», проектные конкурсы НТО); провести пилотные испытания комплекта с музыкантами оркестра/филармонии
Объём и формат≈ 72 акад. часа: 36 занятий × 2 ч, 2 раза в неделю (~4,5 месяца, «ближайший горизонт»); + самостоятельная практика между занятиями; принцип «часов столько, сколько нужно голове» — контрольные точки пропускают вперёд только при достижении цели фазы
Оборудование и средаПлаты WeAct: STM32H743VIT6 (DSP-флагман), STM32U585CIU6 (бортовой блок), STM32F411 BlackPill (учебная), STM32G031 (сервисная), ESP32-C6 (BLE-управление); Arduino-совместимая плата (STEMduino) — мост фазы A и измерительный инструмент; 2× кодек ES8311+NS4150B; датчик MEAS LDT0-028K; осциллограф Rigol DHO804 (4 канала, 12 бит — методики в «Лабораторном практикуме»); макетная плата, мультиметр, паяльная станция; ПО: Falstad + ngspice/LTspice (готовый проект frontend.cir), KiCad (трек в Приложении 3), STM32CubeIDE/CubeMX, CMSIS-DSP, REW/Audacity; докупить: ОУ (OPA1671/MCP6022; альтернативы — в компаньоне), пассив 100 кОм–33 МОм, BAT54S, экранированный кабель и корпус, LiPo 1S + TP4056 + LDO
ОграниченияТБ: пайка, LiPo, пики пьезо до десятков вольт; работа только с безопасным низковольтным питанием (≤ 9 В), без сетевых 220 В цепей; инструмент ученика — концертный, крепёж датчика только неразрушающий (мастика/воск/акриловый скотч)
Аутентичная задача. Когда обучающийся выйдет с этого модуля, он сможет: представить жюри инженерного соревнования работающий активный звукосниматель собственной разработки (аналоговый фронтенд + цифровой DSP-тракт с латентностью < 10 мс), обосновать каждое схемотехническое и программное решение измерениями — и провести пилотное испытание комплекта с музыкантами оркестра.
Честная калибровка внешних наград. Льготы БВИ привязаны к актуальному перечню олимпиад РСОШ конкретного сезона; статус «Инженеров будущего» и проектных треков НТО в перечне надо сверять в начале модуля (веха занятия 2). Модуль спроектирован так, чтобы проект был сильным при любом статусе перечня: работающий прототип + слепой A/B-тест с профессиональными музыкантами + письмо поддержки оркестра — это портфолио, ценное само по себе.

Образовательные цели

Обучающийся …Блум—АндерсонМиллерЧем проверяем (раздел «Оценивание»)
1объясняет базовые законы цепей (Ом, мощность, делитель, логические уровни) и физику пьезоэффекта (источник заряда, ёмкость, импеданс) своими словами и расчётомпониматьзнаетмини-тесты + теоретическая задача
2собирает и измеряет цепи на макетной плате по принципиальной схеме и синтезирует цепь под заданный ток/функциюприменятьпоказывает какпробный тур (5 задач, 100 баллов, на время)
3рассчитывает и собирает высокоомный входной буфер / зарядовый усилитель с защитой входа и смещением от однополярного питания, подтверждая расчёт измерением АЧХприменять / анализироватьпоказывает какпрактикум: расчёт → LTspice → макет → измерение f среза (совпадение ±20%), чек-лист
4находит и устраняет неисправности в аналоговом и цифровом тракте (гул, наводки, джиттер, «заикания» DMA) по систематической методикеанализироватьпоказывает какдебаг-кейсы с намеренно внесёнными неисправностями, протокол диагностики
5создаёт прошивку DSP-тракта (SAI+DMA double buffer → biquad-EQ → компрессор/лимитер → IR-свёртка) с измеренной сквозной латентностью < 10 мссоздаватьделаетработающий прототип; замер латентности осциллографом/loopback; код-ревью наставника по рубрике
6проектирует и проводит слепое A/B-сравнение своего тракта с эталонной записью через конденсаторный микрофон и с пассивным пьезо, делает выводы для итерацииоцениватьделаетпротокол испытания с ≥3 слушателями-музыкантами, отчёт с выводами
7защищает инженерный проект перед жюри: паспорт проекта, демонстрация вживую, ответы на вопросы по любому узлу схемы и кодасоздаватьделаетпробная защита по рубрике жюри инженерных соревнований (ниже) + подача заявки на трек

Цели уровня «применять» и выше — 6 из 7: модуль практический.

Оценивание

Спроектировано до контента. Каждой цели — средство того же уровня: тесты только для цели 1; цели 2–7 проверяются только деланием.

Входная диагностика (занятие 1, 30 мин)

  1. Мини-задание руками: зажечь светодиод от 3,3 В через резистор — выбрать номинал из кучки (проверяем реальный стартовый ноль/не ноль).
  2. 5 вопросов: что такое ток/напряжение/сопротивление; читал ли схему; паял ли; программировал ли; на чём.
  3. Мотивационное интервью: какой звук хочет получить (референс-записи виолончели), сколько времени готов давать между занятиями, отношение к соревнованию (цель или средство).
  4. Аудио-профиль: записываем 3 референса — акустика в комнате, пассивный пьезо «как есть», студийная запись из фонотеки. Это нулевая точка для цели 6.

Контрольные точки

ЗанятиеЧто проверяем (цель №)СредствоТип
3, 51квизы 5 вопросов + расчётная задачаформирующее
61, 21 теор. + 4 практ. задачи, 100 баллов, тайминг соревновательного дня; порог перехода в фазу B — ≥ 60 балловрубежное
103практикум «буфер»: расчёт f среза → симуляция → макет → измерение; совпадение ±20% и объяснение расхожденияформирующее
143, 4защита аналогового фронтенда: АЧХ 30 Гц–20 кГц, шум/гул при экранировке, дебаг-кейс «наведённый гул»рубежное
184дебаг-кейс: «звук заикается» (сломан DMA-буфер) — диагностика по протоколуформирующее
245демонстрация DSP-цепочки: EQ+лимитер на H743, замер латентностиформирующее
285рубеж фазы C: полный тракт с IR, латентность < 10 мс подтверждена измерениемрубежное
326слепой A/B-тест с музыкантами, протокол и выводыформирующее
357пробная защита в условиях, приближенных к соревнованию: 7 мин доклад + 5 мин вопросы «злого жюри»итоговое
36всерефлексия + таблица «цель → достигнута?» + план заявки на трекитоговое

Рубрика итоговой защиты (по логике жюри инженерных соревнований)

Критерий0 баллов1 балл2 балла
Работоспособностьпрототип не звучит вживуюзвучит с оговорками (гул/заикания)стабильная живая демонстрация на инструменте, латентность подтверждена
Обоснование решений«так было в интернете»объясняет часть номиналов и настроекобъясняет каждый номинал, каждый регистр/функцию, показывает измерения
Инженерная культуранавесной хаос, нет схемысхема есть, монтаж небрежныйпринципиальная схема, экранированный корпус, читаемый код с комментариями
Испытания и данныенет измеренийАЧХ или латентность измереныАЧХ + латентность + слепой A/B с музыкантами, выводы
Презентациячитает со слайдовсвязный докладдоклад + живая игра + уверенные ответы на вопросы

Максимум 10; цель пробной защиты — ≥ 8.

Рубрика код-ревью прошивки (цель 5)

Критерий012
Структуравсё в main()разнесено по модулям частичнотракт: драйверы / DSP-цепь / управление разделены
DMA-дисциплинаобработка в прерывании «сколько успеем»флаги half/full есть, но копирования лишниеdouble buffer, обработка вне ISR, ни одного лишнего memcpy
Пониманиене может объяснить строкиобъясняет с подсказкамиобъясняет каждую функцию CMSIS-DSP и выбор параметров

Путь обучающегося

Распределение по Такману (36 занятий): формирование ~15% (1–6), шторм ~15% (7–11), активная работа ~60% (12–32, пик сложности — фаза C), завершение ~10% (33–36). Роль наставника по SSDL: тренер → мотиватор → фасилитатор → консультант.

    flowchart LR
    A["Занятия 1–6<br/>Фаза A: Основы<br/><br/>SSDL: тренер-инструктаж"] --> B["Занятия 7–14<br/>Фаза B: Аналоговый фронтенд<br/>ШТОРМ: первый гул, первые неудачи<br/>SSDL: мотиватор"]
    B --> C["Занятия 15–28<br/>Фаза C: Цифра и DSP<br/>ПИК СЛОЖНОСТИ<br/>SSDL: фасилитатор"]
    C --> D["Занятия 29–36<br/>Фаза D: Интеграция, испытания,<br/>защита, рефлексия<br/>SSDL: консультант-делегирование"]
  
ТемаЦель занятия (одна)Retrieval-разминкаОсновная активностьМини-проверка
1Старт. Ток, напряжение, закон Ома рукамиизмеряет U, I, R мультиметром в собранной цепи— (входная диагностика)worked example: светодиод + резистор, расчёт номиналасобрал цепь на 2 светодиода, посчитал резисторы
2Делитель напряжения. Потенциометр. Сверка перечня олимпиадрассчитывает и собирает делитель под заданное Uвых3 вопроса зан. 1практика: делитель, потенциометр, фоторезисторделитель 5В→1,65В с проверкой мультиметром
3Мощность. Последовательно/параллельнорешает расчётные задачи формата турнираквиз 5 вопросов (Ом, делитель)эталонное решение задачи 3 регламента (28 мА из набора) → своя вариациязадача «синтез цепи под ток» на время
4Логические уровни. И/ИЛИ/НЕ. Кнопки и подтяжкисобирает схему по таблице истинности3 вопроса (мощность, параллельность)worked example: задача 4 регламента (2 кнопки, 3 светодиода)своя таблица истинности → сборка
5Логика на микросхемах CD4069/4071/4081реализует функцию на логических ИМСквиз: таблицы истинностиэталон: F=(НЕ A)·(НЕ B) из регламента → модификацияфункция с 30-балльной сложности
6Рубеж фазы Aвыполняет 5 задач в соревновательном таймингекумулятивный квиз занятий 1–5тур 100 баллов по регламенту; пост-разбор ошибок≥ 60 баллов; рефлексия ошибок
7Пьезоэффект. LDT0-028K как источник зарядаобъясняет, почему пьезо нельзя включить «в микрофонный вход»3 вопроса (делитель, импеданс из тура)эксперимент: осциллограф/АЦП на пьезо, наблюдение пиков десятки вольтрасчёт f среза для Rвх 1/10/100 МОм
8Операционный усилитель. Повторительсобирает буфер-повторитель на макеткеRC-фильтр, ёмкость датчикаworked example: буфер на MCP6022, каждый номинал объяснёнбуфер работает, сигнал на выходе
9Смещение от однополярного питания. Виртуальная землярассчитывает bias-цепь 2×10 МОм + 1 мкФОУ: входы, питаниепрактика: смещение, проверка рабочей точкиUвых покоя = ½ питания ±5%
10Частота среза. АЧХ. LTspice (рубеж: практикум «буфер»)подтверждает расчётную f среза измерениемзакон Ома в комплексной форме (качественно)симуляция → макет → снятие АЧХ по точкамсовпадение расчёт/измерение ±20%
11Защита входа. Диоды Шоттки. Пики фортиссимособирает защиту 100 кОм + BAT54S и доказывает её работубиасирование, f срезаэксперимент: пиццикато-удар, ограничение пика на осциллографепик ограничен, звук не искажён
12Зарядовый усилитель — альтернативасравнивает буфер и charge amp по НЧ и наводкамзащита, пикиworked example: charge amp, расчёт C обратной связиобоснованный выбор схемы для проекта
13Экранировка и монтаж высокоомных цепейпереносит буфер в экранированный корпусвсе схемы фазы B (кумулятивно)пайка, охранное кольцо, экран-кабель; ТБ пайкигул 50 Гц упал не менее чем на 20 дБ
14Защита аналогового фронтенда (рубеж фазы B)демонстрирует фронтенд и решает дебаг-кейскумулятивный квиз фазы Bдоклад 5 мин + кейс «наведённый гул»рубрика фронтенда закрыта
15Архитектура цифрового тракта. Роли плат паркараспределяет платы по ролям и обосновываетпьезо, буфер (интервальный возврат)разбор: H743 против U585 против F411 — почему таксхема тракта нарисована и защищена
16I2C. Подключение и регистры ES8311читает/пишет регистры кодекалогические уровни (возврат к зан. 4)worked example: CubeMX + чтение ID кодекакодек отвечает по I2C
17I2S/SAI. Тактирование без джиттеранастраивает SAI 24 бит/48 кГц masterI2C-транзакцияCubeMX: clock tree, MCLK, проверка частотосциллограф: BCLK/LRCK верные
18DMA circular + double buffer (дебаг-кейс)объясняет и чинит «заикающийся» звукSAI-параметрыэталонный passthrough → внесённая поломка → диагностикакейс закрыт по протоколу
19Сквозной passthrough на F411 (учебная плата)собирает вход→выход без обработкиDMA-флаги half/fullсборка тракта на «расходной» платечистый passthrough, замер задержки
20Биквадратные IIR. Параметрический EQвырезает резонанс плёнки notch-фильтромАЧХ (возврат к зан. 10 — интервальный)worked example: arm_biquad_cascade_df1_f32, расчёт коэффициентоврезонанс найден и вырезан, до/после
21HPF 30 Гц и «пьезо-гул». Перенос на H743переносит тракт на боевую платубиквадыпортирование, профилирование CPUтракт на H743, загрузка ЦП измерена
22Динамика: компрессор/лимитерреализует лимитер против клиппинга фортиссимоEQ-коэффициентыworked example: огибающая, attack/releaseфортиссимо без клиппинга
23Снятие импульсной характеристики (IR)записывает пару «пьезо ↔ студийный референс»компрессорзапись через USB-интерфейс, REW; деконволюцияIR-файл получен
24Свёртка: FIR и партиционированная FFT (рубеж)применяет короткую IR на трактевся DSP-цепь (кумулятивно)arm_fir_f32 → почему FFT-свёртка; замер латентностиEQ+лимитер+IR работают, латентность записана
25Оптимизация под Cortex-M7/M33. Бюджет 10 мсукладывает тракт в бюджет латентностиFFT-свёрткаразмер блока 128@48к = 2,7 мс; кэш, CCM RAMсквозная латентность < 10 мс измерена
26Бортовой вариант на U585. LiPo-питаниесобирает автономный блок на инструментеоптимизацияперенос облегчённого тракта; ТБ LiPoблок работает от батареи
27BLE-управление пресетами (ESP32-C6)переключает пресеты с телефонаU585-трактUART-мост ESP32↔STM32, протокол командпресеты переключаются, звук не рвётся
28Рубеж фазы C: полный трактдемонстрирует весь тракт на виолончеликумулятивный квиз фаз B–Cживая игра через тракт, все замерырубрика прошивки закрыта
29Механика крепления. Тембр от точки съёмавыбирает точку установки датчика по звукуIR, латентностьэксперимент: подставка / дека / под ножкой — записисравнительные записи, выбор обоснован
30Корпус, разъёмы, надёжность сценыдоводит комплект до «сценического» видаточки съёмапайка финальная, корпус, стресс-тест кабелякомплект выдерживает «тряску»
31Дизайн испытания. Слепой A/B-протоколпроектирует честный экспериментвся системаплан: 3+ слушателя-музыканта, рандомизация, анкетапротокол утверждён наставником
32Полевое испытание с музыкантамипроводит A/B-тест и собирает данныеиспытание в классе/оркестре; записьданные собраны, первичные выводы
33Анализ данных. Итерация трактавносит изменения по результатам тестапротокол испытанияправка EQ/IR по отзывам; повторная записьсписок изменений + подтверждение
34Паспорт проекта. Заявка на трек. Презентациясобирает документацию соревнованиявыводы испытанийпаспорт, схема, репозиторий, слайдыпакет заявки готов
35Пробная защита (условия соревнования)защищает проект перед «злым жюри»кумулятивный квиз всего модуля7 мин доклад + 5 мин вопросы; видеозапись≥ 8/10 по рубрике
36Рефлексия. Передача ответственностипланирует самостоятельное развитие проектаразбор видеозаписи защиты; таблица целей; план: подача заявки, письмо оркестру, следующая итерациявсе цели сверены; план подписан учеником

Интервальные возвраты встроены: закон Ома → расчёт буфера (зан. 8–10) → бюджет питания (26); делитель → bias (9) → АЦП-уровни (17); логика → регистры (16); АЧХ → EQ (20) → IR (23); кумулятивные квизы на занятиях 6, 14, 24, 28, 35.

Подробное содержание занятий — в файлах фаз: Фаза A, Фаза B, Фаза C, Фаза D.

Материалы наставника: Наставнический компаньон (схемы с поэлементным разбором, симуляция frontend.cir, банк вопросов ученика, компонентная база, честное позиционирование против коммерческих систем), Лабораторный практикум DHO804, Приложения (STEMduino-мост, уличная эксплуатация, KiCad-трек собственной платы), Физика звука: 4 микроурока (+ скрипт sound_lab.py),

Теорминимум: 12 карточек с 12 отдельными разборами.

Код: каталог fw/ — построчно комментированные эталоны прошивок занятий 16–25 (карта и дисциплина): fw01 I2C+ES8311, fw02 SAI/DMA-passthrough, fw03 EQ+лимитер+пресеты, ir_tools.py, fw04 FIR-IR, fw05 партиционированная свёртка (completion problem, ключ наставника отдельно). Закупка: BOM_cello_pickup.xlsx — полный BOM с логикой замен «не хуже» и разделом F расширенного изучения.

Уровни сложности

Данные и итерация

  • Входная диагностика: стартовый уровень руками, мотивационный профиль, аудио-нулевая точка (3 референс-записи);
  • По фазам: баллы рубежей ( защита фронтенда, рубеж DSP, пробная защита), время решения задач на время, журнал дебаг-кейсов (сколько подсказок потребовалось — метрика роста самостоятельности по SSDL);
  • После модуля: таблица «цель 1–7 → достигнута/частично/нет» с доказательством (артефакт/замер); сравнение записей «нулевая точка ↔ финальный тракт»; результаты слепого A/B;
  • Для индивидуального формата вместо топ/боттом-30% группы — динамика самого ученика: время на однотипную задачу в занятиях 3 → 6 → 35, доля дебагов без подсказки;
  • Выводы запуска фиксируются в этом разделе после занятия 36 → изменения в следующую итерацию модуля (или в групповую версию для кружка).

Глоссарий

Пьезоэффект
Возникновение заряда на плёнке при её деформации; датчик — источник заряда с ёмкостью ~480 пФ, а не источник напряжения.
Входной импеданс
Сопротивление, которым усилитель «нагружает» источник; для пьезо нужен ≥10 МОм, иначе срезаются басы.
Частота среза
f = 1/(2πRC): ниже неё сигнал заваливается; для LDT0-028K при R=10 МОм ≈ 33 Гц.
Зарядовый усилитель
Схема на ОУ, измеряющая заряд, а не напряжение; АЧХ не зависит от ёмкости кабеля.
Bias (смещение)
Сдвиг рабочей точки ОУ на половину однополярного питания, чтобы сигнал качался в обе стороны.
SAI / I2S
Последовательные шины передачи цифрового аудио между МК и кодеком.
DMA double buffer
Приём/передача аудио без участия ядра: пока обрабатывается одна половина буфера, заполняется вторая.
Биквад (IIR)
Фильтр второго порядка; каскад биквадов = параметрический эквалайзер.
IR-свёртка
Наложение импульсной характеристики «как звучит студийный микрофон» на сухой сигнал пьезо.
Латентность
Задержка вход→выход; для живой игры комфортно < 10 мс (≈ 3,4 м воздуха).
Retrieval practice
Вспоминание без подглядывания в начале каждого занятия — главный механизм закрепления.
БВИ
Право поступления без вступительных испытаний; зависит от актуального перечня олимпиад РСОШ — сверять каждый сезон.