Свежие обсуждения
Измерения

Измеритель C и ESR

1 161 166

Если кому интересно, вот моя версия прошивки микроконтроллера:

-добавлена индикация заряда батареи
-добавлена константа коррекции минимальной ёмкости конденсатора
-добавлены программные фильтры ESR и Сх для более стабильных показаний на дисплее

Исходники, изменения в схеме, проект в Proteus 7.10 и прошивка:

http://monitor.espec.ws/section44/post2482620.html#2482620

 
gena.03:
-добавлена константа коррекции минимальной ёмкости конденсатора
-добавлены программные фильтры ESR и Сх для более стабильных показаний на дисплее

Вот эти пункты, если можно по подробнее.

 

 Ребята, такой вопрос. Где-то читал, но где не помню а перечитывать как-то в тягость, может кто помнит или знает.

Сегодня включил и увидел косяк, с этим косяком работает нормально но всеже.

Кнопка +, отладочный режим.

Сх=--------  раньше было 0000000000015

1= 827     а      10= 800 скопейками

Что произошло с Сх?

 
Dword: Сх=-------- раньше было 0000000000015

Cx 0000000000015 - состояние таймера для ёмкости в 1 мкФ (примерно 15 отсчетов на 1 мкФ).

https://pro-radio.ru/measure/3288-34
https://pro-radio.ru/meas

gena.03: -добавлена константа коррекции минимальной ёмкости конденсатора

"Coeff. for Cx min" - добавил константу для коррекции ёмкости в нижней части измеряемого диапазона, т.к. раньше вместо 1 мкф показывало 0.8 мкф.
Доступна константа, как и остальные через зажатую кнопку "Set", затем включение питания прибора.
Как рассчитать новый поправочный коэффициент, например, для емкости - для этого конденсатор с известной емкостью разделить на
показания прибора и умножить на значение старого коэффициента. То же и для ESR 1 ом и 10 ом.

gena.03: -добавлены программные фильтры ESR и Сх для более стабильных показаний на дисплее

Если кратко, цикл измерений сейчас работает так:
5 измерений ESR записываются в медианный фильтр, результат складывается со следующими 5 измерениями и так 4 раза. Затем делим на эти 4 - находим среднее, результат округляем. Всего 20 измерений АЦП для каждого из каналов 1 ом и 10 ом. На всё это уходит примерно 11 милисекунд.
Дальше измеряется компараторами ёмкость и записывается результат в медианный фильтр на 3 измерения. Здесь измерение и вычисление занимает около 1 секунды. Дальше данные выводятся на дисплей индикатора.
Цикл измерений закончен.
С каждым циклом ёмкость сравнивается с предыдущими результатами измерений в медианном фильтре с окном в 3 измерения.

В итоге всех этих манипуляций получаем более стабильные показания на дисплее индикатора.

 

 

gena.03:

Менюшка настроек удобная стала. Циферки не пляшут. Подстроил делитель батареи. После настроек минимальных показаний, было 0.7 стало 0.8. Пробовал опытным путем, константу задирал выше расчетной на сотни, застряло на 0.8 и ни с места. 

 
Dword: константу задирал выше расчетной на сотни, застряло на 0.8 и ни с места

Спасибо за найденую ошибку. Где-то я не досмотрел, постараюсь в ближайшее время исправить.

А пока попробуйте увеличить коэфициет до 3,000 - 5,000.

 

Исправил. Лежит архив там же:

http://monitor.espec.ws/section44/post2482620.html#2482620

 

Прошивку заменил. Полет нормальный.

 

Слетела прошивка. Заново зашил. Не могу настроить коэффициенты-все по нулям и при нажатии на кнопку Set перескакивает на следующий и не запоминает. 

 
Eltaxx: Слетела прошивка. Заново зашил

Напряжение питания МК в нормне? Настройки где хранятся? Внутри МК или на внешней EEPROM? просто у меня еще ни разу прошивка не слетала на ровном месте. Бывало, что напряжение питания просядет и во время прошивки контрольные суммы не совпадают. Или напряжение питание просело и в EEPROM мусор записался. А если в EEPROM начинают часто писаться данные с ошибками, то помогала только замена EEPROM .