Методику розрахунку пірометричного давача температури

Автор работы: Пользователь скрыл имя, 19 Мая 2013 в 22:20, курсовая работа

Описание работы

Температура як фізична величина є одним з визначальних параметрів стану певного об’єкта, що дозволяють контролювати протікання різних виробничих процесів. Вимірювання температури - найважливіше джерело інформації про хід фізичних явищ і про зміну стану речовини. Оскільки з усіх термодинамічних функцій стану речовини температура найбільш вивчена в метрологічному відношенні, її корисніше вимірювати взамін прямого вимірювання ряду характеристик об'єкта, що залежать від його стану і безпосередньо цікавлять технолога. До таких характеристик відносяться енергія речовини, його хімічна активність, в'язкість, твердість, зміна його хімічної або фазової рівноваги, швидкість зміни структури, теплове розширення, зміна електричних і магнітних властивостей і т.д.

Содержание работы

ВСТУП 5
1 ЗАГАЛЬНІ ВІДОМОСТІ 6
1.1 Огляд основних способів вимірювання температури 6
1.2 Безконтактне вимірювання температури 13
1.3 Пірометричні давачі 20
2 РОЗРОБКА МЕТОДИКИ РОЗРАХУНКУ 24
2.1 Розробка функціональної схеми пристрою безконтактного вимірювання температури 24
2.2 Розрахункова модель роботи пристрою 27
2.3 Оптимізація розрахунків. 30
3 ПРИКЛАД РОЗРАХУНКУ ПРИСТРОЮ ДЛЯ БЕЗКОНТАКТНОГО ВИМІРЮВАННЯ ТЕМПЕРАТУРИ 33
4 РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 37
4.1 Вибір мови програмування. 37
4.2 Розробка схеми програми. 38
4.3 Тестовий приклад 39
ВИСНОВКИ 42
ЛІТЕРАТУРА 44

Файлы: 1 файл

Курсова ЕПСУА Fixed.docx

— 750.42 Кб (Скачать файл)

 

  1. Визначення структури КП «Розрахунок пристрою для дистанційного вимірювання температури з використанням пірометричного давача»

 

Комп’ютерна програма складається  з чотирьох модулів:

    • модуль введення вхідних даних пристрою для дистанційного вимірювання температури;
    • модуль реалізації формул, що призначені для обрахунку ФНЧ пристрою;
    • модуль реалізації формул, що призначені для обрахунку елементів схеми управління зарядним пристроєм;
    • модуль реалізації формул, що призначені для обрахунку атенюатора пристрою.
    • модуль проведення оптимізації розрахунку.

 

 

3. Приклад аналітичного  розрахунку

 

Методику розрахунку пристрою для дистанційного вимірювання температури з використанням пірометричного давача розглянемо на прикладі розрахунку з використанням давача фірми Banner Engineerihg M18TUP14Q.

У цьому пристрої фільтр низьких частот виконує функцію фільтрації перешкод. Оскільки в якості піроелектричного датчика використовується датчик фірми Banner Engineerihg M18TUP14Q, то частота зрізу ФНЧ буде:

 

 

 

В якості апроксимуючої передаточної функції візьмемо апроксимацію Чебишева. Тоді порядок фільтра визначається:

 

 

 

де  – гарантоване затухання;

 – нерівномірність АЧХ фільтра в смузі пропускання;

Знаходимо координати полюсів для значення нерівномірності АЧХ:

 

 

 

Визначаємо нормовані власні частоти  полюсів і їх добротності:

 

,

 

 

 

Здійснюємо перехід до фізично  реалізованого фільтру:

 

 

 

Знаходимо номінали опорів резисторів при :

 

,

 

 

 

Tоді значення R4 визначается:

 

 

 

Таким чином коефіцієнт передачі подільника напруги R4-R5 складає:

 

 

 

Тоді опір R4 визначається:

 

 

 

Оскільки в якості джерела живлення використовується акумулятор, то коефіцієнт передачі подільника напруги R9-R12 складає:

 

 

 

Опір R12 визначається:

 

 

 

Безпосереднім джерелом напруги для  зарядки акумулятора є стабілізатор струму на мікросхемі LM317T (DA5). Резистор R16 визначає струм заряду і розраховується за формулою:

 

 

 

Коефіцієнт ослаблення атенюатора визначається:

 

 

 

Тоді опір R10 визначається:

 

 

 

Проведемо оптимізацію залежності виміряної температури об’єкта  від напруги на виході АЦП за формулою:

 

(2.18)

 

Заповнимо таблицю 3.1, змінюючи Ті на інтервалі від 0 до 50°С. Т1 буде рівним 0°С, Т2 = 50°С. З технічних характеристик датчика відомо, що напруга на виході АЦП при температурі об’єкта 50°С становитиме 2,65 В. Отже U2 = 2.65 В, а U1 = 0 В.

 

Таблиця 3.1 Напруга на виході АЦП при температурі об’єкта 0-50°С.

Tі (від 0 до 50°С)

0

5

10

15

20

25

30

35

40

45

50

Ui (В)

0

0,265

0,53

0,795

1,06

1,325

1,59

1,855

2,12

2,385

2,65


 

Заповнимо таблицю 3.2, змінюючи Ті на інтервалі від 50 до 300°С. Т1 буде рівним 50°С, Т2 = 300°С. З технічних характеристик датчика відомо, що максимальна напруга на виході АЦП при температурі об’єкта 300°С становитиме 10 В. Отже U2 = 10 В, а відповідно U1 = 2,65 В.

 

Таблиця 3.2 Залежність напруга на виході АЦП від температурі об’єкта (50-300°С).

T (від 50 до 300°С)

50

75

100

125

150

175

200

225

250

275

300

Ui (В)

2,65

3,385

4,12

4,855

5,59

6,325

7,06

7,795

8,53

9,265

10


 

 

4. Тестування розробленого  програмного забезпечення

 

В ході тестування перевірялися наступні складові комп’ютерної системи:

    • введення даних;
    • обробка даних;
    • оптимізація розрахунків;
    • виведення результатів розрахунку;

При запуску програми з’являється  консольне вікно. Вигляд цього вікна при запуску програми та введені початкові дані наведені на рисунку 4.1.

 

Рисунок 4.1 – Вигляд консольного вікна та введених початкових даних

 

Користувач має змогу  пересуватися по вікну вниз та вверх, використовуючи повзунок при натисканні на нього комп’ютерною мишею.

Так як дані вводяться в  програму статично, перевірка на помилки  не потрібна, і при успішному виконання програми, виводяться результати розрахунків, вигляд яких поданий на рисунку 4.2.

 

Рисунок 4.2 – Вигляд вікна після проведення обрахунку

Проведена оптимізація розрахунків  показує залежність вихідної напруги  АЦП від температури об’єкта  вимірювання, результати її на ведені на рисунку 4.3.

 

Рисунок 4.3 - Результати оптимізації розрахунків.

 

Дані отримані за допомогою  програми та розраховані аналітично в пункті 3 майже співпали, що свідчить про правильність роботи розробленого програмного забезпечення комп’ютерної програми.

 

 

5. Інструкції користувачу  і програмісту

 

5.1 Інструкція для користувача 

 

Запуск програми здійснюється після запуску файлу JavaApplication1.java. Після запуску програми перед користувачем з'являється середовище розробки програмних засобів NetBeans IDE.

На клавіатурі натисніть  кнопку F6. Відбудеться запуск програми і буде виведений результат її роботи знизу вікна середовища NetBeans IDE в консольному вікні.

Вихід з програми здійснюється за допомогою стандартних засобів  віконного інтерфейсу ОС сімейства  Windows – натисканням хрестика в правому верхньому куті форми.

 

5.2 Інструкція для програміста. 

 

Код програми на Java міститься в файлі з розширенням *.java, об’єкти в форматі *.class, та головний файл з проектом javaapplication1.java. Програма виконана таким чином, що при бажанні можна внести суттєві зміни в її роботу. Для цього програмісту необхідно мати інстальовану програму NetBeans IDE версії не нижче 6.0.

В залежності від цілей  редагування, зміни слід робити в різних формах та модулях.

Методи розв’язання окремих  підзадач виконані у вигляді окремих функцій і їх можливо використовувати в будь-яких інших проектах (мається на увазі використання в проектах побудованих в середовищі NetBeans IDE на мові прогрмування Java будь-якої версії).

 

Код програми

 

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

 

(Фрагмент)

 

Код програмного модуля задання початкових даних та програмного модуля обрахунку відповідних значень по формулам.

 

package javaapplication1;

public class JavaApplication1 {

