ограничение "Continuous data transmission possible (up to 2400 bps)" не мешает ?
Эм... да вот, я даже туда не смотрел. Не понимаю я на основании чего они это написали У меня идёт формирование пачек с частотой 36кГц и шириной 0,9мс (то есть "1" - это последовательность "пустоты" в 0,9мс и пачки импульсов в 0,9с - итого 1,8мс, что регламентировано в спецификации RC5). Всего передаются 14 бит. То есть 14*1,8=25,2мс на пакет. Я беру с запасом - 50мс на пакет (хотя в стандарте и описано 114мс, но мы его используем для потока данных и это не есть сильным отклонением от стандарта. Или со мной кто-то не согласен?), итого получается 1/50E-3=20 (пакетов/с, иначе говоря байт/с, т.к. каждый пакет содержит всего 1 байт данных). Согласно ДШ на TSOP1736, у них минимальная ширина пачки импульсов меньше 600мкс! Я где-то промахнулся?
p.s. Даже если мы задержку между пакетами выставим 114мс, скорость будет явно больше 2,4kbps
Добавлено спустя 5 минут 29 секунд: Постараюсь сегодня, не смотря на заслуженый Week-End попробовать передачу в реальной обстановке. Т.к. я пока тестировал только в AVR Studio и наглядно в протеусе - отправляя байты SPI Debugger'ом и просматривая данные логического анализатора по выходу. Также прошивал МК и генерил несущую, смотрел осциллографом - всё в точности совпадало с протеусом.
ограничение "Continuous data transmission possible (up to 2400 bps)" не мешает ?
Не понимаю я на основании чего они это написали
на основании минимальной длительности пачки импульсов и паузы между пачками. в даташите же описанно.
кстати. мож нафиг этот IR канал вообще ? есть же чистые SPI - радиомодули, по 7 евро (туда-обратно, а односторонний модуль - 4 евро) ... (можно сообразить небольшую партию к вам).
на основании минимальной длительности пачки импульсов и паузы между пачками. в даташите же описанно.
nest, ну я же привёл временные характеристики сигнала. У меня при пачках в 900мкс выходит эта скорость, а в ДШ минимальная 600 (и то там не написано что это именно МИНИМАЛЬНАЯ, она просто примером приведена).
Насчёт радиомодулей - хорошая мысль, обязательно возьмём на вооружение. Но она в таком случае будет альтернативной.
LastLeader, что думаешь на этот счёт?
p.s. nest, а можно как-то сообразить к нам небольшую партию AS5035 или чего-то новее? Просто чтобы знать, а то тут идеи есть... Заодно и ИК дальномеры Sharp, там у вас их вроде не сложно достать?
nest писал(а):стати. мож нафиг этот IR канал вообще ? есть же чистые SPI - радиомодули, по 7 евро (туда-обратно, а односторонний модуль - 4 евро) ... (можно сообразить небольшую партию к вам).
На фотке вроде TR24A? Так они ЕМНИП порядка 100р стоят
Проект [[Open Robotics]] - универсальные модули для построения роботов Модули Open Robotics можно приобрести в магазине shop.roboforum.ru Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!
ну... что есть - : http://www.austriamicrosystems.com/eng/ ... y-Encoders соответственно цены и количества там описанны и магниты к ним жедательно родные. я б сам взял бы ещё с десяток штук , но чёт дороговато в таких количествах
Шарпы я уже в РСФСР отправлял десяток, брал тут по 12 евро(если не вру) плюс пересылки.
Почему радио модуль в МиниБоте не используется? Довольно дорогая передача выходит для этого проекта))) Нужно создать, в будущем, нормальный модульный проект, подобного класса только уже с полным функционалом и нормальной производительностью (Криенка и L298 понятно что для новичков только и годится – по легко доступности). Там как раз вот эти модули в пору.
Доказано что 98% человеческих действий автономны и только 2% обдуманные – Так давайте свалим 98% на автоматы))) Сайт – http://wet.in.ua/
Прошу прощения за столь долгое отсутствие. Работа не останавливалась, но были тут у меня куча инных забот... Итак. На сегодня имеем: - DLL библиотека - .NET CLR сборка-драйвер, имеющая класс, наследующий интерфейс из управляющей программы, позволяющий обмениваться данными между управляющей программой и устройством ИК-передатчиком (последнее работает как обычный мост). По-проще: это а ля плагин, который подключается к программе и скрывает от неё всё, что стоит ниже функции write_byte(); - прошивка устройства ИК-передачи - оно получает байт данных по SPI интерфейсу из LPT порта, формирует RC5 пакет и отправляет его манчестеровским кодом, путём модуляции несущей в 36кГц - часть прошивки модуля-приёмника (он же, напомню, драйвер двигателей и он же по-сути есть центральным контроллером DEMON-а), которая надёжно принимает и декодирует сигнал, возвращая RC5 пакет целиком в 16-ти битовую переменную. - реализованы базовые функции в прошивке ДД для управления двигателями, настройка переферии МК и т.п.
То есть осталось сделать: парсинг команд (то есть конечный автомат) - и мы уже ездим. Сразу же следующий шаг - удобное оконное приложение, которое позволит давать интересные команды/комбинации команд боту, чтоб тот работал. Так что постараюсь в ближайшие несколько дней порадовать всех видеороликами
Хочу купить такую микруху-энкодер. Есть в Прософт в Москве т. 730-17-44 магнит BMN35H стоит 80 центов, AS5035 10-bit 8 баксов, AS5035 5.5 долара. ==================== Там же есть датчики расстояния Sharp но на их сайте я не мог найти их, позвонил (495) 234-0636 - обещали прислать доки - называются на GP2... отсюда убрал баннер
На сегодня: - Помеха на сигнальной линии TSOP устранена корректированием схемы LastLeader, ответвлением силового питания двигателя и установкой на него дополнительного ПП фильтра. - ИК канал работает вроде целиком. До бота доходят целые датаблоки с учётом адреса устройства и CRC. Если получаем пакет (подчеркну - пакет; датаблок - это 5 пакетов RC-5) с адресом системы не равным 111111 - передаём его отдельному обработчику, с расчётом на то, что это команда ДУ. Если же система совпала, то он участвует в парсинге датаблока. По получении 5 пакетов RC5, считается CRC, проверяется адрес, если всё нормально - полученая команда (3 байта) добавляется в очередь. Команды из очереди выполняются автоматически.
Формат датаблока: адрес (1b) - Left PWM (1b, signed int) - Right PWM (1b, signed int) - Time (1b, единица равна 20мс) - CRC (1b, полиномиальная).
Нажатием на кнопочку отправляем боту (без каких-либо пауз, тупо подряд; выполнение начинается фактически после первого же датаблока, остальные ловит уже "на лету") 6 датаблоков, 6 команд. Вот они:
1-255-255-20 //полный назад, 400мс 1-0-0-10 //пауза на 200мс 1-127-0-15 //левый 100% вперёд, правый 0, 300мс 1-120-250-15 //левый вперёд 78%, правый назад 98%, 300мс 1-0-0-20 //пауза 400мс 1-127-123-10 //левый вперёд 100%, правый вперёд 96%, 200мс
ввиду "буторности" двигателей, снижение ШИМ даже на пару единиц уже сильно заметно.
Ну вот собственно пока и всё... Сейчас покидаю всю затею на несколько дней (Учёба.... ), после вернусь, продолжим
Что скажет уважаемый пипл?
Добавлено спустя 13 минут 30 секунд: Хотя он вроде особо не изменился... P.S. тут виден ПП фильр. Великая вещь! Должен я сказать...