Глава 3. Стандартные датчики NXT
 | Просмотров: 21 001

В момент выпуска первой версии MINDSTORMS NXT в набор входили пять типов датчиков: касания (контактный), освещенности (фотоэлемент), звука (микрофон), расстояния (ультразвуковой) и вращения (тахометр). Датчики вращения (тахометры) встроены внутрь сервомоторов, что позволяет интеллектуальному блоку определять положение вала мотора, направление и скорость его вращения, но при этом делает почти невозможным отдельное использование датчика. В наборе NXT 2.0 датчик освещённости заменен на датчик цвета, а вместо датчика звука добавлен ещё один датчик касания. Также для серии “Education” был доступен датчик температуры, приобретаемый отдельно. Все датчики, кроме ультразвукового, имеют практически одинаковые корпуса. Их размеры: длина 5.5М, ширина 3М, высота 4М, снизу планка для крепления размером 1М х 3М. Для тех, кто не в курсе стандартных обозначений, принятых в компании “LEGO”, поясняю: 1М (один модуль) – условная единица измерения, равная 8 мм (если совсем точно, то 5/16 дюйма), и одновременно равная расстоянию между центрами круглых “пупырышков” на классических кубиках LEGO, и расстоянию между центрами отверстий в планках LEGO TECHNIC. Комплектация датчиками различных наборов NXT показана в таблице 3-1.

Таблица 3-1. Виды и количество датчиков, входящих в комплекты MINDSTORMS NXT.

 

8527
NXT

9797
EDUCATION

8547
NXT 2.0

53787: Electric, Motor – NXT
(Сервомотор с встроенным тахометром)
3 3 3
53792: Electric, Sensor, Ultrasonic – NXT
(Ультразвуковой датчик расстояния)
1 1 1
53793: Electric, Sensor, Touch – NXT
(Датчик касания)
1 2 2
55963: Electric, Sensor, Sound – NXT
(Микрофон)
1 1
55969: Electric, Sensor, Light – NXT
(Датчик освещённости)
1 1
64892: Electric, Sensor, Color - NXT2
(Датчик освещённости и цвета)
1

Перед тем, как мы рассмотрим более подробно каждый из датчиков, хочу предупредить, что не стоит разбирать датчики чисто из спортивного интереса. Даже если вам удастся аккуратно отжать лепестки креплений и отсоединить переднюю часть корпуса, при обратной сборке вы будете разочарованы, потому что между частями корпуса образуется люфт, и они начинают слегка болтаться относительно друг друга. Это если повезёт. А если не повезёт, то можно сломать одно из креплений, и тогда придется сажать части корпуса на клей. Предупреждаю сразу, обычный секундный суперклей с этой задачей справляется очень плохо.

■  ДАТЧИК КАСАНИЯ NXT

Внешний вид датчика касания NXT вы можете увидеть на рисунке 3-1. Это самый простой датчик, позволяющий сообщать контроллеру о нажатии и отпускании оранжевой кнопки, расположенной в передней части датчика. В отличие от первой версии датчика касания RCX, кнопка этого датчика имеет  крестообразное отверстие, что позволяет соединять кнопку непосредственно с другими частями конструкции и обеспечивать более точный момент срабатывания. В остальном этот датчик ничем не примечателен.

Рисунок 3-1.Датчик касания.

Внутри датчика касания находится печатная плата, на которой расположена кнопка и гнездо для подключения (см. рисунок 3-2). Также на плате есть резистор номиналом 2.2КОм, включенный последовательно с кнопкой. Его назначение – предотвратить короткое замыкание в случае, если вы по ошибке подключите датчик к выходному порту. Принципиальная схема датчика показана на рисунке 3-3 (здесь и далее электрические схемы взяты из LEGO MINDSTORMS NXT Hardware Developer Kit). В принципе, ничего сложного, и изготовить самодельный контактный датчик не составит никакого труда, нужно только не перепутать контакты в разъёме и не забыть про защитный резистор.

Рисунок 3-1.Внутренности датчика касания (изображение из книги Extreme NXT).

Рисунок 3-3. Принципиальная схема датчика касания.

Механические характеристики датчика касания:

Усилие нажатия (измерялось в вертикальном положении с помощью груза, погрешность ±5г): начало перемещения кнопки при 40г, срабатывание при 50г, полностью продавливается при 60г.

Размеры: длина 6М (вместе с кнопкой), ширина 3М, высота 4М, ход кнопки – 0.5М (4 мм).

Точка срабатывания: 50% длины хода кнопки – 0.25М (2 мм).

 

■  ДАТЧИК ОСВЕЩЁННОСТИ NXT

Датчик освещённости (см. рисунок 3-4) содержит в себе красный светодиод, который можно включить и выключить программно, а также фототранзистор, который, собственно и измеряет яркость попадающего на него света. Включенная подсветка позволяет измерять свет, отражённый от поверхности объекта, в то время как при выключенной подсветке фотоэлемент измеряет яркость окружающего освещения.

Рисунок 3-4. Датчик освещённости.

На рисунке 3-5 показан датчик освещённости в разобранном виде. Вы можете увидеть светодиод, фототранзистор и розетку, смонтированные на верхней стороне печатной платы. Остальные детали схемы размещены на нижней стороне платы методом поверхностного монтажа. Принципиальная схема этого датчика (рисунок 3-6)  достаточно проста и понятна (для тех, кто разбирается в схемах), и не содержит каких-либо уникальных деталей. Датчик освещённости также несложно сделать самостоятельно, особенно если не заморачиваться с калибровкой и не навешивать дополнительные цепи, сглаживающие нелинейность характеристик фототранзистора.

Рисунок 3-5. Внутренности датчика освещённости (изображение из книги Extreme NXT).

Рисунок 3-6. Принципиальная схема датчика освещённости.

Фототранзистор в датчике освещенности более чувствителен к инфракрасному излучению, чем к обычному видимому спектру света. Эта особенность может ввести вас в заблуждение, потому что датчик считает горячие источники света, например лампы накаливания, гораздо более яркими, чем они кажутся для нас. В результате тускловатая 40-ваттная лампа накаливания для этого датчика окажется гораздо ярче, чем лампа дневного света, с потребляемой мощностью 20 ватт и выдающая яркость видимого света как 100-ваттная обычная лампочка. График на рисунке 3-7 показывает различия в спектральном диапазоне датчика освещенности и человеческого глаза.

Рисунок 3-7. Спектральный диапазон датчика освещённости (график из книги Extreme NXT).

Рисунок 3-8 показывает значения освещенности, выдаваемые датчиком в зависимости от яркости освещения, выраженной в Люксах (Лк). Из графика заметно, что характеристика датчика далека от линейной, но в принципе, это не мешает использовать датчик по назначению.

Рисунок 3-8. Чувствительность датчика освещённости (график из книги Extreme NXT).

■  ДАТЧИК ЗВУКА NXT

Мотивы, по которым компания “LEGO” исключила датчик звука (рисунок 3-9) из второй версии NXT, остаются загадкой. Скорее всего, его убрали в связи со слабой функциональностью, и неумением NXT нормально работать со звуком. При остром желании этот датчик можно докупить отдельно, и убедиться, что он вполне работоспособен, и даже может пригодиться в экспериментах. Для особо интересующихся больше подойдёт вариант с изготовлением самодельного датчика звука, тем более, что в этом нет ничего сложного.

Рисунок 3-9. Датчик звука (микрофон).

Сломать решетку передней части датчика во время разборки достаточно сложно, а вот оторвать провода, соединяющие микрофон с платой - проще простого, поэтому лучше не рисковать. Тем более, что у нас есть возможность полюбоваться на внутренности этого датчика на рисунке 3-10. Вы можете увидеть микрофон, вставленный в поролоновую подушку, конденсатор и розетку, расположенные сверху печатной платы. Все остальные детали расположены снизу. Приводить принципиальную схему этого датчика считаю излишним, при желании её можно найти в документации “LEGO MINDSTORMS NXT Hardware Developer Kit”. Схема содержит почти четыре десятка деталей, и, на мой взгляд, излишне усложнена. Вполне хватило бы одного каскада усилителя, и можно было бы обойтись без коррекции амплитудно-частотных характеристик. Всё равно мощности процессора блока NXT явно недостаточно для распознавания речи, а чтобы померить уровень громкости звука, совсем не обязательно городить схему уровня Hi-Fi. Тем более, что линейность характеристик звукового датчика оставляет желать лучшего, как можно заметить по графику на рисунке 3-11.

