СПИСОК ЛИТЕРАТУРЫ
1. Розенберг Ю.А., Тахман С.И. Силы резания и методы их определения/ Учебное пособие: Ч.1. Общие положения - Курган, 1995.-130 с.
2. Тахман С.И., Евтодьев Д.С. Исследования формы и размеров срезаемых слоёв при обработке зубчатых колёс зуборезными долбяками / Вестник КГУ.- Серия «Технические науки». - Вып.4.- Курган: Изд-во КГУ, 2008.- № 3(13).- С. 98-99.
3. Дьяконов В.П. МАТИСАЭ 8/2000: Специальный справочник - СПб.: Питер, 2001. - 592 с.
□ Авторы статьи:
Тахман Симон Иосифович
- канд.техн.наук, доц. каф. "Металлорежущие станки и инструменты" Курганского государственного университета Тел. 8-(3522) 23-04-05
Евтодьев Денис Сергеевич
- аспирант каф. "Металлорежущие станки и инструменты" Курганского государственного университета
e-mail: [email protected]
УДК 621.01:681.3 А.В.Степанов
О СПЕЦИФИЦИРОВАНИИ В ЗАДАЧАХ СТРУКТУРНОГО СИНТЕЗА МЕХАНИЗМОВ
Структурный синтез является одним из этапов проектирования механизмов по заданным входным и выходным условиям. Задачей структурного синтеза является разработка структурной схемы будущего механизма по заданной подвижности, с учетом желаемых структурных, кинематических и динамических свойств [1].
Попытки создания математического аппарата, позволяющего корректно осуществлять синтез структур механизмов, были предприняты еще в семидесятых годах девятнадцатого века. У истоков русских работ по теории механизмов и машин лежат научные труды П.Л. Чебышёва, в которых он впервые в мировой литературе для решения задач по теории механизмов применил математические методы и заложил основы аналитических методов синтеза механизмов [2].
Математическую зависимость, связывающую между собой параметры механизма, называют структурной формулой. В таблице приведены структурные формулы различных ученых в хронологическом порядке их появления и совершенствования.
Приведенные в таблице формулы описывают широкое многообразие структур, отличающихся между собой номенклатурой и числом звеньев, числом и классами применяемых кинематических пар, а также топологией или способом соединения звеньев между собой. Они связывают одной функциональной зависимостью четыре различных параметра и позволяют, как правило, находить общее число кинематических пар для заданного общего числа звеньев и подвижности системы. Решение задач структурного синтеза для всего многообразия наборов звеньев различной сложно-
сти, классов применяемых кинематических пар и топологий с использованием структурных формул представляется делом в высшей степени сложным и даже бесперспективным. Упомянутое выше широкое многообразие структур, описываемых структурными формулами, необходимо каким-то образом специфицировать или разбивать на подмножества, отличающиеся между собой какими-то характерными признаками. Поскольку каждая из структур адекватно отображается графическими образами звеньев, соединенных между собой в цепь посредством кинематических пар, специфицировать можно, в коечном итоге, кинематические цепи.
Начало проведению такого рода спецификации было положено академиком Артоболевским И.И. В зависимости от числа общих связей т, накладываемых на кинематическую цепь, академиком И. И. Артоболевским было предложено относить все цепи к одному из пяти семейств: нулевому, первому, второму, третьему и четвертому. Если на кинематическую цепь не накладывается никаких общих связей, то она относится к нулевому семейству. Формула подвижности для цепей нулевого семейства записывается в виде (4) при подстановке в формулу (5) значения т равного нулю.
Первое семейство описывается формулой, в которой коэффициенты всех членов (4) уменьшаются на единицу
Щ= 5п-4р5 -3р4 -2р3 -р2. (6)
Для второго семейства коэффициенты членов формулы (1) уменьшаются на два
Ж, = 4 п - 3 Р5 - 2 Р4 - Р3. (7)
Для третьего семейства - на три
Ж3 = 3 п - 2 р5 - р4 . (8)
Для цепей четвертого семейства формула подвижности принимает вид
Ж4 = 2п - р5. (9)
Таким образом, название семейства (по Артоболевскому) определяется значением параметра т или числом ограничений, наложенных на движения всего набора звеньев механизма. Если ограничений нет, то это - нулевое семейство, если ограничение одно, то - первое и т.д. Нетрудно
семейства цепей могут существовать такие, которые будут отличаться совокупностью классов применяемых кинематических пар. В связи с этим любое из семейств может представляться, в свою очередь, как некоторое множество, состоящее из подмножеств - подсемейств. Впервые о возможном делении механизмов на подсемейства было высказано профессором Дворниковым Л.Т. в работе [4].
Логику получения формул подвижности и нумерации подсемейств рассмотрим на примере ну-
Таблица. Развитие математического аппарата, описывающего структуру механизмов
Структурная формула Структура зависимости
П.Л. Чебышёва 3 п - 2(р + V ) = 1 или Ж = 3 п - 2 р5 (1)
П.О. Сомова N - ( м-1)( н +1) = 2 или Ж = 6 п - 5 р5 (2)
Х.И. Гохмана Ж = 6 п - s (3)
А.П. Малышева Ж = 6 п - 5 р5 - 4 р4 - 3 р3 - 2 р2 - р1 = 6 п - ^ к рк (4)
В.В. Добровольского Ж II 6 1 3 п і ( к ! 3 зч-
заметить, что специфицирование произведено по числу общих связей, наложенных на систему.
Еще академик И.И. Артоболевский в [3] высказал мысль о том, что структурная классификация кинематических цепей не заканчивается делением их на семейства и “представляет собой первый этап структурной классификации современных механизмов” ([3] стр. 92).
Можно предположить, что внутри каждого
левого семейства. Преобразуем формулу (4) к виду
Ж0 = 6п - (5 р5 + 4 р4 + 3 р3 + 2 р2 + д). (10)
На многочлен в скобках наложим маску, содержащую пять окон по количеству его одночленов. Каждое из окон маски может быть открытым или закрытым. Если открытое состояние окна принять за нулевое состояние, а закрытое - за
а)
7' Расчет параметров структуры механизма
О программе Начать работу Выход
Исходные данные
подвижность системы \М= |ї '
т= |о"3]
число общих наложенных на систему связей
количество подвижных звеньев
п— [б-
классы кинематических пар, разрешенных к применению
р5
р4
рЗ
Р2
Р1
количество вершин наиболее сложного звена
|5“3
поиск вариантов
б)
7' Расчет параметров структуры механизма
О программе Начать работу Выход
Исходные данные
подвижность системы
число общих наложенных на систему связей
количество подвижных звеньев
«-ІГЗ
1». |ГТ] п= [б-
классы кинематических пар, разрешенных к применению
р5
р4
количество вершин наиболее сложного звена
га
поиск вариантов
Рис. 1. Изменение интерфейсной части окна приложенияпри выборе семейства и подсемейства
единичное, то содержимое разрядов маски представляет собой пятиразрядное двоичное число. Это число может быть принято в качестве номера подсемейства.
В исходном состоянии все окна маски открыты, что соответствует отсутствию ограничений на классы применяемых кинематических пар и в разрядах маски записан нуль.
Представляется вполне логичным называть такое подсемейство - нулевым. В соответствии с этим формула (10) соответствует нулевому подсемейству нулевого семейства.
Закрывая одно или несколько окон маски можно получать различные варианты формулы (10), соответствующие разным подсемействам рассматриваемого семейства.
Число подсемейств в каждом из семейств может быть получено по формуле 25 т -1. Тогда число различных подсемейств внутри всех пяти семейств будет составлять
(25 -1) + (24 -1) + (23 -1) + (22 -1) + (21 -1) или 57; из них: 31 - в нулевом семействе, 15 - в первом, 7 - во втором, 3 - в третьем и одно в четвертом.
Таким образом, разбиение механизмов на подсемейства позволяет специфицировать их по совокупности классов кинематических пар, применяемых для соединения звеньев между собой. Более подробно проведение спецификации по классам применяемых кинематических пар описано в [5].
Дальнейшее специфицирование может быть осуществлено наложением ограничений на сложность применяемых звеньев и использования понятия т-угольника, предложенного профессором Л.Т. Дворниковым [6].
Введение понятия т - угольника и переменной пг позволило представить общее число звеньев кинематической цепи в виде суммы звеньев различной сложности
п = 1 + пТ-1 +... + п +... + п2 + п1, (11)
в которой индекс у одночлена соответствует сложности звена. В свою очередь, сложность звена определяет число кинематических пар привносимых им в цепь. На этом основании может быть получено общее число кинематических пар в виде другой суммы
m+1
Е Pkh(k — m) =
к=5 = т + (т — 1 )nT-i + ...2n2 + ni
(12)
Объединив уравнения (11) и (12) в систему, и добавив к ним формулу подвижности Добровольского В.В., профессор Дворников Л.Т. получил изящную систему уравнений, позволяющую определять номенклатуру и числа звеньев различной сложности, а также числа кинематических пар различных классов [2].
W+1
^рк ■ к(к - т) - т + (т-1)п1_1 + ... + 2п2 + ?г1 н = \ +^z_i + + ... + п2 + п1
1
W = (6 - т) п - у1, (к - т)Рь к(к-т)
_ У-5
При небольшом числе звеньев механизма решения системы можно получить вручную путем различных символьных преобразований, а для автоматизации поиска целочисленных решений системы была разработана поисковая процедура и компьютерная программа [7].
Описанное выше специфицирование структур позволило по иному взглянуть на проблему синтеза структур механизмов, намного упростить ее и создать новое поколение компьютерных программ, в которых расчет параметров кинематической цепи производится с учетом задаваемого семейства и подсемейства с наложением ограничений на сложность применяемых звеньев. Интерфейс такого рода программ должен гибко изменяться в зависимости от устанавливаемых параметров. На рисунках 1а и 1б показано, для примера, каким образом изменяется интерфейсная часть приложения, адаптированного к описанной ранее спецификации. При выбранном значении параметра m программа автоматически формирует набор классов кинематических пар. Запрещение на использование кинематических пар конкретных классов осуществляется щелчком мыши. В основу работы программ была положена поисковая процедура, описанная ранее в [7], дополненная блоками управления интерфейсной частью, формирования коэффициентов структурной формулы и состояний разрядов маски. В процессе выполнения поиска целочисленных решений системы работает блок, отфильтровывающий возможные варианты решения системы, в которых отсутствуют некоторые из классов кинематических пар, выбранных для использования в будущей кинематической цепи. Необходимо отметить тот факт, что не для всех полученных целочисленных решений могут быть получены кинематические цепи, соответствующие работоспособным механизмам. Отбраковка неприемлемых решений должна производиться на втором этапе синтеза, моделирующем процесс формирования различных вариантов соединения звеньев между собой [8].
Приложение разработано в объектно-
ориентированной системе программирования DELPHI.
Для его практического использования ниже приводится текст компьютерной программы в виде исходного кода. unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Menus, Buttons, jpeg; type
TForml = class(TForm) pll: TPanel; pl2: TPanel; pl3: TPanel; pl4: TPanel;
MainMenul: TMainMenu; pl3ed1: TEdit; pl3CB1: TComboBox; pl3lb1: TLabel;
Buttonl: TButton; pl3CB3: TComboBox; pl3lb4: TLabel; pl3lb5: TLabel; pl3lb6: TLabel; pl3lb2: TLabel; pl4lb1: TLabel; pl4lb2: TLabel; pl4lb3: TLabel; pl4lb4: TLabel; pl4lb5: TLabel; pl4lb6: TLabel; pl4lb7: TLabel; pl4lb8: TLabel; pl0: TPanel;
N1: TMenultem;
N2: TMenultem;
N3: TMenultem;
Image1: TImage;
Label1: TLabel; pl3lb9: TLabel; pl5: TPanel;
Image2: TImage;
Image3: TImage; pl5lb1: TLabel;
BitBtn1: TBitBtn; pl3pl5: TPanel; pl3pl4: TPanel; pl3pl3: TPanel; pl3pl2: TPanel; pl3pl1: TPanel; pl3CB2: TComboBox; pl3lb8: TLabel; pl3lb3: TLabel; pl3lb12: TLabel; pl4mm1: TMemo;
procedure Button1Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure pl3pl5Click(Sender: TObject); procedure pl3pl4Click(Sender: TObject); procedure pl3pl3Click(Sender: TObject); procedure pl3pl2Click(Sender: TObject); procedure pl3pl1Click(Sender: TObject); procedure pl3pl5DblClick(Sender: TObject); procedure pl3CB3DropDown(Sender: TObject); procedure pl3CB3Click(Sender: TObject);
procedure pl3CB2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var
Form1: TForm1; implementation {$R *.dfm} var n,tau,m,W :byte;
ksf:array[1..6] of shortint; mkp:array[1..5] of shortint;
procedure TForm1.Button1Click(Sender: TObject); label m1;
var kolvar,i,j,sum1,sum2,sum3,sum4,zif,flag:byte; ni:array[1..10] of byte; pk:array[1..6] of byte; stroka:string; begin
if (pl3ed1.Text='') or (pl3CB1.Text='') or (pl3CB2.Text='') or (pl3CB3.Text='') then begin
pl3 lb6.Visible:=True;
pl3ed1.SetFocus;
exit;
end;
tau:=StrToInt(pl3CB1.Text);
n:=StrToInt(pl3ed1.Text);
W:=StrToInt(pl3 CB2.Text); m:=StrToInt(pl3 CB3.Text); pl3 lb6 .Visible:=False;
// делаем видимыми панели pl2 и pl4
pl2.Visible:=True;
pl4.Visible:=True;
kolvar:=0; // обнулили счетчик количества вариантов
pl4mm1.Clear; // очистили окно спмска вариантов
for i:=1 to tau do ni[i]:=0;
ni[1]:=1;
repeat // внешний цикл перебора комбинаций звеньев sum1:=1;
for i:=1 to tau-1 do sum1:=sum1+ni[i]; if sum1<>n then goto m1;
sum2:=tau; // находим общее кол-во кинематических пар
for i:=1 to tau-1 do sum2:=sum2+i*ni[i];
for i:=1 to 6 do pk[i]:=0; // обнуление массива pk
pk[1]:=sum2;
repeat // цикл по pk
sum3:=0;
for i:=1 to 5 do sum3:=sum3+pk[i];
// продолжение анализа
if sum3=sum2 then
begin // последняя проверка
sum4:=0;
for i:=1 to 5 do sum4:=sum4+pk[i]*mkp[i]*ksf[i]; if ((6-m)*sum1-sum4)=W then
begin // возможное решение flag:=0;
for j:=1 to 5 do if ((mkp[j]>0)and(pk[j]=0)) or ((mkp[j]=0)and(pk[j]>0)) then flag:=1; if flag=0 then begin kolvar:=kolvar+1; stroka:='';
pl4mm1 .Lines.Add('вариант'+IntToStr(kolvar)); pl4mm1.Lines.Add('n='+IntToStr(sum1)); for i:=1 to tau-1 do
stroka:=stroka+'n['+IntToStr(i)+']='+IntToStr(ni [i])+' t.
pl4mm1 .Lines.Add(stroka);
stroka:=''; for i:=1 to 5 do
stroka:=stroka+'p['+IntToStr(i)+']='+IntToStr(pk[i])+'
I.
pl4mm1 .Lines.Add(stroka);
stroka:=''; pl4mm1 .Lines.Add(stroka); end;
end // возможное решение end; // последняя проверка // изменение состояния счетчика числа кинематических пар pk[1]:=pk[1]+1;
for i:=1 to 5 do if pk[i]=sum2+1 then begin // переносы pk[i]:=0; pk[i+1]:=pk[i+1]+1; end; // переносы until pk[6]>0; // цикл по pk m1: ni[1]:=ni[1]+1; for i:=1 to tau-1 do if ni[i]=n+1 then begin // переносы в счетчике звеньев ni[i]:=0;
ni[i+1]:=ni[i+1]+1; end; // переносы в счетчике звеньев until ni[tau]>0; // внешний цикл перебора комбинаций звеньев
pl4lb1.Visible:=False; pl4lb2.Visible:=False; pl4lb3.Visible:=False; pl4lb4.Visible:=False; pl4lb5.Visible:=False; pl4lb6.Visible:=False; pl4lb7.Visible:=False; pl4lb8.Visible:=False; pl4mm1 .Visible:=False; if kolvar=0 then pl4lb1.Visible:=True else begin // решения есть pl4lb8.Visible :=True; pl4lb2.Visible:=True; pl4lb3.Caption:=IntToStr(kolvar); pl4lb3.Visible:=True; pl4lb4.Visible :=True; pl4lb7.Visible:=True; zif:=kolvar mod 10; if (zif>1) and (zif<5) then pl4lb5.Visible:=True;
if (zif>4) or (zif=0) then pl4lb6.Visible:=True; pl4mm1.Visible:=True; end; // решения есть end;
procedure TForml.N3Click(Sender: TObject);
begin
Close
end;
procedure TForml.N2Click(Sender: TObject); begin
pll.Visible:=True;
pl3.Visible:=True;
pl3edl.SetFocus;
pl5.Visible:=False;
end;
procedure TForml.NlClick(Sender: TObject); begin
pl5.Visible:=True;
end;
procedure TForml.FormActivate(Sender: TObject); begin
pl3 №б .Visible:=false;
pl2.Visible:=False;
pl4.Visible:=False;
pll.Visible:=False;
pl3.Visible:=False;
pl5.Visible:=False;
end;
procedure TForml.pl3pl5Click(Sender: TObject); begin
pl3pl5.Visible:=false;
mkp[5]:=0;
end;
procedure TForml.pl3pl4Click(Sender: TObject); begin
pl3pl4.Visible:=false;
mkp[4]:=0;
end;
procedure TForml.pl3pl3Click(Sender: TObject); begin
pl3pl3.Visible:=false;
mkp[3]:=0;
end;
procedure TForml.pl3pl2Click(Sender: TObject); begin
pl3pl2.Visible:=false;
mkp[2]:=0;
end;
procedure TForml.pl3pllClick(Sender: TObject); begin
pl3pll.Visible:=false;
mkp[l]:=0;
end;
procedure TForml.pl3pl5DblClick(Sender: TObject); begin
pl3pl5 .Caption:='p5'; pl3pl4.Caption:='p4'; pl3pl3 .Caption:='p3'; pl3pl2.Caption:='p2'; pl3pll.Caption:='pl'; end;
procedure TForml.pl3CB3DropDown(Sender: TObject); var i:byte; begin
for i:=l to б do ksf[i]:=i;
pl3pl5.Visible:=true;
pl3pl4.Visible:=true;
pl3pl3.Visible:=true;
pl3pl2.Visible:=true;
pl3pll.Visible:=true;
for i:=l to 5 do mkp[i]:=l;
end;
procedure TForml.pl3CB3Click(Sender: TObject);
var i:byte;
begin
if pl3cb2.Text='' then
begin pl3lbб.Visible:=True; exit; end;
m:=StrToInt(pl3cb3.Text);
W :=StrToInt(pl3cb2.Text); for i:=1 to б do
begin ksf[i]:=ksf[i]-m; if ksf[i]<0 then ksf[i]:=0; end; for i:=1 to 5 do begin
if ksf[i]=0 then begin // if case i of
5:pl3pl5.Visible:=false;
4:pl3pl4.Visible:=false;
3:pl3pl3.Visible:=false;
2:pl3pl2.Visible:=false;
1:pl3pl1.Visible:=false;
end;
mkp[i]:=0; end; // if end; end;
procedure TForm1.pl3CB2Click(Sender: TObject); begin
pl3 lb6 .Visible:=false;
end;
end.
В заключение необходимо отметить, что использование специфицирования в задачах синтеза структур механизмов локализует задачи, определяет их прозрачность для исследователя, так как позволяет вводить четкие границы условий по числу звеньев, числу и классам кинематических пар, сложности применяемых звеньев. Опыт, полученный в этом направлении в последние годы в Сибирском государственном индустриальном университете, является достаточным основанием и утверждением о безусловной полезности специфицирования.
СПИСОК ЛИТЕРAТУРЫ
1. Смелягин А.И. Структура механизмов и машин: Учебное пособие, - Новосибирск: Изд-во НГТУ, 2001 - 286 с.
2. БоголюбовА.Н. Советская школа механики машин. - М.: Наука, 1975. - 178 с.
3. Артоболевский И.И. Теория механизмов. - М.: Наука, 1965. - 776 с.
4. Дворников Л.Т. К развитию идей Добровольского В.В. и Артоболевского И.И. о делении полного многообразия механизмов на семейства / Л.Т. Дворников // Материалы XVIII научно-практ. конференции по проблемам механики и машиностроения. Новокузнецк, 2008, с. 3-17
5. Дворников Л.Т. К вопросу о классификации механизмов / Л.Т. Дворников, А.В. Степанов // Известия ТПУ. Математика и механика. Физика. Томск. 2009, т.314, №2, с.31-34
6. Дворников Л.Т. Начала теории структуры механизмов. СибГГМА, Новокузнецк, 1994. - 102 с.
7. Степанов А.В. Решение универсальной структурной системы проф. Л.Т. Дворникова / А.В. Сте-
панов // Вестн. Кузбасского гос. тех. унив., 2007. № 3, с. 43-47
8. Степанов А.В. Объектно-ориентированная технология синтеза структурных схем плоских шарнирных механизмов / А.В. Степанов // Вестн. Кузбасского гос. тех. унив., 2007, № 6(64), с.105 - 110
□Автор статьи
Степанов Александр Васильевич
- канд. техн. наук, проф. каф. прикладной информатики Сибирского государственного индустриального университета ( г. Новокузнецк) , е-шаД: [email protected]