Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Нечітка логіка і нейронні датчики

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Ідея групової або інтервальної класифікації може бути розширена на багато інших розмов, такі як орієнтування, швидкість або зростання. Давайте використовуваний поняття зростання для ще одного прикладу. Якщо мі побудуємо графік зростання 1000 людей, його форма нагадуватиме деру криву на Мал. 28. Мі можемо використовувати цей графік для формування груп людей маленького, середнього і високого… Читати ще >

Нечітка логіка і нейронні датчики (реферат, курсова, диплом, контрольна)

При інтерпретації цих сенсорних датчиків можна скористатися деякими цікавими можливостями. За допомогою мікроконтроллера мі можемо імітувати роботові нейронних ятерів і/або пристроїв з нечіткою логікою.

Нечітка логіка Перші роботи по нечіткій логіці булі опубліковані в 1965 році професором Каліфорнійського університету в Беркли Лотфи Заді. З самого качану принципи нечіткої логіки як посилено рекламувалися, так і піддавалися критиці.

По суті нечітка логіка намагається імітувати підхід людини визначенню груп і класів явищ. Визначення «нечіткості» можна пояснити деякими прикладами. Наприклад, на основі якого критерію теплий сонячний день може бути визначений, не як «теплий», але як жаркий і ким? Основою, на якій хтось визначає теплий день як жаркий може служити персональне відчуття тепло, яку у свою чергу залежить від його або її оточення (див. Мал. 6.27).

Не існує універсального термометра, який «стверджує», що 26,9 Сo це тепло, а 27 Сo вже жарко. Якщо розглянути цей приклад ширше, то люди, що населяють Аляску, матимуть інший інтервал температур для «Теплих днів» порівняно з жителями Нью-Йорка, і обоє ці значення будуть відрізнятися від відповідних значень для жителів Флориди. При цьому ще не треба забувати про часи року. Теплий зимовищ день відрізняється по температурі від літнього. Вусі зводиться до того, що основою класифікації (наприклад, поняття «Теплий день») може служити інтервал температур визначених думанням групи людей. Подальша класифікація може бути проведена порівнянням думань різних груп людей.

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

Мал. 27 — Зміна температури від теплої до жаркої: плавно або стрибком.

Ідея групової або інтервальної класифікації може бути розширена на багато інших розмов, такі як орієнтування, швидкість або зростання. Давайте використовуваний поняття зростання для ще одного прикладу. Якщо мі побудуємо графік зростання 1000 людей, його форма нагадуватиме деру криву на Мал. 28. Мі можемо використовувати цей графік для формування груп людей маленького, середнього і високого зростання. Якщо мі застосуємо жорстке вирішальне правило рахувати усіх нижче 170 см людьми низького зростання і усіх вище 180 людьми високого зросту, то графік набуде форми 2 на Мал. 28.

Таке правило рахує зростання 178 см «середнім», хоча насправді людина такого зростання знаходиться ближче до групи «високих» (від 180 см і вище).

Замість правив жорсткої «швидкої» логіки, зазвичай використовуваної в комп’ютерах, людина, як правило, використовує «м'якшу», неточнішу логіку або нечітку логіку. Для введення нечіткої логіки в комп’ютер мі визначимо самі групи і міру приналежності до групи. Таким чином людина зростанням 178 см майже не належатиме групі людей середнього зростання (слабка присутність) і упевнено належати групі високого зростання (сильна присутність).

Нечітка логіка є альтернативою оцифрованому графіку, представленому під номером 3 на Мал. 6.28. Графік, оцифрований з високим розділенням, дозволяє вимірювати зростання з такою ж точністю. Яка причина застосування нечіткої логіки замість використання оцифрованній моделі? Річ у тому, що методи нечіткої логіки вимагають більше простих форм математичного забезпечення і функцій навчення. Для моделювання нечіткої логіки в PIC мікроконтроллері для груп необхідно створити чисельні інтервали значень.

