Система керування концентрацiєю метану
в шахтних виробках

Дрикiн В. О.


1. Система керування концентрацiєю метану в шахтних виробках

    Процес вентиляцiï як об´єкт керування характеризується наступними ознаками: наявнiстю загальноï задачi i єдиноï мети функцiонування для системи в цiлому (загальною задачею є нормалiзацiя складу атмосфери по метану у всiх дiючих виробках; цiль функцiонування системи - мiнiмiзацiя вiдхилень концентрацiï шкiдливих газiв у виробках шахти вiд заданого рiвня); значним числом взаємодiючих частин елементiв (велика розмiрнiсть мережi виробок, вироблених просторiв, наявнiсть вентиляторiв, вентиляцiйних споруджень, природних джерел тяги); можливiстю видiлення груп елементiв у пiдсистеми, що характеризуються самостiйними цiлями функцiонування (основними є дiльничнi пiдсистеми вентиляцiï); iєрархiчною структурою зв´язкiв пiдсистем i iєрархiєю критерiïв ефективностi функцiонування всiєï системи; складнiстю поводження системи, зв´язаноï з випадковим характером впливiв i зворотних зв´язкiв усерединi системи; високою надiйнiстю системи в цiлому, побудованоï з недостатньо надiйних елементiв.

    Тому при органiзацiï вентиляцiï переважає пiдхiд до забезпечення виробки витратою повiтря по максимально шкiдливому фактору. У рiзних виробках i по шахтi в цiлому такi визначальнi фактори можуть бути рiзнi. Так, на вугiльних шахтах переважним фактором у багатьох випадках є концентрацiя метану. По пiдтримуванню останньоï в припустимих межах забезпечується витрата повiтря в очисних вибоях, на дiлянках i по шахтi в цiлому. Витрата повiтря в пiдготовчих виробкях, проведених у порожнiх породах, буде визначатися вимогою пiдтримки припустимоï концентрацiï газiв вiд пiдривних робiт вимогою забезпечення мiнiмальноï запилиности. На глибоких шахтах витрата повiтря часто визначається тепловим фактором, тобто вимогою пiдтримки припустимоï температури повiтря (яка допускається рiзноï при рiзнiй швидкостi руху повiтря). Газовий склад атмосфери часто визначається такими джерелами газовидiлення, як пiдривнi роботи i дизельнi машини. Вони видiляють сумiш рiзних шкiдливих газiв. Оцiнка iнтенсивностi ïхнього видiлення в рiзних умовах є важкою задачею. Процес газовидiлення на шахтах у загальному випадку варто вважати стохостичними. Тому процес формування складу шахтноï атмосфери можна в цiлому вiднести до класу стохостичних об´єктiв, тому що не iснує однозначноï вiдповiдностi мiж вхiдними i вихiдними перемiнними.

    Керування технологiчними процесами повинне здiйснюватися по збурюванню. Але системи керування, цiлком iнварiантних до збурювань, для технологiчних процесiв практично не iснує через велике число рiзних збурювань, контроль яких часто виявляється принципово неможливим. При обмеженнi iнварiантостi до деякого рацiонального рiвня доцiльно використовувати керування по вiдхиленню.

    Дослiдженнями встановлено, що функцiя концентрацiï метану характеризується загазованiєм рiзноï частоти. При обмеженнi значення деякою припустимою величиною сдоп усi загазованiя є вiдхиленнями убiк перевищення. Вони зв´язанi з появою небезпечноï ситуацiï. При вiдсутностi автоматичного керування ситуацiєю єдиною реакцiєю на них є вiдключення електроенергiï на дiлянцi (що є потенцiйним джерелом запалення метаноповiтряноï сумiшi) i припинення процесу видобутку вугiлля. Оперативна лiквiдацiя таких загазованiй є основною задачею автоматичного керування вентиляцiєю, тому що в даному випадку зважуються задача забезпечення безперервностi технологiчного процесу i лiквiдацiï простоïв технологiчноï лiнiï по факторi газовидiлення i задача виключення небезпеки вибуху метану у виробках.

    Вiдхилення концентрацiï метану убiк зменшення в порiвняннi з припустимою концентрацiєю також повиннi вiдпрацьовуватися з погляду економiчноï доцiльностi керування, тому що зменшення витрати повiтря на вентиляцiю вироблень викликає iстотне зменшення витрат електроенергiï. Таким чином, системою керування повиннi вiдпрацьовуватися вiдхилення, викликуванi роботою виймаючой машини й iстотних змiн у газовому балансi дiлянки. Тому схема керування функцiєю по вiдхиленню не повинна розглядатися в якостi єдино можливоï, тому що в залежностi вiд реального спектра збурювань ïï ефективнiсть рiзна, i не можна розраховувати на те, що ця схема виявиться працездатноï стосовно газовоï ситуацiï у всiй вентиляцiйнiй мережi шахти, а не тiльки на виймаючой дiлянцi в окремiй виробцi. Зараз можливо використовувати такi могутнi засоби компенсацiï могутнiх газових збурювань низькоï частоти, як пiдземна дегазацiя, при якiй змiною розташування вакуумноï установки в просторi i параметрiв ïï роботи можна iстотно перерозподiлити газовий баланс. Можливо також керування безпосереднє джерелами збурювань.

