Professional Documents
Culture Documents
clc;
clear;
close all;
OA=0.32;
OF=0.5;
FC=0.56;
CD=0.724;
h=0.56;
phi=pi/6;
beta=(4*pi)/5;
xO=0;
yO=0;
xA=-OA*cos(phi);
yA=-OA*sin(phi);
xF=OF;
yF=0;
1
phi2=atan((yF-yA)/(xF-xA));
phi3=pi-(beta-phi2);
xC=xF+FC*cos(phi3);
yC=yF+FC*sin(phi3);
yD=h;
ravD='(yD-yC)^2+(xC-xD)^2=CD^2';
solD=solve(ravD,'xD');
xD1=eval(solD(1));
xD2=eval(solD(2));
if xD1<xF xD=xD1;
else xD=xD2;
end
2
2. Моделирање на механизмот во Simulink
Откако тое е направено го извлекуваме блокот Machine Environment, кој што може да го
најдеме под библиотеката Simscape, односно подбиблиотеката Bodies,
Simscape>>SimMechanics>>First Generation>>Bodies.
3
2.1 Конфигурација на Machine Environment блокот
Со двоен клик над блокот Machine Environment се отвара прозор за негова конфигурација.
Под Gravity vector ставаме вредности [0 -9.81 0] што означува дека земјиното забрзување
ќе дејствува во насока на y-оската. Под Analysis mode бираме Forward dynamics, кое се
користи за модели од било каква топологија, за разлика од Inverse Dynamics или
Kinematics кои се користат само за отворени, односно затворени топологии.
4
Слика 4. Конфигурација на Machine Environment блокот
5
Со двоен клик над него, се отвара прозор за негова конфигурација. Тука е потребно да
штиклираме Show Machine Environment port, со цел да можеме блокот Ground да го
поврземе со блокот Machine Environment. Под Location задаваме вредности [0,0,0].
Кликаме два пати врз него за да вршиме негова конфигурација. Под Number of
sensor/actuator ports внесуваме 1. Ова служи за отварање на 1 новa портa на блокот
Revolute, на коja портa покасно ќе поврзуваме актуатор .
Понатаму додаваме блок Body, кој што може да се најде на следен начин:
Simscape>>SimMechanics>>First Generation>>Bodies.
6
Слика 7. Конфигурација на Body блокот
Следно додаваме уште еден Revolute блок преку кој се дефинира кинематскиот пар во
точката А. Неговата конфигурација е скоро иста со таа од претходниот ротирен
кинематски пар, со тоа што тука нема потреба да додаваме нови порти на веќе
постоечките две порти.
7
Слика 8. Конфигурација на Revolute1 блокот
Наредно додаваме уште еден Body блок. Преку овој блок дефинираме само една точка
преку која се претставува лизгачот во точката А.
8
2.7 Конфигурација на Prismatic блокот
Во овој блок отвараме уште една дополнителна порта, со тоа што под Number of
sensor/actuator ports пишуваме 1. Ова ќе служи понатаму за прикачување сензор на овој
кинематски пар.
9
Слика 11 Конфигурација на Body2 блокот
10
2.10 Конфигурација на Ground2 блокот
11
2.12 Конфигурација на Body3 блокот
Преку Body3 блокот се дефинира стапот FC. Преку CS1 е претставена точката F од
стапот, додека со CS2 е претставена точката C од стапот. На овој блок додаваме уште
еден дополнителен координатен систем кој ќе служи за поврзување со сензор.
Конфигурација на овој блок се прави на ист начин како и другите ротирни кинематски
парови. Ротацијата се врши околу z оската.
12
2.14 Конфигурација на Body4 блокот
Преку овој блок се дефинира последниот стап на механизмот, т.е стапот CD. Како и
претходно, преку CS1 и CS2 ги дефинираме крајните точки на стапот. Додаваме
дополнителен координатен систем на кој ќе се поврзе сензорот за мерење на брзина и
забрзување во точката D.
13
2.16 Конфигурација на Body5 блокот
Слично како во Body1 блокот и тука се дефинира точка која претставува лизгач во точката
D.
14
2.18 Конфигурација на Ground1 блокот
3 .Задвижување на механизмот
15
Слика 22. Имитационен модел на мотор
Како што може да се примети од самото име, овој блок служи за да се актуираат
кинематски парови. Со негова помош, кинематските парови можат да се актуираат преку
генерализирана сила, или преку задавање движење на кинематските парови. Во нашиов
случај ние задаваме движење на кинематските парови, со цел понатаму да можеме да
вршиме кинематска анализа на механизмот, односно да измериме брзини и забрзувања
на поединечните членови од механизмот.
Со двоен клик над Joint Actuator блокот го отвараме неговиот конфигурационен прозор кој
што изгледа како на сликата подоле:
16
Под делот Actuate with имаме две опции и тоа: Generalized Forces и Motion. Како што веќе
напоменавме, ние ја користиме опцијата Motion.
Целта на користење на овој блок е да се спојот сите три влезни сигнали, и да можат како
една целина да се внесат во влезната порта на Joint Actuator блокот.
Под Number of inputs внесуваме 3, од причина што имаме 3 влезни сигнали. Со тоа е
завршено конфигурацијата на овој блок.
17
Слика 25. Конфигураицја на Gain блокот
На овој начин сме ја дефинирале аголната брзина која му се задава на погонскиот член.
Следува уште да ги определиме другите два влезни сигнали во актуатор блокот, и тоа
аголната величина, и аголното забрзување.
18
Моделот на механизмот со додаден актуатор изгледа вака:
19
штиклираме само Velocity и Acceleration, и ги бираме единиците во кои посакуваме да ни
бидат прикажани овие измерени величини. Со цел од овој блок да добиеме 2 посебни
излезни сигнали ја де-штиклираме опцијата Output selected parameters as one signal.
20
Излезните сигнали од Body Sensor блокот, т.е брзина и забрзување, претставуваат
влезни сигнали во овој подсистем. Во горниот дел од овој систем, сигналот брзина се
расчленува на три сигнали, и тоа по x, y и z оска. Разчленување на сигналот се
постигнува преку Demux блокот кој што може да се најде на истото место каде и Mux
блокот, и се конфигурира на ист начин како што беше конфигуриран Mux блокот. Откао се
прави расчленување на сигналот по трите оски, тие сигнали се квадрираат, и потоа се
собираат. Од таа сума бараме квадратен корен, и на крај добиваме вредност за брзината
на точката која што ја измериме. Целта на оваа постапка е да се добие вкупната брзина,
бидејќи со самото поставување на сензор блок се добива брзината по координатите x, y и
z, но не и вкупната брзина во точката од интерес.
Под Number of axes внесуваме 2, бидејќи имаме 2 сигнали кои сакаме да ги прикажуваме.
На овој начин Scope блокот ќе прикаже два посебни графови за двете сигнали.
21
Моделот на механизмот со додадените Body Sensor системи изгледа како на сликата
подоле:
Исто како и кај Body Sensor блокот, и тука штиклираме Velocity и Аcceleration и ги бираме
нивните соодветни едници.
22
Слика 34. Конфигурација на Joint Sensor блокот
Бидејќи вториот член на овој лостов механизам врши сложено движење, за точката А на
механизмот треба да определиме уште Кориолисово забрзување со цел кинематската
анализа, односно определувањето на забрзувањата да биде целосно. Кориолисовото
забрзување се пресметува праку фомулата , каде е преноснота аголна
брзина, односно аголната брзина на стапот AF, додека е релативната брзина на
лизгачот кој се лизга по стапот AF кој што врши ротација. Релативната брзина , сме ја
измериле со додавање на Joint Sensor блокот на транслаторниот кинематски пар означен
со Prismatic.
23
Со додавање на овие сензори на соодветните кинематски парови, завршено е
моделирањето на механизмот во Simulink. Во продолжение ќе го прикажеме финалниот
модел на механизмот и графовите со измерени брзини и забрзувања.
24
5.Резултати од кинематската анализа – определување на брзини и
забрзувања
25
Слика 39. Брзина и забрзување на транслаторниот кинематички пар во точка А
26
Слика 41. Брзина и забрзување на точката C
27
Слика 43. Брзина и забрзувањена транслаторниот пар во точката D
28