‘Программа качания сервомотора

‘Компилятор PICBASIC Pro

‘Программа осуществляет качание из левого положения в правое и обратно

b0 var byte

b0 = 100 ‘Инициализация левого положения

sweep: ‘Процедура прямого прохода

pulsout portb.0,b0 ‘Посылка импульса в сервомотор

pause 18 ‘Ожидание 18 мс (от 50 до 60 Гц)

b0 = b0 + 1 ‘Увеличение длины импульса

if b0 > 200 then sweepback ‘Конец прямого хода?

goto sweep ‘Нет, продолжение прямого прохода

sweepback: ‘Процедура обратного прохода

b0 = b0 – 1 ‘Уменьшение длины импульса

pulsout portb.0,b0 ‘Посылка импульса в сервомотор

pause 18 ‘Ожидание 18 мс (от 50 до 60 Гц)

if b0 < 100 then sweep ‘Конец обратного хода?

goto sweepback ‘Нет

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

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

Нечеткая логика

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

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

Рис. 6.27. Изменение температуры от теплой до жаркой: плавно или скачком

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

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

Идея групповой или интервальной классификации может быть расширена на многие другие вещи, такие как ориентирование, скорость или рост. Давайте используем понятие роста для еще одного примера. Если мы построим график роста 1000 людей, его форма будет напоминать первую кривую на рис. 6.28. Мы можем использовать этот график для формирования групп людей маленького, среднего и высокого роста. Если мы применим жесткое решающее правило считать всех ниже 170 см людьми низкого роста и всех выше 180 людьми высокого роста, то график примет форму 2 на рис. 6.28. Такое правило считает рост 178 см «средним», хотя в действительности человек такого роста находится ближе к группе «высоких» (от 180 см и выше).

Рис. 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. Конструкция блока датчиков

Для закрепления вала редуктора двигателя просверлено отверстие от 2,4 мм до 3 мм. Вал редуктора пропущен через отверстие в блоке датчиков и закреплен клеем (см. рис. 6.32).

Рис. 6.32. Фотография блока датчиков, закрепленных на редукторе двигателя

Работа системы слежения показана на рис. 6.33. При одинаковом освещении обоих датчиков, их соответствующие сопротивления примерно одинаковы. В пределах ±10 единиц PIC программа

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату