2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 6, 7, 8, 9, 10
 
 Re: Угловая скорость рамки в магнитном поле и магнитная индукция
Сообщение05.07.2019, 08:27 
Заслуженный участник


21/08/10
2404
oleg_2, мне кажется интересным посмотреть, что будет, если добавить вязкое трение. Заменить в первом (механическом) уравнении $a''[t] $ на, к примеру, $a''[t] + 0.01 a'[t]$ . И еще поиграть коэффициентом при первой производной. $a$ -- угол поворота.

 Профиль  
                  
 
 Re: Угловая скорость рамки в магнитном поле и магнитная индукция
Сообщение05.07.2019, 08:52 


27/08/16
9426
oleg_2 в сообщении #1403194 писал(а):
Предположим, что моё предположение о постоянной составляющей верно. Тогда вот что получается. В рамке течет большой постоянный ток, значительно превышающий размах пилы. Рамка крутится.

Если у электрической цепи нулевое сопротивлене, то неограниченное возрастание тока - это нормально. Но нефизично.

 Профиль  
                  
 
 Re: Угловая скорость рамки в магнитном поле и магнитная индукция
Сообщение06.07.2019, 23:51 


31/07/14
693
Я понял, но не врубился.
oleg_2 в сообщении #1403194 писал(а):
Видно установившуюся скорость, она максимальная на рисунке. Из выдачи: Vmax=7.302,

Можете пояснить, почему этот результат отличается от полученного ранее? Я вижу, питающее напряжение у Вас меандр вместо синуса, но это вряд ли может дать такое отличие.

 Профиль  
                  
 
 Re: Угловая скорость рамки в магнитном поле и магнитная индукция
Сообщение07.07.2019, 13:31 


02/10/12
302
chislo_avogadro в сообщении #1403650 писал(а):
Можете пояснить, почему этот результат отличается от полученного ранее?

amon взял формулы, как если для рамки без потерь и со сдвинутыми на $\pi/2$ щетками относительно их "штатного" положения.
$$ \begin{align*} J\dot{\omega}&=IBl\cos\alpha\\ L\dot{I}&=\mathcal{E}_0\sin\alpha-SB\omega\cos\alpha \end{align*} $$
Если производная тока равна синусу, то сам ток равен косинусу, и пики тока попадают на пики верхнего механического уравнения для момента. В нижней формуле синус вместо косинуса означает поворот щеток. А на графике, про который Вы спросили, с установившейся скоростью, совсем другой случай: щетки не сдвинуты, а рамка с потерями $r>0$. Это близко к реальному электродвигателю, и эти графики, которые с потерями, я считал контрольными, что программа работает.

В этом сообщении графики, построенные программой-интегратором, которая в сообщении
https://dxdy.ru/post1403194.html#p1403194
Здесь рамка без потерь, и щётки сдвинуты на 90 градусов. Привожу новые исходные настройки интегратора, действующие в пределах этого сообщения, а к каждому рисунку буду давать только изменения этих исходных настроек. Под пунктирной чертой выдача программы, но не вся, а только интересная, или совсем без выдачи. На графиках:
Красный - ток рамки, зелёный - угол рамки, синий - скорость, оранжевый - электромагнитный момент.
Исходные настройки:
Код:
// масштаб времени (целые положительные числа)
#define T1  8    // T1>=1. Растяжка времени. На T1 делятся приращения.
#define T2  20000    // сжатие времени на рисунке, на точность не влияет

// Начальные значения
#define I0    0 // Ток
#define A0  -45 // Угол
#define V0    0 // Скорость
#define FI   90 // угол установки шеток. (0 или +90)

// Параметры
#define  E0    2  // напряжение батарейки
#define  E1   20  // ЭДС-индукции
#define  R0    0  // сопротивление потерь
#define  M1    0  // момент вязкого трения M=M1*v;
#define  M2    0  // момент сухого трения
#define  J  9000  // момент инерции, J>0, он в знаменателе

// Размеры рисунка. Можно менять, пошире сделать - больше видно
#define W  600   // ширина
#define H  200   // высота

// Масштабные коэффициенты для графиков
#define AVT   1  // 0 ручная; 1 автоматическая установка кроме T1 и T2
#define K1  0.2  // ток
#define K2  0.9  // угол
#define K3  2    // скорость
#define K4  3    // момент


Рис. 1. Исходные настройки. Это рис. 8 из прошлого моего сообщения. Рамка крутится, но время от времени меняет направление вращения: положительное и отрицательное зелёное на рис.
Код:
---------
t=1500000
Vmax=610.793;

Изображение

Рис. 2. То же, что рис. 1, но с вязкой нагрузкой и изменён масштаб времени. Обратите внимание, сначала есть вращение, и зелёное достигает максимума, а потом вращения нет, зеленое в узкой полосе (зеленое - это угол рамки).
Код:
#define T2  2000  // сжатие времени
#define M1     2  // момент вязкого трения M=M1*v;
-----------
t=150000
Vmax=10.401;

Изображение

Рис. 3. То же, что рис. 2, но меньше сжат по времени.
Код:
#define T2  216  // сжатие времени
#define M1     2  // момент вязкого трения M=M1*v;
--------
t=16200
Vmax=10.401;

Изображение

Рис. 4. Я задал широкий рисунок 16000x200 с малым сжатием времени. Его настройки:
Код:
#define T2    8  // сжатие времени
#define M1    2  // момент вязкого трения M=M1*v;
#define W  16000 // ширина

Из него взял фрагмент, ту часть, где переход с кручения на колебания: график угла (зеленый) перестаёт иметь скачки, угол меняется в диапазоне $-90<\alpha<270$. На рисунке сверху чистый фрагмент, а ниже тот же фрагмент, и я подрисовал стрелки - они показывают моменты коммутации при $0$ и $180$ градусах, но при такой большой постоянной составляющей тока эта коммутация уже мало на что влияет. Вернее, влияет на поддержание колебаний, вязкая нагрузка есть.
Изображение
Голубые полосы сверху указывают промежутки времени, когда рамка в секторе $90 - 270$ градусов, при этом положительный ток рамки (а он здесь всюду положительный) даёт отрицательный момент. Что это за провал в середине отрицательного момента под второй и третьей голубыми полосами? А вот что: рамка влетает в голубой сектор на большой скорости и с нулевым моментом, влетает через мертвую точку. Отрицательный момент быстро возрастает и при $\alpha = 180$ достигает максимума, а рамка продолжает двигаться к другой мертвой точке, вот и провал момента. Но не дойдя до другой мертвой точки, рамка меняет знак скорости и движется на выход из голубой зоны, и выходит из неё в ту же сторону, через которую зашла. Короче, первый зубчик момента тормозит влетевшую рамку и не даёт ей перейти вторую мертвую точку, а второй зубчик выталкивает её обратно из голубой зоны.


