Моделирование соленоида с возвратной пружиной¶
В данном скрипте будет продемонстрировано моделирование соленоида с возвратной пружиной. При отключенном питании пружина оттягивает поршень на 5 мм от центра катушки. Включение источника питания при t=0.1 с втягивает поршень в центр катушки. При t=0.3 с к плунжеру прикладывается внешняя нагрузка в 10 Н.
Соленоид здесь моделируется с использованием блоков библиотеки магнитных компонентов.
Принцип работы:¶
Ток, проходящий через соленоид, создает магнитодвижущую силу, которая создает поток через магнитный сердечник соленоида. Создается противодействующее усилие, которое приводит в действие поршень, закрывающий воздушный зазор, первоначально имеющий длину 5 мм. Поток в магнитопроводе увеличивается по мере уменьшения длины воздушного зазора.
Реализация запуска модели с помощью программного управления:¶
Загрузка модели:
modelName = "Solenoid_with_Magnetic_Blocks";
actuator_model = modelName in [m.name for m in engee.get_all_models()] ? engee.open( modelName ) : engee.load( "$(@__DIR__)/$(modelName).engee");
Запуск загруженной модели:
results = engee.run( modelName );
Загрузка и визуализация данных, полученных в ходе симуляции.¶
Чтение csv-файлов с данными о перемещении соленоида и об изменении магнитного потока, с последующим преобразованием в датафрейм и матрицу.
position = results["Position"];
MF = results["MF"];
Подключение библиотеки для построение графиков:
using Plots
Подключение бэкэнда - метода отображения графики:
gr()
Построение графика, описывающего изменение положения соленоида.
plot(position.time, position.value, xlabel="Время, с", ylabel="Перемещение, м", title="Изменение положения соленоида")
Построение графика, описывающего изменение магнитного потока.
plot(MF.time, MF.value, xlabel="Время, с", ylabel="Магнитный поток, Вб", title="Изменение магнитного потока")
Заключение¶
В данном примере было продемонстрировано, что по мере перемещения соленоида и уменьшения воздушного зазора, увеличивается значение магнитного потока.