Описана методика постановки лабораторных работ по физике с использованием цифровых измерительных комплексов на базе программно-аппаратной платформы Arduino. Методика предполагает выполнение обучаемыми таких действий, как сборка, программирование, тестирование измерительного комплекса, проведение измерений с его использованием, обработка полученных данных в среде табличного процессора MS Excel. Методические материалы включают вводный текст о развитии микропроцессорной техники, о многообразии модификаций микроконтроллеров и области их применения; рекомендации по установке программного обеспечения и тестированию платы Arduino; материал для изучения основных языковых конструкций и синтаксиса Arduino IDE; рекомендации к выполнению лабораторных работ. Приводятся примеры выполнения двух лабораторных работ, реализующие преимущества цифровых измерительных комплексов при их использовании в лабораторном практикуме.
USING DIGITAL MEASURING SYSTEM BASED ON THE PLATFORM ARDUINO IN LABORATORY PRACTICAL WORK IN PHYSICS.pdf В последние годы для постановки учебных экспериментов по физике все шире применяются цифровые измерительные комплексы (ЦИК), включающие компьютер, датчики различных физических величин, устройство сопряжения датчиков с компьютером и соответствующее программное обеспечение. В методической литературе описаны преимущества использования ЦИК при проведении демонстрационных экспериментов и лабораторных работ в сравнении с их постановкой на традиционном оборудовании [1]. Назовем те преимущества ЦИК, которые, на наш взгляд, являются наиболее значимыми. - Усиление методологической составляющей в содержании обучения за счет: а) сокращения времени, необходимого для постановки учебных экспериментов; б) повышения точности и увеличения объема измерений; в) автоматизации обработки данных с применением вычислительных, графических, статистических методов; г) представления результатов опытов в наглядной форме. - Расширение возможностей для организации частично-поисковой, учебно-исследовательской, проектной деятельности обучаемых. - Формирование знаний и умений обучаемых в области использования средств цифровой микроэлектроники для создания экспериментальных установок. Цифровое лабораторное оборудование, как и все прочие средства обучения, имеют и ограничения в их использовании. Так, в статье [1] отмечается, что в силу миниатюрности оборудования в демонстрационном эксперименте трудно обеспечить требование его видимости. Например, установка для демонстрации закона Ома, состоящая из резистора, источника тока, датчиков силы тока и электрического напряжения, скорее всего будет восприниматься учащимися как некий черный ящик, «вещь в себе». Полученный в течение сверхкороткого времени на экране компьютера график зависимости силы тока от напряжения не имеет существенных отличий от аналогичного графика в учебнике. Поэтому демонстрационные эксперименты с применением цифрового оборудования «целесообразно… проводить в сопоставлении с классическими методами исследований и классическими измерительными приборами» [1]. Поставляемые в учебные заведения цифровые измерительные комплексы полностью подготовлены к работе и не требуют программирования микроконтроллеров. Вместе с тем, на наш взгляд, уместен такой вариант выполнения лабораторных работ по физике, который предусматривает более глубокое знакомство с программно-аппаратным обеспечением измерительных комплексов. В первую очередь это касается студентов IT-профилей. К числу таких профилей, в частности, относится двойной профиль «Физика и информатика» направления подготовки «Педагогическое образование». В настоящей статье представлены учебно-методические материалы, имеющие целью ознакомить студентов с программно-аппаратной платформой Arduino и показать возможности ее применения для постановки лабораторных работ по физике. Выбор платформы Arduino обусловлен такими ее преимуществами, как открытая архитектура и открытый исходный код, кросс-платформенность (работает под управлением ОС Windows, Mac OS и Linux), доступная даже для новичков среда программирования, низкая стоимость. Отметим также возможность использования ЦИК на базе Arduino совместно с уже имеющимся в учебных физических лабораториях традиционным оборудованием, благодаря чему, во-первых, обеспечивается преемственная связь между новыми и традиционными методиками проведения учебных экспериментов, а во-вторых, существенно (во много раз) сокращаются затраты на постановку новых лабораторных работ. В научно-методических публикациях можно найти примеры разработок лабораторных работ по физике с применением платформы Arduino [2, 3]. Однако эти немногочисленные публикации не содержат подробного описания самих лабораторных работ и методик их реализации в учебном процессе. Приведенные ниже учебно-методические материалы имеют целью в какой-то степени восполнить этот пробел. Охарактеризуем состав и содержание материалов для проведения лабораторных занятий. 1. Вводный текст и презентация для формирования у студентов представления о микроконтроллерах. Этот материал знакомит студентов с историческими сведениями о появлении и развитии микропроцессорной техники, c элементным составом микроконтроллеров, многообразием их модификаций, областью применения. Основное внимание уделяется характеристике программно-аппаратной среды Arduino. Аппаратная часть Arduino представляет собой печатную плату с установленным микроконтроллером и минимумом элементов, необходимых для его работы. Кроме того, возможно подключение различных расширений (шилд) и совместимых с Arduino датчиков. На плате имеются разъемы для подключения внешних устройств, а также разъем для связи с компьютером, по которому осуществляется программирование микроконтроллера. Особенности используемых микроконтроллеров ATmega фирмы Atmel позволяют производить программирование без применения специальных программаторов. Все, что нужно для создания нового электронного устройства, это плата Arduino, кабель связи и компьютер. Программное обеспечение для создания управляющих программ объединило в себе среду разработки и язык программирования, представляющий собой вариант языка С/С++ для микроконтроллеров. В него добавлены элементы, позволяющие создавать программы без изучения аппаратной части. Поэтому для работы с Arduino практически достаточно знания только основ программирования на С/С++. Для Arduino создано множество библиотек, содержащих код, работающий с различными устройствами. В заключительной части вводного материала приводятся заимствованные из сети Интернет видеозаписи проектов, созданных с использованием технологии Arduino (светодиодный трехмерный куб, робот-черепаха, устройство для регулирования положения солнечной батареи и др.). 2. Рекомендации по установке программного обеспечения и тестированию платы Arduino. Студентам рекомендуется следующий порядок выполнения этих практических действий; - Установить программное обеспечение IDE для Arduino. Для этого следует перейти на официальный сайт https://www.arduino.cc/ (вкладка «Download»), скачать дистрибутив Arduino IDE для наличной операционной системы и установить Arduino IDE на компьютер. - Подключить плату Arduino UNO к компьютеру, после чего возможны два варианта действий. Первый - компьютер сам определит плату, найдет и установит драйверы для нее. Второй - компьютер не может сам определить плату, тогда устанавливаем драйверы вручную через «Диспетчер устройств». Драйвер находится в той же папке, куда было установлено Arduino IDE (Aduino\drivers). - Протестировать плату. Для этого необходимо запустить Arduino IDE и настроить ее для работы с платой Arduino следующим образом: на панели инструментов выбрать «Инструменты» и убедиться, что в пунктах «Плата» (Arduino/Genuino UNO - это модель нашей платы) и «Порт» (COM3 - это порт, к которому подключена плата) стоят необходимые настройки. Далее выбираем «Файл»/«Примеры»/«1.Basics»/«Blink». В результате открывается код скетча «Blink», загружаем его в плату Arduino при помощи кнопки «Загрузить» на панели инструментов или «Скетч»/«Загрузка». Ждем, пока IDE проверит код на наличие ошибок и загрузит его в плату. При загрузке на ней будут мигать светодиоды «RX» и «RT», сообщая, что процесс обмена данными идет нормально. После окончания загрузки скетча на плате Arduino с интервалом в одну секунду начнет мигать светодиод, подключенный к pin13. 3. Материал для изучения основных языковых конструкций и синтаксиса Arduino IDE. Необходимый минимум знаний в области программирования включает следующие элементы. Функции setup() и loop() являются основными и обязательно используются во всех программах. Setup() используется для инициализации переменных, определения режимов работы выводов, запуска используемых библиотек и т.д., запускается единожды при старте программы. Loop() запускается после setup() и крутится в бесконечном цикле до выключения питания. Эта функция также осуществляет вычислительно-логические операции и реагирует на них. Функция pinMode() устанавливает режим работы заданного входа/выхода (pin) как входа или как выхода. Функции digitalWrite(), digitalRead, analogRead() и analogWrite() используются для отправки и считывания соответственно цифровых и аналоговых сигналов. Функция программного прерывания attachInterrupt(interrupt, function, mode) служит для сообщения процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который выполняет работу по обработке события и возвращает управление в прерванный код. Функция использует следующие параметры: interrupt - номер прерывания (int), function - функция, вызываемая прерыванием, mode - режим обработки прерывания. Примером прерывания может служить нажатие тактовой кнопки для остановки «вычислений» и перехода в режим ожидания или переключение на иные «вычисления». В материал для изучения включены также базовые понятия, присутствующие в любом стандартном языке программирования: о типах данных, об условных операторах, о циклах, об арифметических операциях, об операторах для работы со временем, о подключении дополнительных библиотек и работе с ними. 4. Методические рекомендации к выполнению лабораторных работ с использованием платформы Arduino и соответствующих датчиков физических величин. Приведем в качестве примера краткое описание двух лабораторных работ. 4.1. Цель работы «Измерение удельной теплоемкости металлического образца» состоит в измерении удельной теплоемкости стали. При выполнении работы используется следующее оборудование: два одинаковых по форме и размерам металлических образца (алюминиевый и стальной цилиндры из набора калориметрических тел, удельная теплоемкость алюминия полагается известной), электроплитка, электронные весы, плата Arduino UNO R3, термопара с чипом max6675, беспаечная макетная плата, кабель BM USB - USB, персональный компьютер (рис.1). Искомая величина удельной теплоемкости стали определяется с помощью закона Ньютона для остывания тел, который можно записать в виде (1) где T -мгновенная температура тела; Ts- температура окружающей среды; t - время, C - теплоемкость тела; k - коэффициент, зависящий от площади поверхности тела, его геометрии, состояния поверхности и других факторов. Решение уравнения (1) имеет вид где T0 - начальная температура тела. После логарифмирования получим (2) Введем обозначения: (3) Тогда зависимость (2) приобретет вид линейной функции (4) Определив из опытных данных угловой коэффициент аА графика функции (4) для алюминиевого образца, с учетом (3 ) по формуле можно рассчитать коэффициент k. В последнем выражении mA - масса алюминиевого образца; CA - удельная теплоемкость алюминия. Коэффициент k полагается одинаковым для обоих образцов, поэтому, определив угловой коэффициент aC из графика остывания стального образца, искомую величину удельной теплоемкости стали CC можно рассчитать по формуле где mC - масса стального образца. Работа выполняется в следующем порядке: 1. Взвешиванием на электронных весах определяется масса каждого образца. С помощью лабораторного термометра измеряется температура воздуха в лаборатории. По справочнику определяется удельная теплоемкость алюминия. 2. Термопара с преобразователем подключается к плате Arduino, а последняя - к компьютеру. Запускается Arduino IDE, загружается готовый скетч для работы с термопарой в Arduino UNO либо пишется программа согласно инструкции. Далее проверяется работоспособность установки, при необходимости вносятся корректировки в алгоритм работы или в саму установку. Общение платы Arduino UNO и термопары основывается на преобразователе с чипом max6675. Для того чтобы не вникать в подробности работы max6675, используется дополнительная библиотека max6675 для Arduino. В ней предусмотрены следующие функции: thermocouple.readCelsius() для вывода температуры по шкале Цельсия и thermocouple.readFahrenheit() для вывода температуры по шкале Фаренгейта. Студенты могут самостоятельно выбрать шкалу измерений. Кроме того, с помощью стандартной функции Arduino delay() они смогут задавать частоту измерений в миллисекундах. 3. Образец с закрепленной на нем термопарой помещается на электроплитку и нагревается до температуры (50-70) 0С. Температура образца контролируется с помощью измерительной системы Arduino. 4. Нагретый образец помещается на теплоизолирующую подставку и запускается на 5-10 мин процесс измерения температуры и времени с помощью измерительной системы Arduino. 5. Полученные данные с «Монитора порта» Arduino IDE копируются на рабочий лист MS Excel. Эти данные преобразуются в цифровой формат с использованием опции «Найти и заменить». 6. Действия, описанные в п. 3-5, выполняются со стальным образцом. 7. На листе MS Excel по формулам (3) пересчитываются полученные данные и строятся точечные линейные графики y(t) для каждого образца. Методом наименьших квадратов через точки каждого графика проводится наилучшая прямая и выводится уравнение регрессии на координатную плоскость. 8. По найденному таким образом значению углового коэффициента для графика остывания алюминиевого образца рассчитывается параметр k. По значению углового коэффициента графика остывания стального образца и найденному значению параметра k вычисляется искомая величина удельной теплоемкости стали. На рис. 2, 3 приводится пример графиков остывания стального образца. 9. Найденное значение удельной теплоемкости стали сравнивается с табличным. Различие между ними выражается в абсолютном и относительном виде. Если дополнить график, приведенный на рис. 2, аппроксимирующей кривой, то можно увидеть, что разброс температур относительно этой кривой не превышает 10. В опыте, результаты которого приведены на рис. 2, 3, погрешность определения удельной теплоемкости стали составила 2 %. 4.2. Цель работы «Изучение затухающих колебаний «математического» маятника» состоит в определении параметров затухающих колебаний «нитяного» маятника (начальной амплитуды, периода, коэффициента затухания, декремента затухания, логарифмического декремента затухания). При выполнении работы используется следующее оборудование: маятник, представляющий собой прямоугольную металлическую пластину, подвешенную на двух нитях; ультразвуковой дальномер HC-SR04, сопряженный с компьютером посредством платы Arduino UNO R3. Работа выполняется на следующей теоретической базе. Положим, что сила сопротивления движению маятника пропорциональна скорости маятника. Тогда второй закон Ньютона запишется в виде где x - координата колеблющегося тела; m - его масса; t - время; k - коэффициент «квазиупругой» силы, действующей на тело; r - коэффициент сопротивления, т.е. коэффициент пропорциональности между скоростью тела и силой сопротивления среды, вызывающей затухание колебаний. Решение данного уравнения можно записать в виде (5) где A0 - начальная амплитуда; - коэффициент затухания; - циклическая частота затухающих колебаний маятника, - циклическая частота его свободных колебаний; a - начальная фаза колебаний. В соответствии с видом функции (5) затухающие колебания можно рассматривать как гармонические с частотой v и амплитудой A, изменяющейся по закону (6) В настоящей работе для расчета декремента затухания D по полученным экспериментальным данным можно использовать две формулы: (7) или (8) где T - период колебаний. Натуральные логарифмы этих величин соответственно дадут два несколько различающихся значения логарифмического декремента затухания l1 и l2. Рекомендуется следующий порядок выполнения работы: 1. Ультразвуковой дальномер HC-SR04 помещается на расстоянии примерно 20 см от пластины маятника. «Глаза» дальномера должны располагаться симметрично относительно перпендикуляра, восстановленного от центра пластины. 2. Дальномер подключается к плате Arduino, а последняя - к компьютеру. Запускается Arduino IDE, загружается готовый скетч для работы с дальномером в Arduino IDE либо пишется программа согласно инструкции. Далее проверяется работоспособность установки, при необходимости вносятся корректировки в алгоритм работы или в саму установку. С помощью стандартной функции Arduino delay() задается продолжительность времени между измерениями в миллисекундах. В данной работе выбирается минимально возможное значение этой величины (50 мс). 3. Производится измерение координаты неподвижной пластины маятника, находящейся в положении равновесия, для чего на 1-2 с запускается процесс измерений. Полученные данные с «Монитора порта» Arduino IDE копируются на рабочий лист MS Excel, преобразуются в цифровой формат и усредняются. В результате получим координату пластины маятника в положении равновесия (относительно дальномера). 4. Маятник приводится в колебательное движение с начальной амплитудой не более 70 (поскольку рабочий угол «наблюдения» датчика HC-SR04 составляет 150). Выполняется серия измерений положения груза маятника в течение примерно десяти колебаний. Полученные данные с «Монитора порта» Arduino IDE копируются на рабочий лист MS Excel и преобразуются в цифровой формат. В результате получим координаты пластины маятника в различные моменты времени (относительно дальномера). 5. На листе MS Excel из каждого значения координаты x0 пластины маятника вычитается координата его положения равновесия. В результате получим координаты x пластины маятника относительно положения равновесия. На листе MS Excel строится точечный график зависимости x(t). По виду графика оценивается качество измерений. Результаты измерений можно считать удовлетворительными, если через точки графика можно мысленно провести косинусоиду с плавно уменьшающейся амплитудой (рис. 4). Разброс точек не должен быть более 0,5 см относительно этой мысленной кривой (такой величиной нами оценивается реальная погрешность дальномера). 6. Из столбцов значений координат x и времени t выполняется выборка максимальных положительных отклонений (амплитуд A) маятника и соответствующих моментов времени. Строится точечный график зависимости A(t). Методом наименьших квадратов проводитcя наилучшая экспоненциальная кривая через экспериментальные точки и выводится уравнение регрессии на координатную плоскость (см. рис. 4). В соответствии с формулой (6) уравнение регрессии содержит величину начальной амплитуды A0 и коэффициента затухания b. 7. Определяется период колебаний маятника, для чего время всех колебаний делится на число колебаний. 8. По формуле (7) рассчитывается декремент затухания маятника для каждой смежной пары амплитуд, после чего находится среднее арифметическое D1 от найденных значений. По величине b, взятой из уравнения регрессии, вычисляется декремент затухания D2 [формула (8)]. Далее рассчитываются и сравниваются между собой величины l1 и l2. В эксперименте, результаты которого представлены на рис. 4, измерения производились в течение примерно 70 с, что соответствовало 26 колебаниям. Из рис. 4 видно, что экспоненциальная кривая A(t), аппроксимирующая убывание амплитуды колебаний, на начальном временном интервале проходит ниже точек, соответствующих экспериментально полученным значениям амплитуд. Это означает, что при больших амплитудах колебаний, когда средняя скорость движения пластины маятника выше, коэффициент затухания больше, чем при меньших амплитудах. Данный результат свидетельствует о том, что исходное уравнение колебаний, в котором сила вязкого трения полагается пропорциональной скорости тела, не вполне адекватно описывает экспериментальные данные. Линейная зависимость имела бы место в случае ламинарного обтекания груза маятника, что никогда не реализуется. Этот факт предлагается установить студентам в задании к рассматриваемой лабораторной работе. По нашей оценке, представленные в статье методические материалы позволяют в существенной мере реализовать те возможности и преимущества цифровых измерительных комплексов, которые упомянуты в начале данной статьи.
Мартынюк А.С. Методические и технологические аспекты подготовки будущих учителей физики к использованию средств микроэлектроники в экспериментально-исследовательской работе // Фундаментальные исследования. - 2013. - № 8. - С. 450-454.
Волков Е.В. Применение микроконтроллеров в составе установок для лабораторных работ по физике. - Режим доступа: http://l.120-bal.ru/doc/17151/index.html (дата обращения: 13.12.2016).
Шаповалов А.А. Преподавание дисциплин естественнонаучного профиля с использованием программно-аппаратных комплексов // Школьные технологии. - 2012. - № 2. - С. 135-144.