2. Розробка апаратноï частини

    Основною частиною системи збору iнформацiï є мiкроконтролер Intel 8051. До складу системи також входять:
        - аналогово - цифровий перетворювач(АЦП);
        - набiр датчикiв ( для даних о концентрацiï метану);
        - блок мультиплексування;

    Робота аналогово - цифрового перетворювача та блоку мультиплексування контролюється спецiальними сигналами, що надходять з портiв мiкроконтролера. Пiд час одного циклу роботи системи iнформацiя обробляється наступним чином:
        1. Iнформацiя у виглядi аналогових сигналiв вiд датчикiв надходить до блоку
            мультиплексування;
        2. Мiкроконтролер генерує код адреси необхiдного аналогово сигналу та через порт передає цей
            код до блоку мультиплексування.
        3. Вибраний аналоговий сигнал надходить до АЦП
        4. Мiкроконтролер генерує сигнал дозволу для АЦП i пiсля певного перiоду очiкування приймає
            через порт 8 бiт значення концентрацiï

    Пiсля опитування всiх сигналiв та отримання цифрових даних мiкроконтролер формує блок даних та передає його за допомогою послiдовного iнтерфейсу до робочоï станцiï для подальшоï обробки.

    При побудовi системи використаємо стандартнi мiкросхеми:
        1. Мiкроконтролер Intel 8051;
        2. Аналоговий мультиплексор К561КП2;
        3. 8-бiтний АЦП PHILIPS TDA8714M/6;

    Для забезпечення роботи мiкроконтролера та АЦП необхiдний генератор тактовоï частоти 12 МГц (загальна синхронiзацiя системи).

    Структурна схема системи збору iнформацiï має такий вигляд(рис. 2.1):

    Рисунок 2.1 - Структурна схема системи збору iнформацiï

    Необхiдно провести синтез блоку мультиплексування (MUX).

    Стандартна мiкросхема К561КП2 представляє собою 8-канальний мультиплексор , призначений для переключення цифрових та аналогових сигналiв. Блок MUX повинен забезпечувати переключення двадцяти аналогових сигналiв . Для синтезу необхiдно використати 3 мiкросхеми К561КП2.

    Функцiональна схема блоку мультиплексування (MUX) представлена на рисунку 2.2:

    Рисунок 2.2 - Функцiональна схема блоку MUX

    Сигнали Y0 ... Y19 - це аналоговi сигнали, що надходять з датчикiв.

    Сигнали а0 ... а5 - це дискретнi сигнали, що є кодами адреси необхiдного аналогово cигналу.

    Сигнал Vot - це аналоговий сигнал, який було обрано для подальшоï обробки.

    В процесi роботи системи мiкроконтролер генерує код адреси необхiдного аналогово сигналу та через порт P1 передає цей код до блоку мультиплексування.

    В кожнiй мiкросхемi К561КП2 присутнiй вхiд заборони( активний нижнiй рiвень). Так як в даному випадку в користуваннi цим входом немає потреби, то на нього подається логiчна одиниця - +5В.

    Для АЦП використаємо стандартну мiкросхему PHILIPS TDA8714M/6. Вiн представляє з себе 8-бiтний високошвидкiсний аналогово-цифровий перетворювач.

    Максимальна тактова частота мiкросхеми становить 60MГц.

    Так як стандартний АЦП розрахований на дiапазон вхiдного аналогово сигналу вiд 0В до +7в, то необхiдним є розрахунок додатковоï ланки, яка б перетворювала аналоговий сигнал шляхом змiни його масштабу.

    Вхiдний аналоговий сигнал з датчика змiнюється в межах вiд 0 до +10В. Основним компонентом даноï ланки буде операцiйний пiдсилювач.

    Схема складається з двох частин, з´єднаних послiдовно. Кожна частина в загальному виглядi побудована так:

    Рисунок 2.5 - Схема пiдключення

    Дана схема забезпечує таку залежнiсть:

    Uo= - Ui *(R2/R1);
    R2/R1= - (Uo/Ui)

    Розрахуємо параметри резисторiв для першоï ланки:

    Uo = -7В, Ui = 10В,
    R21/R11 = 7/10;

    Нехай R21 = 700Ом, R11 = 1000Ом.

    Друга ланка повинна лише змiнювати знак, отже нехай R22 = 700Ом, R12 = 700Ом.

    Для синтезу схеми використаємо стандартний елемент AD712ACP( корпус DIP8).

    За таких умов буфернi елементи мiж робочою станцiєю та системою збору iнформацiï не потрiбнi, так як цикл передачi даних здiйснюється за допомогою унiверсального прийомо-передавача. Принципова схема системи збору iнформацiï наведена в графiчнiй частинi.

