авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 |   ...   | 9 | 10 ||

«Юрий ЛАЗАРЕВ _ Mоделирование процессов и технических систем в MATLAB Учебный курс Киев – 2004 2 УДК ...»

-- [ Страница 11 ] --

Рис. 11.44. Окно настраивания блока Ведущее звено (вкладка Позиция) Рис. 11.45. Окно настраивания блока Ведущее звено (вкладка Ориентация) Рис. 11.46. Окно настраивания блока Ведомое звено (вкладка Позиция) Рис. 11.47. Окно настраивания блока Ведомое звено (вкладка Ориентация) Рис. 11.48. Окно настраивания блока Ползун Программа SimMech_KSM1_upr управления работой этой модели приведена ниже.

% SimMech_KSM1_upr % Лазарев Ю. Ф. 6-05- clear all, clc % Задание параметров ведyщего звена m1=1;

J1=[1 0 0;

0 1 0;

0 0 1];

L1=0.5;

fi0=0;

om=5;

% Задание параметров ведомого звена m2=1;

J2=[1 0 0;

0 1 0;

0 0 1];

L2=1;

% Задание параметров ползуна m3=1;

J3=[1 0 0;

0 1 0;

0 0 1];

E=0.1;

% Предварительные расчеты al=asin((L1*sin(fi0)-E)/L2);

% Моделирование sim('SimMech_KSM1') % Получение данных t=tout;

% 1. С приводного шарнира Ug1=unwrap(yout(:,1)*pi/180)*180/pi;

UgSk1=yout(:,2);

UgUsk1=yout(:,3);

Mc1=yout(:,4);

% 2. С ведомого шарнира Ug2=unwrap(yout(:,5)*pi/180)*180/pi;

UgSk2=yout(:,6);

UgUsk2=yout(:,7);

Mc2=yout(:,8);

% 3. С шарнира ползуна Ug3=yout(:,9);

UgSk3=yout(:,10);

UgUsk3=yout(:,11);

Mc3=yout(:,12);

% 4. С направляющей ползуна Xp=yout(:,13);

Skp=yout(:,14);

Uskp=yout(:,15);

% 5. С центра масс ведущего звена Xz1=yout(:,16);

Yz1=yout(:,17);

SkXz1=yout(:,19);

SkYz1=yout(:,20);

UgSkZ1=yout(:,24);

UgUskZ1=yout(:,27);

% 6. С центра масс ведомого звена Xz2=yout(:,28);

Yz2=yout(:,29);

SkXz2=yout(:,31);

SkYz2=yout(:,32);

UgSkZ2=yout(:,36);

UgUskZ2=yout(:,39);

% 7. С центра масс ползуна Xz3=yout(:,40);

Yz3=yout(:,41);

SkXz3=yout(:,43);

SkYz3=yout(:,44);

UgSkZ3=yout(:,48);

UgUskZ3=yout(:,51);

% Вывод графиков subplot(2,3,1) plot(t,Ug1,'o',t,Ug1+Ug2,'.',t,Ug3), grid, title('Углы поворотов шарниров') xlabel('Время (с)'). ylabel('Градусы') h=text(0.0,1200,'Кривошипно-шатунный механизм','FontSize',14);

legend('Шарнир1','Шарнир1-2','Шарнир3',0) subplot(2,3,4) plot(t,Mc1,'o'), grid, title('Момент сил на ведущем шарнире') xlabel('Время (с)'), ylabel('Ньютон*м') subplot(2,3,2) plot(t,UgSk1,'o',t,UgSk2,'.

',t,UgSk3), grid title('Угловые скорости поворотов шарниров') xlabel('Время (с)'), ylabel('Градусы в секунду') legend('Шарнир1','Шарнир2','Шарнир3',0) subplot(2,3,3) plot(t,UgSkZ1,'o',t,UgSkZ2,'.',t,UgSkZ3), grid title('Угловые ускорения поворотов шарниров') xlabel('Время (с)'), ylabel('Градусы в секунду^2') legend('Шарнир1','Шарнир2','Шарнир3',0) subplot(2,3,5) plot(t,Xp,'r'), grid, title('Отн. перемещение призматич. сочленения') xlabel('Время (с)'), ylabel('Метры') subplot(2,3,6) plot(t,Skp,'.',t,Uskp), grid, title('Скорость и ускорение ползуна') xlabel('Время (с)'), ylabel('М/с и м/с^2'), legend('скорость','Ускорение',0) figure subplot(2,3,1) plot(t,Xz1,'o',t,Xz2,'.',t,Xz3), grid, title('Перемещения X ц.м. звеньев') xlabel('Время (с)'), ylabel('Метры'), legend('ведущее','ведомое','ползун',1) subplot(2,3,3) plot(t,UgSkZ1,'o',t,UgSkZ2,'.',t,UgSkZ3), grid, title('Угловая скорость ведущего звена') xlabel('Время (с)'), ylabel('Градусы в сек.') subplot(2,3,4) plot(t,Yz1,'o',t,Yz2,'.',t,Yz3), grid, title('Перемещения Y ц.м. звеньев') xlabel('Время (с)'), ylabel('Метры') subplot(2,3,2) plot(t,SkXz1,'o',t,SkXz2,'.',t,SkXz3), grid, title('Скорость Vx звеньев') xlabel('Время (с)'), ylabel('Градусы в сек.') subplot(2,3,5) plot(t,SkYz1,'o',t,SkYz2,'.',t,SkYz3), grid, title('Скорость Vy звеньев') xlabel('Время (с)'), ylabel('Градусы в сек.') subplot(2,3,6) plot(t,UgUskZ1,'o',t,UgUskZ2,'.',t,UgUskZ3), grid title('Угловые ускорения звеньев'), xlabel('Время (с)'), ylabel('Градусы в сек.') Результаты моделирования по этой программе представлены на рис. 49 и 50.

Как видим, средства библиотеки SimMechanics позволяют получить достаточно обширную информацию о механическом движении тел, как относительном, так и абсолютном, включая реакции в связях между телами.

Последнее обстоятельство особенно важно при проектировании механизмов и машин.

Рис. 11.49. Результаты моделирования по модели SimMech_KSM Рис. 11.50. Результаты моделирования кривошипно-шатунного механизма 11.4. Модель движения маятника Рассмотрим модель движения маятника на поступательно вибрирующем основании, поведение которого было исследовано ранее другими средствами.

Для начала отметим, что по умолчанию модели библиотеки SimMechanics автоматически учитывают дейст вие силы тяжести на все звенья механизма. При этом предполагается, что ось Y земной (инерциальной) систе мы координат направлена вдоль вертикали вверх, а, следовательно, сила тяжести, приложенная в центре масс, направлена по ней в противоположном направлении (вниз). Оси Z и X поэтому лежат в плоскости горизон та.

В дальнейшем будем предполагать, что ось вращения маятника направлена вдоль оси Z, а колебания маятни ка происходят в плоскости YX.

Для имитации поступательного движения основания в этой плоскости свяжем (рис. 51) тело маятника (блок Тело) с инерциальной системой отсчета (блок Основание) через сочленение Planar, которое представляет собой цепь из трех последовательно соединенных примитивов – P1, P2 и R3.

Рис. 11.51. Блок-схема модели SimMech_FMp маятника Первые два (типа Prismatic) реализуют поступательное движение основания соответственно вдоль осей X и Y (см рис. 52). Третий примитив (типа Revolute) реализует вращательную степень свободы маятника вокруг оси Z.

Рис. 11.52. Настройки блока Planar Для задания параметров использованы следующие обозначения.

M Масса маятника J Матрица моментов инерции маятника относительно его центра масс l Смещение центра масс маятника относительно оси его вращения ftr Коэффициент вязкого трения в оси вращения маятника fi0 Начальный угол отклонения маятника от вертикали fit0 Начальная угловая скорость маятника nxm, nym Амплитуды виброперегрузок основания соответственно в горизон тальном и вертикальном направлениях om Частота колебаний основания epx, epy Начальные фазы колебаний основания g Ускорение силы тяжести Ввод начальных условий движения маятника осуществляется блоком Joint Initial Condition, настройки которого приведены на рис. 53.

Окно настраивания блока Тело показаны на рис. 54.

Возбуждение колебаний основания осуществляется двумя блоками Joint Actuator2 (по оси X ) и Joint Actuator (по оси Y ). На рис. 55 отображены настройки одного из них.

Рис. 11.53. Настройки блока Joint Initial Condition Рис. 11.54. Настройки блока Тело Рис. 11.55. Настройки блока Joint Actuator Измерение угла отклонения маятника от вертикали и его угловой скорости осуществляется с помощью блока «Датчик угла и угл. скор.» типа Joint Sensor, настройки которого показаны на рис. 56.

Рис. 11.56. Настройки блока «Датчик угла и угл. скор.»

Для получения непрерывного и большего по модулю 180 о угла поворота маятника использован блок Continu ous Angle.

Сигнал угловой скорости, полученный на выходе блока «Датчик угла и угл. скор.» используется для формиро вания момента сил вязкого трения на оси вращения маятника при помощи блока Joint Actuator, настройки кото рого приведены на рис. 57.

Рис. 11.57. Настройки блока Joint Actuator Управление вводом данных, запуском модели и выведением результатов можно осуществить с помощью управляющей программы SimMech_FM_upr, приводимой ниже.

% SimMech_FM_upr % Управляющая программа для S-модели SimMech_FMp % Лазарев Ю. Ф., 11-05- clear all, clc % Ввод параметров маятника m=1;

Jx=0.01;

Jy=0.01;

Jz=0.02;

l=0.5;

ftr= 0.0%05;

J=[Jx 0 0;

0 Jy 0;

0 0 Jz];

% Параметры внешних воздействий nxm=0;

om=10;

epx=0;

nym=0;

om=21.5;

epy=0;

g=9.81;

% Ввод начальных условий fi0=179.9*pi/180;

fit0=0;

% Моделирование на S-модели sim('SimMech_FMp') % Получение результатов t=tout;

fi=yout(:,1);

fit=yout(:,2);

% Вывод графиков subplot(2,2,1) plot(fi*pi/180,fit*pi/180), grid xlabel('Угол (радиан)'), ylabel('Угл. скорость (рад/с)') set(gca,'FontSize',12), title('Фазовый портрет') subplot(2,2,[3 4]) plot(t,fi), grid xlabel('Время (секунды)'), ylabel('Угол (градусы)') set(gca,'FontSize',12), title('Отклонение от вертикали') subplot(2,2,2) axis('off');

h=text(0.1,1.1,'Маятник (модель SimMechanics)','FontSize',14);

h=text(-0.2,1.0,['Масса (кг) m= ',num2str(m)],'FontSize',12);

h=text(0.5,1.0,['Cмещение ц.м (м) L= ',num2str(l)],'FontSize',12);

h=text(-0.2,0.9,'Матрица моментов инерции относительно центра масс (кг м^2)','FontSize',12);

h=text(0.1,0.8,'| ','FontSize',12);

h=text(0.2,0.8,num2str(J(1,1)),'FontSize',12);

h=text(0.4,0.8,num2str(J(1,2)),'FontSize',12);

h=text(0.6,0.8,num2str(J(1,3)),'FontSize',12);

h=text(0.8,0.8,'| ','FontSize',12);

h=text(-0.1,0.7,'J = ','FontSize',12);

h=text(0.1,0.7,'| ','FontSize',12);

h=text(0.2,0.7,num2str(J(2,1)),'FontSize',12);

h=text(0.4,0.7,num2str(J(2,2)),'FontSize',12);

h=text(0.6,0.7,num2str(J(2,3)),'FontSize',12);

h=text(0.8,0.7,'| ','FontSize',12);

h=text(0.1,0.6,'| ','FontSize',12);

h=text(0.2,0.6,num2str(J(3,1)),'FontSize',12);

h=text(0.4,0.6,num2str(J(3,2)),'FontSize',12);

h=text(0.6,0.6,num2str(J(3,3)),'FontSize',12);

h=text(0.8,0.6,'| ','FontSize',12);

h=text(-0.2,0.5,'Начальный угол (градусы)','FontSize',12);

h=text(0.7,0.5,['\phi0 = ',num2str(fi0*180/pi)],'FontSize',12);

h=text(-0.2,0.4,'Начальная угловая скорость (рад/с)','FontSize',12);

h=text(0.7,0.4,['\phi''0 = ',num2str(fit0)],'FontSize',12);

h=text(-0.2,0.3,'К-нт вязкого трения (Н м с)','FontSize',12);

h=text(0.7,0.3,['ftr = ',num2str(ftr*180/pi)],'FontSize',12);

h=text(-0.2,0.2,'Движение основания:','FontSize',12);

h=text(0.5,0.2,['om = ',num2str(om)],'FontSize',12);

h1=text(-0.2,0.1,' вдоль горизонтали','FontSize',12);

h=text(0.5,0.1,['nxm = ',num2str(nxm)],'FontSize',12);

h=text(0.8,0.1,['epx = ',num2str(epx)],'FontSize',12);

h2=text(-0.2,0.0,' вдоль вертикали','FontSize',12);

h=text(0.5,0.0,['nym = ',num2str(nym)],'FontSize',12);

h=text(0.8,0.0,['epy = ',num2str(epy)],'FontSize',12);

h=text(-0.1,-0.05,'---------------------------------------------------------------------------------------------');

h=text(-0.1,-0.1,'Программа SimMech-FM-upr Лазарев Ю. Ф. 26-04-2004');

h=text(-0.1,-0.15,'---------------------------------------------------------------------------------------------');

Далее приведены два примера работы программы и модели. На рис. 58 изображены результаты работы модели для свободных (без трения и колебаний основания) колебаний маятника с амплитудой, близкой к 180 о.

Рис. 11.58. Свободные колебания маятника с большой амплитудой Рис. 59 представляет результаты моделирования маятника при интенсивной вертикальной вибрации основания и иллюстрирует устойчивость при этих условиях верхнего положения равновесия маятника.

Наконец, на рис. 60 проиллюстрирован выпрямительный эффект маятника при интенсивной горизонтальной вибрации основания.

Рис. 11.59. Устойчивость верхнего положения равновесия маятника Рис. 11.60. Отклонение положения равновесия маятника от вертикали при горизонтальной вибрации основания 11.5. Вопросы для самопроверки 1. Для чего предназначена библиотека SimMechanics?

2. Каковы основные принципы формирования блок-схемы, создаваемой на основе библиотеки SimMechanics? Отличны ли они от принципов создания S-моделей с помощью библиотеки Simulink?

3. Из каких основных разделов состоит библиотека SimMechanics?

4. В чем состоят основные особенности блоков библиотеки SimMechanics по сравнению с обычными S блоками? Каковы преимущества и недостатки такого построения блоков?

5. Какие блоки библиотеки SimMechanics осуществляют связь с блоками библиотеки Simulink и с системой MATLAB?

6. При помощи каких блоков библиотеки SimMechanics осуществляется имитация источников механиче ского движения? имитация обеспечения степеней свободы? имитация наложения связей?

Послесловие Сведения, изложенные в этой книге, являются лишь начальными, необходимыми для усвоения MatLAB как мощного вычислительного средства проектирования и исследования технических устройств. В большинстве случаев их недостаточно для решения специфических задач проектирования.

Более подробные сведения о функциях, процедурах системы MatLAB читатель найдет в специальной справочной литературе, например, приведенной в списке литературы. Там же можно ознакомиться с содержанием некоторых пакетов прикладных программ (ППП), которые поставляются с той или иной версией MatLAB.

Основным же средством углубленного освоения средств и возможностей MatLAB является, во-первых, самостоятельное изучение описаний процедур, которые возникают (на английском языке) в командном окне MatLAB, если использовать команду help с указанием имени процедуры;

во-вторых, изучение текстов самих программ (команда type имя процедуры) и, в-третьих, конечно, самостоятельное составление (написание и воплощение) программ в среде MatLAB с использованием разнообразных ее возможностей.

Список литературы 1. Ануфриев И. Е. Самоучитель MatLab 5.3/6.х. - СПб.: БХВ-Петербург, 2002. - 736 с.

2. Антонью А. Цифровые фильтры: анализ и проектирование. - М.: Радио и связь, 1983. - 320 с.

3. Герман-Галкин С. Г. Компьютерное моделирование полупроводниковых систем в MATLAB 6.0.

Учебное пособие. – СПб.: "Корона принт", 2001. – 320 с.

4. Гультяев А. К. Визуальное моделирование в среде MATLAB: Учебный курс. - СПб.: "ПИТЕР", 2000. - 430 с.

5. Ви В., Уэйс Х., Эрепостатис Э. Управление поворотами космического аппарата вокруг собственной оси с обратной связью по компонентам кватерниона/ Аэрокосмическая техника, № 3, март, 1990.

6. Дьяконов В. Simulink 4. Специальный справочник. - СПб: "Питер", 2002. – 518 с.

7. Дьяконов В. П., Абраменкова И. В. MatLAB 5.0/5.3. Система символьной математики. - M.:

"Нолидж", 1999. – 634 с.

8. Дьяконов В. П., Абраменкова И. В. MatLAB. Обработка сигналов и изображений. Специальный справочник. - СПб.: "Питер", 2002. – 608 с.

9. Дьяконов В., Круглов В. Математические пакеты расширения MatLAB. Специальный справочник.

- СПб.: "Питер", 2001. – 475 с.

10. Дьяконов В., Круглов В. MatLAB. Анализ, идентификация и моделирование систем. Специальный справочник. - СПб.: "Питер", 2002. – 444 с.

11. Краснопрошина А. А., Репникова Н. Б., Ильченко А. А. Современный анализ систем управления с применением MATLAB, Simulink, Control System: Учебн. пособие. - К.: "Корнійчук", 1999. – 144с.

12. Лазарев Ю. Ф. Початки програмування в среде MatLAB: Навч. посібник. - К.: "Корнійчук", 1999. 160с.

13. Лазарев Ю. MatLAB 5.x. – К.: "Ирина" (BHV), 2000. – 384 с.

14. Лазарєв Ю.Ф. Рух несиметричного гіроскопа/ Наукові вісті НТУУ "КПІ", №4(30), 2004, с. 114 - 15. Мартынов Н. Н. Введение в MATLAB 6. – М.: "Кудиц-образ", 2002. – 348 с.

16. Медведев В. С., Потемкин В. Г. Control System Toolbox. MatLAB 5 для студентов. - М.:

"ДИАЛОГ-МИФИ", 1999. – 287 с.

17. Потемкин В. Г. Система MatLAB: Справочное пособие. - M.: "ДИАЛОГ-МИФИ", 1997. - 350 с.

18. Потемкин В. Г. Система инженерных и научных расчетов MATLAB 5.х. Т.1,2. - M.: "ДИАЛОГ МИФИ", 1999. - 350 с.

19. Потемкин В.Г. MatLAB 5 для студентов: Справ. пособие. - M.: "ДИАЛОГ-МИФИ", 1998. - 314 с.

20. Потемкин В. Г., Рудаков П. И. MatLAB 5 для студентов. - 2-е изд. - M.: "ДИАЛОГ-МИФИ", 1999. 448 с.

21. Рудаков П. И., Сафонов В. И. Обработка сигналов и изображений. Matlab 5x. - M.: "ДИАЛОГ МИФИ", 2000. - 414 с.



Pages:     | 1 |   ...   | 9 | 10 ||
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.