Рисунок 3-10. Разобранный датчик звука (изображение из книги Extreme NXT).

Рисунок 3-11. Показания датчика и соответствующая величина SPL (график из книги Extreme NXT).

Громкость звука, или уровень звукового давления (SPL) измеряется в единицах, называемых Децибелами (дБ). В отличие от абсолютной величины, такой как люксы, децибелы показывают, насколько громкость звука больше или меньше относительно другого звука. В данном случае, 0 дБ – это самый тихий звук на пределе слышимости среднестатистического человека. Таблица 3-2 показывает некоторые типичные значения громкости звука.

Таблица 3-2. Уровень звукового давления

SPL (дБА)

Громкость

Источник звука

130 Болевой порог Самолёт на старте
120 Почти невыносимо Отбойный молоток (на расстоянии 1 метр)
110 Крайне шумно Вертолёт
100 Крайне шумно Оркестр, раскаты грома
90 Очень шумно Громкие крики, грузовой железнодорожный вагон (7м)
80 Очень шумно Крик, громкий смех, мотоцикл с глушителем
70 Шумно Громкие разговоры (1м)
60 Шумно Офисный шум
50 Отчетливо слышно Разговор, пишущая машинка
40 Довольно слышно Негромкий разговор, норма для жилых помещений
30 Тихо Шёпот, тиканье настенных часов
20 Едва слышно Шёпот (1м)
10 Почти не слышно Тихий шелест листьев
0 Не слышно  

Звуковая чувствительность человеческого уха сильно зависит от частоты звука. Пик чувствительности приходится на значение 3-5 кГц, а значения ниже 20 Гц и выше 20КГц находятся уже за пределами физических возможностей. Датчик звука может быть переключен в дБА-режим, в котором значения измерений наиболее соответствуют диаграмме чувствительности человеческого уха. Приблизительное представление о частотных характеристиках микрофона в обоих режимах вы можете получить, посмотрев на рисунок 3-12.

Рисунок 3-12. Приблизительная зависимость значений уровня звука от частоты (график из книги Extreme NXT).

■  УЛЬТРАЗВУКОВОЙ ДАТЧИК NXT

Один из самых интересных и полезных датчиков – ультразвуковой датчик расстояния (рисунок 3-13). Наиболее частая задача, которая возникает при постройке и программировании робота – научить его определять расстояния до предметов, например, чтобы не натыкаться на них во время движения, или наоборот, находить предметы, расположенные вокруг. Благодаря ультразвуковому датчику эта задача решается практически без усилий.

Рисунок 3-13. Ультразвуковой датчик NXT.

На рисунке 3-14 показаны внутренности ультразвукового датчика. Два пластмассовых цилиндра, соединённые с печатной платой проводами, это ультразвуковой динамик и ультразвуковой микрофон.

Рисунок 3-14. Внутренности ультразвукового датчика (изображение из книги Extreme NXT).

Это настолько сложный датчик, что в нём есть собственный микропроцессор. Наличие собственного «интеллекта» позволяет датчику измерять и сообщать основному блоку расстояние в абсолютных единицах, а не в каких-то абстрактных масштабных величинах, как это делают датчики звука и освещённости. Датчик работает по принципу сонара, посылая короткий импульс на частоте 40КГц. Затем он измеряет время, за которое звук дошёл до объекта, отразился от него и вернулся назад. Если впереди только один большой объект, например стена, то результат измерений будет достаточно точен. Однако, если на пути звука присутствует множество различных мелких объектов, то точность измерений будет заметно хуже. В отличие от летучей мыши, которая пользуется такой же технологией, но при этом "видит" все предметы вокруг себя, ультразвуковой датчик может видеть только в одном направлении - перед собой, поэтому, чтобы сориентироваться в пространстве и измерить расстояние до разных окружающих объектов, ваш робот должен поворачивать датчик в нужную сторону перед каждым сканированием.
Датчик умеет измерять расстояние в дюймах и сантиметрах. Минимальное расстояние, которое датчик способен адекватно измерить - 4 см, или 2 дюйма. Значение меньше получить не удалось, видимо это физический предел, обусловленный расстоянием между излучателем и приемником сигнала. Максимальное расстояние равно 255 см или 100 дюймов, и ограничено программно. При измерении на пределе дальности точность очень сильно зависит от угла, под которым находится объект, и от его размеров. Точность измерения достаточно высока, погрешность в среднем не превышает 5%.

