всё что натикало за 1/8 секунды ложится в массив... потом всё суммируется, иделится на размер массива поделенный на 8 получаем среднее значение за большой период с накоплением неточности
дальше длительность..есть часовой таймер...тоже работающий на системе....он перезапускается при положительном импульсе на инт1
ну а дальше в основном цикле всё это дело считаю в герцах смотрю диапазоны и взаимные влияния...например на частоте до 10 герц только длительность импульса потом плавное подмешивание средними квадратами результата количества импульсов и на 500 герцах (примерно) и выше полный переход на кол-во импульсов....ну и конечно куча усреднений оптимизаций пересчет коэффициентов, учет колва импульсов отдельным таймером который инкрементирует внутренние переменные....ну менюшки там...всё это динамически выщитывается из заданных переменных...ну..в общем я исходник же не скрываю смотрите...там много всего
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
я имел ввиду разложение флоата на до точки и после точки...
видел.....красивое решение...попробую тож чтото написать...я столкнулся например с тем что при делении 5/10 получаем не 0 в целых чарах а 1...типа округление....
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
clawham вот это алгоритм, мне неделю с ним разбираться
Цитата:
я имел ввиду разложение флоата на до точки и после точки...
стараюсь не использовать флоаты слишком много места и проц. времени занимают операции с ними. у меня счетчик целое 16 бит, потом усредняю (без округления), и раскладываю на десятичные цифры.
если учитывать что инт унсигнед то получается предел в этом вычислении 65535/625 = 104857 импульсов за 16 секунд(кстати delay_ms() очень неточно отрабатывает паузы...особенно большие....я уже не раз на этом попадался)
Если Вы не против я возьму ваш исходничек и перелопатаю? меня конечно же интересует только часть форматирования вывода...и...почемуто когда я на меге такое же сделал - получилась белиберда...почему-то....не знаю где и откуда но ... целочисленное деление получалось с округлением мож это было в прошлом компиляторе который и флоат-то не мог записывать в еепром.... в том же проекте на меге я например никак не могу уйти от флоата... для 1600 имп на киловатт счетчика мне нужно поделить число 16000000*2250= 36000000000, а возможность лонг инта всего 4294967295...тоесть на порядок ниже...флоат тоже теряет точность на таких числах...16000000 он уже только целыми значениями записывает...но...при дальнейшем увеличении он теряет точность ещё больше но допустим на моем числе это 4 тоесть к тому числу прибавлять 123 бесполезно...а вот 4 - увеличит результат переменной...главное достоинства в том что если поделить 16000000 на 15999999 то получится результат с огромнейшей точностью на какуютолько способен флоат! а на лонгах получится что мне прийдётся уменьшать точность...и это уже не 0.000 будет а десятки!!! а это не очень интересно...хотя...попытка ж не пытка...сичас возьмусь напишу на тиню по-новому...с Вашим выводом если вы не против?
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
в том же проекте на меге я например никак не могу уйти от флоата... для 1600 имп на киловатт счетчика мне нужно поделить число 16000000*2250= 36000000000, а возможность лонг инта всего 4294967295...тоесть на порядок ниже...флоат тоже теряет точность на таких числах...16000000 он уже только целыми значениями записывает...но...при дальнейшем увеличении он теряет точность ещё больше но допустим на моем числе это 4 тоесть к тому числу прибавлять 123 бесполезно...а вот 4 - увеличит результат переменной...главное достоинства в том что если поделить 16000000 на 15999999 то получится результат с огромнейшей точностью на какуютолько способен флоат! а на лонгах получится что мне прийдётся уменьшать точность...и это уже не 0.000 будет а десятки!!! а это не очень интересно...хотя...попытка ж не пытка...сичас возьмусь напишу на тиню по-новому...с Вашим выводом если вы не против?
у Вас сложный алгоритм, у меня все намного проще, но при этом минимальная дискретность(при 588Вт/Гц) 1 импульс за 16 с, т.е. 36 Вт, можно увеличить время измерения до 32 с, дискретность будет 18 ВТ. Повторюсь при 4 Вт/Гц, времени измерения 8с, можно получить дискретность 0,5Вт
он то сложный но вот скажите мне ...как ваша прошивка отрабоатет 2 импульса в 19 секунд?
странно а где есть такой счетчик 4 ватта на герц? 100 ватт на герц самое быстрое что я видел...
у меня вообще 2250 ватт на герц... при тех же 100 ваттах на герц и времени стека 8 секунд минимальным приемлемым по точности количеством импульсов я считаю 8*9=72 герца...а 72 герца это уже 7 киловатт что в принципе недостижимо ни одним потребителем в одиночку..разве что на дом постаивть...общий вводный... дискретность это дело очень плохое... но эт не принципиально... например длоя моих 1600 имп на киловатт мне для нагрузки 20 ватт надо поймать один импульс в 112 секунд... согласитесь..такое время и скорость обновления никого не устроят на киловаттах...когда импульсы каждую секунду идут
просто в тине мало ресурсов для всего этого... той же оперативы...таймеров....флеши...но...я попробую влезть....
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
он то сложный но вот скажите мне ...как ваша прошивка отрабоатет 2 импульса в 19 секунд?
если два задних фронта попадут за 16с то так и посчитает как два импульса затем 2*625/17=73 Вт. Не спорю, а констатирую факт, Ваш алгоритм лучше.
Цитата:
странно а где есть такой счетчик 4 ватта на герц? 100 ватт на герц самое быстрое что я видел...
в статье журнала Радио, на первой странице, выкладывал Coviraylhik
Цитата:
например длоя моих 1600 имп на киловатт мне для нагрузки 20 ватт надо поймать один импульс в 112 секунд... согласитесь..такое время и скорость обновления никого не устроят на киловаттах...когда импульсы каждую секунду идут
не понял? Как это импульсы каждую секунду идут, при том, что надо поймать один импульс в 112 секунд...
Не, самое быстрое это 100 ватт на Гц, а 4 ватт на Гц это гараздо медленее, вот цитата из авторской статьи
Цитата:
...........Процесс измерения мощности, потребляемой кипятильником с номинальной мощностью 0.5 кВт. иллюстрирует фото рис. 3 Коэффициент преобразования в экземпляре автора равен 4.05 Вт Гц. Частота импульсов — 113.6 Гц. что соответствует мощности 459 Вт
Тут в этом описании есть какаято путаница , потому что даже у меня с замененым кварцем нагрузка в 0.5 кВт. выдаст на выходе только 5 герц ooogo в той же папке где исходник лежит , лежит и файл cd.h , а оно почему то его игнорирует.
помоему если при 100 ваттах на герц нагрузить лампочкой то получим один герц а если 4 ватта на герц нагрузить 100 то получим 25 герц!!! так что это ещё быстрее!!! но это вмешательство в весовые резисторы и т.д. а я не хочу нарушать работу счетчика вообще!ибо если увеличить напругу на входах 7751 то получим проблему вылета тока или напряжения за пределы..импульсного тока или напруги...это всё не будет учитываться...ну и предел верхний опустится соответственно....потому конечно кварц это лучшее что можно придумать..просто увеличивается скорость вывода информации о моности и всё....
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
ooogo в той же папке где исходник лежит , лежит и файл cd.h , а оно почему то его игнорирует.
нажмите на source file правой кнопкой? в контекстном меню выберете добавить к проекту файл и укажите lcd.h, если контекстного меню не будет посмотрите меню Project
Ну чтож давно я не делал ничего кардинального на этот раз полный абзац! 1) поменян алгоритм фильтрации 2) поменян алгоритм сброса в ноль 3) добавлено разрядности счетчику....теперь и 0.0001 ватт может показать если микросхема сможет это показать 4) Добавлена база данных 21 счетчика! при запуске он помнит какой вел и продолжает его вести(кроме одного текущего и одного общего) 5) соответственно перелопачена менюшка....улучшена работа кнопочек 6) по каждому счетчику ведется время в секундах его активности 7) изза нехватки памяти все тексты вынесены в еепром потому еепромину шить обязательно...и поставить галку EESAVE=0 чтоб при перепрошивке еепромину не насиловать... немного допилен напильником механизм перехода с счета тактов на счет длительности...но я проверить не могу...потому всё увы и ах - только на Вас!
Вложения:
Комментарий к файлу: Новое обновлениецО 35_WattMeter.rar [457.15 KiB]
Скачиваний: 403
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
Пробую сейчас с кварцем 16 мгц, но не могу прошивку заценить полностью, так как в пункте меню не получается изменить сотношение ватт на Гц , с другими пунктами всё вроде ОК
_________________ Некакого перимирия, Некаких мирных шагов навстречу и периговоров.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения