Добрый вечер! Сделал для переделанного блока питания ампервольтметр. Но не устраивает работа прибора. Есть две проблемы, возможно кто подскажет, как их можно обойти. Первая: плавают показания тока и напряжения в пределах 1..2 десятых. Сравнивал работу прибора с китайским показометром. Там показания стоят как литые, на том же блоке питания. Возможно слишком часто произвожу измерение и вывод показаний на экран. Измеряю в основном цикле, усредняя 200 показаний. Используется внутренний кварц контроллера. Показания на дисплее обновляю с частотой 300 Гц. Код ниже. Вторая проблема: калибрую прибор на максимуме измеряемых показаний 20В и 10 А, но когда измеряемые значения меньше, появляется ошибка. Понимаю, что это нелинейность. Но не могу понять, можно и как от нее избавиться.
появляется ошибка. Понимаю, что это нелинейность. Но не могу понять, можно и как от нее избавиться.
Да , есть такая проблема , я её обходил применением канонических формул, ошибка уходила . Но в середине диапазона подстраивал потенциометром точные показания, а вниз и вверх уже расчётами МК , то есть компенсировал нелинейность , програмной нелинейностью.
_________________ Не спрашивай по ком звонит колокол, он звонит по тебе !
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Схему бы покрупнее. Есть зависимость показаний напряжения от тока или наоборот?
зависимости нет. Может показывать ток адекватно, а напряжение занижать. Меня смущает мельтешение показаний, по сравнения с китайским показометром. Насколько часто нужно проводить измерения и обновлять значения на экране? Показания на китайском ампервольтметра так не скачут, на том же источнике постоянного напряжения. вопрос стоит что лучше: усреднять показания АЦП или реже проводить измерения?
Меня смущает мельтешение показаний, по сравнения с китайским показометром.
А вы увеличьте номинал С3, С4 и С5- раз в 10, или даже в 100.. У мультиметра на входе АЦП стоит 0,01~0,1 мкФ (10~100 нФ), а у вас- 1000 пФ. К тому же, есть "шумные" конденсаторы..
зы.. Я делал "просто вольтметр"- Тоже на Мега8, кажется.. Он измерял 10 раз, потом считал "среднее" и выводил значение на индикатор..
считать среднее не совсем правильно: если хотя бы одно показание имеет очень большую ошибку, например, единственный 0 когда все остальные в диапазоне 9...10,что как бы намекает на среднее около 9,5, даст среднее около 8,5. Нехилая погрешность. Поэтому, надо исключать заведомо неверные значения.
1. Источник опорного напряжения 2.5 В. Нелинейность, вносимая стабилитронами на 5.6В, на мой взгляд пренебрежимо мала. А вот пользы от этих стабилитронов "цельный вагон". 2. Источник нелинейности и ошибки или в программном коде (может быть например мультиплексор не вовремя "дергаете") или в схеме, которая тут не приведена (то место,куда J1-2 и J1-3 подключены). J1-2 скорее всего двухдиапазонный вольтметр. J1-3 - для подключения к шунту? 3. "Показометры", как Вы называете, сделаны скорее всего на АЦП двойного интегрирования. Этот преобразователь не чувствителен к наводке с частотой, близкой к 50 Гц. 4. В контроллере АЦП последовательных приближений. В любом случае при индикации последний разряд должен "скакать" +/-1. 5. Если нет проблем по п.2, то усреднение по группе измерений должно все "устаканить". Если бывают не регулярные выбросы в измеряемых сигналах, то можно и более сложные фильтры применять - что-то типа медианного фильтра (https://alexgyver.ru/lessons/filters/?y ... 7286875341)
Куда торопиться? Достаточно одного измерения напр. каждые 0,5 секунды? Ошибка из pdf: +/-1 младшая цифра остаётся. Например, 4 измерения и усреднение, и не отображается на дисплее.
Последний раз редактировалось veso74 Чт дек 28, 2023 21:09:35, всего редактировалось 2 раз(а).
Кто то говорит, что нужно скользящее ... какое то , куда то засунуть ...
Конечно обязательно надо, тогда и скачков не будет. См. здесь. И если действительно хотите защитить выводы МК, то вместо стабилитронов следует использовать лавинные диоды.
"Ввинтить песдюльсов", как я это называю. То есть, использовать так называемые защитные TVS-диоды (подскажите наш термин) серии PESDLC. Попался в руки каталог с образцами и я был весьма впечатлён насколько ближе они к идеальным стабилитронам, чем обычные стабилитроны. Но в схемах таки использую диод с делителя на шину питания, а потом ещё защитный резистор на порт. А вообще, всё никак код не посмотрю. Уж простите, под новый год у всех сракисроки горят, надо многое подремонтировать.
А вопрос по коду, у меня в основном цикле происходит вызов обработчика АЦП, далее происходит обновление дисплея с частотой 300 Гц и когда счетчик АЦП набирает 200 значений, происходит усреднение полученных значений и занесение в буфер экрана. Не подскажите, как часто обновляются значения в буфере? А то что-то я уже не могу вспомнить, как правильно посчитать период обновления значений АЦП. Может стоит обновлять где-то раз в полсекунды или чуть быстрее? ЗЫ: на аналоговых входах стоят кондеры большей емкости. Просто когда рисовал схему, стояли маленькие, а потом по совету повысил емкость конденсаторов входных ЗЫ1: попробую видео снять, чтобы показать как плавают показания, если получится сюда закинуть показания на двух пределах измерения напряжения. https://fex.net/ru/s/43cym4b https://fex.net/ru/s/msovxkt
ISR(ADC_vect) имеет более низкий приоритет чем ISR(TIMER0_OVF_vect). Т.е. если программа находится в первом фрагменте кода, то индикация иногда прерывает расчет. Решение: При прерывании для ADC остановить возможность нового прерывания (cli(); sei();)) (дисплей будет мигать еще сильнее) или поднять только флаг готовности данных ADC. А расчет ADC – в main() (с соответствующим снятием флага). Бы даже убрал прерывание ADC. А его код – только в main (и ждем до завершения ADC conversion).
Попробовал ваш код в Arduino IDE + MiniCore -> Atmega8. Работает. Но показания в Протеус там "не скачут", не меняются. Там не могу проверить влияние дополнения. Нужна аппаратная часть. (частично пользуюсь переводчиком).
Сейчас этот форум просматривают: Varlakotam и гости: 40
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения