Phantom's Brick Архив

Главная -> LEGO® Форум -> LEGO® Техника

Nxt Faq от FatRat

FatRat, 2008-06-12 22:20:11 +00:00

Есть предложение составить список часто задаваемых вопросов по Mindstorms NXT. В течение недели постараюсь ответить на то, что знаю.

Для затравки:

Hardware:

энергопотребление

-- почему не рекомендуется использовать аккумуляторы?

-- как использовать аккумуляторы?

-- зависят ли показания датчиков от напряжения питания?

для чего нужна калиборвка датчиков?

-- чем отличаются порты?

-- что будет, если мотор воткнуть в порт датчика и наоборот?

-- датчик освещенности и освещение

-- почему прыгают показания ультразвукового датчика

-- не мешают ли ультразвыковые датчики друг другу?

Software:

какие программы нужны

-- телефон с bluetooth как дистанционный пульт

-- передача файлов

-- программирование

--- NXT-G

--- RobotC

--- Чем собрать прошивку

--- как управлять NXT с компьютера

------------------------------------------------------------------------------------

Энергопотребление

Блок электроники NXT потребляет много. Очень много. Непростительно много. Во включенном состоянии около 100мА, при работающих двигателях комплект потребляет в среднем до 1А, в пике до 3А. Не оставляйте игрушку во включенном состоянии. Включение-выключение bluetooth заметного влияния на потребление не оказывает.

Почему не рекомендуется использовать аккумуляторы?

Потому, что напряжение на полюсах батарейки - 1.5 вольта, а на полюсах аккумулятора - 1.2 Умножаем на 6, получаем 9 и 7 вольт соответственно. Чем ниже напряжение - тем меньше момент, который могут развивать двигатели. Причем, если мощность = ток * напряжение, а ток = напряжение / сопротивление, получаем мощность = квадрат напряжения / сопротивление. 9*9 = 81, 7*7=49. Отличие почти в 2 раза.

Как использовать аккумуляторы?

Существут специальная аккумуляторная батарея Mindstorms, состоящая из обычных NiCd (или NiMH?) аккумуляторов, оформленных в серую коробочку, вставляемую вместо крышки батарейного отсека. Но можно поставить 6 "обычных" аккумуляторов АА, правда, есть одна тонкость, связанная с индикацией степени разряда батареи. Для правильного отображения нужно зажать чем-нибудь маленькую черную кнопочку, находящуюся внутри батарейного отсека. Правильно отображать состояние аккумуляторов нужно для того, чтобы не допускать их переразряда и повреждения.

Зависимость состояния индикатора от напряжения питания.

бат. акк. индикатор

>7.5 >7.3 полный заряд

>7.0 >7.2 75%

>6.5 >7.0 50%

>6.0 >6.9 25%

ниже - мигающий индикатор, сообщение low battery

Вообще говоря, сам блок электроники сохраняет работоспособность при напряжении питания до 2.5 вольт, постепенно увеличивая потребление тока. При напряжении питания ниже 5.0 вольт блок, будучи выключенным, уже не включается. Это же напряжение (5 вольт) является официально обозначенным минимумом. Но следует помнить, что ультразвуковой датчик для раскачки излучателя требует дополнительного питания 9 вольт. При пониженном питании датчик сохраняет работоспособность, но сокращается дальность его действия.

Зависят ли показания датчиков от напряжения питания

Не зависят, поскольку датчики, равно как и почти вся остальная электроника питаются стабилизированным напряжением.

Для чего нужна калибровка датчиков

Калибровка нужна для того, чтобы в программах использовать не raw value, а готовое приведенное значение в dB,dBA, градусах, процентах. Значения максимального и минимального сопротивления датчика, подключенного к определенному порту, заносятся в таблицу, хранящуюся в файловой системе, и затем используются драйверами. Таким образом, калибровка действительна лишь в том случае, когда конкретный датчик подключен к порту с конкретным номером. Датчики с цифровым управлением (в составе NXT это ультразвуковой датчик) в калибровке не нуждаются.

