• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

BLE модуль JDY-10 на чипе TLSR8266

pvvx

Активный участник сообщества
Пересчитал, чего можно достигнуть по потреблению у модуля JDY-10 используя разные deep/sleep, подходы и время между TX/RX:
upload_2019-12-29_21-16-50.png
Гуру @nikolz предупреждаю сразу, чтобы не повторялись его глупости как ранее - все шкалы на графиках логарифмические!
И если измерять как TI в своих рекламах, то TLSR в полном deep-sleep потребляет с ним одинаково - проверено. Но кому такой мертвый чип нужен?
 

pvvx

Активный участник сообщества
На графике только режимы в которых работает таймер, gpio и в deep-sleep сохранение нескольких байт в спец.регистрах. В sleep - чип помнит и всю RAM и все регистры тикают... TX +8дБ
 

nikolz

Well-known member
На графике только режимы в которых работает таймер, gpio и в deep-sleep сохранение нескольких байт в спец.регистрах. В sleep - чип помнит и всю RAM и все регистры тикают... TX +8дБ
какая стабильность интервалов в режиме маяка и максимального интервала сна?
 

pvvx

Активный участник сообщества
какая стабильность интервалов в режиме маяка и максимального интервала сна?
Откройте PDF на чип - там указана стабильность встроенных RC генераторов. Внешний кварц я не использую - лишние элементы...
Предельный интервал сна (ограничение счетчика в 32 бита в тиках (менее us) ) описан в доках к API и составляет (по памяти) 201 секунду.
 

pvvx

Активный участник сообщества
Для маяка есть ещё такое - по стандарту BLE он должОн пищать на 3-х каналах. Это выливается в 3 импульса TX общим временем в 2..3 ms.
 

pvvx

Активный участник сообщества
Telink доки:
Deepsleep mode: (Режим ожидания:) режим низкого энергопотребления 2.
В этом режиме микропрограммное обеспечение прекращает работу, подавляющее большинство аппаратных модулей в ИС отключается, а модуль PM все еще работает. Только несколько аналоговых регистров хранения являются энергонезависимыми в этом режиме; другие (цифровые и аналоговые) регистры и память непостоянны, то есть все данные не будут храниться. Аналоговые регистры хранения (DEEP_ANA_REG в pm_826x.h) могут использоваться для хранения некоторой необходимой информации. После выхода из спящего режима MCU перезагружается, и это эквивалентно циклу питания (цикл питания сбрасывает все регистры); Прошивка перезапускается и начинает инициализацию. Пользователь может сохранить некоторую информацию в DEEP_ANA_REG до того, как MCU войдет в спящий режим. Затем пользователь может судить, является ли он чистым циклом питания или активацией из режима сна, считывая аналоговые регистры хранения во время инициализации и проверяя, есть ли предварительно сконфигурированная информация. Чистый ток IC в этом режиме составляет около 0,7 мкА; если добавить внутренний ток вспышки (~ 1 мкА), общий ток составит около 1,7 мкА.


Включенный таймер и GPIO в Deepsleep = + 2 uA при номинальных условиях. Итого 3.5..3.7 uA.
Если измерять как это делает Ti, на пониженном напряжении и т.д., то рекламный номинал - 0.9 uA. :) :)
Пересчет и реальность схем с использованием СС2640R2F к условиям описанных выше графиков получается в минималке от 3 uA и более. Для уточнения нужен реальный чип, но СС2640R2F - совсем убог и не интересен.
Графики составлены на моих реальных замерах с использованием малых модификаций функций из SDK при 3.3..3.7В питании и комнатной T. Возможно получить и менее - пробуйте.
 

pvvx

Активный участник сообщества
Главное в графике - это место пересечения токов разных режимов. Если у вас маяк, то наглядно показано, что deep-sleep нафиг не нужен до паузы в 10 сек. Слишком большой период для маяка. Типичный используемый - до 3-х секунд.
 

pvvx

Активный участник сообщества
А к практике мы перейдем потом (опосля, значит).
Т.е. о глупости некоторых местных аборигенов просидевших все мозги в ВУЗ, обученным преклонению, и гоняющихся за рекламными циферками :)

CR2032 рассчитан (и как показывает практика) на время работы не более 10 лет. Да и в условиях России многие представители это семейства умирают не возвращаясь к жизни в наших отрицательных температурах (например при перевозке готового товара :)). Дык вот аборигены не владеют элементарной математикой. Не умеют делить (только складывать?). Ни как не могут поделить примерно 200 мА/ч на ток потребления и получить уровень ниже “саморазряда” данного элемента :)
 

pvvx

Активный участник сообщества
Следующее преткновение у гуру-обизянок:

Расчет схемы и цены устройства, к примеру подключение датчика… В реальности они не сталкивались с этим – там у них полный “пробел” и мозг переполнен рекламными циферками.

