Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_ЛБР_ММ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

2. Задачі.

2.1. Визначити жорсткість елементів (бойка, інструмента, масиву) за моделлю Гука та розрахувати зведену жорсткість.

2.2. Визначити маси бойка та інструмента, розрахувати зведену масу (еквівалентну масу).

2.3. Звести до еквівалентних зовнішні навантаження, визначити дисипацію, початкову фазу коливального процесу амплітуду і частоту навантаження в системі.

2.4. Розробити програму мовою С++ та реалізувати її на ПК.

2.5. Зв’язати програму з програмою першого лабораторного практикума (зв’язок за параметрами).

2.6. Виконати розрахунки вихідних параметрів в пакеті MathCAD, порівняти результати з розрахунками на ПК.

3. Інформаційне та технічне забезпечення.

3.1. Конспект лекцій з курсу “Математичне моделювання електромеханічних систем” .

3.2. Конспект лекцій з курсу “Обчислювальна техніка та програмування”

3.3. Методичні вказівки з курсу “Математичне моделювання електромеханічних систем”.

3.4. ЕОМ з установленими пакетами MathCad та Builder C++.

3.5. Демонстраційна програма до лабораторних робіт з курсу.

4. Заходи безпеки при виконанні лабораторної роботи

Лабораторна робота виконується в комп'ютерному класі. Інструктаж щодо виконання лабораторних робіт проводиться на першому занятті і фіксується в журналі техніки безпеки.

5. Порядок виконання лабораторної роботи

5.1. В пакеті MathCAD розрахувати параметри вказані в задачах.

5.2. Продовжити розробляти проект в Builder C++, з використанням даних введених в лабораторній роботі №1.

Приклад програми – аналога наведено в додатку А.

6. Оформлення звіту та порядок його подання

Якщо лабораторна робота виконана на комп’ютері і перевірена викладачем, наступний етап - підготовка звіту та його захист. Звіт оформляється згідно вимог щодо оформлення звітів.

Захист лабораторної роботи відбувається на наступному занятті.

Звіт складається з наступних розділів:

1. Назва лабораторної роботи.

2. Мета лабораторної роботи.

3. Задачі лабораторної роботи.

4. Теоретичні відомості до виконання лабораторної роботи.

5. Інформаційне та технічне забезпечення.

6. Завдання на виконання лабораторної роботи.

7. Роздрукований листинг програми.

8. Результат роботи програми (інтерфейс, роздрукування зображення дисплею).

Висновки.

7. Контрольні запитання для підготовки до лабораторної роботи.

1. Наведіть схему формування математичної моделі.

2. Вкажіть основні математичні моделі механічних систем.

3. Обгрунтуйте основні параметри моделі Гука.

4. Наведіть характеристики моделі Ньютона.

5. Обгрунтуйте основні параметри моделі Максвела.

6. Наведіть характеристики моделі Кельвіна та її математичний аналог.

7. Наведіть приклади комбінованих моделей.

8. Сформулюйте принципи зведення параметрів динамічної системи до еквівалентних.

9. Принцип зведення мас динамічної системи до еквівалентної маси.

10. Обгрунтуйте поняття "дисипація енергії".

11. Як визначається сила дисипативного опору в системі з одним ступенем вільності?

12. Наведіть характеристики динамічного опору: квадратичного, лінійного, кулонового.

13. В чому полягає дисипація енергії за допомогою гідравлічного демпфера та як визначається дисипативна сила опору?

14. Поясніть явище дисипації енергії за допомогою фрикційного демпфера та визначення сили сухого тертя.

15. В чому полягає дисипація енергії за допомогою електродинамічного демпфера та як визначається коефіцієнт динамічного опору?

16. Обгрунтуйте явище динамічного гістерезису та його вплив на дисипацію енергії.

17. Наведіть характеристики моделей тіл, що деформуються: пружнов'язкі; пружнопластичні.

18. Поясніть суть явища конструкційного демпфірування при періодичній деформації: розтягнення-стиснення, кручення, згинання.

19. Яким чином оформлюється компонента Memo – поле?

20. Яким чином оформлюється компонента Chat – виведення графіка?

Додаток А. Листінг програми до виконання лабораторної роботи та відображення

її результатів

Unit3.cpp

#include <vcl.h>

#pragma hdrstop

#include "Unit3.h"

//#include "Unit1.h"

#include "Math.h"

#include <stdio.h>

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm3 *Form3;

//---------------------------------------------------------------------------

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm3::Button2Click(TObject *Sender)