Чем отличаются порты?

Аппаратно отличаются от остальных моторный порт А (при выключенном двигателе на 1 и 2 контактах удерживается высокий уровень) и порт датчика 4 (цифровая шина может работать в режиме RS485). Ни та, ни другая особенность в Mindstorms NXT не используется и является заделом на будущее. Приписывание датчиков портам связано с процедурой калибровки, описанной выше.

Что будет, если мотор воткнуть в порт датчика и наоборот?

Ничего. Работать не будет, но и не сломается. Спасибо инженерам ЛЕГО, защита от идиотов сделана на славу. Я думаю, испортить вычислительный блок NXT без применения посторонних деталей можно, соединив кабелем моторные порты и указав моторам вращаться в разные стороны.

Датчик освещенности и освещение

Датчик освещенности особенно чувствителен к красному и ближнему ИК, поэтому место использования датчика, дабы не создавать чрезмерной засветки и более эффективно использовать встроенную "лампочку", лучше освещать люменисцентными изи светодиодными светильниками.

Почему прыгают показания ультразвукового датчика

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

Не мешают ли ультразвыковые датчики друг другу?

Мешают. Поэтому, если в системе используется несколько УЗ датчиков, пользоваться ими надо поочередно. Аппаратура и прошивка датчика предусматривают режим работы, при котором датчик излучает одну пачну, принимает эхо и ждет следющего запроса от программного блока. Но в NXT-G используется режим непрерывного измерения, при котором датчик, приняв эхо, тут же излучает следующую пачку. Зачем это сделано - непонятно, поскольку NXT-G все равно использует разовые значения, а время готовности датчика мало по сравнению со временем выполнения блока программы NXT-G.

Для избежания коллизий существует способ принудительного "гашения" УЗ датчика из NXT-G с помощью программных блоков i2cread и i2cwrite разработки Mindsensors.

-- Про Software - завтра

FatRat, 2008-06-18 17:40:07 +00:00

-- Про Software - завтра

Прошу прощения, несколько не до того.

Кстати, не вижу активности. Про что писать? Набралось статей англоязычных, переводить не буду, а пересказать вкратце - можно.

P.S.: "Alcohol kills. Take LSD!" Жесть. Хоть бы какой-нибудь ночной режим, что ли.

ZeeK, 2008-06-18 18:10:32 +00:00
Кстати, не вижу активности.

Активности нет, так как набор ммм... дороговат несколько.

До последних мега-скидок он 12 или 13 тысяч стоил.

Так вот люди узнав о цене "типа игрушки" за 500 баксов не понимают, что это - не игрушка, а инструмент развития навыков программирования и работы с очень интересным и ВЕСЬМА полезным во взрослой жизни пакетом LabView от National Instruments.

Но главное - цена. Для подавляющего большинства NXT MindStorms это лишь "ЛЕГО с моторчиком"...

Развеять это можно лишь наглядно продемонстрировав (и прежде всего - взрослым) что это такое.

Как это не покажется странным, работа в этом направлении ведется - были региональные, всероссийские соревнования роботов Майнстормс (и тут в новостях про это писалось).

Правда вот итоговый турнир в Москве прошел совершенно без внимания прессы (и вообще без особого шума), вероятно из-за того, что в числе лидеров - ребята далеко не из центральных районов нашей страны, а из Сибири, с Урала - там есть школьная программа развития этого направления.

Самое смешное - если в США на NXT студенты (!!!) колледжей постигают роботов и AI (ИИ), то из того, что я видел в видео с конкурсов - там совсем даже не старшеклассники.

У меня есть мысль "разжиться" этим набором и наконец-то приспособить в дело небольшое количество Техник-элементов. Но когда эти планы осуществятся - я не знаю.

Кроме того, напомню, что сейчас набор продаётся по ОЧЕНЬ-ОЧЕНЬ-ОЧЕНЬ привлекательной цене (сравнимо с европейским ценником).

Если действительно есть желание научить (или научиться) профессионально владеть компьютером и системой программирования на основе LabView - это уникальная возможность.

А уж о том, КАК можно использовать блок в механизации и "оживлении" масштабных построек из "обычного" Систем и Техник...

FatRat, 2008-06-18 19:53:30 +00:00

Активности нет, так как набор ммм... дороговат несколько.

До последних мега-скидок он 12 или 13 тысяч стоил.

Мдя...

[задумчиво] Интересно, кто покупает веллемановский радиоконструктор - ISA-вую плату АЦП?

а инструмент развития навыков программирования и работы с очень интересным и ВЕСЬМА полезным во взрослой жизни пакетом LabView от National Instruments.

От лабвью там рожки да ножки. То, во что это превратилось, IMHO, небезопасно для детской психики, в первую очередь потому, что банально не работает. Зато есть множество сторонних компиляторов, что уже гораздо интересней. Мне понравился RobotC.

Но главное - цена. Для подавляющего большинства NXT MindStorms это лишь "ЛЕГО с моторчиком"...

Развеять это можно лишь наглядно продемонстрировав (и прежде всего - взрослым) что это такое.

Ага. 4xAnalog, 4xI2C, 1xRS485... Вот с этого и надо начинать.

Как это не покажется странным, работа в этом направлении ведется - были региональные, всероссийские соревнования роботов Майнстормс (и тут в новостях про это писалось).

..skip..

Кстати, для таких забав программы чаще пишут сразу под "кирпич" или он выполняет функцию i/o controller-а? У NXT есть проблема с симплексным bluetooth, долго переключающимся прием-передача.

то из того, что я видел в видео с конкурсов - там совсем даже не старшеклассники.

Вот в этом плане, IMHO, и можно вести пропаганду. Дешевая робототехническая платформа со всей периферией. Но, обратите внимание, для программирования более-менее сложных и интересных конструкций _не используется NXT-G_. Ну неподходящий это инструмент. Совсем. Именно уродство этой софтины, IMHO, и создает ощущение "лего с моторчиком". Показывать, IMHO, нужно не "огромного человекоподобного робота"®, а официальный SDK/HDK с принципиальными схемами, исходниками и почти полноценный сишный компилятор с внутрисхемным отладчиком.

А уж о том, КАК можно использовать блок в механизации и "оживлении" масштабных построек из "обычного" Систем и Техник...

Можно, наверное. А можно оглянуться на примерно ту аудиторию, что покупает игрушечные вертолеты класса чуть выше чем применявшиеся по Каспарову.

IMHO.

Raider, 2008-06-18 20:31:50 +00:00

Хоть я в этом почти ничего не понимаю, но скажу, что я заинтересовася Майндстормсами!

З.Ы. Жёлтым по серому? Точно у вас нелады с цветопередачей... на мониторе, ес-но.

ZeeK, 2008-06-18 21:34:59 +00:00

2 Raider - у FatRat МОЖЕТ стоят дарк скин - там жёлтый ничего так

2 FatRat - я не работаю в нашем ЛЕГО и не маркетинговой политики по части NXT.

Полноценный SDK - либо для фанатов (исчезающе малая величина - на Москву таких, как Вы - человека три-четыре... в онлайне на два форума - два (!!!) Познакомить?), либо - для тех, кто этим занимается - типа каферды роботов в МГТУ.

Я видел, как ребята в Штатах развлекаются - это финиш! Энтузиазм! Горящие глаза! Фантастика!

FatRat, 2008-06-20 20:50:35 +00:00

Добрался-таки до HDK. Прошу простить меня за ошибки в разделе FAQ, написанном с использованием недостоверного источника. Испавления:

Как использовать аккумуляторы?

Существут специальная аккумуляторная батарея Mindstorms, состоящая из обычных NiCd (или NiMH?)

аккумуляторов, оформленных в серую коробочку, вставляемую вместо крышки батарейного отсека.

[ошибка! В сборке используется пара Li-Ion аккумуляторов, включенных последовательно. Далее все верно]