    public static void main(String[] args) {

        double Tvidg = 0.075;

        int fs = 1000;

        int as = 40;

        int ac = 1;

        double c1 = -0.549;

        double w1 = 0.895;

        double C1_2 = 0.0000033;

        double Uop = 1.1;

        double Uzpmin = 7.5;

        double Udg = 4.5;

        double I = 0.2;

        double Uvux = 1.25;

        double Uacpvx = 5;

        double Udvux = 10;

        double R = 10000;

    System.out.println ("Введення  вхідних даних:");

    System.out.println ("  Час відгуку Tvidg = " + Tvidg + " с");

    System.out.println ("  Частота гарантованого затухання fs = " + fs + " Гц");

    System.out.println ("  Гарантоване затухання as = " + as + " дБ");

    System.out.println ("  Нерівномірна АЧХ фільтра ac = " + ac + " дБ");

    System.out.println ("  Значення полюсiв з таблиці рівнохвилевої функції:" + "\n" + "    c1 = " + c1 + "    w1 = "+ w1);

    System.out.println ("  Ємності конденсаторів C1_2 = " + C1_2 + " ф");

    System.out.println ("  Опорна напруга Uop = " + Uop + " В");

    System.out.println ("  Напруга на вході стабілізатора Uzpmin = " + Uzpmin + " B");

    System.out.println ("  Напруга джерела живлення Udg = " + Udg + " B");

    System.out.println ("  Струм заряда акумулятора I = " + I + " A");

    System.out.println ("  Вихідна напруга мікросхеми Uvux = " + Uvux + " B");

    System.out.println ("  Вхідна напруга АЦП Uacpvx = "+ Uacpvx + " B");

    System.out.println ("  Вихідна напруга датчика Udvux = " + Udvux + " B");

    System.out.println ("  Номінали опорів R3, R5, R9, R11 = " + R + " Ом");

   

    System.out.println ("----------------------------------------------------");

   

    System.out.println ("   Розрахунок  основних параметрів приладу");

    System.out.println ("   Розрахунок  ФНЧ: ");

   

    double fc = 1/Tvidg;

    System.out.println (" Частота  зрізу fc = " + fc + " Гц");

   

    double n = (0.301+0.5*Math.log10(Math.pow(10, 0.1*as-1)/(Math.pow(10, 0.1*ac-1))))/(Math.log10((fs/fc)+Math.sqrt(((Math.pow(fs, 2))/Math.pow(fc, 2))-1)));

    System.out.println (" Порядок  фільтру n = " + n);

   

    double Ω = Math.sqrt((Math.pow(c1, 2))+(Math.pow(w1, 2)));

    System.out.println (" Нормовані  власні частоти полюсів Ω = " + Ω);

   

    double Q = Ω/Math.abs(2*c1);

    System.out.println (" Добротності  полюсів Q = " + Q);

   

    double fn12 = Ω*fc;

    System.out.println (" Частота  зрізу ФНЧ fn12 = " + fn12 + " Гц");

   

    double R1_2 = 1/(2*3.14*fn12*C1_2);

    System.out.println (" Значення  опорів R1,2 = " + R1_2 + " Ом");

   

    double K = 3 - (1/Q);

    System.out.println (" Коефіцієнт  передачі подільника напруги  К = " + K);

   

    double R4 = R/(K-1);

    System.out.println (" Значення  опору R4 = " + R4 + " Ом");

   

    System.out.println ("   Розрахунок  елементів схеми управління зарядного  пристрою");

   

    double Ku1 = Uop/Uzpmin;

    System.out.println (" Коефіцієнт  передачі подільника напруги  R4-R5 Ku = " + Ku1);

   

    double R14 = (R/Ku1) - R;

    System.out.println (" Значення  опору R14 = " + R14 + " Ом");

   

    double Ku2 = Uop/Udg;

    System.out.println (" Коефіцієнт  передачі подільника напруги  R9-R12 Ku2 = " + "Ku2");

   

    double R12 = (R/Ku2)-R;

    System.out.println (" Значення  опору R12 = " + R12 + " Ом");

   

    double R16 = Uvux/I;

    System.out.println (" Значення  опору R16 = " + R16 + " Ом");

   

    System.out.println ("    Розрахунок  атенюатора");

   

    double Kat = Uacpvx / Udvux;

    System.out.println (" Коефіцієнт  послаблення атенюатора Kat = " + Kat);

   

    double R10 = (R/Kat)-R;

    System.out.println (" Значення  опору R10 = " + R10 + " Ом");

   

    System.out.println ("-----------------------------------------");

    System.out.println (" Оптимізація  розрахунків");

   

    System.out.println (" Визначення  вихідної напруги АЦП при температурі  обєкта, що змінюється від 0 до 50°С з кроком 5°С");

    double U2=2.65;

    double U1=0;

    double T2=50;

    double T1=0;

    double Array [];

    Array = new double [55];

    for (int i = 0; i<55; i=i+5){

        Array[i]=((i-T1)/(T2-T1))*(U2-U1)+U1;

        System.out.println ("При  Тi = " + i + " Ui = " + Array [i]);

    }

   

    System.out.println (" Визначення  вихідної напруги АЦП при температурі  обєкта, що змінюється від 50 до 300°С з кроком 25°С");

    double u2=10;

    double u1=2.65;

    double t2=300;

    double t1=50;

    double array [];

    array = new double [325];

    for (int i = 50; i<325; i=i+25){

        array[i]=((i-t1)/(t2-t1))*(u2-u1)+u1;

        System.out.println ("При  Тi = " + i + " Ui = " + array [i]);

    }

    System.out.println ("   Розрахунки проведено." + "\n" + "\n");

    }

}


Информация о работе Методику розрахунку пірометричного давача температури