2 Мета та вихідні дані для проведення робіт
Метою роботи є розробка апаратних засобів, алгоритмічного і програмного забезпечення комп’ютеризованої вимірювальної системи параметрів електричних машин з газомагнітним підвісом.
Вихідними даними для проведення робіт є індивідуальне завдання на дипломний проект від 02. 04. 2002 р.
3 Етапи виконання робіт
Виконавцем всіх перерахованих в даному розділі етапів є: студент групи 1АМ – 97 факультету автоматики та комп’ютерних систем управління Вінницького державного технічного університету, а замовником є кафедра метрології та промислової автоматики.
Таблиця А.1 – Етапи виконання робіт
№ Етапу | Зміст етапу | Строки виконання |
Е1 | Огляд відомих технічних рішень, техніко-економічне обґрунтування доцільності проекту. Вибір напрямку та задач проектування. | 10. 01. 2002 – 10. 03. 2002 |
Е2 | Розроблення узагальнених структурних схем, алгоритмів, обґрунтування вибору способу вимірювання параметрів електричних машин з газомагнітним підвісом. | 10. 03. 2002 – 30. 03. 2002 |
Е3 | Розробка схеми електричної функціональної, оцінка метрологічних характеристик засобів вимірювань. | 30. 03. 2002 – 20. 04. 2002 |
Е4 | Розробка схеми електричної принципової, електричний розрахунок, розробка алгоритмічного та програмного забезпечення. | 20. 04. 2002 – 05. 05. 2002 |
Е5 | Пророблення питань економічної ефективності проекту та аналіз безпеки життєдіяльності. Пророблення питань цивільної оборони. | 05. 05. 2002 – 30. 05. 2002 |
4 Призначення і галузь застосування
Дана система здійснює вимірювання середньої та миттєвої кутової швидкості обертання ротора, приведеного моменту інерції роторної системи, амплітуди крутильних коливань. Процесом вимірювання, обробки і передавання результатів управляє програмне забезпечення персонального комп’ютера (ПК).
Система призначена для використання в науково-дослідних лабораторіях а також для проведення автоматизованих випробувань безконтактних електричних машин при промисловому виробництві та поточному контролі кутової швидкості, приведеного моменту інерції роторної системи і крутильних коливань.
Систему передбачається використовувати при температурі від плюс 10˚С до плюс 40˚С, максимальній вологості повітря 90 %.
5 Склад системи
Система складається із таких частин:
- первинний вимірювальний перетворювач
- пристрій аналого-цифрового перетворення та спряження з ПЕОМ через шину ЕІSA;
- персональний комп’ютер.
6 Технічні вимоги
6.1 Вимірювані параметри : середня кутова швидкість, миттєва кутова швидкість, приведений момент інерції, амплітуда крутильних коливань.
6.2 Введення даних в комп’ютер через шину EISA
6.3 Зведені похибки вимірювання:
- середнього значення кутової швидкості – 1%;
- миттєвого значення кутової швидкості – 5%;
- приведеного моменту інерції –10 %;
- амплітуди крутильних коливань – 7 %;
- нижня межа вимірювань середнього і миттєвого значення кутової швидкості – 10 рад/с;
- верхня межа вимірювань середнього і миттєвого значення кутової швидкості – 6500 рад/с;
- нижня межа вимірювання приведеного моменту інерції – 10-3 Н м;
- верхня межа вимірювання приведеного моменту інерції – 10-2 Н м;
- нижня межа вимірювання амплітуди крутильних коливань – 10-5 рад;
- верхня межа вимірювання амплітуди крутильних коливань – 2 10-4 рад;
- відстань від первинного вимірювального перетворювача до комп’ютера – не більше 2 м.
7 Вимоги до надійності
7.1 Середній час безвідмовної роботи – 10000 год.
7.2 Строк служби – 8 років.
8 Живлення системи
8.1 Система живиться від мережі – 220 В частотою 50 Гц.
8.2 Напруга живлення 220 В
8.3 Частота промислової мережі 50 0.5 Гц
9 Умови експлуатації
9.1 Температура навколишнього середовища від плюс 10˚С до плюс 40˚С.
9.2 Максимальна вологість повітря 90 % при температурі плюс 30˚С.
9.3 Тиск повітря від 84 до 102 кПа.
9.5 Агресивне середовище повинно бути відсутнім.
9.6 Вібрації (f = 25 Гц, амплітуда 0.1 )
10 Вимоги до конструкції
КВС має складатися з таких конструктивно закінчених блоків:
- первинний вимірювальний перетворювач;
- АЦП і блок спряження;
- персональний комп’ютер.
11 Умови транспортування та зберігання
11.1 Транспортування системи повинно здійснюватись в тарі, яка забезпечує зберігання її технічних характеристик.
11.2 Умови транспортування:
11.2.1 Температура навколишнього середовища від мінус 20˚С до плюс 40˚С.
11.2.2 Максимальна вологість повітря 80 % при температурі плюс 30˚С.
11.3 Умови зберігання:
11.3.1 Температура зберігання від мінус 20˚С до плюс 40˚С.
11.3.2 Вологість повітря при зберіганні 85 %, при температурі плюс 30˚С.
Додаток Б
(обов’язковий)
Фрагмент програми вимірювання та контролю моменту інерції
uses Crt;
Function Init_port : boolean;
Function Start_Measurements : boolean;
Function Strobe_Imp : boolean;
Function ACP(num_channel : byte; DelayVarComm: word):word;
Procedure NextECGMode(SoundOn : boolean); Procedure ProgramRight(SoundOn : boolean);
Procedure ProgramLeft(SoundOn : boolean);
Procedure Speedgraph1Reset(SoundOn : boolean);
Procedure Speedgraph2Reset(SoundOn : boolean);
Procedure Speedgraph3Reset( SoundOn : boolean);
var NNN : byte;
implementation
function Init_port : boolean; begin
port[$103]:=$92;
Init_port := true; end; {Init_port}
function Start_measurements : boolean; begin
Start_measurements:=false;
repeat
delay(10);
if keypressed then if readkey=#27 then exit;
until (port[$101] and $08)=$08;
repeat
delay(10);
if keypressed then if readkey=#27 then exit;
until (port[$101] and $08)=$00;
repeat
delay(5);
if keypressed then if readkey=#27 then exit;
until (port[$101] and $08)=$08;
Start_measurements := true; end; {Start_measurements}
function Strobe_imp : boolean; begin
Strobe_imp := false;
if (port[$101] and $08)=$00 then exit;
if (port[$101] and $08)=$08 then
repeat
delay(10);
until ( port[$101] and $08 = $00 ) or KeyPressed;
Strobe_imp := true; end; {Strobe_imp}
Procedure ProgramRight(SoundOn : boolean); begin
if SoundOn then sound(3500);
port[$102] := $11;
delay(30);
nosound;
port[$102] := $01;
delay(30);
inc(NNN); end; {ProgramRight}
Procedure ProgramLeft(SoundOn : boolean); begin
if SoundOn then sound(4500);
port[$102] := $21;
delay(30);
nosound;
port[$102] := $01;
delay(130);
if NNN > 0 then dec(NNN); end; {ProgramLeft}
Procedure NextECGMode( SoundOn : boolean );
begin
if SoundOn then sound(6000);
port[$102] := $11; {вкл}
delay(15);
nosound;
port[$102] := $01; {выкл}
delay(500);
inc(NNN); if NNN > 4 then NNN := NNN-5; end; {NextECGMode}
Procedure Speedgraph1Reset( SoundOn : boolean ); begin
if NNN <> 0 then
repeat
NextECGMode( SoundOn );
until NNN = 0; end;
Procedure Speedgraph2Reset(SoundOn : boolean); var i : byte; begin
for i := 1 to 6 do ProgramLeft(SoundOn); end;
Procedure Speedgraph3Reset( SoundOn : boolean );
begin
if NNN <> 1 then
repeat
NextECGMode( SoundOn );
until NNN = 1; end; {Speedgraph3Reset}
function ACP( num_channel : byte; DelayVarComm : word) : word; var my_word, i : word;
ErrCount : word;
masc : byte; begin {$IFNDEF FullRegime}
for ErrCount :=1 to DelayVarComm do;
ACP := random(10 * num_channel ); exit; {$ENDIF}
ErrCount := 0; ACP := 512;
port[$102]:=$01 or ( $07 shl 1 ); { снять пуск АЦП }
repeat
inc(ErrCount);
until ( port[$101] and $04 = $04 ) or ( ErrCount > 1000 ) or KeyPressed;
if num_channel > 6 then begin
masc := $80; dec(num_channel,7);
end else begin masc := 00; dec(num_channel,0); end;
port[$102]:= $01 or ( num_channel shl 1 ) or masc;
for ErrCount :=1 to DelayVarComm do;
port[$102]:= $00 or ( num_channel shl 1 ) or masc;
ErrCount := 0;
repeat
inc(ErrCount);
until ( port[$101] and $04 = $00 ) or ( ErrCount > 1000 ) or KeyPressed;
ACP := port[$100]+$100*(port[$101] and $03); end; {ACP}
(* function ACP(num_channel : byte; DelayVarComm : word) : word; var my_word, i , ErrCount : word;
ACP0, ACP1 : integer; begin
ErrCount := 0; ACP := 512;
if num_channel = 12 then num_channel := $07 else
if num_channel > 6 then begin
num_channel := ((num_channel - 6) shl 3) or $06;
end;
num_channel := num_channel shl 2;
port[$102]:=$01 or $07;
repeat
inc(ErrCount);
until ( port[$101] and $04 = $04 ) or ( ErrCount > 1000 ) or KeyPressed;
port[$102]:= $01 or num_channel;
for ErrCount :=1 to DelayVarComm do;
port[$102]:= $00 or num_channel; ErrCount := 0;
repeat
inc(ErrCount);
until(port[$101]and $04=$00)or (ErrCount>1000)or KeyPressed;
ACP0 := port[$100]+$100*(port[$101] and $03);
port[$102]:=$03 or $07;
repeat
inc(ErrCount);
until ( port[$101] and $04 = $04 ) or ( ErrCount > 1000 ) or KeyPressed;
port[$102]:= $03 or num_channel;
for ErrCount :=1 to DelayVarComm do;
port[$102]:= $02 or num_channel;
ErrCount := 0;
repeat
inc(ErrCount);
until (port[$101]and $04=$00)or(ErrCount>1000)or KeyPressed;
ACP1 := port[$100]+$100*(port[$101] and $03); { ACP := ((ACP0-ACP1+512) shr 1);
ACP := 1024-ACP1; end; } begin NNN := 0;
for Index := 1 to NumDeriv do
begin
gotoxy(1, wherey); write(Index);
Location := 1;
for Term := 1 to NumPoints-1 do
if XDeriv[Index] > XData[Term] then Location := Term;
X := XDeriv[Index] - XData[Location];
with Spline do { Approximate first derivative }
YDeriv[Index]:=(3*D[Location]*X+2*C[Location])*X+ B[Location];
end; end;
end.
0 комментариев