• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Power Profiler

pvvx

Активный участник сообщества
по ссылке выше упоминался ещё один интересный вариант μPlot
Посмотреть вложение 8743
тут
И нафига мне эта синтетика? Вы свой готовый пример давайте, а не ссылайтесь на марсиан.
Что открыли для себя google поиск и теперь тянете сюда всё что там нашлось?
Интернет и у меня работает. Гоните свой пример.
 

pvvx

Активный участник сообщества
@cheblin - берите пример хотя-бы с A_D - он дал вариант с исходниками и возможностью поглядеть и проверить.
С него можно что-то начать для лепки своего.
А от вас что, авторитет в Google? Ссылки на google? :) :)
PS: кароче, cheblin - от вас пока один шум и более ничего.
 

cheblin

Member
вот не стоит тебе давать мне ссылки на свои "творения" я ведь могу сходить и даже посмотреть..
но это-ж реально трэш и угар.

насколько далёким нужно быть от програмирования чтобы делать ТАКОЕ
upload_2020-1-29_10-16-47.png
это прото ДИКО не эффективно и
понимая это не так дано в javascript появились ArrayBuffer и специализированные View на них типа Uint16Array которые вы же используете при получении данных из вебсокета

upload_2020-1-29_10-32-51.png
но дальше этого куска кода использования Uint16Array у вас ума не хватило...
а у типизированных массивов есть метод set ! создай новый массив большего/меньшего размера и залей в него данные старого в нужную позицию
и это будет сделано мнгновенно и оптимизированно, кодом под капотом на С++

соответственно вот за этот говно код нужно ваще руки отрывать
upload_2020-1-29_10-37-39.png
что тут происходит? если данных в массиве больше чем data_ch1 откинуть первые два значения и добавить в конец прилетевшие.

ФИНИШ !
афтар не знает про элементарный set

афтар - убей сибя ап стену. реально

и этот персонаж позволяет себе запрещать ковырять в носу dygraphs и даёт советы космической глупости

тьху, позорник
 

Вложения

pvvx

Активный участник сообщества
вот не стоит тебе давать мне ссылки на свои "творения" я ведь могу сходить и даже посмотреть..
но это-ж реально трэш и угар.

насколько далёким нужно быть от програмирования чтобы делать ТАКОЕ
Посмотреть вложение 8760
это прото ДИКО не эффективно и
понимая это не так дано в javascript появились ArrayBuffer и специализированные View на них типа Uint16Array которые вы же используете при получении данных из вебсокета

Посмотреть вложение 8761
но дальше этого куска кода использования Uint16Array у вас ума не хватило...
а у типизированных массивов есть метод set ! создай новый массив большего/меньшего размера и залей в него данные старого в нужную позицию
и это будет сделано мнгновенно и оптимизированно, кодом под капотом на С++

соответственно вот за этот говно код нужно ваще руки отрывать
Посмотреть вложение 8762
что тут происходит? если данных в массиве больше чем data_ch1 откинуть первые два значения и добавить в конец прилетевшие.

ФИНИШ !
афтар не знает про элементарный set

афтар - убей сибя ап стену. реально

и этот персонаж позволяет себе запрещать ковырять в носу dygraphs и даёт советы космической глупости

тьху, позорник
Это батник сочиненный на ходу - убей себя об стену. Мне ещё думать что-ли писавши такое за пару минут для одиночного теста?

Качественный пример в студию. :p Время пошло.
 

pvvx

Активный участник сообщества
Понятно - 2-х часов @cheblin-у не хватает исправить и выдать оптимальный вариант.
А тормоз не в этих строках, а в самом dygraphs и нормальные люди оптимизируют то что тормозит больше всего, а не самое мелкое :p
В коде AdHoc там вообще жуть... Но я молчу, т.к. объява гласит, что это первые потуги, т.е. попытка что-то сделать в первый раз в жизни у cheblin-а :) :)
 

pvvx

Активный участник сообщества
К стати, я вспомнил почему там так писано:
Код:
                    for (var i=2; i<wordarray.length; i+=2) {
                        if(rend) {
                             if(cur_idx >= samples) {
                                data_ch1.shift();
                                data_ch2.shift();
                            }
                             data_ch1.push([wordarray[i]]);
                             data_ch2.push([wordarray[i+1]]);
                        }
                        cur_idx++;
                    }
Там стояло масштабирование из единиц ADC в Вольты и естественно - плавучка и совершенно не нужно было тройное преобразование в f64. А для git это было удалено и правлено где-то ещё, в выводе самой картинки. Не помню и не хочу.
Главное что вы опять в пролете :p
PS: довспомнил - слишком сложное тама было для тех кому назначался пример и всё это было почикано ради упрощения :p
 

pvvx

Активный участник сообщества
а ты не сдерживай себя, особенно когда фантазируешь.
прям скачивай код и зупускай метод main() в исходнике Test.c

