Есть предложение составить список часто задаваемых вопросов по 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 - завтра |