Xbee "долго думает"

В разделе рассматриваются вопросы информационного обмена в робототехнике.
Аппаратный уровень, протоколы.

Xbee "долго думает"

Сообщение andy-k » 19 янв 2011, 12:21

Добрый день всем. Недавно создавал тему по работе с этими модулями, вроде разобрался, но теперь есть ещё одна трабла. Оба модуля работают в "прозрачном" режиме, то есть как бы как удлинители UART. Один из модулей подключен к компу, а второй к Arduino. Ардуина запрограммирована так, чтобы:

1) При получении данных, возвращать их назад отправителю, чтобы я видел что она получила их
2) Так же при получении она щелкает набором релешек, в зависимости от команд

Так вот, все вроде бы ничего, но порой задержки в ответе и обработке команды просто колоссальные(1-2 секунды). Я вот и не понимаю в чем косяк. Нашуршал в даташите что на отправляющей стороне есть буфер и отправка данных пойдет лишь после его заполнения. Параметр RO который по умолчанию равен 3, указано что изменив его на ноль, данные будут отправляться по мере поступления без буферизации. Все, больше ничего нет.

Проблема не решилась. Причем наверно просто у меня опыта нет и я что-то упустил, ибо в инете есть примеры кода ардуины и видюхи о том как Xbee работает в качестве радиоуправления. Там же такие промахи недопустимы, значит как-то это обходят. Помогите, если кто сталкивался с этим
andy-k
 
Сообщения: 32
Зарегистрирован: 20 окт 2010, 17:38
Откуда: Москва
прог. языки: Delphi,Morph
ФИО: Андрей

Re: Xbee "долго думает"

Сообщение Duhas » 19 янв 2011, 13:33

попробовать методом тыка подобрать длину пакета, который будет доходить без задержки..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Xbee "долго думает"

Сообщение andy-k » 19 янв 2011, 13:50

Тыкаю и пока никак. Настройка о мгновенной передаче имеется. В терминале отправляю по одному символу. Если отправлять эти символы быстро, скажем так раз в секунду и быстрее, начинаются затупы, если с Интервалов 2 секунды и более, то все стабильно, но это не устраивает ни разу. Такое ощущение, что модуль сам что-то ещё делает, ну в смысле какой служебной инфой обменивается со вторым модулем, или может сканит эфир на наличие новых устройств и мои команды во время этого ставятся в очередь. Мануалы читаю и что-то пока ничего не могу найти полезного. Но я не сдаюсь
andy-k
 
Сообщения: 32
Зарегистрирован: 20 окт 2010, 17:38
Откуда: Москва
прог. языки: Delphi,Morph
ФИО: Андрей

Re: Xbee "долго думает"

Сообщение Duhas » 19 янв 2011, 13:57

более чем возможно...

вы можете сами организовать постоянный обмен... слать мусор.. а пакет обрамить старт и стоп последовательностью..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Xbee "долго думает"

Сообщение andy-k » 19 янв 2011, 14:06

Ну тут уже метод тыка, дома уже смогу поменять код в железке, на работе все это в готовом виде лежит передо мной и я пробую разные вариации :) Задача - добиться адекватного по времени реагирования на мои команды
andy-k
 
Сообщения: 32
Зарегистрирован: 20 окт 2010, 17:38
Откуда: Москва
прог. языки: Delphi,Morph
ФИО: Андрей

Re: Xbee "долго думает"

Сообщение Duhas » 19 янв 2011, 14:11

ну и мона поглядеть ДШ повнимательнее.. может еще что из параметров можно/нужно покрутить..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Xbee "долго думает"

Сообщение andy-k » 19 янв 2011, 14:22

Сейчас как раз пытаюсь сократить время на сканирование каналов. Не помогает, дальше попробую уменьшить количество сканируемых каналов. Это последнее что я сейчас вижу, что можно изменить в конфиге самого устройства чтобы улучшить харрактеристики
andy-k
 
Сообщения: 32
Зарегистрирован: 20 окт 2010, 17:38
Откуда: Москва
прог. языки: Delphi,Morph
ФИО: Андрей

Re: Xbee "долго думает"

Сообщение Myp » 19 янв 2011, 14:47

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

попробуй исключить ардуину, пересылать даныые с компа на комп например.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Xbee "долго думает"

Сообщение Duhas » 19 янв 2011, 14:58

замкнув РХ ТХ .... на стороне дуины
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Xbee "долго думает"

Сообщение andy-k » 19 янв 2011, 15:04

Ок, попробую. Но до сборки ардуины делал Range Test, это как раз подобнй тест силами конфигурационной программы X-CTU, на стороне приема замыкал ноги, пакеты летели, но тоже с заглюками. А так как это первый опыт, я даже не знаю, неужели так и должно быть?

В инете был один такой вопрос, но на него так никто и не ответил до конца
andy-k
 
Сообщения: 32
Зарегистрирован: 20 окт 2010, 17:38
Откуда: Москва
прог. языки: Delphi,Morph
ФИО: Андрей

Re: Xbee "долго думает"

Сообщение Duhas » 19 янв 2011, 15:15

про буфер в передатчике - да вполне... чем хитрее модуль, тем больше могет быть лишнего/мешающего.. а хбя по идее не самый простой радиоканал..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Xbee "долго думает"

Сообщение andy-k » 20 янв 2011, 00:16

Без ардуины та же фигня :( Для теста даже модемы "местами менял". Не помогает, начинаешь по байту через терминал отправлять, если медленно, байт в 2-3 секунды, то норм, если быстрее, байт в секунду хотябы то отправляются с успешными ответами первые 3-4 байта, потом затуп несколько секунд на ответ. На обоих сторонах буферизация отключена, что делать, не знаю.

Добавлено спустя 1 час 23 минуты 34 секунды:
Ура! Проблема решена, теперь все адекватно и моментально работает!
andy-k
 
Сообщения: 32
Зарегистрирован: 20 окт 2010, 17:38
Откуда: Москва
прог. языки: Delphi,Morph
ФИО: Андрей

Re: Xbee "долго думает"

Сообщение Michael_K » 20 янв 2011, 00:43

и в чем собака порылась?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Xbee "долго думает"

Сообщение andy-k » 20 янв 2011, 10:52

Может конечно я что не так сделал, но первый раз действуя по их инструкции настраивал модули, скажем так, как для работы в сети. То есть координатор и конечное устройство, у каждого свои имена и при таком раскладе есть возможность подключения других узлов. Без настройки роута такая сетка не заработает. Там для роута есть свои команды и надо запускать их на каждом устройстве указывая параметром ID того узла, куда хочешь прописать маршрут. При таком раскладе тормоза. Я много чего перепробовал и решил воспользоваться последним шансом, то есть сконфигурировать модули как бы друг на друга. Для этого начало то же, Одно устройство "координатор АТ", второе "маршрутизатор\конечный узел АТ" но теперь не надо задавать имена, прописывать роуты и заниматься прочей фигней, надо просто в каждом устройстве указать одну и ту же подсеть и "крест на крест" дать им ссылки друг на друга, используя для этого верхний и нижний серийные номера. Верхний у них один,а нижние различаются. То есть как я понял при таком раскладе они смогут общаться только друг с другом, но мне и не требуется сложных топологий, у меня всего два устройства. При таком раскладе даже на "штатных" 9600 все летает, я вероятно даже попробую понизить скорость, чтобы была более устойчивая связь на расстояниях, объем данных у меня мизерный.
andy-k
 
Сообщения: 32
Зарегистрирован: 20 окт 2010, 17:38
Откуда: Москва
прог. языки: Delphi,Morph
ФИО: Андрей


Вернуться в Коммуникации

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3