А реальность такова: пусть будет СС2640R2F и требуется замер с его ADC. В документации “ведущей” фирмы Ti :) это замазано надписью “>1М”, которая обозначает, что для минимальной точности требуется ток на вход ADC (или GPIO) от датчика или ещё чего (обычно с делителя от питания) в 2..6 uA (менее 500 кОм) и никакого другого простого решения в своих чипах BLE Ti не предлагает. :p Предприимчивые и практичные китайцы это сразу пресекают в своих чипах элементарным решением… У них то в голове другое – много и дешево…
 

pvvx

Активный участник сообщества
Простая передача по BLE 100 значений ADC TLSR8266 в сек (замер с делителя для батарейки, но туда включен генератор пилы 10 mHz):
upload_2019-12-30_15-2-51.png
да, имеется дополнительный шум из-за sleep между каждым замером в 10 мс (ADC не сразу стабилизируется). Замеры передаются пачкой по 8.
 

pvvx

Активный участник сообщества
Шум такой:
upload_2019-12-30_15-13-24.png
Выяснять причину сложно, т.к. ещё имеется джиттер опроса ADC, каждый передаваемый замер состоит из 6-ти усредненных снятых на сотне ksps в 14 бит, делитель и наводки на уровне деления к диапазону REF 0..1.3В.
 

pvvx

Активный участник сообщества
Далее можно побаловаться...
upload_2019-12-30_15-43-48.png
Визуально различить по принятым замерам, что генератор синуса имеет 14 бит можно, но на пределе... Надо увеличивать области перегибов...
upload_2019-12-30_15-45-15.png
Sweep 0.01..10Гц.
 

pvvx

Активный участник сообщества
Да, @nikolz хотел посмотреть работу фильтра dygraph (js):
Типа частотная х-ка:
upload_2019-12-30_15-56-53.png
Типа импульсная (0.1Гц меандр: фильтр off, фильтр 100 точек):
upload_2019-12-30_16-3-25.png upload_2019-12-30_16-3-52.png
 

pvvx

Активный участник сообщества
Если включить вход ADC через резистор в 200 кОм к генератору пилы, то увидим работу какую нестабильность на вход вводит SAR:
upload_2019-12-31_7-13-36.png
 

pvvx

Активный участник сообщества
Хотя примеры в SDK и описание для PGA на TLSR8266 отсутствуют, по скудным кусочкам собрал драйвер для неё.
upload_2019-12-31_10-24-1.png
Pre-amp переключается на 0 или +20 дБ.
Post-amp регулируется с шагом 2.5 дБ с нуля до 22.5 дБ.

При включенном Pre-amp на +20 дБ и Post-amp на 6*2.5=15 дБ и подачи на вход примерно 20 мВ пилы (p-p) вышло это:
upload_2019-12-31_10-26-34.png
Используется расширение ADC до 16 бит за счет частичной передискретизации...
Под рукой нет точных аттенюаторов...
Походу надо фильтровать питание чипа... Но для тензодатчика весов и так сойдет.
 

pvvx

Активный участник сообщества
По идее от Telink-а предварительный ОУ в PGA дает усиление в 10 раз (20дБ), вторичный каскад до 22.5 дБ (13.3 раза). Итоговое максимальное усиление в 133 раза. При Ref 1.3В у ADC вся шкала в 14 бит должна получить максимальную амплитуду в 1.3B/133 = 9.774 мВ.
Осел на входах чипа кажет:
upload_2019-12-31_11-8-53.png
Чип передает:
upload_2019-12-31_11-9-18.png
На вид вроде сходится…

Как проверить точное разрешение PGA и уход со временем на всех диапазонах без паяльника в этих милливольтах, используя только провода с штырями/разъемами 2.5 мм аля Arduino?
 

pvvx

Активный участник сообщества
Надо бы рассмотреть альтернативы…

Чипов BLE со встроенным 24-х битным ADC пока не видать. Но можно прикрутить внешний ADC.

AD7793
  • Эффективное разрешение до 23 бит
  • Шум 40 нВ при 4.17 Гц
  • Ток: 400 мкА, тип.
  • Режим пониженного энергопотребления: 1 мкА, макс.
  • Рабочий диапазон –40°C +105°C
  • Встроенный Ref 4 ppm/°C
  • Два выхода управляемых источников тока 10/210/1000 μA, 50 ppm/°C
Для нормального (хорошего по точности) замера с тензодатчика требует усреднение от 2-х замеров. Первый после включения отбрасывается, т.е. время установки первого замера после выхода из sleep составляет от 0.5 сек. На дальнейшее получение ещё 2-х замеров уходит от 2/4.17 секунды. Т.е. это активация чипа AD7793 на 1..1.5 сек с потреблением к 0.5 мА и от 3-х просыпаний чипа BLE для старта и по сигналу готовности данных с жручкой к 6..9 мА на 1..3 мс и одна передача данных 15..30 мА при TX от +8 дБ на 3 мс (с приемом ответа). Это в среднем составит до 0.6 мА на период в 1.5 сек.

Для подключения тензодатчиков к ней требуются только проводки и более никаких деталей (кроме пары емкостей и резистора фильтра в аналоговом питании). Для особой точности возможно, исходя из схемы включения тензодатчика(ов), потребуется до пары smd резисторов и кондеров на внешнюю цепь.