Ещё один интересный график, по виду схожий с вычисленным "Математикой".
amon в сообщении #1401257 писал(а):
хоть с меандром:
Код:
s6 = NDSolve[{a''[t] == 0.01 i[t] Cos[a[t]], i'[t] == 5 RealSign[Sin[a[t]]] - a'[t] Cos[a[t]], a[0] == 0,a'[0] == 0.1, i[0] == 1}, {a, i}, {t, 0, 2000}]
Plot[Evaluate[{a'[t]} /. s6], {t, 0, 200}, PlotStyle -> Automatic]

Изображение


Рис. 5.
Настройки примерно такие, как у amon. Угол рамки $1$ градус, чтобы не на стыке коллектора. Угол щеток $-90$ соответствует сдвигу щеток на $-90$ без смены полярности батарейки, т. е. "плюс" перед 5 RealSign[Sin[a[t]]], из-за этого там спорили. Тут соответствует коду от amon.
Код:
#define T2  24  // сжатие времени

// Начальные значения
#define I0    1 // Ток
#define A0    1 // Угол (градусы)
#define V0  0.2 // Скорость
#define FI  -90 // угол установки шеток. (0 или +90)

Изображение

Рис. 6.
То же, что рис. 5, но сильнее сжато время.
Код:
#define T2  100  // сжатие времени

// Начальные значения
#define I0    1 // Ток
#define A0    1 // Угол (градусы)
#define V0  0.2 // Скорость
#define FI  -90 // угол установки шеток. (0 или +90)

Изображение

У меня появились сомнения, что моя программа-интегратор работает не правильно, по крайней мере на большом времени. Но об этом я напишу потом, а то мне никогда не закончить сообщение.

 Профиль  
                  
 
 Re: Угловая скорость рамки в магнитном поле и магнитная индукция
Сообщение09.07.2019, 23:20 


02/10/12
302
У меня по работе программы возникло сомнение. Оно вот в чём заключается.
Есть настройки
Код:
// масштаб времени (целые положительные числа)
#define T1  8  // T1>=1. Растяжка времени. На T1 делятся приращения.
#define T2  5  // сжатие времени на рисунке, на точность не влияет

Вот код, я из него убрал для простоты моменты трения, и он совсем простой, это один шаг интегрирования:
код: [ скачать ] [ спрятать ]
Используется синтаксис C
    // z -знак полярности батарейки z(a), +1, -1.
    // E0, E1, R0, T1, J -константы.
    // i, v, a -входные и выходные переменные.
    // cos_a = cos(a);

    // приращение тока. E=L(di/dt); i=интеграл((E/L)dt); di=E/L;
    // dt здесь всегда равно 1.
    di = E0 * z - E1 * v * cos_a * (3.14/180) - R0*i/1000;

    // T1 -растяжка времени, уменьшение дифференциалов
    i = i + di/T1; // ток
    m = i * cos_a; // момент электромагнитный
    dv = (m)/J;    // приращение скорости
    v = v + dv/T1; // скорость
    a = a + v/T1;  // угол
 



Константа T1 уменьшает дифференциалы, они должны быть не слишком большие, но какие? Какой должна быть T1? Я поставил 8, от фонаря.
Ниже маленькие рисунки, их три столбика, каждый столбик со своей T1. Масштабы всех этих рисунков одинаковые по всем осям, включая время, это для наглядности (выключена автоматика масштабирования, ручная установка). Первая строка рисунков - без нагрузки, а следующие строки с повышением момента трения. Рамка без потерь ($r=0$), щётки сдвинуты на $90$ градусов. Начальные условия:
I0=0; A0=-45; V0=0; FI=90

Рис. 1.
Изображение
У меня есть предположение, гипотеза. Чем больше скорость, тем меньше должны быть дифференциалы, т. е. для большой скорости T1 должна быть большая. Взять к примеру фрмулу угла a = a + v/T1;, видно, что при большой скорости неприятности могут быть. Но как оценить? Гипотеза: взять два близких значения T1, скажем, отличающихся в два раза 8 и 16, построить графики в одинаковом масштабе и сравнить. Если графики не запредельные и отличаются несильно, то одну из этих T1 взять. Не густо, но хоть какая-то оценка.

Приведу еще несколько графиков для визуализации.

Рис. 2 и рис.3. Это начальный участок графиков первой строчки Рис. 1 (без нагрузки). Первый график T1=1, второй T1=16. Масштабы этих двух графиков одинаковые. Графики почти не отличаются, скорость мала.
Изображение
Рис. 3.
Изображение

Рис. 4 и рис. 5. То же, что рис.2 и рис.3, с такими же масштабами как там, но с большой нагрузкой M1=16. Первый график T1=1, второй T1=16. Видно, что рамка делает всего три оборота и входит в колебательный режим. Время малое, скорость малая, рисунки почти не отличаются, несмотря на большую разницу дифференциалов. Наверно их можно считать близкими к точному решению, а саму рамку без потерь и со сдвинутыми щетками - склонной к колебаниям.
Изображение
Рис. 5.
Изображение

Я прошу, у кого есть возможность, проверить "Математикой" наличие постоянной составляющей тока рамки. Я это примерно так представляю: вместо
amon в сообщении #1401257 писал(а):
Код:
s6 = NDSolve[{a''[t] == 0.01 i[t] Cos[a[t]], i'[t] == 5 RealSign[Sin[a[t]]] - a'[t] Cos[a[t]], a[0] == 0,a'[0] == 0.1, i[0] == 1}, {a, i}, {t, 0, 2000}]
Plot[Evaluate[{a'[t]} /. s6], {t, 0, 200}, PlotStyle -> Automatic]

Изображение

задать
Код:
s6 = NDSolve[{a''[t] == 0.01 i[t] Cos[a[t]], i'[t] == 5 RealSign[Sin[a[t]]] - a'[t] Cos[a[t]], a[0] == 0,a'[0] == 0.1, i[0] == 1}, {a, i}, {t, 0, 2000}]
Plot[Evaluate[{i[t]} /. s6], {t, 0, 200}, PlotStyle -> Automatic]

Вместо скорости a'[t] на рисунок вывести ток i[t]. Всё-таки профессиональная программа.

 Профиль  
                  
 
 Re: Угловая скорость рамки в магнитном поле и магнитная индукция
Сообщение10.07.2019, 07:49 


30/01/18
590
oleg_2 в сообщении #1404233 писал(а):
Вместо скорости a'[t] на рисунок вывести ток i[t].
Пожалуйста:
Код:
s6 = NDSolve[{a''[t] == 0.01 i[t] Cos[a[t]],   i'[t] == 5 RealSign[Sin[a[t]]] - a'[t] Cos[a[t]], a[0] == 0,   a'[0] == 0.1, i[0] == 1}, {a, i}, {t, 0, 2000}]
Plot[Evaluate[{i[t]} /. s6], {t, 0, 200}, PlotStyle -> Automatic]

Изображение
Wolfram Desktop возможно бесплатно скачать, установить и эвалюэнтить две недели.

 Профиль  
                  
 
 Re: Угловая скорость рамки в магнитном поле и магнитная индукция
Сообщение10.07.2019, 08:29 
Заслуженный участник


21/08/10
2404
oleg_2 в сообщении #1404233 писал(а):
Чем больше скорость, тем меньше должны быть дифференциалы, т. е. для большой скорости T1 должна быть большая. Взять к примеру фрмулу угла a = a + v/T1;, видно, что при большой скорости неприятности могут быть. Но как оценить?



Просто. За время $dt$ угол поворота должен быть небольшой. Скажем, 0.01 радиана (может, можно и побольше, но 0.1 уж точно предел). Шаг по времени лучше сделать переменный, это несложно.

Вообще код у вас довольно неизящный. Какое-то деление приращений... Сделайте просто: введите явно переменную $dt$. Тогда, например, ток
$i<=i+di$ а $di$ есть произведение $dt$ на производную (то, чему она равна, правая часть уравненияя).

-- Ср июл 10, 2019 12:38:39 --

oleg_2 в сообщении #1404233 писал(а):
// приращение тока. E=L(di/dt); i=интеграл((E/L)dt); di=E/L;
// dt здесь всегда равно 1.



Вот не надо так писать. Не di=E/L а di=(E/L)*dt. При этом dt на каждом шаге новая, выражающаяся через угловую скорость вращения. Она у вас v? Если так, то dt=0.01/v Может удобнее ввести вместо 0.01 константу da (это угол поворота на каждом шаге).

Аналогично для уравнений на угол и на скорость. А Т1 выкиньте. Можно, конечно, делить на Т1 а не умножать на dt, но это как-то менее прозрачно, легче наделать ошибок.

 Профиль  
                  
 
 Re: Угловая скорость рамки в магнитном поле и магнитная индукция
Сообщение10.07.2019, 12:53 


02/10/12
302
rascas
Спасибо. Да, это то, в чём я хотел убедиться.

Alex-Yu в сообщении #1404282 писал(а):
Вот не надо так писать. Не di=E/L а di=(E/L)*dt. При этом dt на каждом шаге новая, выражающаяся через угловую скорость вращения. Она у вас v? Если так, то dt=0.01/v

У меня v скорость вращения, но не угловая, а в градусах на единицу времени. Это ведь только коэффициент при взятии косинуса. Угол тоже в градусах. Идея была простая: нарисовать график зависимости величины от времени; один шаг интегрирования - это один пиксель по ширине рисунка. Потом добавил деление дифференциалов и сжатие нескольких шагов интегрирования в один столбик пикселей.
Да, меняющаяся dt это хорошо. Мне приходила эта мысль, но уже после всего. Программистски тут две трудности я пока вижу:
1. Я каждый шаг интегрирования заношу в таблицу. При фиксированном dt и заданном времени интегрирования я заранее знаю длину этой таблицы, длину массива. А так нет.
2. Неравномерную по времени таблицу, наверно, труднее будет перенести на пиксели рисунка.
Но эти трудности в принципе разрешимы.

 Профиль  
                  
 
 Re: Угловая скорость рамки в магнитном поле и магнитная индукция
Сообщение10.07.2019, 13:10 
Заслуженный участник


21/08/10
2404
oleg_2 в сообщении #1404318 писал(а):
1. Я каждый шаг интегрирования заношу в таблицу. При фиксированном dt и заданном времени интегрирования я заранее знаю длину этой таблицы, длину массива. А так нет.
2. Неравномерную по времени таблицу, наверно, труднее будет перенести на пиксели рисунка.



Никаких проблем. Заносим в таблицу не все числа, а только заранее выбранные. Чтобы точно попасть в нужный момент времени делаем линейную интерполяцию с предыдущим результатом (его надо хранить в дополнительных переменных). Т.е. пока не дошли до очередного нужного значения ничего не записываем. А как его перевалили, интерполируем и записываем результат.

Хотя я бы с этим всем не заморачивался. При нынешних-то ресурсах... Делаем массив с запасом, длинной миллион... :-) Да и пиксели мелкие, наплевать на неточное попадаение.

 Профиль  
                  
 
 Re: Угловая скорость рамки в магнитном поле и магнитная индукция
Сообщение10.07.2019, 14:16 


02/10/12
302
Alex-Yu в сообщении #1404320 писал(а):
Заносим в таблицу не все числа, а только заранее выбранные.

Спасибо за эту подсказку. Если хватит усидчивости и терпения, то попробую.

Но нет, может статься как на рисунке
Изображение
Пусть $t_1$ и $t_2$ моменты времени, соответствующие шагу в один пиксель по горизонтали на рисунке, их надо занести в таблицу. И пусть функция отслежена достаточно точно, мелкими шагами без занесения в таблицу. Я думаю, надо ещё минимум и максимум на этом отрезке времени запомнить и рисовать как справа, столбик пикселей.
Я ещё подумаю.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 145 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10

Модераторы: photon, whiterussian, profrotter, Jnrty, Aer, Парджеттер, Eule_A, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group