время пошло?
Сколько времени ни лейся, всё равно с вашего кода получаем шиш.
С трудом собралось - итог одна асм команда Main: ret. Оптимизация в компиляторе на макс.
PS: я знаю то, что вы не знаете :p Так что пишите - буду ржать.
 

cheblin

Member
пока весь свой код, который ты мне предлагал в образцы, мягко говоря с душком...

а вот критики своего кода я так и не дождался, не справедливо.
 

pvvx

Активный участник сообщества
эй извращенец, задерни штаны, наплевать что тебе не втерпеж...
Я не тороплюсь - читайте тему - уступаю молодым. Даю фору.
А ваш первый шаг с AdHoc жду к следующему Новому Году. Писал уже вам это много раз.
Быстрее вы всё равно ничего не сделаете, а до хотя-бы примитивного теста дойдете только через много лет, судя по темпам освоения.
 

pvvx

Активный участник сообщества
Пока просто сравнение INA226 с вариантом TLSR8266 и его встроенным SAR.
Один и тот-же фрагмент съемки тока работы TLSR8266 по USB, замер на оба устройства с одного шунта:
upload_2020-2-7_9-39-45.png
(ничего не калибровалось - на цифры не смотреть).
 

pvvx

Активный участник сообщества
Для @A_D, и не только, в очередной раз про INA219:
Без фильтров на её входе использовать такое нельзя:
1581585144124.png
1581585151936.png
 

pvvx

Активный участник сообщества
Штатная плата с али с INA219 для Абдурино (без фильтров из R-C - китайцы экономят).
На осциллографе амплитуда в точке включений шунта, куда подается напряжение с генератора, не сдвинулась ни на миллиметр...
Далее, после шунта, просто нагрузка R - там тоже всё ровно.
 

pvvx

Активный участник сообщества
INA226 получше будет, замер без фильтров на её входах:
1581587473242.png
Это ещё не 2 МГц, как дают современные импульсники (DC-DC)...
Страшно давать больше даже с 5В размахом синуса - ещё затлеет :)
 

enjoynering

Well-known member
я пожалуй подпишусь на эту тему. всегда приятно когда pvvx нахлобучивают, да еще с примерами его гениальности.
 

pvvx

Активный участник сообщества
я пожалуй подпишусь на эту тему. всегда приятно когда pvvx нахлобучивают, да еще с примерами его гениальности.
Дык cheblin отвалил, полностью расписавшись в своей некомпетенции в программировании и электротехнике как его код провер в тот-же день как он попросил... Без него будет скучно, но он исчерпался - нужон новый.
 

enjoynering

Well-known member
вопрос. куда ставить RC фильтр и его номиналы или хотя бы его тип (нч\вч) и частоту среза? заранее спасибо.
 

pvvx

Активный участник сообщества
TI в datasheet INA219 пишет :
Схема входного фильтра, состоящая из RF1, RF2 и CF, не требуется в большинстве приложений. Если необходимость фильтрации неизвестна, зарезервируйте место на плате для компонентов и установите 0-омные резисторы для RF1 и RF2 и оставьте CF незаполненным, если не требуется фильтр (см. Раздел «Фильтрация и входные данные»).

8.4.1 Особенности фильтрации и ввода
Измерение тока часто бывает шумным, и такой шум может быть трудно определить. INA219 предлагает несколько вариантов фильтрации путем выбора разрешения и усреднения в регистре конфигурации. Эти параметры фильтрации могут быть установлены независимо для измерения напряжения или тока.
Внутренний АЦП основан на интерфейсе дельта-сигма (ΔΣ) с типичной частотой дискретизации 500 кГц (± 30%). Эта архитектура имеет хорошее подавление шума; однако переходные процессы, возникающие при гармониках частоты дискретизации или очень близко к ним, могут вызвать проблемы. Поскольку эти сигналы имеют частоту 1 МГц и выше, с ними можно бороться, используя фильтрацию на входе INA219. Высокая частота позволяет использовать на фильтре последовательные резисторы с низким значением для незначительного влияния на точность измерений. В общем, фильтрация входа INA219 только
необходимо, если имеются переходные процессы на точных гармониках частоты дискретизации 500 кГц (± 30%) (> 1 МГц). Фильтруйте, используя минимально возможное последовательное сопротивление и керамический конденсатор. Рекомендуемые значения от 0,1 до 1 мкФ. Рисунок 14
показывает INA219 с добавленным дополнительным фильтром на входе.

1581601972247.png

Но любое измерение говорит, что беда у обоих: INA219 начинается c 100 кГц, а у INA226 c 150 кГц.
Нужда в фильтрах появляется, когда шунт установлен в не полностью сглаженном питании, например после DC-DC или от шунта идут длинные проводники, являющиеся индуктивностями... А так-же при больших сопротивлениях шунта и замеров модулей с малыми емкостями в питании для наблюдения и прочих целей типа PowerProfiler, без которого в тематике BLE делать нечего.
 
Сверху Снизу