Страница 1 из 2

цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Чт фев 11, 2016 11:18:24
sergeyiv
Прошу помощи. собрал "Простой миниатюрный встраиваемый цифровой вольтметр для БП (0…19,99В/0…39,99В)" по схеме с радиокота
http://radiokot.ru/circuit/digital/measure/109/
прошивку использовал от 0 до 39.99
все вроде работает но показания врет даже не то чтоб врет а не линейная шкала получилась.
до 10 вольт начинает врать после 10 показывает достаточно точно
откалибровал по мультиметру на 12вольтовм аккумуляторе мультиметр показывает 12.44 , вотльметр тоже самое
меряю вольтметром батарейку 1.5 показывает 1.48 , меряю мультиметром показывает 1.560 и так во всем диапазоне от 0 - 10 вольта
меряю литий показывает 3.90 , мультиметр 3.97
т.е чем дальше от 0 тем точнее показывает
кстати такую же фигню я увидел на вольтметрах с aliexpress и по этому стал собирать данную схему и мне понравилось что 4 разряда
мультиметров у меня 4 шт разных показывают одно и то же так что мультиметру меня претензий нет, показывает правильно по крайне мере линейно
что делать как быть , куда копать ))

добавил 18:41

проверил во всем диапазоне от 0 до 39.99 врет , разъезжается по всему диапазону

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Сб фев 13, 2016 11:01:40
Enigm
А что вы хотели от простой схемки ?
Если меряется простым делителем, то и нелинейность будет большая, еще и резисторы у вас стоят обычные, а не высокоточные ))
Такие простые схемы да еще и за дешево, не будут давать хорошую точность и нелинейность.

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Сб фев 13, 2016 16:11:49
Kavka
Если схема простая, то это вовсе не значит что она плохая :)

sergeyiv, а с другим мультиметром не пробовали сравнить?

Пара мыслей, IMHO, так сказать.
Про усреднение все знают, а вот про калибровку что-то мало кто вспоминает.
AVR120 Characterization and Calibration of the ADC on an AVR.pdf
Повышение точности усреднением тут будет не эффективно, т.к. шумы необходимые для усреднения должны присутствовать в источнике и они должны доходить до АЦП. Наличие шумов в источнике не обязательно вообще, да ещё и RC цепочка перед АЦП.

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Сб фев 13, 2016 17:40:44
pcb
Любое АЦП имеет нелинейность, у хороших подгоняют резисторы лазером, у плохих не подгоняют.

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Сб фев 13, 2016 17:47:58
Enigm
Я и не говорил что плохая схема.
Как показометр отличный вариант, простой до безобразия.
Просто не нужно от, таких простых схем , требовать отличной точности и линейности.
Хотите высокой точности и линейности, пользуем отдельный АЦП с хорошими параметрами, правда и цена одного АЦП будет гораздо дороже, того устройство что тут описано. :))

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Сб фев 13, 2016 18:05:18
Borodach
А амперметр на базе этой схемы сделать можно ...? :)

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Сб фев 13, 2016 19:04:03
Enigm
Нет проблем, ставим шунт и операционный усилитель.
Коэффициент умножения опера вычисляем в зависимости от шунта .
Грубо выйдет так.
Например если шунт 1 ом, то можно напрямую мерять, ибо при 1Апере будет падение на 1 вольт, что и покажет нам вольтметр.
На практике ставим например 0.1 ом, то тут уже нужен операционный усилитель, который умножит нам в 10 раз и вольтметр покажет нужный ток.
Так же в обвязке опера можно сделать и переключатель диапазона, что бы например до 1 ампера мерять с большей точностью.

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Сб фев 13, 2016 19:48:54
Borodach
С ОУ, это понятно, спасибо ... :)

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Сб фев 13, 2016 21:32:09
sergeyiv
да , причем ОУ лучше включить по дифференциальной схеме
могу даже резисторы подсчитать под любой шунт
жаль конечно что атмеги не линейны
буду наверно собирать на КР572ПВ2
в лабраторник хотелось бы поточнее измерители то
Изображение

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Вт май 10, 2016 14:22:42
)_Леопольд_(
sergeyiv писал(а):что делать как быть , куда копать ))

добавил 18:41

проверил во всем диапазоне от 0 до 39.99 врет , разъезжается по всему диапазону
Есть идея, как это можно исправить, при условии, что погрешность тут систематическая (то есть, собранный вольтметр врет всегда одинаково, вне зависимости, например, от температуры).
Для начала подправляем код так, чтобы результат выводился в битах от 0 до 1023 (потом вернем как было). Берем блок питания, подключаем к нему тестер и наше создание и начинаем делать лабу :)) , а именно, вбиваем в Excel истинное напряжение и показания АЦП. По истинному напряжению высчитываем, что должен показывать правильный АЦП. Потом открываем Origin, строим график зависимости правильных показаний от реальных и аппроксимируем его полиномом (третьей степени за глаза хватит). (Если тут есть новички, которые впервые видят слово "аппроксимация", то скажу, что это такая математическая процедура, когда по экспериментальному графику некоторой зависимости под нее подгоняют функцию заданного типа). Теперь мы можем созерцать нелинейность во всей ее красе. По полученной формуле в Екселе можно рассчитать и округлить нашу зависимость для 1024-х точек.
Дальше надо научить атмегу ее компенсировать. Первый способ очень некошерный, профессионалы сделают так :facepalm: . В программе создадим массив длиною 1024, и запишем туда рассчитанные данные. Это будет такая таблица для контроллера. Мы ему говорим:"ага, ты намерял 333 тугрика. На самом деле это неправильно, пойди и возьми значение из 333-й ячейки массива - это будет истинный результат".
Такой массив из 16-битных чисел займет ни много, ни мало 2 кБ. Вообще говоря, это расточительно. НО! С другой стороны, если это законченный прибор вольтметр, то прошивка занимает 1,54 кБ, а у меги их целых 8. Всё равно 6,45 кБ пропадают, так почему бы и нет...
Второй способ - это не вбухивать всю таблицу, а каждый раз считать значение полинома. Только тут уж очень исхитряться надо, потому что микроконтроллеры под математику не заточены. Всякие умножения-деления надо заменять сдвигами, суммирование и максимально упрощать, а то будет весело.

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Вт май 10, 2016 14:28:27
)_Леопольд_(
Да, и вот нашел еще русский перевод того документа, что Kavka скидывал

Раскопки гугла показывают, что обычно у атмег не все так плохо с линейностью. Вот со встроенным источником опорного напряжения могут быть неточности. Надо попробовать поставить сюда TL431.

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Пт сен 27, 2019 16:34:40
Vitaliy9
А что, автор тут не появляется?
Хочу перефразировать вопрос про Vref.
Есть ИОН на 1.223V, 2.495V, 2.5V, 4.096V and 5.0V
Показания мне нужны в одном случае от 0000 до 3500 (без точкиб но ее можно и физически отключить)
Во втором случае от 00.00 до 10.00 ( в идеале 00.0с - 10.0с или ⁰)
Какой ИОН лучше использовать для каждого случая для максимальной точности?
Как правильно внести изменения в программу в соответствии с установленным ИОН?

ADMUX = (1 << REFS1)|(1 << REFS0) //Внутренний ИОН 2,56V
/* ACD=1024*(U/Кдел)/Vref

Vref=2.56 В

Кдел=8


Измеренное напряжение для N замеров:

U=(ACD/N)*Vref*Кдел/1024


Вычисление мВ:

mVolt=((value/N)*Vref*Kдел)/1024=((value/N)*2560*8)/1024)=20*value/N=

=value/3,2 (N=64)

Можно ли в вычисление добавить вычитание 500мВ для работы с https://www.microchip.com/wwwproducts/en/TC1047A

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Пт сен 27, 2019 17:49:23
musor
выше ка бы намекалось что разрещени 10битного встроеного Ацп явно не достаточно даже для3.5 разячдоф... не говоря уж о 4 полных декадах так что...ждат чтото от этого по казометра в последнем разряде глупо... введние всяких усреднений м апроксимаций конечно может созда илюзию болшей точности но не болеее...кстати обратите внимание китаюзы почти не юзают встроеные ацп мег и пикоф!!! исползуют или другие МК с 12 битами или вооще внешнее а вы не думали почему так? ответ ка рас в разрешении
можно сделать хоть 20разрядоф но значашими будут от силы 3...
конечно меня предел можно чут повысить точность в отделновзятом участке

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Пт сен 27, 2019 19:05:09
Vitaliy9
Не соглашусь по поводу китайцевю
Приобрел на eBay 4-х разрядный вольтметр https://www.ebay.ca/itm/DC-0-33V-Red-0- ... 0981655789
Он собран на STM8S003F3P6 контроллере и КА 4-х разрядном 7-сегментном индикаторе.
Не буду спорить по поводу точности, но в данном случае она мне не так уж и важна. Но 4 разряда нужны.
Так, как на счет ответов на вопросы?
Конкретизирую.
В моем случае один как бы вольтметр при входном напряжении 0 - 5в должен показывать 0 - 3600 (psi)
Второй при входе 500мВ - 1.5В должен показывать 0.0⁰ - 99.9⁰ (градусы)

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Пт сен 27, 2019 19:55:59
pcb432
[uquote="Vitaliy9",url="/forum/viewtopic.php?p=3708454#p3708454"]...Не буду спорить по поводу точности, но в данном случае она мне не так уж и важна. Но 4 разряда нужны.[/uquote]
Непонятно, главное 4 разряда а что показывает неважно. :dont_know:

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Пт сен 27, 2019 20:09:31
Vitaliy9
PSI он показывает. И что тут непонятно?

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Сб сен 28, 2019 12:14:12
Vitaliy9
Подскажите, как правильно переназначить выводы МК под мою плату?
Можно ли использовать выходы разных портов для управления сегментами или разрядами?

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Пн сен 30, 2019 13:00:02
pcb432
PSI он показывает. И что тут непонятно?
Непонятно вот это
Не буду спорить по поводу точности, но в данном случае она мне не так уж и важна. Но 4 разряда нужны.
Вынь да положь 4 разряда, а что там показывает не важно.
Vitaliy9 писал(а):Подскажите, как правильно переназначить выводы МК под мою плату?
Можно ли использовать выходы разных портов для управления сегментами или разрядами?
Можно.
В исходнике переписывается назначение выводов.
Компелируется и получается новый hex файл.
Программатором прошивается микроконтроллер.
И все :))

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Пн сен 30, 2019 14:54:48
Vitaliy9
Что-ж, отвечу на столь агрессивный коментарий.
Итак. PSI (pound per square inch) Единица давления соответствующая ~ 1/15 атмосферы.
В моем случае максимально возможное показание составит 3600 PSI при выходном напряжении датчика давления 5В.
Точность последнего разряда, в данном случае, не так уж и важна.
Мне что, ставить 3-х разрядный LED и дорисовывать "0"? Или "x10"?
Теперь по прошивке.
Как компелить и прошивать, я знаю.
Достаточно ли будет поменять номера портов тут?

/*
Светодиодный индикатор:
a - PD6 -> PD5
b - PD5 -> PD7
c - PD2 -> PD1
d - PD3 -> PD3
e - PD4 -> PD4
f - PD7 -> PD6
g - PD1 -> PD0
h - PD0 -> PD2
A1 - PB2 -> PB7
A2 - PB1 -> PB1
A3 - PB0 -> PB0
A4 - PB3 -> PB6
*/
Такая конфигурация мне нужна.
Можно ли внести в формулу вычитание, чтобы входному напряжению 0.5В соответствовал "0" на индикаторе? А еще лучше, при входе от 0 до 0.5В показывал отрицательное значение 1V/10mV.

Re: цифровой вольтметр для БП (0…19,99В/0…39,99В) не линеен

Добавлено: Вт окт 01, 2019 09:02:49
pcb432
Как компелить и прошивать, я знаю.
Достаточно ли будет поменять номера портов тут?
Если знаешь, то вперед.
С атмегами сильно не заморачивался, но знаю, что надо порты инициализировать.
А формулу можно писать любую.