Такая задача. Есть несколько устройств с автономным питанием. Каждое передает центральному контроллеру 1 раз в 20 секунд несколько байт информации, передача происходит по собственной инициативе устройств. Расстояние метров до 40, прямая видимость. Другие варианты кроме ZigBee неприемлемы (требование заказчика), это не обсуждается.
Необходимо минимальное потребление устройства (ZigBee транссивера в частности).
Попробовал модули XBee от MaxStream (потому что они простые в применении), результаты следующие.
В активном режиме потребление около 40 мА.
Если полностью отключать трансивер, то при включении он соединяется около 4-х секунд, т.е. среднее потребление около 8 мА.
Если не отключать, а переводить трансивер в сон, то после просыпания соединение и передача происходит за 0,5-1 сек, т.е. среднее потребление 1...2 мА - уже лучше.
Хотелось бы еще уменьшить потребление (хотя бы раза в 4, лучше в 10), но не уменьшая частоту передачи данных.
Применить "голый" приемопередатчик 2,4 ГГц и сделать собственную обвеску и ZigBee стек (или применить готовый) точно не смогу (нет опыта и времени), нужен модуль со встроенным стеком, типа XBEE или подобный.
У кого есть опыт применения этих (XBEE) или других модулей ZigBee в устройствах с автономным питанием и какие получены результаты по потреблению?
ссылкаТакие цифры в мешнетиксе заявлены.
Да, указанный модуль потребляет в 2 раза меньший ток.
Но, я так понимаю, дело не столько в текущем потребляемом токе, сколько во времени, затраченном на установление соединения и передачу данных. Где-то читал, что это занимает 30 мс, у меня же получилось >500 мс

Поэтому-то и хотелось бы сравнить свои результаты с другими (если кто этим вопросом занимался). Попытаюсь поиграться с настройками, может удастся сократить это время.
Нет фиксированного времени на установление связи, всё зависит от обстановки.
Например такая ситуация, когда включаешь координатор и к нему одновременно начинает коннектится Nнадцать устройств покажет довольно большое время, требуемое на вхождение узла в сеть.
Да действительно, время установления связи может быть разным. У меня координатор включен всегда (он питается от сети), а конечные точки подключаются периодически. Предполагаю, что время соединения можно сократить, если уменьшить область поиска объектов сети, т.е. жестко задать, кто, с кем и при каких параметрах соединяется.
Dron_Gus
Oct 20 2008, 13:00
Стандартом же предусмотреммы "спящие" устройства. Им нет необходимости заново входить в сеть после просыпания. Проосто посылают пакет и снова засыпают.
Я использовал модули от Jennic. Потребление не мерил, но рекламируют красиво.
Цитата
Стандартом же предусмотреммы "спящие" устройства. Им нет необходимости заново входить в сеть после просыпания. Проосто посылают пакет и снова засыпают.
Ну я так и делал. Время просыпания и передачи пакета (несколько байт) около 500 милисекунд (а хоцца 50 мс!). А если не усыплять, а ресетить, то входит в сеть примерно за 2-3сек.
mdmitry
Oct 24 2008, 11:20
Atmel AT86RF230. По данным описания 16,5 мА в режиме передачи, 15,5 в режиме приема.
Hellper
Oct 24 2008, 12:38
Telegesis Оцените вариант. Данные модемы у меня куплены, но начну с ними работать только через несколько недель. Готов контактировать для обмена информацией.
Для модулей XBEE удалось значительно сократить время передачи, а следовательно и потребляемую мощность.
Дело было в неоптимальных задержках в программе.
Для передачи одного пакета микроконтроллер должен сделать следующее:
1. Разбудить ZigBEE модуль.
2. Подождать некоторое время (сразу после пробуждения модуль не воспринимает информацию).
3. Передать пакет в модуль.
4. Убедиться, что пакет передался координатору.
5. Усыпить ZigBEE модуль.
Время 2 находится экспериментально и для XBEE модулей равно несколько милисекунд.
Время 3 удалось сократить, увеличив скорость передачи по UART.
К счастью, в модулях XBEE можно не контролировать процесс передачи данных координатору.
Через небольшую задержку (тоже несколько милисекунд) после окончания передачи
пакета в модуль можно смело усыплять его, но он при этом не уснет, а останется работать, пока
данные не будут переданы координатору. Как только данные переданы, модуль засыпает.
Весь процесс передачи одного пакета занимает 80 мс (+-20мс). На осциллограмме видно несколько пиков общей длительность примерно 25 мс, когда потребляемый ток составляет 40 мА, а остальные 55 мс - 10 мA.
Посмотрел на осциллограммы, которые приводит TI для своих СС2480 - у них на картинках потребление в несколько раз лучше.
Я так понимаю, для создания действительно малопотребляющего ZigBee устройства (если потребление является одной из ключевых характеристик устройства), необходимо использовать микросхемы транссиверов (без микроконтроллера) и устанавливать ZigBee-стек на свой микроконтроллер.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.