Power Profiler

Всё там хорошо - теперь с али только такие приходят и уже давно.
Разобрался с новой ревизией мини ST-link. Добавили на линию DATA sot23-5 v07 буфер без инверсии с открытым "коллектором"- всем понятно для чего:)
прецизионный источник напруги и крутой ОУ с выходом в 500 мА
Не вижу проблемы сделать свой LDO на малошумящем ОУ с выходом током хоть на 10А.;)
Пора уже сделать ползунок в Вашей программе (и протоколе) регулятор напряжения на DAC STM32 12бит. Потом можно и просто транзистор "прикрутить", понятно что выходное сопротивление будет большое (без обратной связи), но мы же видим напряжение на графике да и шумами будет по легче справиться и с выходной емкостью.;)
К стати будет реально похоже как при питании устройства от АКБ (с просадками напряжения )
 
Проверил выложенные файлы с INA219. Полет нормальный.
Что-то у вас явно не то с INA219.
Если никуда не включена цепь с шунтом, то на INA219 собственное смещение около 1В:
Привет!
Наконец приехала плата INA226, напряжение так-же не меряет:(??.
Вижу что ревизия программы у Вас 0.0.0.8, но на картинка окна конфиг. другая, не такая что у выложенной. Нет переключения ранга напряжения 16/32в. и остальное. Может в этом проблема ?;) ina226.jpg
 

pvvx

Активный участник сообщества
Привет!
Наконец приехала плата INA226, напряжение так-же не меряет:(??.
Вижу что ревизия программы у Вас 0.0.0.8, но на картинка окна конфиг. другая, не такая что у выложенной. Нет переключения ранга напряжения 16/32в. и остальное. Может в этом проблема ?;) Посмотреть вложение 8437
У INA226 нет переключений 16/24В (см. доки на неё).
И у INA226 раздельные входы измерения тока и вход измерения напряжения.
При этом вход измерения напряжения имеет достаточно большую утечку. Входы измерения тока тоже имеют утечку и замеры малых токов просто так не выйдут точными без их программной или аппаратной коррекции...
 

pvvx

Активный участник сообщества
На али уже заказано куча всякого разного хлама для разработки дешманского PowerProfiler. Часть уже пришла - кучи пакетиков в пакетиках :)
Из Current-Shunt Monitor есть только этот: https://aliexpress.ru/item/32900466134.html (ещё не пришел).
Кто на али видел другие варианты? Я не нашел :(
С ним можно использовать встроенный в MCU ADC и разогнать скорость отсчетов... 1000 точек замеров в сек для отладки BLE ужасно мало...
 
Всё там хорошо - теперь с али только такие приходят и уже давно.
Всё там -> https://esp8266.ru/forum/threads/jtag-swd-kitajskij-j-link-stlink-v2-c-openocd.1596/page-5#post-66967
Попытка запустить Power Profiler на плате ST-link 2 mini с CKS32F103C8T6 привела к проблеме, не работает I2C. USB работает, но на I2C тишина... У Вас было такое с CKS32F103C8T6 ?
 

pvvx

Активный участник сообщества
Попытка запустить Power Profiler на плате ST-link 2 mini с CKS32F103C8T6 привела к проблеме, не работает I2C. USB работает, но на I2C тишина... У Вас было такое с CKS32F103C8T6 ?
На CKS32 я ещё не пробовал прописывать ничего своего. Хватает старых запасов ST-link 2 mini c STM32, а новые закупленные с CKS32 пока валяются без дела (нераспечатанные, в китайских пакетиках :) ).
 

pvvx

Активный участник сообщества
INA199A1 уже на почте, но получить пока невозможно – на почте очередь и толпы на несколько часов все предпраздничные рабочие дни…

Есть ли смысл переводить Power-Profiler на BLE чип ?

Из имеющихся на али (дешевом и доступном варианте поштучно и с USB):