3. Розробка прошивки мiкроконтролера

3.1 Розробка головноï процедури

    Наступним етапом є розробка ПЗ системи збору iнформацiï.

    Головний алгоритм роботи системи збору iнформацiï має вигляд (рисунок 3.1.1):

    Рисунок 3.1.1 - Головний алгоритм роботи системи збору iнформацiï

    Розглянемо кожний з блокiв алгоритму бiльш детально.

    В блоцi iнiцiалiзацiï ми задаємо режим роботи таймеру, заносимо до таймеру необхiдне число циклiв його роботи.

    Так як збiр даних повинен здiйснюватись кожнi 3 секунди, то цей перiод буде задаватись таким чином:
        Tsec = 3 секунди;
        Tsec = 60 * 50000 мiкросекунд = n*s;

    Таймер мiкроконтролера в режимi 1 має розряднiсть 16 бiт, та працює, як лiчильник, що додає.

    Отже для забеспечення даного промiжку часу (Tsec) треба здiйснити 60 циклiв роботи таймера, до якого внести значення -5000010 = 3СВ0h;

    Кiлькiсть циклiв роботи таймера:
        S = 6010 = 3Ch;

    За кiлькiсть циклiв таймера буде вiдповiдати комiрка оперативноï памятi з адресою 3F.

    Вершина "iнтервал" перевiряє кiлькiсть циклiв роботи таймера:
        - Якщо кiлькiсть циклiв станонить потрiбну величину, то до комiрки оперативноï пам´ятi з
           адресою 3F заноситься нуль, та виконується вiдповiдно виклик процедур "Збiр даних" та
           "Вiдправка даних".
        - Якщо кiлькiсть циклiв не вiдповiдає заданим умовам, то виклик процедур "Збiр даних" та
           "Вiдправка даних" не вiдбувається.

    Процедура "Збiр даних" дiє наступним чином:
        - Органiзується цикл, пiдчас роботи якого послiдовно здiйснюється опит кожного з аналогових
           входiв згiдно з номером, видається сигнал на АЦП та через порт Р0 приймається 8 бiт даних з
           АЦП.
        - Масив отриманих даних зберiгається в оперативнiй пам´ятi в комiрках з адресами починаючи з
           40h до 53h;
        - Керування передається головнiй програмi.

    Процедура "Вiдправка даних" дiє наступним чином:
        - Унiверсальний прийомо-передавач програмується на вiдповiдний режим;
        - Органiзується цикл передачi масиву з 22 байт, що мiстить в собi перших два байта сигналу
           початку сеанса та 20 байт зiбраних даних;
        - Керування передається головнiй програмi.