■  ДАТЧИК ЦВЕТА NXT

Датчик цвета был добавлен в набор NXT 2.0, который вышел в 2009 году. Помимо своей основной задачи – различать цвета, этот датчик полностью дублирует функции датчика освещённости. Датчик определяет цвета, последовательно измеряя отражённый свет, излучаемый красным, зелёным и синим светодиодами. Результаты этих измерений обрабатываются особым образом, и по результатам обработки датчик пытается определить ближайшее значение цвета и выдать его код (см. таблицу 3-3).

Таблица 3-3. Числовые значения цвета в системе NXT

Значение Цвет
1 Чёрный
2 Синий
3 Зелёный
4 Жёлтый
5 Красный
6 Белый

Внешний вид датчика цвета показан на рисунке 3-15. Небольшой сферический купол на передней панели датчика под буквой R – это фототранзистор, такой же, под буквой B – трёхцветный светодиод, а третий, расположенный ниже, на самом деле просто украшение. Видимо, в компании “LEGO” решили, что будет неразумно делать датчик с расширенными возможностями похожим на своего предшественника. Буквы “RGB” на передней панели и три окошка, символизирующих красный (R), зелёный (G) и синий (B) цвета, видимо, должны вызывать устойчивую ассоциацию с понятием “цветной”. Хотя, если смотреть на работающий датчик, то прекрасно видно, что светится всего лишь один светодиод, внутри которого несложно разглядеть три цветных сегмента. К сожалению, разработчики сделали так, что можно включить только один из трёх цветов, или все одновременно, без возможности их сочетания и регулировки яркости. С другой стороны, вряд ли это было бы востребовано, потому что качественный разноцветный прожектор из датчика света всё равно не получится.

Рисунок 3-15. Датчик цвета.

Внутри датчик цвета выглядит так, как показано на рисунке 3-16. Основная часть деталей расположена снизу печатной платы, а сверху – фототранзистор, светодиод и гнездо. Современные технологии компактного поверхностного монтажа позволили разместить на небольшой плате целую кучу деталей. Принципиальную схему приводить не буду, она получится слишком мелкой, и пользы от нее будет немного.

Рисунок 3-16. Внутренности датчика цвета (изображение из книги Extreme NXT).

Максимальная эффективная дальность, на которой датчик цвета безошибочно определяет цвета объектов, составляет не более 1 см. Для большинства задач этого вполне достаточно. Однако, существует альтернативный датчик цвета, выпускаемый компанией HiTechnic, имеющий дальность почти 10 см. Более подробно об этом датчике будет рассказано в главе, посвящённой датчикам сторонних производителей.

■  ДАТЧИК ТЕМПЕРАТУРЫ NXT

Датчик температуры впервые был выпущен в 2009 году (LEGO #9749) и предназначался исключительно для рынка образовательных услуг. В розничную продажу датчик не поступал. Диапазон измерений датчика лежит в пределах от -4°F до +248°F (от -20°C до 110°C), что значительно превышает диапазон оригинального датчика температуры RCX.

На рисунке 3-17 показан датчик температуры с длинным металлическим зондом. У него нет розетки, а кабель входит внутрь через заднюю крышку и не отсоединяется. Судя по всем признакам, датчик выполнен герметичным и неразборным. Вероятнее всего это сделано на случай, если в пылу экспериментаторства датчик окажется целиком в кипятке. Розетка и вилка такого обращения явно не выдержат. Разбирать датчик температуры пока что никто не рискнул, поэтому фотографию внутреннего устройства этого датчика найти не удалось.

Рисунок 3-17. Датчик температуры NXT.

Возможность измерения температуры вряд ли можно назвать одной из необходимых функций для робота, поэтому приобретать этот датчик имеет смысл либо для лабораторных занятий по физике, либо для решения с помощью конструктора какой-нибудь определённой задачи, непосредственно связанной с измерением температуры. Хотя, откровенно говоря, термостат или метеостанцию можно сделать из гораздо более дешёвых деталей, или купить в готовом виде.