Стратегия беспроводного модуля с низким энергопотреблением


8

Я разрабатываю сенсорные модули с низким энергопотреблением, которые будут распределены по достаточно небольшой площади. Все модули питаются от батареи и должны работать достаточно долго, без необходимости перезаряжать / заменять батареи (чем дольше, тем лучше, подумайте, по крайней мере, несколько недель, если не месяцы или годы). Идея состоит в том, что каждые полчаса или час модуль выйдет из режима низкого энергопотребления, возьмет несколько выборок и передаст данные в центральный регистратор данных. Центральный регистратор данных, вероятно, будет питаться от стены, поэтому низкое энергопотребление не так необходимо. Я не ожидаю, что какие-либо модули будут дальше, чем 100 м от центрального регистратора, вероятно, намного меньше.

Я определил несколько возможных модулей приемопередатчика, которые потенциально могут работать:

  1. ALPHA-TRX433S, 433 МГц
  2. ALPHA-TRX915S, 915 МГц
  3. Микрочип MRF89XAM8A, 868 МГц
  4. Микрочип MRF89XAM9A, 915 МГц

Из того, что я прочитал, все эти модули работают в нерегулируемых диапазонах FCC и должны быть безопасными для использования. Модули Alpha рекламируют диапазон 300 м, но я не могу понять, какой будет максимальный диапазон модулей Microchip. Как бы я мог рассчитать это?

Кроме того, поскольку у меня есть выбор диапазонов, которые я должен выбрать и почему (то есть, что я получу от 915 МГц до 433 МГц и что я теряю)? В порядке каких параметров я бы посчитал наиболее важными:

  1. Малая мощность
  2. Дальность передачи (чем больше, тем лучше)
  3. Невосприимчивость к другим факторам окружающей среды (например, Wi-Fi / сотовые сети, работающие микроволновые печи, стены / физические препятствия, температура и т. Д.). Целевое использование в жилых помещениях, и, вероятно, будут существенные колебания температуры (скажем, от -20 ° C до 50 ° C).
  4. Скорость передачи данных. Это не очень важно, так как я ожидаю очень мало данных на выборку (максимум несколько байтов).

Другой вопрос, который у меня есть, - как обрабатывать несколько модулей, пытаясь передавать данные одновременно. У меня есть несколько мыслей о том, как смягчить это, но я не уверен, какое решение продолжить:

  1. Используйте случайное смещение времени для передачи данных. Надежда на то, что столкновений просто избежать. Это, вероятно, будет самым простым для реализации и потенциально будет использовать наименьшее количество энергии. Тем не менее, это не гарантирует, что не будет никаких столкновений. Кроме того, получение хорошего источника случайности или уникального псевдослучайного начального числа может вызвать проблемы, хотя и не является неразрешимым.

  2. При пробуждении и попытке передачи проверьте, выполняется ли передача в данный момент. Просто дождитесь окончания передачи перед отправкой данных. Тогда возникает проблема, как мне обрабатывать несколько датчиков в состоянии ожидания, поскольку они могут потенциально решить, что последняя передача завершилась, и оба начнут передачу одновременно.

  3. Какое-то другое решение.


Обратите внимание, что 300-метровый диапазон предназначен для связи по линии прямой видимости, и обычно он может упасть до 50 или 100 м (или даже меньше) в помещении, в зависимости от того, нет. и тип стен между Tx / Rx. Я использовал 433 МГц пару ASX / OOK Tx / Rx в проекте, с похожим профилем использования, от 4x1,5 В пост. Тока AA (стандартно без ртути), в течение более 6 месяцев.
icarus74

Что касается обработки нескольких одновременных передач, ваши первые решения близки к тому, что я использую. В моем случае мой передатчик использует вход некалиброванного датчика температуры в качестве начального значения PRNG для преобразования до смещения до 3000 мс, а затем я также использую повторные передачи.
icarus74

Ответы:


9

У меня есть открытый и аппаратный сенсор с открытым исходным кодом , который даст вам рабочую отправную точку: он подключен к Интернету и передает свою температуру, влажность и напряжение батареи каждые две минуты и будет работать в течение 3-5 лет на батареях 2xAA. Он основан на модуле M12 6LoWPAN .

Я сделаю все возможное, чтобы ответить на все ваши вопросы:

Относительно баланса группы:

433 МГц, 915 МГц, 2,4 ГГц

Диапазон против размера антенны - это очевидный компромисс. Потери в свободном пространстве являются функцией длины волны, поэтому более низкие частоты перемещаются намного дальше при одинаковом затухании. НО, чтобы извлечь выгоду из этого, вам также понадобится подходящая антенна, которая также масштабируется с длиной волны. 2,4 МГц антенна на M12 занимает около 2 кв. См площади печатной платы.

Вторым фактором является лицензирование. 2,4 ГГц могут иметь нелицензионные станции по всему миру. 915 МГц нелицензированы только в США (это диапазон GSM везде). Я не уверен, что ограничения на 433 МГц.

Скорость передачи данных также зависит от выбора частоты в соответствии с теоремой Шеннона – Хартли ; Вы можете втиснуть больше данных в более высокую полосу частот. Это не всегда используется для более окончательной скорости передачи данных. Например, 802.15.4 имеет 4 бита избыточности для каждого реального бита, видимого на уровне данных. 32 символа являются псевдоортогональными, поэтому вы должны повредить несколько битов низкого уровня, чтобы вызвать ошибку. Это позволяет 802.15.4 работать при минимальном уровне шума (исследования показывают, что SNR составляет -5 дБ) и делает его относительно устойчивым к помехам.

Теперь перейдем к следующей сложной теме,

радиоуправление малой мощности :

По сравнению с бытовыми батарейными источниками (например, щелочами AA), даже «маломощные» SoC, такие как mc13224v, имеют не очень низкое энергопотребление. Передатчики около 30 мА при 2-3,5 В, а приемники 25 мА или около того. Не выключая радио и не переводя процессор в спящий режим, эта нагрузка истощит 2 AA за несколько дней. Высокая потребляемая мощность приемника часто удивляет людей и, возможно, является самой большой болью в разработке маломощных радиосистем. Подразумевается, что для того, чтобы работать годами, вы почти никогда не сможете передавать или слушать.

Целью работы в течение года с использованием щелочей 2xAA является получение среднего тока системы <50 мкА. Это позволяет вам на годы и больше противостоять вторичным эффектам от батарей, таким как саморазрядка и 7-летняя автономная жизнь для бытовых батарей.

Лучший способ получить среднее значение <50uA, если ваш трансивер не нуждается в приеме. Если это так, то вы можете «чирикать» данные как можно быстрее и переводить систему в режим низкого энергопотребления (скажем, около 10 мкА) в течение большей части времени. Th12 , например, передает приблизительно за 10 мс, но есть другие накладные расходы в системе в отношении времени и времени наладки обработки для датчика , участвующих. Детали могут быть разработаны с текущим зондом и электронной таблицей:

Из этого типа анализа вы можете определить, каков будет срок службы (при условии, что у вас есть точная кривая разрядки для вашей батареи).

Если вам действительно необходимо получать данные на стороне с низким энергопотреблением (например, чтобы сделать сонный маршрутизатор в ячеистой сети), то в настоящее время современные технологии фокусируются на методах разделения времени. Некоторые жестко синхронизируют сеть, например, маяки 802.15.4, а другие используют «свободную» систему, такую ​​как ContikiMAC (которую проще реализовать, особенно если ваше оборудование не имеет стабильной временной базы).

Несмотря на это, мой опыт показывает, что эти методы в среднем составляют около 400 мкА, что позволяет вам работать в режиме «от месяцев до года» с 2xAA.

Столкновения :

Мой совет: пока не беспокойтесь о них. Другими словами, сделайте «алоха» (ваш вариант # 1), куда, если у вас есть данные, отправьте его. Если он сталкивается, возможно, отправьте его снова. (это зависит от ваших целей). Если вам не нужно получать каждый образец, просто попробуйте один раз и сразу же заснете.

Вы обнаружите, что проблема энергопотребления настолько сложна, что единственным решением будет сеть, которая не передает много вообще. Если вы просто попытаетесь, это, вероятно, пройдет. Если этого не произойдет, вы всегда можете попробовать позже.

Если вам действительно нужно , чтобы убедиться , что каждая дейтаграмма проходит через то вам придется сделать какое - то схему ACK. В мире 6LoWPAN вы можете использовать TCP, который будет повторять попытки до тех пор, пока ваша батарея не разрядится. Существует также CoAP, который использует UDP и имеет механизм повторных попыток (но не обещает доставку). Но каждый выбор здесь будет влиять на время выполнения. Если вы работаете годами, последствия будут в месяцах.

Ваш вариант № 2 встроен в оборудование 802.15.4 как CCA. Идея состоит в том, что приемник включается на 8 символов и возвращает истину или ложь. Тогда вы можете принять решение о том, что делать дальше. Вы можете играть с этими схемами весь день / неделю. Но каждый раз, когда вы делаете что-то подобное, вы сбриваете больше недель во время выполнения. Вот почему я предлагаю начать с простого пока. Это будет работать очень хорошо, если вы пытаетесь в течение длительного времени.


Ваша ссылка не работает!
Райан Григгс

Я хотел бы добавить к этому Оценщику Microchip XLP , который покажет вам ожидаемое время работы для различных конфигураций батарей и состояний / периодов работы. Кроме того, если все датчики являются приемопередатчиками, вы могли бы реализовать схему «циклического перебора» или «Token-Ring», когда мастер многократно запрашивает устройство 0 дляN"Что-нибудь для меня?" Датчик ждет своего поворота (скажем, 10 мс), передает, затем выключается. Я бы рекомендовал использовать какой-либо тип контрольной суммы CRC, чтобы избежать принятия искаженных данных.
rdtsc

1

Вы можете быть заинтересованы в JeeNodes, который в основном представляет собой Arduino Uno в паре с радиомодулем RFM-12B от HopeRF. Если вы напишите свой код прямо на удаленных «узлах», вы можете легко получить месяцы из набора батарей, в зависимости от ваших датчиков и т. Д.

Проверьте его веб-сайт, энергопотребление это то, что хорошо документировано. Идеальная вещь в том, что вы можете использовать стандартные библиотеки arduino для ваших датчиков, или использовать датчики в магазине jeelabs и использовать библиотеку JeeLib, которая делает все очень просто.

Я сделал небольшой пульт дистанционного управления для лампы из JeeNode v6 и выключил старую батарею Nokia (примерно 1 Ач, но, вероятно, меньше сейчас), она работала в течение 3 месяцев, а напряжение батареи все еще превышает 3,9 В (т.е. все еще довольно полный). Он просто сидит в режиме сна с низким энергопотреблением, просыпаясь каждые несколько мс, чтобы проверить, нажаты ли кнопки.

Я купил печатные платы в магазине JeeLabs, но получил все компоненты из таких мест, как ebay, element14 и т. Д. В итоге все оказалось немного дешевле.

С небольшим вниманием к конструкции антенны вы, очевидно, можете получить несколько сотен метров от них, прямой видимости. Я легко получаю освещение всего дома с помощью простого вертикального провода.


0

СКОРОСТЬ ДАННЫХ «Скорость передачи данных также зависит от выбора частоты в соответствии с теоремой Шеннона – Хартли; вы можете втиснуть больше данных в более высокую полосу частот». Неправильно!!!

Скорость передачи данных связана с полосой пропускания, а не с частотой несущей. У вас может быть низкая несущая частота, но высокая пропускная способность и высокая скорость передачи данных.

ЧАСТОТА НОСИТЕЛЯ Низкая несущая частота хороша для диапазона. Если частота уменьшится вдвое, диапазон увеличится в четыре раза. Но размер антенны также увеличился бы. Обычно антеннами являются лямбда / 2 или лямбда / 4 (лямбда - это длина волны в метрах).

СОДЕРЖАНИЕ КАНАЛА На первый взгляд это кажется довольно очевидным, но может оказаться сложным. Как уже отмечали другие, самая простая стратегия - проснуться и передать один раз, а затем лечь спать. Если количество передатчиков не так велико, а продолжительность сна намного больше, чем продолжительность передачи, это сработает. Но вы должны быть готовы потерять некоторые данные в редких случаях.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.