Страница 2 из 3
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 12:03:01
E30M20B20
Опора - Vcc, причём весьма плохо стабилизированный. Так что про точность разговора нет, нужно повысить именно разрядность.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 12:04:24
КРАМ
Это понятно.
Делайте.
Тут товарищи пытаются объяснять то, с чем они не слишком знакомы...
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 12:04:40
Pnjom-Penb
trengtor писал(а):Нужна скользящая сумма.
Не нужна. Еще раз прочтите цитату из силабсовской апноты - накопили 256, просуммировали, поделили на 16 и... приступили к накоплению следующих 256 значений. Хотя, запрета нет, но нет и смысла.
trengtor писал(а):просто сдвигаем вправо на степень четверки.
На степень двойки, вообще-то. Просто, степени у обоих коэффициентов одинаковые, но все же делить-то приходится на 2^n, вот и получается число сдвигов, как степень этой самой двойки.
Крам:
Не повышает точность?

Из того же силабсовского документа:
We can now measure a 0.007 degree C change in temperature using the same, on-chip, 12-bit ADC with oversampling and averaging. This now allows us to measure temperature to an accuracy of better than one-hundredth of a degree.
Именно accuracy, а не resolution. Если бы точность не улучшалась, то кому были бы нужны эти потемкинские биты?
"Это вы плохо понимаете физику и математику метода" ... Ну-ну, накапливайте "несколько", делите на "в два раза меньшее" и будьте счастливы.

Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 12:10:50
КРАМ
Pnjom-Penb писал(а):
Не повышает точность?

Из того же силабсовского документа:
We can now measure a 0.007 degree C change in temperature using the same, on-chip, 12-bit ADC with oversampling and averaging. This now allows us to measure temperature to an accuracy of better than one-hundredth of a degree.
Если бы точность не улучшалась, то кому были бы нужны эти потемкинские биты?
"Это вы плохо понимаете физику и математику метода" ... Ну-ну, делите на "в два раза меньшее" и будьте счастливы.

Проблема как раз в этом.
Вы БЕЗДУМНО плодите ошибки в общем то ненормативного документа.
Может Вы объясните мне каким таким образом будет уменьшена имеющаяся нелинейность и дрейф АЦП?
Математически.
Ссылки на аппноты имеют хоть какой то смысл, когда САМ ПОНИМАЕШЬ о чем там написано...
Точность имеет значение для АБСОЛЮТНЫХ измерений. То есть когда производят сравнение величины с ЭТАЛОНОМ (включая ратиометрию).
А во всех остальных задачах, коих великое множество, никакой точности вообще не требуется, важно лишь, чтобы характеристика АЦП была ГЛАДКОЙ. То есть не имела разрывов (соседние точки могли быть интерполированы).
По поводу "в два раза меньше" я уже объяснил. По сути Вы сказали тоже самое.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 12:16:49
trengtor
КРАМ писал(а):trengtor писал(а):А что насчет вашего скользящего среднего? Оно-то каким место сюда относится?

Прежде чем загадочно подмигивать, попробуйте разобраться в цифровой обработке сигналов...
Чтобы скрестить этот КИХ-фильтр и оверсемплинг, вам понадобится либо удлинять выборку для оверсемплинга (это дорого по ресурсам), либо фильтровать значения еще до их ввода в выборку оверсемплинга (это дешевле). Плюс это снизит эквивалентную частоту замеров еще больше.
Я сдал экзамен?

Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 12:23:05
Pnjom-Penb
КРАМ писал(а):Вы плодите ошибки в общем то ненормативного документа.
Таких документов много, быстрый поиск дал четыре штуки и во всех фигурирует accuracy, не вижу причин им всем не доверять.

И при чем здесь АЦП, если сразу было сказано - "точность полученных значений", а не АЦП. Относительные измерения тоже могут быть более или менее точными. Не пугайте ТС, ему абсолютные как раз и не нужны.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 12:23:59
КРАМ
trengtor
Нет, садитесь - ДВА.
Вы гордыню то поубавьте, уважаемый.
ПРЕЖДЕ чем писать набор слов, попробуйте ПОНЯТЬ МАТЕМАТИКУ оверсемплинга с целью увеличения разрядности.
Ничего не надо разделять.
Сама по себе фильтрация УЖЕ ВКЛЮЧАЕТ оверсемплинг.
Вопрос лишь о позиции точки в результате.
И выбор длины массива как раз и включает в себя расчет АЧХ фильтра С УЧЕТОМ входного шума.
Pnjom-Penb писал(а):сразу было сказано - "точность полученного результата"
Это что за странный термин?
Бывает точность результата, а бывает точность АЦП?
Вообще то точность РЕЗУЛЬТАТА - это его погрешность относительно ЭТАЛОНА единицы измерений.
Никакой другой "точности" в природе не существует.
Pnjom-Penb писал(а):Не пугайте ТС, ему абсолютные как раз и не нужны.
В каком месте я его пугаю?
Я его ПРЕДУПРЕДИЛ о том, что измеренное таким вольтметром напряжение не будет иметь точность 11 разрядов.
И все.
А что он будет измерять и зачем - это его выбор.
Он согласился с такой погрешностью.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 12:41:57
trengtor
КРАМ писал(а):
Вопрос лишь о позиции точки в результате.
О чем и речь.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 13:28:19
КРАМ
trengtor писал(а):
О чем и речь.
Ну раз Вы так хорошо понимаете про точку, то к чему был предыдущий Ваш спич?
Вся разница между увеличением разрядности и просто фильтрацией заключается В РАЗРЯДНОСТИ РЕЗУЛЬТАТА.
И все.
Естественно, что подавление фильтра нужно считать с учетом этой разрядности.
Вся математика оверсемплинга и фильтрации идентична до неразличимости. Потому что одно являтетя другим.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 15:05:49
Родэрик
E30M20B20 писал(а):Всем привет.
Делаю некий вольтметр на PIC12F675. Измеряемое напряжение до 20,48В, точность нужна 0,01В. При делителе 2МОм/1МОм, напряжении питания 5,12В и 10-разрядном АЦП у меня будет нужный диапазон измерения (0 - 20,48В), но точность только 0,02В. ...
а если задействовать ещё один канал ацп и сделать так чтобы один работал на 0 - 10.24, а другой 10.24 - 20.48
вобщем смысл не увеличивать разрядность, а аппаратно манипулировать измеряемыми пределами, может даже можно без задействования второго ацп
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 15:41:39
Pnjom-Penb
КРАМ писал(а):Это что за странный термин?
Итак, "точность полученных значений"... Какое из трех слов осталось непонятным?
А врочем, ссылки и даже цитаты были представлены, так что - "
сама, сама, сама!" ©

Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 16:42:09
КРАМ
Pnjom-Penb писал(а):КРАМ писал(а):Это что за странный термин?
Итак, "точность полученных значений"... Какое из трех слов осталось непонятным?
А врочем, ссылки и даже цитаты были представлены
В бытовом смысле все три слова отдельно и даже вместе вполне себе понятны. Русским языком я владею.
Вопрос был В ТЕХНИЧЕСКОЙ ТЕРМИНОЛОГИИ.
Точность для АЦП связана с отклонением шкалы от идеальных линейных значений с нулевым смещением.
То есть эталоном для АЦП является опорное напряжение, а значит выходной код должен быть равен (2^N-1)*Uвх/Uоп
Отклонение от этого значения и есть погрешность преобразования (точность).
Минимальный дискрет преобразования называется разрешающей способностью (разрешением).
Более того, даже дифференциальная нелинейность при суперсемплинге определяется не самим методом, а статистическим распределением шума. Если входной шум будет иметь смещение весового центра (постоянную составляющую), интерполяция между двух соседних значений АЦП даст дополнительную ошибку. Это более чем возможно, если учесть, что в качестве входного шума применяют шум цифровой части МК, где никто не гарантирует отсутствие постоянной составляющей...
Цитаты и ссылки, уважаемый, не имеют никакого смысла, если противоречат терминологии и/или теории.
Я не просил приводить ссылки. Я просил объяснить мне математику увеличения точности.
А найти в интернете разного рода неточности, а то и откровенное вранье, я и сам могу.
Родэрик писал(а):
а если задействовать ещё один канал ацп и сделать так чтобы один работал на 0 - 10.24, а другой 10.24 - 20.48
Аппаратные затраты такого способа соизмеримы, а даже и выше применения внешнего недорогого SAR ADC на 12 разрядов, а то и сигма-дельта АЦП на 20 разрядов или замены МК на STM32F030 (что дешевле даже исходного выбора).
Вы наверное не отдаете себе отчета в том, что "склеивание" двух диапазонов должно быть произведено с точностью младшего дискрета. То есть 0,01 вольта.
Однако в Ваших словах есть смысл. Дело в том, что автор планирует измерять напряжение аккумулятора, а это значит, что нет никакого смысла мерить напряжение во всем диапазоне.
Вполне целесообразно сжать диапазон до 3...5 вольт симметрично вокруг номинального напряжения аккумулятора простым масштабирующим ОУ. Тогда и не потребуется никакого оверсемплинга. Правда это ничего не изменит, потому что измерение напряжения в бортсети автомобиля с предложенным абсолютным разрешением без цифровой фильтрации совершенно нереальная задача.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 17:52:51
E30M20B20
а если задействовать ещё один канал ацп и сделать так чтобы один работал на 0 - 10.24, а другой 10.24 - 20.48
Вы наверное не отдаете себе отчета в том, что "склеивание" двух диапазонов должно быть произведено с точностью младшего дискрета. То есть 0,01 вольта
Измеряемое напряжение вряд ли когда-нибудь будет меньше 10,24В, значит было бы достаточно оставить только верхний поддиапазон - 10,24-20,48В. Но как простыми методами перенести 10,24-20,48В в 0-5,12В? Это значит добавить ОУ с обвязкой, что соизмеримо с двукратным усложнением.
Правда это ничего не изменит, потому что измерение напряжения в бортсети автомобиля с предложенным абсолютным разрешением без цифровой фильтрации совершенно нереальная задача
Это не бортовая сеть автомобиля, а хуже. всё время измерения через батарею течёт импульсный ток в сотни ампер с частотой 150Гц и длительностью в десятки микросекунд.
От такой импульсной гадости никакой аппаратный фильтр не спасёт, оно пролезет и через питание, и через землю, и через выход - везде. Поэтому только программый фильтр.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 17:57:37
КРАМ
Как раз, как это ни покажется Вам странным, измерения в подобных условиях проводить ПРОЩЕ, чем в автомобиле. Потому что они могут быть КОГЕРЕНТНЫ ПОМЕХЕ.
Достаточно измерять напряжение (производить защелкивание в УВХ АЦП) в определенные моменты, когда фаза потребления всегда одинакова.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 18:11:56
E30M20B20
О, так я о чём и говорю. Результаты мне надо выплёвывать в UART раз в секунду, и я могу всегда найти такой момент, когда нестабильное питание уже устаканилось, а помехи как раз уже или ещё нет, и тогда запускать преобразование АЦП.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 20:30:08
Pnjom-Penb
КРАМ писал(а):Вопрос был В ТЕХНИЧЕСКОЙ ТЕРМИНОЛОГИИ.
Это у вас был вопрос в терминологии, а у ТС был вопрос, как различать АЦПом напряжения, отстоящие на одну сотую вольта, если цена LSB в два раза больше. Так что, "
не путайте свою шерсть с государственной." ©
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 20:36:19
КРАМ
Pnjom-Penb писал(а):КРАМ писал(а):Вопрос был В ТЕХНИЧЕСКОЙ ТЕРМИНОЛОГИИ.
Это у вас был вопрос в терминологии, а у ТС был вопрос, как различать АЦПом напряжения, отстоящие на одну сотую вольта
Не надо фантазировать, просто вернитесь к стартовому сообщению темы:
E30M20B20 писал(а):Всем привет.
Делаю некий вольтметр на PIC12F675. Измеряемое напряжение до 20,48В,
точность нужна 0,01В. При делителе 2МОм/1МОм, напряжении питания 5,12В и 10-разрядном АЦП у меня будет нужный диапазон измерения (0 - 20,48В), но
точность только 0,02В. Получается, что мне нужен 11-битный АЦП, а в младших PICах такого не бывает, только 10-битный.
Как бы эдак извернуться, чтобы программно повысить разрядность АЦП до 11 бит?
Вот это видел, но смысл не очень понятен...
Такшта именно в ТЕРМИНАХ было дело. Исключительно в терминах...

Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 20:55:37
Pnjom-Penb
КРАМ писал(а):Такшта именно в ТЕРМИНАХ было дело. Исключительно в терминах...
И исключительно у вас, у всех остальных все с ними в порядке - и не только у присутствоваших, но и у авторов апнотов, которые употребляют то же самое слово, только по-английски -
accuracy.
Все шли не в ногу и только вы - в ногу! С чем вас и поздравляю!
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Вс янв 31, 2016 21:04:18
КРАМ
Вместо ответа на простой вопрос о МАТЕМАТИКЕ подтверждающей Вашу правоту, Вы занимаетесь флудом ни о чем.
Re: Программно увеличить разрядность АЦП до 11 бит
Добавлено: Пн фев 01, 2016 13:43:32
Pnjom-Penb
Ну, разумеется! Как только у людей определенной психической конституции не оказывается аргументов, они магическим образом, "
все кака-дин", затягивают мантры о "флудах-троллях-холиварах". Маска, мля, я тебя узнал!