1) Модуль JDY-10 с TLRS8266 по 80 рупь с немного устаревшим RF (не проверял на расширение MTU до требований BT 5.0):
  • ADC 14 бит до 250 кsps, Проверено и освоено.
  • Встроенный PGA c шагом усиления 2.5 дБ (макс усиление 133 раза). Проверено и освоено. Оф. описание от Telink не имеет полной необходимой информации для освоения и примеров.
  • Автоматическое DFIFO для ADC (гонит данные с ADC в указываемый циклический буфер в памяти с аппаратными указателями). Не проверено – т.к. надо время. Оф. описание от Telink не имеет полной необходимой информации для освоения и примеров.
  • В качестве DAC 16 битный Sigma-delta modulation (SDM) с аналогичным DFIFO. Не проверено и доступного описания нет, но в чипе есть. Есть и 5 PWM 16 бит, CLK вроде до 48 МГц (от CLK CPU).
2) Модули с TLRS8269 по 200 рупь с RF BT 5.0 (возможно появление и более дешевых на али):
  • Характеристики ADC, SDM, PWM аналогичны JDY-10 c TLRS8266, но больше возможных комбинаций по GPIO и в самих настройках диф. входов ADC и т.д. DFIFO приема с ADC проверен - работает.
  • Больше RAM и возможность передачи большего размера пакета = передаваемый поток больше. Проверено и освоено.upload_2020-1-1_7-22-2.png
Есть ещё PHY62x6 чипы с SDK, но пока на али нет модулей на них и возможно не появится (но нет USB!). Причина: уходят в реальные рабочие проекты. На али для Arduino имеем только устаревший хлам и залежи брака со складов.

Остальные BLE чипы либо не годятся, либо не имеют SDK, USB, или дороги.

Что выбрать?
 

pvvx

Активный участник сообщества
Кто пробовал последовательное включение INA199 для замеров в разных диапазонах на одном шунте?
Первая включена к шунту, вторая от выхода первой и управление Ref-ом у первой.
С первой на один вход встроенного ADC, со второй на второй вход ADC у MCU...
 

pvvx

Активный участник сообщества
В продолжение темы о ужасно медленном I2С совместно с USB на всех STM32...
https://esp8266.ru/forum/threads/adhoc-poshagovoe-rukovodstvo.4741/page-3#post-69117
На наидешевом чипе BLE TLSR8266 выходит гораздо лучше:
INA226_TLSR8266_USB.gif
INA226, CLK I2C шины 1 MHz, TLSR8266 по 80 рупь модуль...
I2C на нем пашет и значительно на выше частотах, но INA226 в китай модуле и сопливых проводках уже сбоит при выше 1.2 MHz. Для INA226 и 800 кГц достаточно.
На TLSR8266 попробовал задать завышенную частоту опроса в 100..200 ksps - тянет без проблем (это >400 килобайт в сек на USB1.1, проверки дров и возможностей чипа пустого эха на USB - это более 500 килобайт в сек).
В общем все STM32 на помойку и менять на новые дешманские чипы с BLE и USB.

PS: осцилла снята с работающим TLSR8266 в программе PowerProfiler. Скоро выкину прошивку и новую версию PowerProfiler, с поправленными багами после стирки на новый лад :)
Далее придется мучить встроенные или другие скоростные ADC c типа INA199, т.к. для отладки BLE надо от 100 кsps...
 

cheblin

Member
код отсюда
отведено два Send_Buffer буфера.

upload_2020-1-19_9-24-5.png

в момент обнаружения заполненности данными происходи перекидывание данных из одного в другой

upload_2020-1-19_9-25-57.png

но зачем??? это приводит к существенным потерям.

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

cheblin

Member
и ещё... имея 20 Kbytes of SRAM почему бы не сделать буфера накопления данных на 1000 отсчётов это существенно уменьшит накладные расходы на заголовки пакета и проч...

в данный момент минимум 3% - заголовки пакетов
 

pvvx

Активный участник сообщества
и ещё... имея 20 Kbytes of SRAM почему бы не сделать буфера накопления данных на 1000 отсчётов это существенно уменьшит накладные расходы на заголовки пакета и проч...
в данный момент минимум 3% - заголовки пакетов
Всё это ради совместимости с другими интерфейсами передачи.
3% не критичны, т.к. желательно бы получить с STM32F103C8T6 хотя-бы 200 kps, но он не могет и упирается где-то на 30 ksps (для 16 бит чтения с I2С с передачей в стандартные дрова USB-COM).
Зачем что-то крутить и улучшать, если это ничего не даст?
 
Сверху Снизу