• Система автоматизации с открытым исходным кодом на базе 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
 
  • Like
Реакции: A_D

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 делать нечего.
 
Сверху Снизу