+7-960-0655211 (Билайн)
+7-987-4207734 (МТС)
интернет-магазин
доставка по России и СНГ
нам уже 10 лет!

Форум

Страницы: 1
DF-Bluetooth V3, Некоторые особенности работы модуля Bluetooth V3
 
После испытаний и экспериментов с модулем "DF-Bluetooth V3" выяснил несколько важных особенностей возникающих при использовании данного устройства:

1) Верхнюю панель корпуса нужно укреплять, иначе отломится.
2) Логика модуля оказалась 3.3V, об этом нигде не предупреждали, но зато полностью совместима с 5V TTL.
3) Модуль не может динамически определять скорость TTL канала, приходится устанавливать её с помощью AT команд.
4) Плохо ловит через стены, желательна прямая видимость управляемого объекта.
5) Структура Bluetooth протокола не позволяет эффективно использовать скорость порта при побайтовой передачи, необходим промежуточный буфер (128-512 байт) для пакетной отправки.

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

Как оказалось виной всему был встроенный в контроллер чип преобразователь USB <-> Serial. Канал RX был намертво (через 1кОм) соединен с его TX каналом.

Решением проблемы стал разрыв контакта RX контроллера и TX чипа, с выводом последнего на какой нибудь NC контакт, для замыкания вручную с RX. Это самый простой вариант, т.к. для перешивки контроллера все равно необходимо отсоединять контакты от TX и RX.

Так же достаточно заменить сопротивление 1кОм на 10-15кОм между RXом контроллера и TXом чипа и не парится с замыканиями контактов NC.

Если всё сделать правильно, то модуль будет работать шикарно! :idea:

Данные манипуляции проводились с "ORduio Nano v1.1+".
Изменено: Сергей Скляров - 21.07.2011 14:08:59
 
Цитата
Сергей Скляров пишет:
1) Верхнюю панель корпуса нужно укреплять, иначе отломится.
2) Логика модуля оказалась 3.3V, об этом нигде не предупреждали, но зато полностью совместима с 5V TTL.
3) Модуль не может динамически определять скорость TTL канала, приходится устанавливать её с помощью AT команд.
4) Плохо ловит через стены, желательна прямая видимость управляемого объекта.
5) Структура Bluetooth протокола не позволяет эффективно использовать скорость порта при побайтовой передачи, необходим промежуточный буфер (128-512 байт) для пакетной отправки.
1) Залить между ними термоклея:)
2) Все высокотехнологичные чипы работают на 3.3v и ниже
3) Что вы называете TTL каналом? Uart чтоли? А как установить её AT командой, если модуль не знает скорость, с какой принимать AT команды, какая стандартная скорость?
4) Внешняя антенна не сильно поможет?
5) Реализовать его в микроконтроллере, чтобы лишнее нулями забивалось.

Проблему RX в модуле так и не понял. Нафига было соединять RX с TX через 1к? А если этот резистор выпаять?
 
Прежде чем задавать такие вопросы, желательно иметь при себе этот модуль, т.к. многое здесь очевидно.

Отвечу только на 5 вопрос(или предположение).
Цитата
parus пишет:
5) Реализовать его в микроконтроллере, чтобы лишнее нулями забивалось.
Bluetooth устройства имеют собственный протокол передачи данных, и передают в одном пакете до 512 байт. Поэтому в нашем случае не стоит ни чего забивать нулями, за нас это сделает автоматика. А смысл здесь такой - за один и тот же промежуток времени вы можете передать от одного до 512 байт, следовательно чем больше мы передадим в одном пакете (512 байт максимум), тем выше скорость получим.

UART со скоростью 115200:
10 кБайт по 512 байт в пакете -> 1024 мс. (20 пакетов)
10 кБайт по 256 байт в пакете -> 2156 мс. (40 пакетов)
10 кБайт по 128 байт в пакете -> 4202 мс. (80 пакетов)
и т.д.

Вывод можете сделать сами. 8)
 
Модуль дорогой, поэтому и нету. Писал по фотке:)
Раз забивает автоматика, то проблем вообще почти нету. Всё необходимое сразу отправлять и всё. Хотя из-за ограниченности оперативки в avr может возникнуть проблема.

зы я бы поставил пару FSK трансиверов: подешевле, чем блютуз, говорят даже через стену берёт.
 
Цитата
parus пишет:
Модуль дорогой, поэтому и нету. Писал по фотке
Зато можно управлять роботом с телефона без ПК.

Цитата
parus пишет:
Раз забивает автоматика, то проблем вообще почти нету. Всё необходимое сразу отправлять и всё. Хотя из-за ограниченности оперативки в avr может возникнуть проблема.
32-128 байтовые буферы сильно погоду не ухудшат, ни кто не заставляет ставить сразу 512.
Зато теперь вы поняли зачем мне понадобился мощный контроллер. 8)
Изменено: Сергей Скляров - 21.07.2011 21:11:43
 
Цитата
Сергей Скляров пишет:
0)Зато можно управлять роботом с телефона без ПК.
1)32-128 байтовые буферы сильно погоду не ухудшат, ни кто не заставляет ставить сразу 512.
Зато теперь вы поняли зачем мне понадобился мощный контроллер.
0) Зато дорогой Вот позволял бы напрямую с синими зубами работать…
1)Не совсем: что вы пересылаете такими объёмами? Информация о состоянии датчиков в 128 байт уложится запросто, если только числа как строчки не хранить.
 
Цитата
parus пишет:
Вот позволял бы напрямую с синими зубами работать…
Что это вам даст, относительно робота?

Цитата
parus пишет:
что вы пересылаете такими объёмами?
Конечно же данные с датчиков и команды для устройств: магнитометра, акселерометра, лазерного дальномера, контроллера моторов и сервоконтроллера. В данном случае речь идет о гусеничном роботе.
Но как я вижу вы не делаете выводов из моих предыдущих ответов, либо они слишком поспешны, тогда придется объяснять популярно. :(
У вас есть один автобус объемом 25 человек, и вы перевозите на нем людей из пункта А в пункт Б. Не станете же вы перевозить их по одному, а будете ждать их накопления в автобусе и потом отправлять. И вам остается только определить правильное расписание его отправлений, чтобы пассажиры не толпились в зале ожидания, либо не торчали в автобусе слишком долго.

Цитата
parus пишет:
Информация о состоянии датчиков в 128 байт уложится запросто, если только числа как строчки не хранить.
Проблема не в укладывании данных в буфер, а в его размере в ОЗУ (у Atmega168 -> 1024 байта).
Изменено: Сергей Скляров - 22.07.2011 01:58:23
 
Цитата
Сергей Скляров пишет:
0) Что это вам даст, относительно робота?
1)Конечно же данные с датчиков и команды для устройств: магнитометра, акселерометра, лазерного дальномера, контроллера моторов и сервоконтроллера. В данном случае речь идет о гусеничном роботе.
2)Но как я вижу вы не делаете выводов из моих предыдущих ответов, либо они слишком поспешны, тогда придется объяснять популярно.
У вас есть один автобус объемом 25 человек, и вы перевозите на нем людей из пункта А в пункт Б. Не станете же вы перевозить их по одному, а будете ждать их накопления в автобусе и потом отправлять. И вам остается только определить правильное расписание его отправлений, чтобы пассажиры не толпились в зале ожидания, либо не торчали в автобусе слишком долго.
3)Проблема не в укладывании данных в буфер, а в его размере в ОЗУ (у Atmega168 -> 1024 байта).
0) Отсутствие необходимости "выплёвывать" буфер мгновенно. UART не предназначен для пакетной передачи.
1) Команды идут уже с телефона на робот, т.ч. в данном случае это не очень важно. А вот данные со всех сенсоров для отправки байт так в 128 уложить можно.
2) Я не настолько тупой, чтобы не понять проблему с буфером.
3) Это не так мало оперативки, байт 128-256 для буфера откусить я думаю можно. Вам же полный дуплекс(тогда двойной буфер) не нужен(да и реализовать его достаточно сложно)
 
Цитата
parus пишет:
Отсутствие необходимости "выплёвывать" буфер мгновенно.
В любом случае вы не сможете контролировать скорость "выплёвывания" буфера (находящегося в BT устройстве), он будет обрабатываться автоматически согласно стандарту Bluetooth в отведенное для него время.

Цитата
parus пишет:
UART не предназначен для пакетной передачи.
Пакетами можно передавать только с ПК в BT, а UART может передавать "виртуальные" пакеты, т.е. побайтно но подряд.

Цитата
parus пишет:
Команды идут уже с телефона на робот, т.ч. в данном случае это не очень важно. А вот данные со всех сенсоров для отправки байт так в 128 уложить можно.
Надоело повторять, уложить в буфер не проблема, да и проблем как таковых здесь нет, просто чтобы эффективно использовать канал BT буфер ДОЛЖЕН БЫТЬ!

Цитата
parus пишет:
Я не настолько тупой, чтобы не понять проблему с буфером.
Я вижу что не тупой, но проблему так и не поняли. :D

Цитата
parus пишет:
Это не так мало оперативки, байт 128-256 для буфера откусить я думаю можно.
Так я и откусываю по кусочку.
Изменено: Сергей Скляров - 22.07.2011 04:27:00
 
Цитата
Сергей Скляров пишет:
Пакетами можно передавать только с ПК в BT, а UART может передавать "виртуальные" пакеты, т.е. побайтно но подряд.
Вот и я про то же, что довольно странное решение от разработчиков модуля - связать два ну очень разных протокола.

Цитата
Сергей Скляров пишет:
да и проблем как таковых здесь нет
Цитата
Сергей Скляров пишет:
Зато теперь вы поняли зачем мне понадобился мощный контроллер.
 
Цитата
parus пишет:
Вот и я про то же, что довольно странное решение от разработчиков модуля - связать два ну очень разных протокола.
У них не было выбора, зато BT распространен, а UART удобен!
 
Цитата
Сергей Скляров пишет:
У них не было выбора, зато BT распространен, а UART удобен!
i²C или SPI подходят больше, имхо.
 
Цитата
parus пишет:
i²C или SPI подходят больше, имхо.
Если бы там были такие порты (без UART), то он бы потерял свою универсальность (не подключишь напрямую к сервоконтроллеру или к контроллеру моторов). :(
 
Цитата
Сергей Скляров пишет:
Если бы там были такие порты (без UART), то он бы потерял свою универсальность (не подключишь напрямую к сервоконтроллеру или к контроллеру моторов).
Вот чем мне и не нравится покупная электроника для робота: всё уже сделано как есть и я могу только подключать нужную мне периферию по стандарту производителя… Ну и свою обработку сигналов сделать…
 
Цитата
parus пишет:
Вот чем мне и не нравится покупная электроника для робота: всё уже сделано как есть и я могу только подключать нужную мне периферию по стандарту производителя
Когда будете работать с большим количеством разных устройств - это вас только порадует.

Цитата
parus пишет:
Ну и свою обработку сигналов сделать
А вот обрабатывать сигналы и программировать роботов вы можете так как вам нравиться, ведь это и есть самое интересное!
 
Цитата
Сергей Скляров пишет:
0)Когда будете работать с большим количеством разных устройств - это вас только порадует.
1)А вот обрабатывать сигналы и программировать роботов вы можете так как вам нравится, ведь это и есть самое интересное!
0)Если эти устройства одного производителя и их количество не превышает задуманное производителем, то да
1)А как же создание механики? Или вам шестилапого ходунка было совсем не интересно делать? Разработка электроники не менее интересна.
 
Цитата
parus пишет:
А как же создание механики? Или вам шестилапого ходунка было совсем не интересно делать?
Интересно было делать только первую ногу, потом работаешь как конвейер. Мне как программисту, интереснее его программировать.

Цитата
parus пишет:
Разработка электроники не менее интересна.
Чтобы разработать что то новое потребуется много времени, и как всегда это окажется хорошо забытым старым. Лучше всего посмотреть что уже сделано и выбрать лучшее, а потом переделать это под свои потребности! 8)
 
Цитата
Сергей Скляров пишет:
0)Интересно было делать только первую ногу, потом работаешь как конвейер. Мне как программисту, интереснее его программировать.
1)Чтобы разработать что то новое потребуется много времени, и как всегда это окажется хорошо забытым старым. Лучше всего посмотреть что уже сделано и выбрать лучшее, а потом переделать это под свои потребности!
0)А на чём программите в рабочее время?
1) Спорить о том, какая электроника будет лучше я не буду, это очень большой спор будет, приведу всего две ссылки(смотреть на товар и цену):
http://www.robototehnika.ru/e-store/catalog/248/1062/
http://www.robototehnika.ru/e-store/catalog/202/699/
 
Цитата
parus пишет:
А на чём программите в рабочее время?
Зависит от того на чем заставят, и где это будет работать, т.е. на всем понемногу. Но предпочитаю С++ и ASM, конечно если это возможно.

Цитата
parus пишет:
Спорить о том, какая электроника будет лучше я не буду, это очень большой спор будет, приведу всего две ссылки(смотреть на товар и цену):
http://www.robototehnika.ru/e-store/catalog/248/1062/
http://www.robototehnika.ru/e-store/catalog/202/699/
Цена зависит от спроса и предложения. И к сожалению, не всегда от качества.
 
Прикупил на DX я себе bluetooth модуль за 200р(даже чуть меньше). Тоже UARTовый :( Через месяц(когда пришлют) расскажу о нём. Жаль, что летние каникулы уже почти закончатся. Говорят дальность всего 5 метров.
Сергей Скляров а ваш модуль какую максимальную дальность при прямой видимости обеспечивает?
 
Цитата
parus пишет:
Прикупил на DX я себе bluetooth модуль за 200р(даже чуть меньше).
Параметры весьма скромные, скорость слабовата, и сам модуль не может быть мастером. Короче стоит своей цены. 8)
Bluetooth Transceiver Module

Цитата
parus пишет:
Говорят дальность всего 5 метров.
+/- 5 метров, как это понять?

Цитата
parus пишет:
Сергей Скляров а ваш модуль какую максимальную дальность при прямой видимости обеспечивает?
Обещают 20-30, сам пока не проверял, скоро скажу.
 
Цитата
Сергей Скляров пишет:
Параметры весьма скромные, скорость слабовата, и сам модуль не может быть мастером. Короче стоит своей цены.
Bluetooth Transceiver Module
+/- 5 метров, как это понять?
Обещают 20-30, сам пока не проверял, скоро скажу.
115200 - это мало? А ваш мастером умеет? Это как? Сам подключается куда надо? Для большей дальности я-бы всё таки заюзал какой-нить FSK передатчик. А тут по цене трансивера/ресивера трансмиттер, почти халява :)
ссылку я не стал давать, ибо правила форума не читал, а там мб запрещено %)
про ± наверное, имелось ввиду приблизительно.
 
Позавчера китайцы модуль прислали, как будет время, помучаю. Радуют размеры: чуть больше сим карты телефона.
Кстати и о master mode: этот модуль можно программировать на хабре даже пост про это был. Т.е. мастером только родная прошивка не умеет работать. А ещё можно робота сделать только на этом модуле.
 
тоже смотрю на Bluetooth модуль. какая схема включения у него получилась? выложите гденибудь пожалуйста. устроит фотка схемы нарисованой от руки. и какие возможности есть у каких модулей? ну и свои впечатления и как вы их использовали?
 
вкратце про этот модуль (точнее сказать про hc05, но учитывая одинаковые команды в даташите у hc05 и модуля DF-Bluetooth V3, думаю они братья).

достались модули с диалэкстрима, определялись как Linvor, как мастер работать нехотели.
непродолжительное погружение в гугль привело на блог с прошивкой и инструкциями.

на lpt провод были напаяны резюки, было скачано необходимое ПО, модули зашиты.
теперь пара модулей зацепляется друг с другом и передаёт данные.
Страницы: 1
Читают тему (гостей: 1)