Но следует помнить, что ультразвуковой датчик для раскачки излучателя требует дополнительного питания 9 вольт. При пониженном питании датчик сохраняет работоспособность, но сокращается дальность его действия.

[ошибка! NXT в нынешнем виде не поддерживает выбор питающего напряжения для датчика. Всегда стабилизированные 5 вольт]

Гость andrej-yurov, 2008-09-06 09:35:57 +00:00

Всем день добрый. Появилась проблема.- никак осн програмный покет не видит NXT по blutooth. Компьютер видит, соединяет, программа нет. ТО же самое с управлением через телефон nokia 6300

Гость andrej-yurov, 2008-09-06 09:37:03 +00:00

так же очень интересно узнать о

какие программы нужны

-- телефон с bluetooth как дистанционный пульт

-- передача файлов

-- программирование

--- NXT-G

--- RobotC

--- Чем собрать прошивку

--- как управлять NXT с компьютера

Буду очень благодарен

FatRat, 2008-09-06 16:42:49 +00:00
Всем день добрый. Появилась проблема.- никак осн програмный покет не видит NXT по blutooth. Компьютер видит, соединяет, программа нет. ТО же самое с управлением через телефон nokia 6300

С компом - программе леговской нужен обязательно майкрософтовский стек bluetooth. На %s - отдельный опрос. Но работает только с ним. Без шансов. Или меняйте bluetooth адаптер. Не просто так они в американские (?) наборы бесплатно блютус-брелок докладывают.

Другое дело, пользы от bt соединения в стандартной программе не вижу. Если самому программу писать - проблем никаких.

С телефонами нокиевскими - проблемы, вроде, не должно быть. проверь, правильно ли сопрягаете.

FatRat, 2008-09-06 16:51:26 +00:00
так же очень интересно узнать о

Прошу извинить, не написал пока этот кусок.

какие программы нужны

-- телефон с bluetooth как дистанционный пульт

http://lego.com/bluetooth, альтернативные - потом. Подходит только в том случае. если управление - b/c правое/левое колесо. Иначе - крайне неудобно.

-- передача файлов

в теме "полезное" этого форума

-- программирование

--- NXT-G

вкратце - сразу в урну

--- RobotC

пока не писал этот кусок. RobotC скачать - ссылку гуглом по запросу RobotC, деинсталлятор - здесь в теме "новейшее средство для очистки духовок".

--- Чем собрать прошивку

IAR tools. У меня на него лицензия кончилась, работа встала.

--- как управлять NXT с компьютера

В статьях есть про Visual Basic и NXT-G. остальное - потом. В кратце - есть протокол Phantom, в нем предусмотрен обмен стрингами и short-ами, а также непосредственное управление движками. Т.е. можно рулить игрушкой, вообще ее саму не программируя. Так же этим протоколом управляется зауск-останов программ, проигрывание звуков. RobotC держит этот протокол в полном объеме.

В RobotC (и только в нем) можно отключить стандартную обработку и общаться непосредственно с ком-портом.

Конвертер картинок - у меня в личных данных ric.zip издесь где-то тема про него была

Гость andrej-yurov, 2008-09-08 17:32:51 +00:00

Спасибо, Сопрягаю вроде правильно. телефон 6300.

Высвечивается загрузка. потом ошибка. надоли после сопряжения на nxt программу какую нибудь ставить?

FatRat, 2008-09-10 20:13:40 +00:00
Спасибо, Сопрягаю вроде правильно. телефон 6300.

Высвечивается загрузка. потом ошибка.

загрузка чего? приложения?

надоли после сопряжения на nxt программу какую нибудь ставить?

нет

Гость andrej-yurov, 2008-09-11 21:51:22 +00:00

да, приложения

FatRat, 2008-09-15 20:42:33 +00:00
да, приложения

Не знаю. Скорее всего, архив битый или bluetooth выключен в настройках телефона.

Гость andrej-yurov, 2008-09-20 08:56:21 +00:00

Так может у тебя архив есть?