Нечітка логіка і нейронні датчики.

Мал. 28 — Угрупування людей по зростанню на підставі різних правив Пристрій нечіткої логіки — система стеження за напрямом джерела світла Зарази мі приступимо до виготовлення прибудую — системи стеження за напрямом джерела світла, що використовує принцип нечіткої логіки. Система відстежує напрям на джерело світла, застосовуючи нечітку логіку.

Для конструкції системи стеження нам буде потрібно два CdS фотоелемента, які є світлочутливими резистивними датчиками (див. Мал. 29). Опір такого елементу змінюється пропорційно інтенсивності світлового потоку, що падає на чутливу поверхню фотоелемента. У умовах темряви елемент має найбільший опір.

У продаж є багато різних типів CdS фотоелементів. Вибір відповідного елементу грунтується на темновому опорі елементу і опорі світлового насичення.

Термін «Опір світлового насичення» означає мінімальний опір елементу, який перестає зменшуватися при підвищенні рівня освітленості, тобто стає насиченим. Я використовую CdS фотоелементи, що мають темнове опір близько 100 кОм і опір світлового насичення порядку 500 Ом. За середніх умів освітленості опір варіює в межах 2,5−10 кОм.

Для проекту буде потрібно два CdS фотоелемента. Необхідно перевірити кожен елемент окремо, оскільки усередині елементів одного типу спостерігається розкид параметрів, що зажадає зміни коефіцієнта шкалування. Для команди pot я використовував місткість 0,022 мкФ і параметр множника шкали 225.

Принципова схема прибудую зображена на Мал. 30. CdS фотоелементи підключені до шини порту В (фізичні номери виводів 8 і 9).

Нечітка логіка і нейронні датчики.

Мал. 29 — Електричні характеристики CdS фотоелемента.

Нечітка логіка і нейронні датчики.

Мал. 30 — Схема системи стеження за джерелом світла Фотоелементи закріплені на невеликій пластині з пластика або дерева (див. Мал. 31). Для виводів фотоелементів в пластині просвердлені невеликі відчини. Із зворотного боку до виводів підпаяні провідники сполучені з виводами PIC мікроконтроллера. Для закріплення валу редуктора двигуна просвердлений отвір від 2,4 мм до 3 мм. Вал редуктора пропущений через отвір в блоці датчиків і закріплений клеєм (див. Мал.32).

Робота системи стеження показана на Мал. 33. При однаковому освітленні обох датчиків, їх відповідні опори приблизно однакові. У межах ±10 одиниць PIC програма вважає їх однаковою і не включає пристрій повороту. Іншими словами, утворюється група «подібності» з розмахом 20 одиниць. Подібна група і є група нечіткої логіки.

Нечітка логіка і нейронні датчики.

Мал. 31 — Конструкція блоку датчиків.

Нечітка логіка і нейронні датчики.

Мал. 32 — Фотографія блоку датчиків, закріплених на редукторі двигуна Коли один з датчиків потрапляє в зону тіні, тобто різниця свідчень датчиків перевищує діапазон 20 одиниць, PIC мікроконтроллер запускає двигун, що повертає блок сенсорів у бік джерела світла (тобто рівній освітленості датчиків).

Управління двигуном постійного струму Для повороту блоку датчиків у бік джерела світла пристрій використовує двигун постійного струму з редуктором (див. Мал. 34). Коефіцієнт уповільнення редуктора 4000:1. Вал редуктора має швидкість приблизно 1 оборот в хвилину. При повторенні конструкції для повороту блоку датчиків рекомендується використовувати двигун з редуктором, що має подібні характеристики.

Блок датчиків прикріплений (приклеєний) до валу редуктора двигуна. Двигун через редуктор може повертати блок за годинниковою стрілкою або проти годинникової стрілки поклад від напряму струму, протікаючого через двигун. Для забезпечення реверсування напряму обертання двигуна необхідний пристрій, що забезпечує протікання струму в обох напрямах. Для цієї мети мі використовуємо мостову схему. У мостовій схемі використовуються чотири транзистори (див. Мал. 6.35). Розглянемо кожен транзистор як простий ключ, як показано у верхній частині малюнка. Схема названа бруківки, оскільки транзистори (ключі) включені її біля вигляді моста. При замиканні ключів SW1 і SW4 двигун обертається в одному напрямку. При замиканні ключів SW2 і SW3 двигун обертається в протилежному напрямі. Якщо ключі розімкнені, то відбувається зупинка двигуна. Управління мостом здійснюється за допомогою PIC мікропроцесора. Мостова схеми включає чотири NPN транзистора типу 120 Darlington, чотири діоди типу 1N514 і два резистори 10 кОм 0,25 Вт. Вихід 0 підключений до транзисторів Q1 і Q4. Висновок 1 підключений до транзисторів Q2 і Q3. Сигналами на виводах 0 і 1 відкриваються відповідні транзистори і двигун обертається по або проти годинникової стрілки відповідно даним блоку датчиків. Зверніть увагу на правильність підключення резисторів 10 кОм, інакше схема не працюватиме. Транзистори TIP 120 Darlington зображені на схемі як звичайні NPN транзистори. У багатьох схемах моста в «верхній» частині використовуються транзистори PNP провідності. Опір PNP транзисторів небагато вище. Таким чином, якщо мі використовуємо тільки NPN транзистори, то ККД пристрої декілька збільшиться.

Нечітка логіка і нейронні датчики.

Мал. 33 — Робота блоку датчиків поклад від напряму на джерело світла Діоди Для запобігання викидам напруга, яка може привести до скиданню або зависанню PIC мікропроцесора, використовуються захисні диоды, включені між емітером і колектором шкірного транзистора (від Q1 до Q4). Ці діоди гасять сплески напруга, що виникає при включении і виключенні обмоток двигуна.

Програма на PICBASIC має наступний вигляд:

''Програма нечіткої логіки для системи стеження.

start:

low 0 'Низький рівень шини 0.

low 1 'Низький рівень шини 1.

pot 2,255, b0 'Читання свідчень фотоелемента 1.

pot 3,255, b1 'Читання свідчень фотоелемента 2.

Нечітка логіка і нейронні датчики.

Мал. 34 — Фотографія конструкції прибудую стеження в зборі.

if b0 = b1 then start 'Якщо свідчення рівні, то нічого не робити.

if b0 > b1 then greater 'Якщо більше, то наскільки.

if b0 < b1 then lesser 'Якщо менше, то наскільки.

greater: 'Процедура більша.

b2 = b0 — b1 'Визначення різниці свідчень.

if b2 > 10 then cw 'Усередині між? Якщо ні, перейти на cw.

goto start: 'Якщо усередині між, вимірювати знову.

lesser: 'Процедура менша.

b2 = b1 — b0 'Визначення різниці свідчень.

if b2 > 10 then ccw 'Усередині між? Якщо ні, перейти на ccw.

goto start: 'Якщо усередині між, вимірювати знову.

cw: 'Поворот блоку за годинниковою стрілкою.

high 0 'Включити міст.

pause 100 'Обертання 0,1 з.

goto start 'Нова перевірка сcw: 'Поворот блоку проти годинникової стрілки.

high 1 'Включити міст.

pause 100 'Обертання 0,1 з.

goto start: 'Нова перевірка Робота пристрою При роботі система стеження обертається услід за переміщенням джерела світла. Якщо обоє CdS фотоелемента освітлені приблизно одинакову, то повороту не відбувається. Для перевірки роботи прибудую закрийте пальцем один з CdS датчиків. Це повинне викликати включення двигуна і поворот валу редуктора.

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

Робота мостової схеми.

Нечітка логіка і нейронні датчики.

