Рассмотрим конкретные примеры использования компьютера для проведения натурного и вычислительного экспериментов при изучении колебательного движения.
1. Изучение затухающих колебаний с помощью оптодатчика. Установка для изучения затухающих колебаний состоит из физического маятника 1, выполненного в виде алюминиевой пластины размером 100 мм x 15 мм, и оптодатчика, подключенного к компьютеру 7 (рис.1). Оптодатчик включает в себя лазер или светодиод 4, фотодиод 5 и формирователь сигнала 6, подсоединенный к ПК через порт LPT. Маятник на конце имеет флажок 3 шириной 5 мм, служащий для перекрывания светового пучка. При пересечении оптодатчика на выходе формирователя сигнала 6 появляется логический 0. Измерив с помощью компьютера время пересечения и ширину флажка , можно определить скорость маятника. Результаты измерений выводятся на экран компьютера в виде графика и (или) сохраняются в файле для их последующей обработки.
Программа, обрабатывающая сигналы с оптодатчика, написана на языке Pascal, ее текст представлен ниже. С помощью оператора Port[888]:=255; в ячейку памяти с адресом записывается число , в результате чего на выводах 2, 3, 4, 5, 6, 7, 8, 9 параллельного порта LPT появляется напряжение высокого уровня. От одного из этих выводов должен быть запитан оптодатчик.
В цикле Repeat ... until KeyPressed; осуществляется периодическое измерение времени затемнения светодиода, вычисление скорости, построение точек на экране, запись результатов измерений в файл. Пока фотодиод освещен, на выходе формирователя сигнала 6, соединенным с 11 выводом порта LPT ПК, логическая 1. В ячейке ОЗУ с адресом записано число , поэтому программа вращается в цикле Repeat … until port[889] =127;. При перекрывании светового пучка на 11 выводе порта появляется логический 0, число 225 в ячейке ОЗУ с адресом сменяется на 127, программа выходит из этого цикла. В следующем цикле Repeat t := t + 1; delay(1) until port[889]=255; происходит счет времени затемнения фотодиода. При каждом прохождении цикла переменная увеличивается на 1.
uses crt, graph; Программа 1
const period=0.6; var t, n, MT, Gd, Gm: integer; F: text; v, vv, gamma: real;
BEGIN Gd := Detect; InitGraph(Gd, Gm, 'c:\bp\bgi');
if GraphResult <> grOk then Halt(1); Port[888]:=255; n:=0; MT:=4;
setcolor(8); setbkcolor(15); line(10,420,620,420); line(10,30,10,420);
OutTextXY(20,30,'AMPLITUDE V'); OutTextXY(600,430,'TIME');
Assign(F,'c:\bp\dat.txt'); Rewrite(F); v:=1;
Repeat t:=0; Repeat until port[889]=127;
Repeat t:=t+1; delay(1) until port[889]=255;
vv:=v; v:=50000/t; gamma:=ln(vv/v)/period;
WriteLn(F, t, v, gamma); n:=n+1; circle(10+MT*n,420-round(50000/t),2);
until KeyPressed; Close(F); CloseGraph;
END.
Когда фотодиод снова оказывается освещен, на выходе оптодатчика появляется логическая 1, выполняется условие port[889]=255; и программа выходит из цикла. Значение переменной пропорционально времени перекрывания светового пучка. Это позволяет вычислить скорость маятника в положении равновесия и построить точку на графике. Программа находит коэффициент и записывает результаты всех вычислений в файл dat.txt.
Для градуировки измерителя времени следует перекрыть световой пучок на время 2––4 с, отсчитанное по механическому секундомеру, и определить значение t, соответствующее 1 c. Чтобы увеличить затухание, на маятнике устанавливают бумажный экран, повышающий коэффициент сопротивления и снижающий добротность колебательной системы. Получающиеся на экране компьютера графики показаны на рис.1. Этот эксперимент может использоваться как для демонстрации на лекции, так и на лабораторных занятиях.
2. Изучение механических колебаний с помощью АЦП. Для построения графика свободных затухающих колебаний и фазового портрета колебательной системы необходимо определять координату колеблющегося тела с частотой в десятки раз превышающей частоту исследуемых колебаний. Этого можно достичь с помощью аналого–цифрового преобразователя (АЦП), осуществляющего оцифровку плавно изменяющегося напряжения, снимаемого с датчика координаты.
Установка (рис. 2) состоит из стального шарика 1, катающегося по изогнутым направляющим 2, служащими резистивным датчиком координаты. На одну из направляющих надета нихромовая спираль, на концы которой подано напряжение 10 В. Напряжение, снимаемое со второй металлической направляющей, оказывается пропорционально координате шарика. Оно подается на АЦП, состоящий из генератора пилообразного напряжения 3, компаратора 4 и персонального компьютера 5. Частота пилообразного напряжения в десятки раз превышает частоту сигнала с датчика. При этом на выходе АЦП возникает последовательность прямоугольных импульсов частотой , длительность которых зависит от входного напряжения. Эти импульсы подаются на 11 вывод LPT–порта персонального компьютера, который определяет их длительность и строит график и фазовый портрет системы (рис. 3).
Для обработки сигналов с АЦП, используется программа 2. Она содержит цикл по времени, в который вложен цикл по переменной . Пока на выходе компаратора логическая 1, значение увеличивается на 1. Результаты измерения координаты выводятся на экран в виде графика (рис. 3, слева) и, при необходимости, сохраняются в файле. Для получения фазовой кривой (рис.3, справа) в режиме реального времени необходимо, чтобы программа вычисляла скорость шарика. Кривая оказывается больше похожей на ломанную вследствие погрешностей, неизбежно возникающих при измерениях координаты и вычислениях скорости шарика.
Для изготовления датчика координаты подойдет спираль от электроплитки с номинальными напряжением 220 В и мощностью 400 Вт. Чтобы исключить дребезг контактов параллельно датчику включают конденсатор емкостью 20 мкФ. Генератор линейно-импульсного напряжения собран на тиристоре ВТ169D. В качестве компаратора используется операционный усилитель К544УД2А. При необходимости его выход согласуют с LPT-портом компьютера с помощью транзистора КТ315А. Опыты производились с ПК 80486 и Celeron, операционные системы MS DOS и Windows 98. Другой способ изучения колебаний описан в приложении (prilog.htm).
uses crt, graph; Программа 2
var DriverVar, ModeVar, ErrorCode, u, uu, x, time : integer;
Procedure GraphInit;
begin DriverVar:=Detect; InitGraph(DriverVar,ModeVar,'c:\bp\bgi');
ErrorCode:=GraphResult; if ErrorCode<>grOK then Halt(1); end;
Begin GraphInit; repeat x:=0;
repeat uu:=u; u:=port[889]; delay(15);
if u<>127 then x:=x+1;
until (uu=127)and(u<>127); time:=time+1;
circle(3*time,400-x,1); circle(3*time,400-x,2);
until KeyPressed; CloseGraph;
End.
3. Моделирование затухающих колебаний на ПК. Программа, позволяющая провести вычислительный эксперимент, моделирующий затухающие колебания на компьютере, представлена ниже. В основе предлагаемой модели –– метод Эйлера, в котором бесконечно малые приращения функций (координаты, скорости и ускорения) и приращения аргумента (времени) заменяются малыми, но конечными разностями. Из второго закона Ньютона следует уравнение затухающих колебаний: или . Рассмотрим алгоритм его решения (программа 3):
- Задают параметры колебательной системы , , , ее начальное состояние , , и шаг по времени . Внешняя сила отсутствует:.
- Начало цикла по времени: переменной присваивают значение .
- Определяют ускорение, скорость и координату тела в момент времени по формулам: , , .
- По результатам вычислений строят графики зависимости координаты, скорости и ускорения от времени.
Графики , , а также фазовая кривая в случае затухающих колебаний представлены на рис 4. Учащиеся видят, что с течением времени амплитуда уменьшается, фазовая кривая стремится к началу координат (фокусу).
4. Моделирование вынужденных колебаний на ПК. Рассмотрим программу, позволяющую реализовать вычислительный эксперимент для изучения вынужденных колебаний. Вынужденные колебания описываются уравнением: или . Алгоритм его решения аналогичен (программа 3), отличие в том, что задается вынуждающая сила . Учащиеся могут провести серию вычислительных экспериментов, изменяя частоту вынуждающей силы, параметры колебательной системы, и снять резонансную кривую. Видно, что фазовая кривая стремится к устойчивому аттрактору, имеющему форму эллипса (рис.5).
SCREEN 12: m = .1: k = 10: r = .1: w = 9.5: dt = .001 Программа 3
WHILE INKEY$ = ""
t = t + dt : F = 10 * SIN(w * t): a = (F - k * x - r * v) / m : v = v + a * dt : x = x + v
* dt
CIRCLE (100 * t + 10, 240 - 5 * x), 1 : CIRCLE (100 * t + 10, 240 - 1 * v), 2
CIRCLE (100 * t + 10, 100 - 1 * F), 1 : 'CIRCLE (320 + 10 * x, 240 - 1 * v), 1
WEND
5. Моделирование автоколебаний на компьютере. Пусть колебательная система посредством положительной обратной связи сама регулирует поступлением энергии от источника. Например, вблизи положения равновесия, когда –0.3<<0.3 и тело движется в направлении оси OX, на него действует постоянная сила. Программа 4 и получающиеся кривые представлены ниже (рис.6). На графиках хорошо видно, как один раз за период система получает порцию энергии и скорость тела увеличивается.
SCREEN 12: m = 1: k = 1: r = .03: dt = .001: x = 0: v = .01 Программа 4
LINE (0, 240)-(640, 240): LINE (0, 241)-(640, 241)
WHILE INKEY$ = ""
IF (.3 - ABS(x) > 0) AND (v > 0) THEN F = 3 ELSE F = 0
t = t + dt : a = (F - k * x - r * v) / m : v = v + a * dt : x = x + v * dt
CIRCLE (15 * t + 10, 240 - 15 * x), 2 : CIRCLE (15 * t + 10, 240 - 40 * v), 1
'CIRCLE (320 + 50 * x, 240 - 40 * v), 1
WEND
Другим примером автоколебательной системы является фрикционный маятник Фроуда, состоящий из физического маятника, висящего на вращающемся валу. Колебания возникают за счет того, что сила трения с ростом скорости движения маятника относительно вала убывает. В рамках нашей модели (программа 5) будем считать, что она убывает по экспоненциальному закону. При движении маятника в направлении вала сила трения велика, она совершает большую положительную работу, подталкивая маятник. При движении в направлении противоположном вращению вала, сила трения, тормозя маятник, совершает отрицательную работу, которая сравнительно мала. В результате амплитуда колебаний растет. Маятник колеблется относительно положения равновесия, смещенного в направлении вращения вала, его максимальная скорость в установившемся режиме не превышает скорости вала (рис. 7).
SCREEN 12 : m = 1: k = 1: r = .05: dt = .005: vv = 2: x = 0: v = .01 Программа
5
LINE (10, 0)-(10, 480) : LINE (0, 240)-(640, 240)
WHILE INKEY$ = ""
IF ((vv - v) > 0) THEN z = 1 ELSE z = -1
F = 1.6 * z * EXP(-.1 * ABS(v - x))
t = t + dt : a = (F - k * x - r * v) / m : v = v + a * dt : x = x + v * dt
CIRCLE (10 * t + 10, 240 - 20 * x), 2 : CIRCLE (10 * t + 10, 240 - 100 * v), 1
CIRCLE (10 * t + 10, 240 - 100 * vv),1 :CIRCLE (180 + 100 * x, 240 - 100 * v), 2
WEND
6. Компьютерная модель хаотических колебаний. Рассмотрим колебательную систему, состоящую из шарика, находящегося внутри потенциальной ямы, задаваемой функцией: , и имеющей два симметричных углубления. Пусть на шарик действует вынуждающая сила . Потенциальная энергия создает возвращающую силу . Из второго закона Ньютона получаем . Это дифференциальное уравнение Дафинга, оно описывает хаотические колебания, происходящие относительно двух положений равновесия. Для его решения используется программа 6.
SCREEN 12 : m = 1 : k = .5 : r = .05 : w = .5 : dt = .002 Программа 6
vv = 2 : x = 0 : v = .01
WHILE INKEY$ = ""
t = t + dt : F = SIN(w * t)
a = (F - k * (x * x * x - x) - r * v) / m : v = v + a * dt : x = x + v * dt
'CIRCLE (10 * t + 10, 240 - 20 * x), 2 : 'CIRCLE (10 * t + 10, 240 - 100 * v), 1
CIRCLE (320 + 100 * x, 240 - 100 * v), 2
WEND
Из графиков (рис. 8) видно, что шарик движется хаотически, совершенно непредсказуемым образом перескакивая из левой потенциальной ямы в правую и наоборот. Фазовая кривая имеет многочисленные самопересечения.
Литература
1. Акатов Р.В. Компьютерные измерения:
Аналого–цифровой преобразователь. – Учебная
физика". –– 1999. –– N 3. –– С. 48–64.
2. Гулд Х., Тобочник Я. Компьютерное моделирование
в физике: В 2–х частях. Часть первая. ––– М.: Мир,
1990. –– 400 с.
3. Майер Р.В. Информационные технологии и
физическое образование. –– Глазов: ГГПИ, 2006. ––
64 с.
4. Матаев Г.Г. Компьютерная лаборатория в вузе и
школе. Учебное пособие. –– М.: Горячая
линия–Телеком, 2004. –– 440 с.
5. Электронный ресурс: http://maier-rv.glazov.net.