- •1 Структурный анализ
- •2 Исследование кинематики механизма аналитическим методом. Метод замкнутых контуров
- •3 Исследование кинематики механизма векторно-графическим методом. Метод планов скоростей и ускорений
- •4 Сравнение результатов двух методов
- •Библиографический список
- •Приложение планы положения, скоростей и ускорений механизма
- •Листинг программы
- •Протокол работы программы
- •План скоростей
- •План ускорений
- •Сравнение результатов двух методов Параметр Аналитика Графика Погрешность
4 Сравнение результатов двух методов
Погрешность в процентах результата, полученного векторно-графическим методом, определяем по формуле
.
(4.1)
В табл.4.1 приведены результаты сравнения.
Таблица 4.1
|
661.79333 |
661.8312 |
-0.0000572 |
|
108.2843 |
108.2522 |
0.0002983 |
. рад/с |
16.7467 |
16.5458 |
0.0121432 |
|
0 |
0 |
0 |
|
2189.62224 |
2190.1318 |
-0.0002326 |
. рад/с2 |
0 |
0 |
0 |
ВЫВОДЫ
Аналитический метод позволяет построить математическую модель кинематики механизма. В качестве входных параметров этой модели приняты:
- закон движения ведущего звена;
- размеры звеньев;
- координаты некоторых точек, например, координаты шарнира ползуна.
Выходными параметрами этой модели являются временные зависимости кинематических величин, характеризующих движение механизма. Получение этих зависимостей позволяет проводить различные исследования движения механизма.
Трудность применения аналитического метода обусловлена способом решения разрешающей системы уравнений. Но при наличие соответствующего программного обеспечения эта трудность несущественна.
Векторно-графический метод позволяет получить решение только для одного положения механизма. В этом состоит его основной недостаток.
Простота и наглядность получения решения являются преимуществами векторно-графического метода. При применении соответствующих программ автоматизированного проектирования точность решения, получаемого данным методом, вполне достаточная.
Сравнение результатов, полученных двумя методами кинематического исследования, показало “почти” их совпадение. В первую очередь это связано с тем, что планы скоростей и ускорений нами строились программой КОМПАС.
Библиографический список
«Кинематический анализ приборных механизмов». Ю.И.Добежа, Н.Д.Кошевой.
г.Харьков «ХАИ», 1985г.
2. «Техническая механика» В.Н.Сапрыкин.
г.Харьков «Торсинг», 2003г.
3.Конспект лекций по курсу «Техническая механика. Кинематика».
Приложение планы положения, скоростей и ускорений механизма
Листинг программы
%
% КИНЕМАТИЧЕСКИЙ АНАЛИЗ ПРИБОРНЫХ МЕХАНИЗМОВ
%
% См. оформление ДЗ в файле ДЗ_2_Кинематика.doc
%
% ИСХОДНЫЕ ДАННЫЕ
%
% Номер кинематической схемы ........................................
N_shema=17;
% Вариант данных ....................................................
N_data=2;
% Геометрические размеры (задают в мм)...............................
BE=40; OB=40;
% Частота вращения ведущего звена (задают в об/мин) .................
n1=80;
pi=3.14;
t=0.3;
%
% 1 СТРУКТУРНЫЙ АНАЛИЗ
% (См. раздел 1 ДЗ)
%
%
% 2 КИНЕМАТИЧЕСКОЕ ИССЛЕДОВАНИЕ МЕХАНИЗМА АНАЛИТИЧЕСКИМ МЕТОДОМ.
% МЕТОД ЗАМКНУТЫХ КОНТУРОВ
% (См. раздел 2 ДЗ)
%
% 2.1 Векторное уравнение замкнутого контура механизма
% 2.2 Проекции векторного уравнения замкнутого контура на координатные оси
% ось x
eq1='a*cos(alpha+omega1*t)-b*cos(betta)-c';
% ось y
eq2='a*sin(alpha+omega1*t)-b*sin(betta)';
% 2.3 Решение системы 2-х уравнений
syms betta b c t OE omega1 alpha
a=sym('sqrt(b^2-c^2*(sin(alpha+omega1*t))^2)-c*cos(alpha+omega1*t)');
beta=sym('2*(alpha+omega1*t)');
disp('Параметр a --->');disp(a);
disp('');
disp('Параметр beta --->');disp(beta);
disp(' ');
% 2.4 Закон движения ведущего звена 1
% Так как по условиям задачи ведущее звено вращается с постоянной угловой
% скоростью, то время одного оборота этого звена будет равно T1 в сек.
T1=60/n1;
disp(['Время одного оборота ведущего звена T1, с --> ', num2str(T1)]);
% Символьное задание закона движения ведущего звена как функции времени
% Omega1=Omega1(t)
omega1=sym(pi*n1/30);
% Функция времени угла поворота Alpha1(t) ведущего звена
alpha=sym(int(omega1,t)+alpha);
disp('Функция времени угла поворота ведущего звена --->');
disp(alpha);
% задание начального положения ведущего звена в рад
alpha=subs(alpha,'alpha',pi/4);
% 2.5 Законы движения ведомых звеньев (звеньев 2 и звеньев 3)
% 2.5.1 Угол поворота звена 3 (BE) - угол beta
% 2.5.2 Угловая скорость поворота звена 3 (BE) - omega3
omega3=diff(beta,t);
disp('Угловая скорость Omega3 --->');
disp(omega3);
% 2.5.3 Угловое ускорение поворота звена 3 (BE) - epsilon3
eps3=diff(omega3,t);
disp('Угловое ускорение Epsilon3 --->');
disp(eps3);
% 2.5.4 Положение т.E2 относительно начала координат xOy
%%%%%%%%%%%%%%%%%%%%%%%%%%%???????????????????????????????????????????
% 2.5.5 Скорость т.E2 относительно звена 2 (ползуна) - VE2E1
VE2E1=diff(a,t);
disp('Скорость VE2E1 --->');
disp(VE2E1);
% 2.5.6 Ускорение т.E2 относительно звена 2 (ползуна) - WE2E1
WE2E1=diff(VE2E1,t);
disp('Ускорение WE2E1 --->');
disp(WE2E1);
% 2.5.7 Графики кинематических величин поворота звена 3(BE)
alpha0=0;
figure
subplot(3,1,1);
beta=subs(beta,'omega1',pi*n1/30);
beta=subs(beta,'b',BE);
beta=subs(beta,'c',OB);
beta=subs(beta,'alpha0',0)
ezplot(inline(180/pi*betta-'z'),[0 1.1*T1 -4 184])
title '\beta=\beta(t)';
xlabel 't, с';
ylabel '\beta, град';
subplot(3,1,2);
omega3=subs(omega3,'b',BE);
omega3=subs(omega3,'c',OB);
omega3=subs(omega3,'alpha',pi/4);
omega3=subs(omega3,'omega1',pi*n1/30);
plot([0 T1],[omega3 omega3]);
title '\omega3=\omega3(t)';
xlabel 't, с';
ylabel '\omega3, рад/с'
subplot(3,1,3);
eps3=subs(eps3,'omega1',pi*n1/30);
eps3=subs(eps3,'b',BE);
eps3=subs(eps3,'c',OB);
eps3=subs(eps3,'alpha',pi/4);
plot([0 T1],[eps3 eps3]);
title '\epsilon3=\epsilon3(t)';
xlabel 't, с';
ylabel '\epsilon3, рад/с^2'
% 2.5.8 Графики кинематических величин движения звена 2(ползуна)
figure
subplot(3,1,1);
a=subs(a,'omega1',pi*n1/30);
a=subs(a,'b',BE);
a=subs(a,'c',OB);
a=subs(a,'alpha',pi/4);
ezplot(inline(a-'z'),[0 T1 0 160]);
title 'a=a(t)';
xlabel 't, с';
ylabel 'a, мм';
subplot(3,1,2);
VE2E1=subs(VE2E1,'omega1',pi*n1/30);
VE2E1=subs(VE2E1,'b',BE);
VE2E1=subs(VE2E1,'c',OB);
VE2E1=subs(VE2E1,'alpha',pi/4);
ezplot(inline(VE2E1-'z'),[0 T1 -800 800]);
title 'VE2E1=VE2E1(t)';
xlabel 't, с'
ylabel 'VE2E1, мм/c';
subplot(3,1,3);
WE2E1=subs(WE2E1,'omega1',pi*n1/30);
WE2E1=subs(WE2E1,'b',BE);
WE2E1=subs(WE2E1,'c',OB);
WE2E1=subs(WE2E1,'alpha',pi/4);
ezplot(inline(WE2E1-'z'),[0 T1 -7000 500]);
title 'WE2E1=WE2E1(t)';
xlabel 't, с';
ylabel 'WE2E1, мм/c^2';
% 2.5.9 Звено 2 - ползун, вращается вместе со звеном 3 и, следовательно,
% угловая скорость omega2=omega3 и угловое ускорение eps2=eps3.
% 2.6 Определение кинематических величин для заданного угла положения
% ведущего звена Alpha
% 2.6.1 Задаем угол Alpha в град
% (угол задается в пределах от 0...360 град):
Alpha=45;
disp('Заданный угол положения ведущего звена 1 - угол Alpha, в град --->');
disp(Alpha);
% Находим момент времени t, когда ведущее звено 1 составит с осью x
% угол Alpha
Alpha=Alpha*pi/180;
fx=sym(alpha-Alpha);
r=solve(fx,t);r=0.0978;
disp('Момент времени t в сек --->');
disp(r);
OE=a;
% 2.6.2 Модули скорости и ускорения точки E звена 1
omega1=sym(pi*n1/30)
VE=abs(subs(omega1,t,r)*OE);
WEn=abs((subs(omega1,t,r))^2*OE);
WE=WEn;
disp('Модуль скорости точки E - VE, в мм/с --->'); disp(VE);
disp('Модуль ускорения точки E - WE, в мм/с^2 --->'); disp(WE)
% 2.6.2 Модули скорости и ускорений точки B звена 3 при его
% вращении относительно точки E
BE=sqrt(OE^2+OB^2-2*OE*OB*cos(pi/2+Alpha));
VBE=abs(subs(omega3,t,r))*BE;
WBEn=sym(subs(omega3,t,r))^2*BE;
WBEt=(subs(eps3,t,r))*BE;
disp('Модуль VBE ,в мм/с --->'); disp(eval(VBE));
disp('Модуль ускорения WBEn, в мм/с^2 --->'); disp(eval(WBEn));
disp('Модуль ускорения WBEt, в мм/с^2 --->'); disp(eval(WBEt));
% 2.6.3 Угловая скорость и угловое ускорение звена 3
disp('Угловая скорость звена 3 - omega3 ,в рад/с --->');
disp(eval(subs(omega3,t,r)));
disp('Угловое ускорение звена 3 - epsilon3 ,в рад/с^2 --->');
disp(eval(subs(eps3,t,r)));
% 2.6.4 Модули скорости и ускорения точки E звена 3
Wc=2*abs(subs(omega1,t,r)*subs(VE2E1,t,r));
VBE=abs(subs(VBE,t,r));
disp('Модуль скорости точки В - VBE ,в мм/с --->'); disp(VBE);
disp('Модуль кориолисова ускорения - Wc ,в мм/с^2 --->'); disp(Wc);
%
% 3 КИНЕМАТИЧЕСКОЕ ИССЛЕДОВАНИЕ МЕХАНИЗМА ВЕКТОРНО-ГРАФИЧЕСКИМ МЕТОДОМ.
% МЕТОД ПЛАНОВ СКОРОСТЕЙ И УСКОРЕНИЙ
% (См. раздел 3 ДЗ)
%
% 3.1 План положения механизма
% См. соответствующий чертеж - файл ТехМех_ДЗ_2_ПЛАНЫ_2012_v10.cdw!!!!!
% 3.2 План скоростей
% См. соответствующий чертеж - файл ТехМех_ДЗ_2_ПЛАНЫ_2012_v10.cdw!!!!!!
t=0.3;
% длины отрезков pa, ab и pb в мм
pa=50;ab=50;pb=70.11;
VE2=omega1*a;
% коэффициент масщтаба kv плана скоростей в (мм/(с*мм))
kv=VE2/pa;
% скорости VE3E2 и VE3B3
VE3E2=kv*ab;
VE3B3=kv*pb;
disp(' ПЛАН СКОРОСТЕЙ')
disp('Масштабный коэффициент kv, мм/(с*мм) --->'); disp(kv);
disp('Модуль скорости точки E2 - VE2, в мм/с --->'); disp(kv*pa);
disp('Модуль скорости точки E3E2 - VE3E2, в мм/с --->'); disp(VE3E2);
disp('Модуль скорости точки E3B3 - VE3B3, в мм/с --->'); disp(VE3B3);
disp('Углая скорость звена 3 - Omega3, в рад/с ---> ');disp(VE3B3/BE);
disp('Omega3 направлена ---> против хода часовой стрелки');
% 3.3 План ускорений
% См. соответствующий чертеж - файлТехМех_ДЗ_2_ПЛАНЫ_2012_v10.cdw!!!!!!!!
% длины отрезков qa, ac, cb, be и qb в мм
qa=50;ac=22.8825;cb=27.63;be=0;qb=31.65;
WE2=(omega1)^2*a;
WE3B3n=(omega3)^2*BE;
% коэффициент масщтаба kw плана ускорений в (мм/(с^2*мм))
kw=WE2/qa;
% ускорения WE3B3t и WE3E2
WE3B3t=kw*cb;
WE3E2=kw*be;
disp(' ПЛАН УСКОРЕНИЙ')
disp('Масштабный коэффициент kw, мм/(с^2*мм) --->');disp(kw);
disp('Модуль ускорения точки E2 - WE2, в мм/с^2 --->'); disp(kw*qa);
disp('Модуль ускорения точки E3n - WE3B3n, в мм/с^2 --->'); disp(kw*qb);
disp('Модуль ускорения точки E3t - WE3B3t, в мм/с^2 --->'); disp(WE3B3t);
disp('Модуль кориолисова ускорения - Wс, в мм/с^2 --->'); disp(kw*ac);
disp('Модуль ускорения точки E3E2 - WE3E2, в мм/с^2 --->'); disp(WE3E2);
disp('Угловое ускорение звена 3 - Epsilon3, в рад/с^2 ---> ');
disp(WE3B3t/BE);
disp('Epsilon3 направлена ---> против хода часовой стрелки');
%
% 4 СРАВНЕНИЕ РЕЗУЛЬТАТОВ ДВУХ МЕТОДОВ
% (См. раздел 4 ДЗ)
%
% 4.1 Скорость VE2E1 в мм/с
delta_VE2E1=((abs(VE2E1)-VE3E2)/abs(VE2E1))*100;
% 4.2 Скорость VE в мм/с
delta_VE=((VE-VE2)/VE)*100;
% 4.3 Угловая скорость Omega3 в рад/с
absOmega3=abs(subs(omega3,t,r));
delta_Omega3=((absOmega3-VE3B3/BE)/absOmega3)*100;
% 4.4 Ускорение WBEt в мм/с^2
delta_WBEt=(abs(WE3B3t)-WBEt);
% 4.5 Ускорение WBEn в мм/с^2
delta_WBEn=((abs(WE3B3n)-WBEn)/abs(WE3B3n))*100;
% 4.6 Cкорость VBE в мм/с
delta_VBE=((abs(VE3B3)-VBE)/abs(VE3B3))*100;
% 4.7 Угловое ускорение Epsilon3 в рад/с^2
absEpsilon3=abs(subs(eps3,t,r));
delta_Epsilon3=((WE3B3t/BE-absEpsilon3)/WE3B3t/BE)*100;
% 4.8 Ускорение WEn в мм/с^2
delta_WE=((abs(WE2)-WE)/abs(WE2)*100);
% 4.9 Ускорение WE2E1 в мм/с^2
delta_WE2E1=((abs(WE2E1)-WE3E2)/abs(WE2E1)*100);
disp(' СРАВНЕНИЕ РЕЗУЛЬТАТОВ ДВУХ МЕТОДОВ')
disp('Параметр Аналитика Графика Погрешность');
out1=eval(VE2E1);out2=eval(sym(VE3E2));out3=eval(delta_VE2E1);
disp(['VE2E1 ,мм/с ',num2str(out1),' ',num2str(out2),...
' ',num2str(out3)]);
out1=eval(VE);out2=eval(sym(VE2));out3=eval(delta_VE);
disp(['VE ,мм/с ',...
num2str(out1),' ',num2str(out2),' ',...
num2str(out3)]);
out1=eval(absOmega3);out2=eval(sym(VE3B3/BE));out3=eval(delta_Omega3);
disp(['Omega3 ,рад/с ',num2str(out1),' ',...
num2str(out2),' ',num2str(out3)]);
out1=eval(WBEt);out2=eval(sym(WE3B3t));out3=eval(delta_WBEt);
disp(['WBEt ,мм/с^2 ',num2str(out1),' ',...
num2str(out2),' ',num2str(out3)]);
out1=eval(subs(abs(WE3B3n),t,r));
out2=eval(sym(WBEn));
out3=eval(subs(delta_WBEn,t,r));
disp(['WBEn ,мм/с^2 ',num2str(out1),' ',...
num2str(out2),' ',num2str(out3)]);
out1=eval(VBE); out2=eval(VE3B3);
out3=eval(delta_VBE);
disp(['VBE ,мм/с ',num2str(out1),' ',...
num2str(out2),' ',num2str(out3)]);
out1=eval(subs(eps3,t,r));out2=eval(sym(WE3B3t/BE));
out3=eval(delta_Epsilon3);
disp(['Epsilon3 ,рад/с^2 ',num2str(out1),' ',...
num2str(out2),' ',num2str(out3)]);
out1=eval(subs(abs(WE2),t,r));
out2=eval(sym(WE));
out3=eval(subs(delta_WE,t,r));
disp(['WE ,мм/с^2 ',num2str(out1),' ',...
num2str(out2),' ',num2str(out3)]);
out1=eval(subs(abs(WE2E1),t,r));
out2=eval(sym(WE3E2));
out3=eval(subs(delta_WE2E1,t,r));
disp(['WE2E1 ,мм/с^2 ',num2str(out1),' ',...
num2str(out2),' ',num2str(out3)]);
