В МФТИ есть как факультеты, готовящие сильных программистов, так и факультеты, выпускающие крутых специалистов в области физики, биологии и химии.
Однако и в области физических исследований навыки программирования также незаменимы.
В частности, все масштабные физические эксперименты автоматизированы.
Поскольку программы подготовки (а значит, и компетенции) физиков и программистов сильно различаются, при совместной работе над экспериментами часто возникают трудности.
Мы в Лаборатория экспериментальных методов ядерной физики Наша цель — подготовить специалистов, которые смогут разобраться в физике процессов и написать необходимое программное обеспечение.
С этой целью в прошлом году мы запустили магистерская программа , и это еще один проект, направленный на приобщение физиков к программированию.
Об этом я расскажу в этой статье.
Меня зовут Татьяна Мухина.
Я учусь в магистратуре МФТИ и по совместительству являюсь одним из авторов и преподавателем курса «Введение в системы сбора данных».
На первых курсах МФТИ даже на физическом факультете, конечно, преподают программирование.
В зависимости от направления студенты изучают Python, C или C++.
Обычно эти курсы направлены на ознакомление с основами языка или численными методами, но реализации систем сбора данных студентов не обучают. Однако даже на первых курсах студенты могут столкнуться с задачами, в которых этот навык будет полезен.
Например, на экзаменах по общей физике учащиеся должны не только ответить на выданный им билет, но и рассказать заранее подготовленный вопрос по своему выбору.
Это может быть теоретический материал, выходящий за рамки курса, или результаты исследований, проведенных ими на собственной экспериментальной установке – и для этого могут потребоваться автоматизированные системы сбора данных.
Именно поэтому у нас возникла необходимость создать вводный курс по системам сбора данных, который позволил бы физикам за один семестр ознакомиться с работой таких систем.
В качестве языка программирования курса мы выбрали среду разработки LabVIEW. Он хорошо работает при управлении системами сбора и обработки данных в образовательных целях или в небольших экспериментах, поскольку его легче изучить, чем классические языки программирования.
Также для большинства устройств и датчиков уже есть готовые драйвера для работы в LabVIEW. Курс реализован как факультативный: записаться на него может любой желающий по согласованию с преподавателем, но мы рекомендуем его студентам 2-3 курсов физического факультета.
Пробный запуск курса проводился в интенсивном формате и был рассчитан на 4 занятия по 4 академических часа.
В дальнейшем курс будет расширен до полносеместровой дисциплины (15 пар).
Цели и задачи курса
Курс преследует две цели:- Знакомство студентов с особенностями современных систем сбора данных.
- Практические навыки создания таких систем они получат на примере аппаратно-программного комплекса LabVIEW на базе инженерного лабораторного комплекса NI Educational Laboratory Virtual Instrumentation Suite (NI ELVIS) III.
- Изучение теории передачи и записи аналоговых и цифровых сигналов, протоколов различного уровня.
- Изучение основных инструментов, которые используются в системах сбора данных.
- Изучите систему LabVIEW для сбора данных и управления небольшими экспериментами.
Об Элвисе III
В качестве устройства сбора данных мы использовали пакет виртуальных инструментов NI Educational Laboratory Virtual Instrumentation Suite (NI ELVIS) III. Он сочетает в себе необходимое испытательное оборудование (АЦП, ЦАП, осциллограф и генератор сигналов) и встроенный макет для сборки схемы.
НИ ЭЛВИС III К недостаткам можно отнести необходимость скачивания (и приобретения) дополнительного программного пакета LabVIEW ELVIS III, а также некоторые проблемы со взаимодействием с комплексом, о которых мы опишем далее.
Испытательное оборудование NI ELVIS III
Программа курса
При создании программы курса и учебных материалов мы руководствовались следующими идеями:- необходимо предоставить больше заданий учащимся для самостоятельной работы, а при необходимости затем проанализировать их в группе;
- в сложных задачах можно дать последовательный алгоритм работы программы, а не готовые инструкции по ее написанию;
- необходимо включить больше прикладных задач.
- Знакомство с графической средой разработки LabVIEW.
- Использование визуального языка LabVIEW для работы с пакетом виртуальных инструментов NI Educational Laboratory (NI ELVIS) III.
- Сборка и настройка схемы трехразрядного аналого-цифрового преобразователя.
- Настройка цифрового двухканального осциллографа на базе NI ELVIS III.
Введение в графическую среду разработки LabVIEW
В этом разделе мы предложили студентам в двух парах ознакомиться со средой разработки LabVIEW. Занятия начались с обсуждения основных принципов работы в среде.Для знакомства с основным синтаксисом языка мы давали ученикам простые задачи, а чтобы их решение было интереснее, старались сделать задачи более прикладными.
Например, студентам было предложено создать пошаговый преобразователь энергии из одной единицы измерения в другую:
- Напишите программу, которая преобразует значение энергии, введенное в джоулях, в электронвольты и килокалории.
- Заставьте программу из задачи 1 работать непрерывно после одного запуска.
Добавьте задержку 100 мс.
- Реализовать преобразователь значения энергии, введенной в джоулях, в электронвольты, если кнопка нажата, и в килокалории, если кнопка отпущена.
- Используя структуру Case и контроллер Enum, создаем преобразователь единиц измерения энергии: значение энергии вводится в числовой контроллер и контроллер типа Enum выбирает единицу измерения из предложенных, затем из аналогичного списка выбирает единицу измерения.
измерения, в которое необходимо преобразовать величину, после нажатия кнопки «Конвертировать» на индикаторе появляется необходимое значение энергии в нужных единицах измерения.
Преобразователь энергии В другом блоке задач нужно было написать программу для расчета оценки по математическому анализу на основе баллов за работу в семестре и оценки за экзамен — в МФТИ это определяется по довольно сложной системе.
Итоговое задание было выбрано для объединения уже полученных знаний.
Студентам предлагалось смоделировать полет снаряда, брошенного под углом к горизонту, выбрав другой тип силы трения (сухой или вязкий).
Моделирование полета снаряда, брошенного под углом к горизонту
Использование LabVIEW для работы с NI ELVIS III
На этом уроке студенты ознакомились с возможностями комплекса NI ELVIS III, а также способами взаимодействия с ним с помощью LabVIEW. Взаимодействие с NI ELVIS III происходит по стандартной схеме: открытие канала, при необходимости настройка взаимодействия, само взаимодействие и закрытие канала.
Схема взаимодействия с NI ELVIS III (ADC)
Сборка и настройка схемы трехразрядного аналого-цифрового преобразователя
Задачи данного блока курса — собрать схему трехразрядного АЦП на две пары, написать программу, которая анализирует поступающий сигнал и обрабатывает его, выдавая двоичный код ответа и результирующее значение напряжения.Затем учащиеся должны сравнить производительность имеющегося в наличии трехразрядного АЦП и встроенного АЦП NI ELVIS III. Для решения этой задачи студентам был предложен следующий алгоритм программы:
- программа управляет аналоговым выходом, с которого напряжение подается на вход схемы АЦП;
- в цикле программа считывает значения напряжения с цифровых входов, к которым подключены 7 выходов АЦП;
- из полученных значений формируется двоичное трехразрядное представление входного напряжения;
- программа преобразует его в значение напряжения входного сигнала и отображает его на графике в реальном времени;
- для сравнения с работой АЦП, встроенного в NI ELVIS III, программа отображает на том же графике значение напряжения с аналогового входа NI ELVIS III, на который подается входной сигнал;
- Программа завершает свою работу кнопкой «Стоп».
Это позволяет на первых этапах отточить навык самостоятельного написания программ.
Схема трехбитного АЦП
Настройка цифрового двухканального осциллографа на базе NI ELVIS III
В этом блоке в течение двух пар учащиеся должны настроить цифровой двухканальный осциллограф.Выполнение данного задания полезно для большей осознанности при дальнейшей работе с данным устройством, а также позволит при необходимости воссоздать процесс его работы.
Так же, как и в задаче по реализации АЦП, для написания программы мы дали студентам алгоритм ее работы и готовую лицевую панель.
После настройки осциллографа студенты должны были с его помощью проверить работу амплитудно-частотного фильтра.
Лицевая панель программы для работы с осциллографом
Выявленные недостатки и дальнейшие планы по улучшению
Сначала мы протестировали программу на небольшой группе студентов.Первый запуск прошел успешно и показал, что у ребят есть потребность в таком вводном курсе по системам сбора данных.
Но не все было гладко: в действующей программе курса мы обнаружили несколько недостатков, о которых сейчас поговорим.
Во-первых, для работы с ELVIS III необходимо установить дополнительное программное обеспечение, доступное только для Windows. Поскольку студенты работают на своих ноутбуках (часто macOS или Linux), это усложняет установку пакета программного обеспечения.
Поэтому для небольших вводных задач мы решили выбрать другое, более простое устройство сбора данных.
Во-вторых, уже на первом уроке мы поняли, что выделили недостаточно часов на освоение LabVIEW. В результате учащиеся по-прежнему сталкивались с проблемами на уровне простого синтаксиса при выполнении более сложных задач.
Чтобы исправить эту ситуацию, мы решили удвоить количество часов, отведенных на изучение LabVIEW в следующих запусках курса.
Также мы заметили, что студентам на первых этапах изучения ELVIS III было сложно написать алгоритм АЦП — раньше они не сталкивались с устройствами сбора данных.
Поэтому мы решили добавить активность с очень простыми задачами.
Например, измерить напряжение с помощью АЦП, затем написать программу и собрать схему измерения сопротивления элемента схемы, а в дальнейшем использовать эту схему для определения температуры воздуха в помещении с помощью термистора.
И последняя проблема: изначально мы планировали проводить занятия раз в неделю по 4 академических (или 3 астрономических) часа.
Этот формат оказался очень интенсивным: студентам было сложно усвоить и сразу применить полученную информацию.
В целом пробный запуск показал нам, что разработка курса и его масштабирование для большего числа студентов имеет смысл.
Сейчас мы находимся на стадии доработки учебных материалов и планируем второй запуск в весеннем семестре.
Будем рады, если наш опыт создания и анализа курса по системам сбора данных вам пригодится! Теги: #Образовательный процесс в IT #физика #мфти #высшее образование #сбор данных #LabVIEW #высшее образование в Москве
-
Русский Язык
19 Dec, 24 -
Запись Разговоров На Мобильных Телефонах
19 Dec, 24 -
Обама = Nokia, Маккейн = Apple
19 Dec, 24 -
Итоги Второй Недели Логомафона
19 Dec, 24 -
Простой Персональный Анонимайзер
19 Dec, 24