3.2 Розробка процедури опиту

    Алгоритм роботи процедури опиту датчикiв має вигляд(рисунок 3.2.1):

    Рисунок 3.2.1 - Алгоритм роботи процедури опиту датчикiв

    Першим етапом є iнiцiалiзацiя:
        - порт Р0 iнiцiалiзується як приймач;
        - порт Р1 iнiцiалiзується як передавач;
        - регiстр R1 - кiлькiсть циклiв опиту та зсув у таблицi адрес аналогових сигналiв;
        - регiстр DPTR - базова адреса таблицi адрес аналогових сигналiв;
        - регiстр R2 - базова адреса масиву даних в ОЗУ;

    Далi здiйснюється цикл роботи, пiд час якого:
        - вибирається адреса аналогово сигналу та передається через порт Р1, бiт Р1.7 взводиться
           (сигнал дозволу для АЦП);
        - через порт Р0 з АЦП одержується байт даних, бiт Р1.7 скидується (Р1.7 =0);
        - отриманий байт помiщується до масиву в ОЗУ.

    Масив даних знаходиться в ОЗУ в комiрках з номерами вiд 40h до 54h включно. Таблиця адрес аналогових сигналiв знаходиться в пам´ятi починаючи з адреси 0160h.

3.3 Розробка процедури передачi даних

    Алгоритм роботи процедури передачi даних на робочу станцiю має вигляд (рисунок 3.3.1):

    Рисунок 3.3.1 - Алгоритм роботи процедури передачi даних.

    Першим етапом є iнiцiалiзацiя:
        - вибiр режиму роботи унiверсального прийомо-передавача. Обрано режим 1 (старт-бiт,
           8 бiт даних, стоп-бiт);
        - вибiр швидкостi передачi (обрано швидкiсть 2400 бiт/с при тактовiй частотi 12Мгц);
        - встановлення базовоï адреси масиву даних в ОЗУ
        - пуск таймера.

    Пiд час передачi початком серiï служать 2 байта (Б1 та Б2):
        Б1= 1111 11112;
        Б2= 0000 00002;

    Пiсля того, як Б1 та Б2 було передано, органiзується цикл, пiд час роботи якого байт даних спочатку з ОЗУ копiюється до аккумулятора А, а потiм передається до буферного регiстру UART для подальшоï передачi на робочу станцiю.

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

    Регiстр R3=40h // базова адреса масива даних в ОЗУ.
    Кiлькiсть байт даних, що передаються : 14h

4. Розробка ПЗ представлення отриманих даних

    Пiдсистема представлення отриманих даних(ПСП) є саме тiєю частиною, яка беспосередньо забеспечує взаємодiю всiєï системи з оператором. Вся необхiдна iнформацiя надходить вiд пiдсистеми збору iнформацiï(ПСЗi) та пiддається обробцi.

    Взаємозв´язок показано на рисунку 4.1:

    Рисунок 4.1 - Взаємозв´язок пiдсистем збору та представлення iнформацiï

    Мовою програмування, що буде використовуватись пiд час розробка пiдсистеми представлення отриманих даних, буде мова С.

    Це дозволяє надати програмi такi властивостi,як надiйнiсть, швидкодiя, легка переносимiсть на будь-якi операцiйнi системи та платформи.

    Цей пiдхiд вибрано також виходячи з економiчноï точки зору, бо в даному випадку таке програмне забезпечення суттєво знижує вартiсть робочого мiсця оператора в силу нижчих вимог до апаратноï частини.

    Задачами ПСП є:
        - отримати вiд пiдсистеми збору даних iнформацiю про концентрацiю метана на
           кожнiй з дiлянок, що контролюються ;
        - провести аналiз отриманих даних;
        - внести показники концентрацiï до архiву показникiв, що є обов´язковим, так як це
           забеспечує ведення статистики;
        - вивести на монiтор оператора поточнi значення концентрацiï метана на кожному з датчикiв;
        - якщо на деякiй з дiлянок концентрацiя не вiдповiдає нормам беспеки;
           (перевищує встановлений показник в 1.3%), то необхiдно попередити про цей
           факт оператора - вивести на екран попередження;