{

Memo1->Clear();

Memo2->Clear();

Memo3->Clear();

Memo4->Clear();

int i=0;

double E=2.1*pow(10,11),Cm=4900000,p=7800,vb=10,y1,y2;

// Визначення жорсткості

Memo1->Lines->Append("Визначення жорсткості елементів:");

y1=(E*M_PI*db5*db5);

y2=(4*lb5);

C1=y1/y2;

//C1=(E*M_PI*db5*db5)/(4*lb5);

C2=(E*M_PI*db4*db4)/(4*lb4);

C4=(E*M_PI*db2*db2)/(4*lb2);

C5=(E*M_PI*db1*db1)/(4*lb1);

d1=(4*db1)/6;

C6=(E*M_PI*d1*d1)/(4*li3);

Czvb=1/(1/C1+1/C2+1/C4+1/C5+1/C6);

Memo1->Lines->Append("C1="+FloatToStr(C1));

Memo1->Lines->Append("C2="+FloatToStr(C2));

Memo1->Lines->Append("C4="+FloatToStr(C4));

Memo1->Lines->Append("C5="+FloatToStr(C5));

Memo1->Lines->Append("C6="+FloatToStr(C6));

Memo1->Lines->Append("Зведена жорсткість бойка:");

Memo1->Lines->Append("Czv="+FloatToStr(Czvb));

Memo1->Lines->Append("Визначення жорсткості інструмента:");

C7=(E*M_PI*di2*di2)/(4*li2);

R7=di1+((di2-di1)/2);

C8=(E*M_PI*R7*R7)/(4*li1);

d2=(4*di1)/6;

C9=(E*M_PI*d2*d2)/(4*li3);

Czvi=1/(1/C7+1/C8+1/C9);

Memo1->Lines->Append("C7="+FloatToStr(C7));

Memo1->Lines->Append("C8="+FloatToStr(C8));

Memo1->Lines->Append("C9="+FloatToStr(C9));

Memo1->Lines->Append("Зведена жорсткість інструменту:");

Memo1->Lines->Append("Czv="+FloatToStr(Czvi));

Memo1->Lines->Append("Жорсткість масиву приймаємо С=4900000 Н/м");

Memo1->Lines->Append("Зведена жорсткість всієї системи:");

Czvs=1/(1/Czvb+1/Czvi+1/Cm);

Memo1->Lines->Append("Czv="+FloatToStr(Czvs));

// Визначення маси

Memo2->Lines->Append("Визначення маси елементів:");

m1=M_PI*p*lb5*db5*db5/4;

m2=M_PI*p*lb4*db4*db4/4;

m3=M_PI*p*lb2*db2*db2/4;

m4=M_PI*p*lb1*db1*db1/4;

R5=((db1/2)*(db1/2)+li3*li3)/(2*li3);

m5=M_PI*p*li3*li3*(R5-(li3/3));

mb=m1+m2+m3+m4+m5;

Memo2->Lines->Append("m1="+FloatToStrF(m1,ffFixed,8,5));

Memo2->Lines->Append("m2="+FloatToStrF(m2,ffFixed,8,5));

Memo2->Lines->Append("m3="+FloatToStrF(m3,ffFixed,8,5));

Memo2->Lines->Append("m4="+FloatToStrF(m4,ffFixed,8,5));

Memo2->Lines->Append("m5="+FloatToStrF(m5,ffFixed,8,5));

Memo2->Lines->Append("Загальна маса бойка:");

Memo2->Lines->Append("mb="+FloatToStrF(mb,ffFixed,8,5));

Memo2->Lines->Append("Визначення маси інструменту:");

m6=M_PI*p*li2*di2*di2/4;

n2=(M_PI*li1*p)/3;

n1=((di2*di2)/4+(di2*di1)/4+(di1*di1)/4);

m7=n1*n2;

R6=((di1/2)*(di1/2)+(li3*li3))/(2*li3);

m8=M_PI*p*li3*li3*(R6-(li3/3));

Memo2->Lines->Append("m6="+FloatToStrF(m6,ffFixed,8,5));

Memo2->Lines->Append("m7="+FloatToStrF(m7,ffFixed,8,5));

Memo2->Lines->Append("m8="+FloatToStrF(m8,ffFixed,8,5));

Memo2->Lines->Append("Загальна маса інструменту:");

mi=m7+m8+m6;

Memo2->Lines->Append("mi="+FloatToStrF(mi,ffFixed,8,5));

Memo2->Lines->Append("Визначення зведеної маси системи:");

ms=mb+mi/3;

Memo2->Lines->Append("ms="+FloatToStrF(ms,ffFixed,8,5));

// Визначення дисипації

Memo3->Lines->Append("Визначення дисипації:");

k2[0]=0;

w=sqrt(Czvs/ms);

Memo3->Lines->Append("w="+FloatToStrF(w,ffFixed,8,5));

Memo3->Lines->Append("-----------------------------");

for(i=0; i<6; i++)

{

k1[i]=sqrt((w*w)-(k2[i]*k2[i]));

Tw[i]=1/k1[i];

k2[i+1]=0.18232/Tw[i];

Memo3->Lines->Append("k1["+IntToStr(i)+"]="+FloatToStrF(k1[i],ffFixed,8,5));

Memo3->Lines->Append("Tw["+IntToStr(i)+"]="+FloatToStrF(Tw[i],ffFixed,8,5));

Memo3->Lines->Append("k2["+IntToStr(i)+"]="+FloatToStrF(k2[i+1],ffFixed,8,5));

Memo3->Lines->Append("-----------------------------");

}

// Зовнішні навантаження

Memo4->Lines->Append("Зовнішні навантаження");

Memo4->Lines->Append("1 умова - реалізація максимального удару:");

Ek=mb*vb*vb/2;

Xp1=sqrt((2*Ek)/Czvs);

Memo4->Lines->Append("Ek="+FloatToStrF(Ek,ffFixed,9,5));

Memo4->Lines->Append("Xp1="+FloatToStrF(Xp1,ffFixed,9,5));

Memo4->Lines->Append("2 умова - за умови забезпечення міцності одного найслабшого елементу:");

Pp=Fmin*sigma_d;

Xp2=Pp/Czvs;

Memo4->Lines->Append("Xp2="+FloatToStrF(Xp2,ffFixed,9,5));

if (Xp1<Xp2)

Xp=Xp1;

else

Xp=Xp2;

Memo4->Lines->Append("Bибираємо менше значення Xp:");

Memo4->Lines->Append("Xp="+FloatToStrF(Xp,ffFixed,9,5));

Memo4->Lines->Append("Визначаємо амплітуду зовнішніх коливань:");

A=(Czvs*Xp)/ms;

Memo4->Lines->Append("A="+FloatToStrF(A,ffFixed,9,5));

Memo4->Lines->Append("Визначаємо частоту зовнішніх навантажень:");

w1=2*M_PI*Nud;

Memo4->Lines->Append("w1="+FloatToStrF(w1,ffFixed,9,5));

Ngarm=k1[0]/w1;

Memo4->Lines->Append("Кінцеве розрахункове значення частоти зовнішніх навантажень:");

w1p=6*w1;

//w1p=Ngarm*w1;

Memo4->Lines->Append("w1p="+FloatToStrF(w1p,ffFixed,9,5));

i=1;

while (i<=5)

{

Series1->Add(k2[i],i,clRed);

i=i+1;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm3::N1Click(TObject *Sender)

{

Form3->Visible=false;

Form4->Visible=true;

}

//---------------------------------------------------------------------------

void __fastcall TForm3::N2Click(TObject *Sender)

{

Form3->Visible=false;

Form2->Visible=true;

}

//---------------------------------------------------------------------------

void __fastcall TForm3::N3Click(TObject *Sender)

{

exit(1);

}

//---------------------------------------------------------------------------

Unit3.h

#ifndef Unit3H

#define Unit3H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <Menus.hpp>

#include <Chart.hpp>

#include <ExtCtrls.hpp>

#include <Series.hpp>

#include <TeEngine.hpp>

#include <TeeProcs.hpp>

//---------------------------------------------------------------------------

class TForm3 : public TForm

{

__published: // IDE-managed Components

TMemo *Memo1;

TMemo *Memo2;

TMainMenu *MainMenu1;

TMenuItem *Count1;

TMemo *Memo3;

TMemo *Memo4;

TChart *Chart1;

TLineSeries *Series1;

TMenuItem *N1;

TMenuItem *N2;

TMenuItem *N3;

void __fastcall Button2Click(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

void __fastcall N2Click(TObject *Sender);

void __fastcall N3Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TForm3(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TForm3 *Form3,*Form1,*Form4,*Form2 ;

//---------------------------------------------------------------------------

#endif

extern float lb1,lb2,lb3,lb4,lb5,db1,db2,db3,db4,db5,li1,li2,li3,di1,di2;

float d1,d2,x=1,

C1,C2,C3,C4,C5,C6,C7,C8,C9,R7,R5,R6,Czvi,Czvb,Czvs,

m1,m2,m3,m4,m5,m6,m7,m8,mb,n1,n2,mi,ms,

w,k1[5],k2[6],Tw[5],

Ek,Xp,Xp1,Xp2,sigma_d=450000000,Fmin=0.014,Pp,A,Nud=5,w1,w1p,Ngarm;

int i=1;

Рисунок А.1 – Виведення значень основних параметрів системи

Лабораторна робота №3. Дослідження перехідного процесу коливань одномасової моделі

1. Мета: дослідити перехідні процеси коливань одномасової моделі на основі інтегрування диференційного рівняння 2-го порядку з постійними коефіцієнтами та спеціальною правою частиною.