Микруха AD7793 уже настолько стара, что я забыл в каких годах первый раз использовал её в проектах... В том веке или в этом? Ныне и цена на неё как у антиквариата или музейного экспоната…

Какие есть современные и более дешевые альтернативы с параметрами не хуже чем у AD7793 + чип BLE для точных замеров в микровольтах?
 

nikolz

Well-known member
Если включить вход ADC через резистор в 200 кОм к генератору пилы, то увидим работу какую нестабильность на вход вводит SAR:
Посмотреть вложение 8481
Надо бы рассмотреть альтернативы…

Чипов BLE со встроенным 24-х битным ADC пока не видать. Но можно прикрутить внешний ADC.

AD7793
  • Эффективное разрешение до 23 бит
  • Шум 40 нВ при 4.17 Гц
  • Ток: 400 мкА, тип.
  • Режим пониженного энергопотребления: 1 мкА, макс.
  • Рабочий диапазон –40°C +105°C
  • Встроенный Ref 4 ppm/°C
  • Два выхода управляемых источников тока 10/210/1000 μA, 50 ppm/°C
Для нормального (хорошего по точности) замера с тензодатчика требует усреднение от 2-х замеров. Первый после включения отбрасывается, т.е. время установки первого замера после выхода из sleep составляет от 0.5 сек. На дальнейшее получение ещё 2-х замеров уходит от 2/4.17 секунды. Т.е. это активация чипа AD7793 на 1..1.5 сек с потреблением к 0.5 мА и от 3-х просыпаний чипа BLE для старта и по сигналу готовности данных с жручкой к 6..9 мА на 1..3 мс и одна передача данных 15..30 мА при TX от +8 дБ на 3 мс (с приемом ответа). Это в среднем составит до 0.6 мА на период в 1.5 сек.

Для подключения тензодатчиков к ней требуются только проводки и более никаких деталей (кроме пары емкостей и резистора фильтра в аналоговом питании). Для особой точности возможно, исходя из схемы включения тензодатчика(ов), потребуется до пары smd резисторов и кондеров на внешнюю цепь.

Микруха AD7793 уже настолько стара, что я забыл в каких годах первый раз использовал её в проектах... В том веке или в этом? Ныне и цена на неё как у антиквариата или музейного экспоната…

Какие есть современные и более дешевые альтернативы с параметрами не хуже чем у AD7793 + чип BLE для точных замеров в микровольтах?
Шум такой:
Посмотреть вложение 8473
Выяснять причину сложно, т.к. ещё имеется джиттер опроса ADC, каждый передаваемый замер состоит из 6-ти усредненных снятых на сотне ksps в 14 бит, делитель и наводки на уровне деления к диапазону REF 0..1.3В.
Судя по вашим исследованиям Вы либо не знаете, либо забыли, что существует динамическая ошибка преобразования АЦП. Эта ошибка зависит от скорости изменения сигнала на входе АЦП.
Попробуйте ее посчитать и возможно Вы поймете одну из причин помех и узнаете реальную погрешность АЦП.
---------------------------------------------
Успехов в экспериментах в новом году.
 

pvvx

Активный участник сообщества
Судя по вашим исследованиям Вы либо не знаете, либо забыли, что существует динамическая ошибка преобразования АЦП. Эта ошибка зависит от скорости изменения сигнала на входе АЦП.
Попробуйте ее посчитать и возможно Вы поймете одну из причин помех и узнаете реальную погрешность АЦП.
---------------------------------------------
Успехов в экспериментах в новом году.
Простая передача по BLE 100 значений ADC TLSR8266 в сек (замер с делителя для батарейки, но туда включен генератор пилы 10 mHz)
 

pvvx

Активный участник сообщества
ADC у меня настроен на 64000 sps.
Один бит (разряд) ADC есть 1.3В/16384 = 0.000079В = 7.9E-5 В

Скорость изменения входного напряжения при 10 милли Герцах на входе ADC составляет до 1.3В в 50 сек (0.026В в сек). Делим на 64000 sps, получаем 4.0E-7 вольт на замер.
Судя по вашим исследованиям Вы либо не знаете, либо забыли, что существует динамическая ошибка преобразования АЦП. Эта ошибка зависит от скорости изменения сигнала на входе АЦП.
Попробуйте ее посчитать и возможно Вы поймете одну из причин помех и узнаете реальную погрешность АЦП.
---------------------------------------------
Успехов в экспериментах в новом году.
У ADC на входе стоит схема выборка-хранение на время измерения. Обычно описывается параметром управления временем зарядки и стабилизации коммутатора, которое увеличивает цикл оцифровки. Это время значительно менее времени оцифровки.
Шумы на входе происходят от заряда этой емкости при следующей коммутации ко входу после отработки ключей взвешивания на емкостях для SAR, что вам наглядно представлено на замерах при 200 кОм на входе...
Надеюсь что помог вам начать разбираться в преобразованиях ADC...
 
Сверху Снизу