Мал. 35 — Робота мостової схеми і її пристрій Вихід, що не використовує нечітку логіку Пристрій системи стеження з нечіткою логікою має двійковий вихід. Двигун може знаходитися в трьох станах: вимкнене і обертання за і проти годинникової стрілки. У багатьох випадках потрібно плавне (градуальное) зміна вихідного сигналу. Допустимо, ви проектуєте пристрій управління двигуном ліфта. Необхідною умовою в цьому випадку буде поступове, а не різке прискорення або зупинка ліфта (двигун не повинний просто вмикатися і вимикатися).

Чи можлива подібна зміна схеми нашого прибудую? Так, звісно. Замість простого включення двигуна, мі можемо живити його сигналом ШИМ, який управляє швидкістю його обертання. У ідеалі швидкість обертання двигуна має бути пропорційна різниці свідчень (опорів) двох CdS датчиків. Велика різниця призводитиме до більшої швидкості обертання. У міру обертання датчика і наближення його до положення рівноваги швидкість обертання двигуна динамічно змінюватиметься. Така програма управління виходом може бути ілюстрована графіками, розбиттям на групи і приналежністю до групи в термінах нечіткої логіки. У даному випадку використання подібної програми для системи стеження є надмірним. У цілях експерименту ви можете використовувати команди pulsout і pwm для управління швидкістю обертання двигуна.

Нейронні датчики (логіка) За допомогою простої програми мі можемо перетворити датчики нечіткої логіки (CdS фотоелементи) в нейронні датчики. Нейронні мережі є великою областю, мі ж обмежимося одним невеликим прикладом. Для створення нейронного датчика мі візьмемо чисельні значення шкірного датчика, помножимо їх на відповідні вагові коэфіціенти і підсумовуємо результуючі величини. Отриманий результат потім порівнюватиметься зі значенням трирівневого порогового значення (див. Мал.36).

Наша невелика програма і датчики можуть виконувати усі функції властиві нейронній мережі. Більше того, введення багаторівневих порогових значень є нашою оригінальною розробкою. Чи існують багатопорогові системи в природі (біологічні системи)? Так, поза сумнівом.

Свербіж або короста є дуже незначним по рівню болем, а паління може відчуватися як від жари, так і від дії холоду.

Багаторівневі порогові значення Як правило, окремі нейрони нейронної мережі мають єдиний поріг (позитивний або негативний). Якщо значення перевищує порогове, то нейрон активується. У нашому випадку вихідний сигнал порівнюється з декількома пороговими значеннями і потрапляє, таким чином, у відповідну групу. Замість того щоб розглядати групи виходу як діапазони численних значень, скористаємося геометричною інтерпретацією. Розглянемо групи як групи круга, квадрата і трикутника відповідно. При накопиченні значення «На нейроні» його виходом буде служити геометрична форма, а не чисельне значення. Вихідні нейрони (світлодіоди) можуть бути зібрані в матриці відповідної форми. При попаданні сигналу в певну групу спалахує відповідна матриця. У нашому випадку кожен з рівнів виходу нейрона мі відноситимемо до трьох груп характерної «поведінки»: сплячці, полюванню і годуванню, які відбивають основні типи поведінки «виживання» для робота «мисливця за світлом». Вибір типу «поведінки» ґрунтується на потоковому рівні освітленості. При низькому рівні освітленості робот-мисливець припиняє полювання і пошуки їжі (світла). Включається режим сну або сплячки. При середніх рівнях освітленості робот «полює» і вишукує місця з найбільшим рівнем світла. При високих рівнях освітленості «мисливець» зупиняється і «живитися», заряджаючи сонячні батареї.

Нечітка логіка і нейронні датчики.

Мал. 36 — Схема трирівневого нейрона Можна позначити світлодіоди як «сплячка», «полювання» і «живлення». Кожен зі світлодіодів загорається поклад від інтенсивності світлового потоку, CdS, що приймається фотоелементами.

