Создаем робота-андроида своими руками
Шрифт:
Рис. 6.28. Группировка людей по росту на основании различных правил
Вместо правил жесткой «быстрой» логики, обычно используемой в компьютерах, человек, как правило, использует более «мягкую», неточную логику или нечеткую логику. Для введения нечеткой логики в компьютер мы определим сами группы и степень принадлежности к группе. Таким образом, человек ростом 178 см почти не будет принадлежать группе людей среднего роста (слабое присутствие) и уверенно принадлежать группе высокого
Нечеткая логика представляет собой альтернативу оцифрованному графику, представленному под номером 3 на рис. 6.28. График, оцифрованный с высоким разрешением, позволяет измерять рост с такой же точностью. Какова причина применения нечеткой логики вместо использования оцифрованной модели? Дело в том, что методы нечеткой логики требуют более простых форм математического обеспечения и функций научения.
Для моделирования нечеткой логики в PIC микроконтроллере для групп необходимо создать численные интервалы значений. Этим мы займемся в следующем проекте.
Устройство нечеткой логики – система слежения за направлением источника света
Сейчас мы приступим к изготовлению устройства – системы слежения за направлением источника света, использующего принцип нечеткой логики. Система отслеживает направление на источник света, применяя нечеткую логику.
Для конструкции системы слежения нам потребуются два CdS фотоэлемента, которые представляют собой светочувствительные резистивные датчики (см. рис. 6.29). Сопротивление такого элемента изменяется пропорционально интенсивности светового потока, падающего на чувствительную поверхность фотоэлемента. В условиях темноты элемент имеет наибольшее сопротивление.
Рис. 6.29. Электрические характеристики CdS фотоэлемента
В продаже имеется много различных типов CdS фотоэлементов. Выбор подходящего элемента основывается на темновом сопротивлении элемента и сопротивлении светового насыщения. Термин «сопротивление светового насыщения» означает минимальное сопротивление элемента, которое перестает уменьшаться при повышении уровня освещенности, т. е. становится насыщенным. Я использую CdS фотоэлементы, имеющие темновое сопротивление порядка 100 кОм и сопротивление светового насыщения порядка 500 Ом. При средних условиях освещенности сопротивление варьирует в пределах 2,5-10 кОм.
Для проекта потребуется два CdS фотоэлемента. Необходимо проверить каждый элемент по отдельности, поскольку внутри элементов одного типа наблюдается разброс параметров, что потребует изменения коэффициента шкалирования. Для команды pot я использовал емкость 0,022 мкФ и параметр множителя шкалы 225.
Принципиальная схема устройства изображена на рис. 6.30. CdS фотоэлементы подключены к шине порта В (физические номера выводов 8 и 9).
Рис. 6.30. Схема системы слежения за источником света
Фотоэлементы закреплены на небольшой пластине из пластика или дерева (см. рис. 6.31). Для выводов фотоэлементов в пластине просверлены небольшие отверстия. С обратной стороны к выводам подпаяны проводники, соединенные с выводами PIC микроконтроллера.
Рис. 6.31. Конструкция блока датчиков
Для закрепления вала редуктора двигателя
Рис. 6.32. Фотография блока датчиков, закрепленных на редукторе двигателя
Работа системы слежения показана на рис. 6.33. При одинаковом освещении обоих датчиков, их соответствующие сопротивления примерно одинаковы. В пределах ±10 единиц PIC программа считает их одинаковыми и не включает устройство поворота. Иными словами, образуется группа «одинаковости» с размахом 20 единиц. Подобная группа и есть группа нечеткой логики.
Рис. 6.33. Работа блока датчиков в зависимости от направления на источник света
Когда один из датчиков попадает в зону тени, т. е. разность показаний датчиков превышает диапазон 20 единиц, PIC микроконтроллер запускает двигатель, поворачивающий блок сенсоров в сторону источника света (т. е. равной освещенности датчиков).
Для поворота блока датчиков в сторону источника света устройство использует двигатель постоянного тока с редуктором (см. рис. 6.34). Коэффициент замедления редуктора 4000:1. Вал редуктора имеет скорость примерно 1 оборот в минуту. При повторении конструкции для поворота блока датчиков рекомендуется использовать двигатель с редуктором, имеющим подобные характеристики.
Рис. 6.34. Фотография конструкции устройства слежения в сборе
Блок датчиков прикреплен (приклеен) к валу редуктора двигателя. Двигатель через редуктор может поворачивать блок по часовой стрелке или против часовой стрелки в зависимости от направления тока, протекающего через двигатель.
Для обеспечения реверсирования направления вращения двигателя необходимо устройство, обеспечивающее протекание тока в обоих направлениях. Для этой цели мы используем мостовую схему. В мостовой схеме используются четыре транзистора (см. рис. 6.35). Рассмотрим каждый транзистор как простой ключ, как показано в верхней части рисунка. Схема названа мостовой, поскольку транзисторы (ключи) включены нее в виде моста.
Рис. 6.35. Работа мостовой схемы и ее устройство
При замыкании ключей SW1 и SW4 двигатель вращается в одном направлении. При замыкании ключей SW2 и SW3 двигатель вращается в противоположном направлении. Если ключи разомкнуты, то происходит остановка двигателя.
Управление мостом осуществляется с помощью PIC микропроцессора. Мостовая схемы включает в себя четыре NPN транзистора типа 120 Darlington, четыре диода типа 1N514 и два резистора 10 кОм 0,25 Вт. Вывод 0 подключен к транзисторам Q1 и Q4. Вывод 1 подключен к транзисторам Q2 и Q3. Сигналами на выводах 0 и 1 открываются соответствующие транзисторы и двигатель вращается по или против часовой стрелки соответственно данным блока датчиков. Обратите внимание на правильность подключения резисторов 10 кОм, в противном случае схема не будет работать.