- •Выбор электродвигателя привода металлургических машин с использованием эвм
- •Выбор электродвигателя привода металлургических машин с использованием эвм
- •Оглавление
- •Введение
- •Выбор электродвигателя по роду тока, принципу действия, конструктивному исполнению
- •Выбор электродвигателя по мощности при различных режимах работы
- •Общие положения
- •Номинальные режимы работы электродвигателей
- •Методика выбора электродвигателя
- •Общие положения
- •Продолжительный (длительный) режим
- •Кратковременный режим
- •Повторно-кратковременный режим
- •Расчет эквивалентных значений нагрузок при криволинейном законе изменения моментов, мощности
- •Оценка электродвигателя привода машины, находящейся в эксплуатации
- •Расчет привода на эвм
- •Основная программа
- •Подпрограммы ввода исходных данных
- •Подпрограмма Cycle
- •Подпрограмма Perevod
- •Определение положения, скорости и ускорения элемента механизма в функции времени от начала операции (подпрограмма Operation)
- •Применение модуля "privod"
- •Особенности Mathcad-программ расчета привода
- •Особенности программ предварительного выбора электродвигателя
- •Примеры расчетов Пример 1
- •Пример 2
- •Пример 3
Пример 3
Рассчитать электропривод опрокидывания люльки слитковоза слябинга 1150 при кантовании слитков массой 24 т (рис. 5.6). Кривошип механизма занимает положения (рад): 0,28, 3,34, 0,28, соответствующие мертвым точкам приводного кривошипа шарнирного четырехзвенника, т.е. вращается в пределах угла от 0,28 до 3,34 рад со слитком, а затем без слитка вращением кривошипа в обратную сторону люлька возвращается в исходное положение.
Рисунок 5.6 — Кинематическая схема опрокидывания люльки слитковоза
Угловая скорость установившегося движения приводного кривошипа по абсолютной величине 0,746 рад/с.
Время цикла прокатки слитка массой 24т – 40с.
Составляющие нагрузки в операциях (в скобках люлька без слитка):
Вес люльки
Длина радиус-вектора от оси вращения люльки до ее центра масс (O1C)
.
Угол, определяющий положение радиус-вектора
.
Момент инерции люльки относительно оси вращения
.
Данные шарнирного четырехзвенника (см. "Исследование шарнирных механизмов металлургических машин" [11]):
(первый вариант сборки).
Рисунок 5.7 — Расчетная схема четырехзвенного механизма
Предварительно принимаем привод с глобоидным червячным редуктором.
КПД механизма (двигательный режим);
(генераторный режим).
Вращающий момент на люльке
(Знак "минус" перед выражением позволяет получить момент с учетом знака – положительный момент имеет направление против часовой стрелки).
Для определения вращающего момента на валу приводного кривошипа воспользуемся уравнением динамики в форме мгновенных мощностей, которое для данного механизма имеет следующий вид:
.
Искомый момент
.
Неизвестные в данном выражении значения угловой скорости и ускорения люльки определяются при помощи подпрограммы FOURZ (см. [11]).
Ниже приведена программа предварительного расчета привода опрокидывания люльки слитковоза в системе Mathcad (файл Privod_p.mcd).
По результатам расчета принимаем электродвигатель ДП-72 параллельного возбуждения номинальной мощностью 67 кВт, частотой вращения 570 мин-1 (59,69 рад/с) при ПВ=25%. Момент инерции якоря двигателя 8,25 кгм2. Максимально допустимый момент 3708 Нм.
Требуемое передаточное число редуктора:
.
Принимаем глобоидный червячный редуктор с передаточным числом .
Коэффициент полезного действия привода в двигательном и генераторном режимах работы соответственно составит (расчет редуктора не приводится)
.
Суммарный момент инерции моторной муфты и тормозного шкива:
.
Приведенный к валу приводного кривошипа момент инерции вращающихся деталей:
.
Принимаем время разгона и время торможения привода равным 0,3 с.
Ниже приведена Mathcad-программа окончательного расчета привода.
В результате выполнения программы (файл Privod.mcd) получаем
.
Приведем эквивалентный момент к стандартному значению ПВ:
,
.
Следовательно, по условиям нагрева выбранный двигатель подходит.
,
т.е. данный электродвигатель обеспечивает заданные условия пуска.
На сервере ПГТУ имеются программы расчета для данного примера в среде Pascal (файлы pfs.pas, pfsu.pas).
ЛИТЕРАТУРА
Справочник по автоматизированному электроприводу /под ред. В.А. Елисеева, А.В. Шинянского. - М.: Энергоиздат, 1983.-616 с.
Справочник по электрическим машинам: в 2т /под ред. И.П. Копылова, Б.К. Клокова. - М.: Энергоатомиздат, 1988. - 456 с.
Расчет металлургических машин и механизмов /В.М. Гребеник, Ф.К. Иванченко, В.И. Ширяев. - К.: Выща шк. Головное изд-во, 1988. - 448 с.
Розрахунок машин і механізмів прокатних цехів /Ф.К. Іванченко, В.М. Гребеник, В.І. Ширяєв. - К.: Вища шк., 1995.-455 с.
Целиков А.И., Смирнов В.В. Прокатные станы. - М.: Металлургиздат, 1958. - 432 с.
Якушев А.М. Справочник конверторщика. - Челябинск: Металлургия, 1990.-442 с.
Машины и агрегаты металлургических заводов. В 3-х томах. Т.2. Машины и агрегаты сталеплавильных цехов. /А.И. Целиков, П.И. Полухин, В.М. Гребеник и др. – М.: Металлургия, 1988. - 432 с.
Казак С.А. Динамика мостовых кранов. - М.: Машиностроение, 1968. - 332 с.
Методические указания к исследованию на ЭВМ привода металлургических машин. Случай постоянной нагрузки в операции (для студентов специальности 17.03) /Сост. Е.И.Фищенко.- Мариуполь : ММИ, 1991.- . 24 с.
Дмитриев В.А. Детали машин. Л., "Судостроение", 1970.- 792 с.
Исследование шарнирных механизмов металлургических машин (учебное пособие для студентов всех форм обучения специальности 6.090218, 7.090218) /Сост. Е.И.Фищенко.- Мариуполь: ПГТУ, 2003.- 39 с.
ПРИЛОЖЕНИЕ
Ниже приведен исходный текст модуля PRIVOD
UnitPRIVOD;
INTERFACE
ProcedureInpPrivod;
FunctionSGN(x:Real):Integer;
Function HR(M:Real):Real;
Procedure TREE;
Procedure CREEP(Loa,Lab,t,SinAlt,Al1,w1,e1:Real;
Var xb,Al2,vb,w2,ab,e2:Real);
Procedure FOURZ(l0,l1,l2,l3,c,f0,f1,w1,e1:Real;
Var f2,f3,w2,w3,e2,e3:Real);
Procedure OPERATION;
Procedure OutPrivod;
Procedure MODE;
Procedure CheckInp;
Type Matrix=Array[1..30,1..10] of Real;
Vector=Array[0..30] of Real;
Const z:Real=0;
tsr:Real=0;
tsa:Real=0;
Imax:Real=0;
fs='L==========¦=========¦========¦=========¦=======-';
Var k,k1,k2,k3,n,i,j,S :Integer;
Mp0,Mt0,Mc,Mb,Md,It,Ie,Ii,Id,
tp,ty,tt,tz,tpa,t,dt,fi,fm,f1,f2,f3,
w,w1,w2,w3,ep0,et0,epo,eto,e1,e2,e3,ep,et,e,
a,b,pv,kpd1,kpd2,ur,al1,al2,xb,prf,prw,pre,zz :Real;
as,is :Char;
ff,fdat :Text;
f,w0,fo,wo :Vector;
Y :Matrix;
IMPLEMENTATION
{Проверка электродвигателя привода металлургических машин }
Uses Crt;
Procedure InpPrivod;
Begin
WriteLn(' Введите исходные данные');
Write('Количество операций за цикл работы k=');
ReadLn(k);
WriteLn('Количество значений скорости механизма');
WriteLn('(Для случая равенства скорости механизма');
Write(' во всех операциях введите 1) k1=');
ReadLn(k1);
WriteLn('Количество значений нагрузки механизма');
WriteLn('(для случая неизменной нагрузки');
Write(' во всех операциях введите 1) k2=');
ReadLn(k2);
Write('Количество составляющих нагрузки в каждой операции n=');
ReadLn(n);
WriteLn('Положение механизма в начале I-й операции:');
For i:=0 To k Do
Begin
Write(' f[',i,']=');
ReadLn(f[i]);
End;
WriteLn('Скорость установившегося движения элемента');
WriteLn('механизма по абсолютной величине в I-й операции:');
For i:=1 To k1 Do
Begin
Write(' w0[',i,']=');
ReadLn(w0[I]);
End;
WriteLn('Время цикла работы механизма (с)');
Write('(для случая, когда известно время пауз введите 0) tz=');
ReadLn(tz);
If tz=0 Then Begin
Write('Время пауз за цикл работы механизма (с) tpa=');
ReadLn(tpa);
End;
Write('Приведенный к валу двигателя момент инерции (кг*м*м) Id=');
ReadLn(Id);
Write('Шаг изменения времени (c) dt=');
ReadLn(dt);
WriteLn('Введите: ');
WriteLn(' 1 при известных значениях среднепускового и');
WriteLn(' среднетормозного моментов двигателя');
WriteLn(' 2 при известных значениях ускорения при разгоне');
WriteLn(' и торможении');
WriteLn(' 3 при известных значениях времени разгона');
WriteLn(' и торможения привода');
WriteLn(' Значение 1 рекомендуется использовать при неизменной');
WriteLn('статической нагрузке на валу электродвигателя за время ');
Write(' одной операции ');
ReadLn(k3);
Case k3 of
1: Begin
Write('Среднепуск. момент (Н*м) по абс. величине Mp0=');
ReadLn(Mp0);
Write('Тормозной момент (Н*м) Mt0=');
ReadLn(Mt0);
End;
2: Begin
Write('Ускорение при разгоне (по абс. величине) ep0=');
ReadLn(ep0);
Write('Ускорение при торможении (по абс. величине) et0=');
ReadLn(et0);
End;
3: Begin
Write('Время разгона привода (с) tp=');
ReadLn(tp);
Write('Время торможения привода (с) tt=');
ReadLn(tt);
End;
End;
WriteLn('Введите: ');
WriteLn(' 1 для принятого длительного режима работы привода');
WriteLn(' 2 для принятого кратковременного режима работы привода');
WriteLn(' 3 для принятого повторно-кратковременного режима');
Write(' работы привода');
ReadLn(S);
WriteLn(' Является ли выбранный двигатель');
Write(' самовентилируемым или нет, введите (Y/N)');
ReadLn(is);
WriteLn(' Необходима ли проверка электродвигателя');
Write(' по току или нет, введите (Y/N)');
ReadLn(as);
If (as='Y') OR (as='y') Then Begin a:=0.75; b:=0.5 End
Else Begin a:=1; b:=1 End;
WriteLn('Данные нагрузки в I-й операции:');
For i:=1 To k2 Do
For j:=1 To n Do
Begin
Write('Y[',i,',',j,']=');
ReadLn(Y[i,j]);
End;
Write('Передаточное число привода ur=');
ReadLn(ur);
Write('Коэффициент полезного действия (двигательный режим) kpd1=');
ReadLn(kpd1);
Write('Коэффициент полезного действия (генераторный режим) kpd2=');
ReadLn(kpd2);
End;
Function SGN;
Begin
If x<0 Then SGN:=-1 Else
If x>0 Then SGN:=1 Else SGN:=0
End;
Function HR;
{Здесь HR(M) - зависимость тока в главной цепи
двигателя от момента}
Begin
HR:=M
End;
Procedure TREE;{ Тахограмма в виде треугольника}
Begin
ty:=0;
tp:=Sqrt(2*fi*et/(ep*et-ep*ep));
tt:=-ep*tp/et;
End;
Procedure CREEP;
{ Подпрограмма CREEP
Расчет кривошипно-ползунного механизма
Входные данные:
Loa,Lab - длина приводного кривошипа
шатуна соответственно;
t - аксиал механизма;
SinAlt - синус углa наклона вектора t;
f1,w1,e1 - соответственно угол поворота (рад.),
угловая скорость (рад.с) и
ускорение (рад.с^2) приводного кривошипа.
Выходные данные:
xb - координата ползуна;
Al2 - угол наклона шатуна (рад.);
vb - линейная скорость ползуна;
w2 - угловая скорость шатуна (рад.с);
ab - линейное ускорение ползуна;
e2 - угловое ускорение шатуна (рад/c^2) }
Var i21,ib1,i211,ib11,a2 :Real;
Begin
a2:=(-Loa*sin(Al1)-t*SinAlt)/Lab;
Al2:=2*ArcTan((1-sqrt(1-a2*a2))/a2);
xb:=Loa*cos(Al1)+Lab*cos(Al2);
i21:=-Loa*cos(Al1)/Lab/cos(Al2);
ib1:=-(Loa*sin(Al1)+Lab*sin(Al2)*i21);
{ скорости }
w2:=i21*w1;
vb:=ib1*w1;
i211:=Loa/Lab*((sin(Al1)*cos(Al2)-sin(Al2)*
cos(Al1)*i21)/cos(Al2)/cos(Al2));
ib11:=-(Loa*cos(Al1)+Lab*(cos(Al2)*i21*i21+sin(Al2)*i211));
{ ускорения }
e2:=i211*w1*w1+i21*e1;
ab:=iB11*w1*w1+ib1*e1;
End;
Procedure FOURZ;
{ Подпрограмма FOURZ
Исследование шарнирного четырехзвенника
Входные данные:
l0,l1,l2,l3 - соответственно длина стойки,
приводного кривошипа,
шатуна и балансира;
c - коэффициент, учитывающий вариант
сборки четырехзвенника;
f0,f1 - соответственно углы наклона стойки,
приводного кривошипа, шатуна
и балансира (рад.);
w1,e1 - соответственнно угловая скорость (рад/с) и
ускорение (рад/с^2) приводного кривошипа.
Выходные данные:
f2,f3 - углы поворота (рад.)
w2,w3 - угловые скорости (рад/с)
e2,e3 - угловые ускорения (рад/с^2)
шатуна и балансира соответственно. }
Var s,fs,f2s,f3s,cosfs,i21,i31,i211,i311 :Real;
Function ArcCos(x:Real):Real;
Begin
If x=0 Then ArcCos:=Pi/2
Else ArcCos:=Pi/2-2*ArcTan((1-Sqrt(1-x*x))/x);
End;
Begin
cosfs:=l0*cos(f0)+l1*cos(f1);
fs:=ArcTan((l0*sin(f0)+l1*sin(f1))/cosfs);
if cosfs<0 then fs:=fs+pi;
s:=sqrt(sqr(l0)+sqr(l1)+2*l0*l1*cos(f1-f0));
f2s:=ArcCos((sqr(l3)-sqr(l2)-sqr(s))/2/l2/s);
f3s:=ArcCos((sqr(l3)-sqr(l2)+sqr(s))/2/l3/s);
{углы}
f2:=fs+c*f2s;
f3:=fs+c*f3s;
i21:=-l1*sin(f1-f3)/l2/sin(f2-f3);
i31:=l1*sin(f1-f2)/l3/sin(f3-f2);
{угловые скорости}
w2:=i21*w1;
w3:=i31*w1;
i211:=(l1*cos(f1-f3)-l3*sqr(i31)+l2*cos(f2-f3)*sqr(i21))/(-l2*sin(f2-f3));
i311:=(l1*cos(f1-f2)+l2*sqr(i21)-l3*cos(f3-f2)*sqr(i31))/(l3*sin(f3-f2));
{ускорения}
e2:=w1*w1*i211+e1*i21;
e3:=w1*w1*i311+e1*i31;
End;
Procedure OPERATION;
{Подпрограмма "Operation"
Определение положения, скорости и ускорения элемента механизма }
Var a1,a2,a3 :Integer;
Begin
If t<=tp Then Begin
a1:=1; a2:=0; a3:=0; e1:=ep;
End;
If (t>tp) AND (t<(tp+ty)) Then Begin
a1:=0; a2:=1; a3:=0; e1:=0;
End;
If t>=(tp+ty) Then Begin
a1:=0; a2:=1; a3:=1; e1:=et;
End;
w1:=a1*ep*t+a2*w+a3*et*(t-tp-ty);
f1:=fo[i-1]+a1*ep*t*t/2+a2*(w*t-ep*tp*tp/2)+a3*et*Sqr(t-tp-ty)/2;
End;
Procedure OutPrivod;
Begin
WriteLn(ff,' РЕЗУЛЬТАТЫ РАСЧЕТА');
WriteLn(ff);
WriteLn(ff,'г==========T=========T==========================¬');
WriteLn(ff,'¦ ¦ Перемещ.¦ Время (с) ¦');
WriteLn(ff,'¦ Операция ¦ +--------T---------T-------¦');
WriteLn(ff,'¦ ¦ (м) ¦ разгона¦ установ.¦тормож.¦');
WriteLn(ff,'¦----------+---------+--------+---------+-------¦');
End;
Procedure MODE;
{ Определение эквивалентных параметров в зависимости
от принятого режима работы }
Var tst :Array[0..3] of Integer;
k :Integer;
Begin
tst[0]:=600; tst[1]:=1800; tst[2]:=3600; tst[3]:=5400;
Case S of
1: Begin { Длительный режим работы }
tsa:=tsa+b*tpa;
End;
2: Begin { Кратковременный режим работы }
tsa:=tst[0];
For k:=1 To 3 Do
If Abs(tsr-tst[k])<Abs(tsr-tsa) Then tsa:=tst[k];
End;
3: Begin
{ Повторно-кратковременный режим работы}
End; Else
Begin
WriteLn('Ошибка ввода значения S!!!');
Halt
End;
End;
Ie:=Sqrt(z/tsa);
End;
Procedure CheckInp;
Begin
If NOT ((k2=1) OR (k2=k)) Then
Begin
WriteLn('Ошибка ввода k1!');
Halt;
End;
If NOT ((k2=1) OR (k2=k)) Then
Begin
WriteLn('Ошибка ввода k2!');
Halt;
End;
If (k3=1)AND(Mp0=0) Then Begin WriteLn('При k3=1 следует');
WriteLn(' задавать среднепусковой момент!!!');
Halt; End;
If (k3=2)AND(ep0=0) Then Begin WriteLn('При k3=2 следует');
WriteLn(' задавать ускорения!!!');
Halt; End;
If (k3=3)AND(tp=0) Then Begin WriteLn('При k3=3 следует');
WriteLn(' задавать время разгона-торможения!!!');
Halt; End;
End;
BEGIN
ClrScr;
END.
1При наличии водяного охлаждения