Програма на PICBASIC має наступний вигляд:

''Демонстрація роботи нейрона.

''Установка параметрів.

low 0 'Світлодіод 1 «сплячка» вимкнений.

low 1 'Світлодіод 2 «полювання» вимкнений.

low 2 'Світлодіод 3 «живлення» вимкнений.

start:

pot 3,255, b0 'Прочитування свідчень першого датчика.

pot 4,255, b1 'Прочитування свідчень іншого датчика.

w2 = b0 * 3 'Множення на ваговий коефіцієнт.

w3 = b1 * 2 'Множення на ваговий коефіцієнт.

w4 = w2 + w3 'Складання результатів.

''Установка порогових значень.

if w4 < 40 then feed 'Багато світла. Живлення.

if w4 <= 300 then hunt 'Світла середня кількість. Полювання.

If w4 > 300 then snooze 'Світла мало. Сплячка.

''Дії.

feed: 'Годування.

low 0.

low 1.

high 2.

goto start:

hunt: 'Полювання.

low 0.

high 1.

low 2.

goto start:

snooze: 'Сплячка * не використовувати ключ sleep *.

goto start.

Нечітка логіка і нейронні датчики.

Мал. 37 — Схема основного нейронного ланцюжка мікроконтроллер компілятор датчик Список необхідних частин для програмування мікроконтроллера.

_ компілятор PSIBASIC.

_ компілятор PSIBASIC Pro (включаючи CodeDesignerLit).

_ програматор EPIC.

_ компілятор PICBASIC і програматор EPIC.

_ CodeDesigner любительська версія.

_ CodeDesigner стандартна версія.

_ 16F84−4 1 шт.

_ кварцевий резонатор 4,0 Мгц.

_ конденсатор 22 пФ 2 шт.

_ конденсатор 0,1 мкФ.

_ конденсатор 100 мФ 12 В.

_ резистор 4,7 кОм 0,25 Вт.

_ резистор 470 Ом 0,25 Вт.

_ стабілізатор напруги 7805.

_ світлодіод мініатюрний.

_ плата макетна.

_ Набор для експериментів PIC — LED — 02 (Включає: PIC16F84 (1), кварц.

4,0 Мгц (1), конденсатора 22 пФ (2), резистор 10 кОм 0,25 Вт (1), регулювальник напруга 7805 (1), макетна плата (1), резистор 470 Ом (8), мініатюрний світлодіод (8), кнопка-вимикач (1), керівництво за двійковим кодом, логікою і портам введення/виводу, А і В).

_ Сервомотор із зусиллям 1,3 кгс Список деталей для системи стеження за напрямом джерела світла і демонстраційного нейрона.

_ (2) CdS фотоелемент.

_ (1) датчик вигину (номінальний опір 10 кОм).

_ (2) конденсатор 0,22 мкФ.

_ (1) конденсатор 0,01 мкФ.

_ (4) транзистор NPN TIP 120 Darlington.

_ (2) резистор 10 кОм.

_ (6) діод 1N514.

_ (2) резистор 1 кОм.

_ двигун з редуктором 4000:1.

_ (1) Макетна плата Radio Shack PN# 276−175.

_ (1) конденсатор 0,1 мкФ Radio Shack PN# 272−1069.

_ (8) Світлодіод червоний Radio Shack PN# 276−208.

_ (8) Резистор 470 Ом Radio Shack PN# 270−1115.

_ (1) Резистор 4,7 кОм Radio Shack PN# 271−1124.

_ (8) Резистор 10 кОм Radio Shack PN# 271−1126.

_ (1) Регулювальник напряж. 7805 Radio Shack PN# 276−1770.

_ (2) Вимикач 4 позиц. Radio Shack PN# 275−1301.

_ Затиск батареї 9 В Radio Shack PN# 270−325.

Показати весь текст
Заповнити форму поточною роботою