4.1 Розробка алгоритму роботи програмного забезпечення

    Алгоритм роботи програмного забезпечення пiдсистеми представлення отриманих даних повинен забеспечити виконання всiх вимог, поставленних до цiєï пiдсистеми.

    Програмне забеспечення представлення даних складається з двох частин:
        - обробник апаратного переривання вiд приймача(унiверсальний
           послiдовний прийомо-передавач);
        - головна програма аналiзу та представлення даних.

    Рисунок 4.1.1 - Алгоритм роботи головноï програми.

    Розглянемо кожний з блокiв алгоритму бiльш детально.

    Пiсля старту роботи програми в блоцi "Initialize" вiдбувається iнiцiалiзацiя:
        - Iнiцiалiзацiя графiчного iнтерфейсу;
        - вiдкриття або создання файлу бази даних;
        - Iнiцiалiзацiя флагiв та всiх необхiдних структур даних;
        - пiдготовка умов роботи обробника апаратного переривання.

    Пiсля iнiцiалiзацiï починається головний цикл роботи. В ньому спочатку перевiряється наявнiсть зв´язку з пiдсистемою збору iнформацiï. Флаг "Connect" взводиться обробником переривання пiд час його виклику.

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

    Затримка обчислюється як рiзниця мiж початковим значенням(отримуємо його якщо це перший холостий прохiд циклу - Delay_fl=0 ) та поточним значенням часу в тiках.

    Якщо затримка перевищує максимум(15 секунд = 270 тiкiв), то взводиться флаг вiдсутностi зв´язку з об´єктом "Erriconnect".

     За умови, що флаг "Connect" взведено, вiдбувається перевiрка: отримано останнiй байт в серiï чи нi.

    Якщо так, то вiдбувається аналiз отриманих даних по кожному з датчикiв, формується структура даних(мiстить дату, час отримання та блок даних) та записується до файлу. Потiм данi виводяться на екран оператора.

    Якщо нi, то переходимо до початку циклу.

    При завершеннi оботи програми вiдувається закриття файлу, вiдновлення попереднiх графiчних настройок та вiдновлення векторiв переривань.

    Обробник апаратного переривання забеспечує отримання iнформацiï вiд пiдсистеми збору даних.

    Рисунок 4.1.2 - Алгоритм роботи обробника.

    Пiд час виклику обробника вiдбувається змiна таких флагiв:
    Erriconnect = 0;
    Connect = 1;
    Delay_fl = 0;

    Далi вiдбувається аналiз байта, що отримано.

    Байт, що мiстить значення 1111 11112, є признаком початку блока.

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

    Якщо було отримано байт з iним значенням, але флаг прийому серiï взведено, то цей байт заноситься до буферу.

    Якщо було отримано байт з iним значенням, але флаг прийому серiï не взведено, то oбробник завершує роботу.

4.2 Розробка структур даних

    Пiдсистема збору iнформацiï побудована на основi мiкроконтроллера INTEL8051. З цього випливає, ця пiдсистема оперує виключно цiлими числами.

    Отже значення концентрацiï метана є цiлим числом.

    Для того щоб задовольнити вимогам завдання, потрiбно визначити, який саме формат даних необхiдно використовувати.

    Максимально допустима концентрацiя метану в шахтних виробках становить в середньому 1.3%.

    Якщо проводити вимiрювання з похибкою в 0.05% , а максимальним можливим значенням вважати 12.75% , то дiапазон цiлих чисел буде становити 255 значень. Щоб задовiльнити цi потреби, необхiдно:

    Отже, необхiдно використовувати тип даних unsigned char.

    З цього випливає, що пiд час обмiну даними з пiдсистеми збору iнформацiï надходить 20+1 байтiв iнформацiï (рис. 4.2.1):

    В процесi обробки даних необхiдно створювати статистику, тобто зберiгати показники, що надiйшли ранiше.

    Для цього необхiдно створити базу даних для зберiгання iнформацiï.

    В цiй базi iнформацiя зберiгається у виглядi структур, кожна з которих повинна мiстити:
        - блок даних;
        - дата надходження;
        - час надходження;

    Час та дата зберiгається у стандартному форматi, що використовується функцiями gettime та getdate:

struct date {
   int daiyear;  /* current year */
   char daiday;  /* day of the month */
   char daimon;  /* month (1 = Jan) */
};

struct time {
   unsigned char tiimin;  /* minutes */
   unsigned char tiihour;  /* hours */
   unsigned char tiihund;  /* hundredths of seconds */
   unsigned char tiisec;  /* seconds */
};

    Таким структура запису:

union idata
{
   unsigned char value[20];
   struct date D;
   struct time T;
} Rec;

    Розмiр одного запису:

    M = 21 + (2+2*1)+ 4*1 = 29 байт

    Використаємо такi структури:
        1) int DataiArr[20];    буфер для зберiгання показникiв концентрацiï
        2) int Dataifl[20];    масив флагiв вiдповiдностi значень вимогам беспеки