Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[52.15.235.28] |
|
Сообщ.
#1
,
|
|
|
Пусть есть плата аналогового, разрядность АЦП которой 12 бит. При практическом измерении 7.5В на данной плате было получено число с 6 знаками после запятой.
Какова формула зависимости точности (количества знаков после запятой) от битности АЦП и номинала подающего напряжения? Есть такой ответ, без предоставления формулы, что позволяет считать его условно-неверным: "1в - 4095 выборок. 0,001в = 4, 095 выборки ~4 выборки". Нужна четкая формула расчета - без нее все эти терки бесполезны. Вот, у меня плата АЦП 12 разрядов. Сколько знаков после запятой будет, если я на нее подам 8В? |
Сообщ.
#2
,
|
|
|
Сергей85
Сформулируйте свой вопрос более точно, опишите его более подробно. |
Сообщ.
#3
,
|
|
|
Цитата Сергей85 @ Сделал. |
Сообщ.
#4
,
|
|
|
Так тут всё просто точность АЦП тут
log10(2^12)=3.6 И того 4 знака после запятой и последний ложный. Да и судя по тому что про опорное напряжение вы ни слово не сказали, то видимо вы не понимаете как АЦП работает. А ведь от опорного напряжения зависит точность измерения. Точность АЦП это не точность измерения. |
Сообщ.
#5
,
|
|
|
Цитата Pavia @ Что за опорное напряжение? Я подал 7.5В с севшей батарейки: на 1 из каналов плюс, минус за землю. И, повторюсь, точность измерения 7.5В - ШЕСТЬ знаков. Остальные напряжения не проверял: нечем тогда было. |
Сообщ.
#6
,
|
|
|
Цитата Сергей85 @ Ну пусть у вас будет шесть знаков. Зачем тогда спрашиваете? Какой смысл рассказывать вам про вес единицы младшего разряда, интегральную и дифференциальную нелинейности, про ошибку смещения и усиления? У вас ШЕСТЬ знаков. Да будет так. И, повторюсь, точность измерения 7.5В - ШЕСТЬ знаков |
Сообщ.
#7
,
|
|
|
Цитата Dushevny @ Что не нравится? Практический опыт произведен - какие ко мне вопросы? |
Сообщ.
#8
,
|
|
|
Нужно знать предел измерения. Если он 10 вольт, то один дискрет при честных 12 разрядах соответствует 0.0024 В
|
Сообщ.
#9
,
|
|
|
Цитата MBo @ Во, становится понятно, что опорное напряжение - это максимальное для данной платы, так? Тогда оно равно +-10В. Добавлено Цитата MBo @ По какой формуле вы сделали расчет? Если на 1 разряд идет 0.0024В - то тут непонятка. При 1В неиспользованных разрядов больше - точность должна быть больше. То есть, я 0.024 должен делить на N/12, где N - кол-во свободных разрядов? Добавлено И опять же, мы вышли на некие 0.0024В - неясно, что это за число: интерпретировать как 2 знака после запятой? |
Сообщ.
#10
,
|
|
|
>Тогда оно равно +-10В.
В этом случае цена разряда около 5 мВ >По какой формуле вы сделали расчет? (Umax - Umin) / 2^12 |
Сообщ.
#11
,
|
|
|
Цитата MBo @ То есть, чем выше напряжение - тем она точнее что ли?. Если Umin (подаваемое) 9.9В - то получается точность почти 5 знаков после запятой. Если Umin=0.1В - получается 0.002 - 2 знака после запятой. Абсурд какой-то. |
Сообщ.
#12
,
|
|
|
Цитата MBo @ "цена разряда около 5 мВ". Цена разряда мне неважна, т.к. я не понимаю, как его в знаки-после-запятой переделывать. Нужен весь алгоритм, от начала и до конца. Точнее - точная формула расчета. Просто формула, объяснять ничего не надо. Вот скрин, при напряжении 7.5В - получено 6 знаков, остальные зануляются драйвером. Прикреплённая картинка
|
Сообщ.
#13
,
|
|
|
У АЦП есть рабочий диапазон. У многих он может переключаться - например, +-10 В, +-2.5В, +-0.625В и т.д. Этот диапазон делится на 4096 частей. Для диапазона 10В один разряд соответствует примерно 5 мВ, для диапазона 2.5В - около 1.2 мВ и так далее. Меньше диапазон - точнее измерение.
Добавлено Эти "знаки после запятой" - фикция, просто представление вещественного числа, и к точности измерения они не имеют отношения. |
Сообщ.
#14
,
|
|
|
Цитата MBo @ Значит, точность фиксирована в рамках опорного напряжения? Ок, пусть Uмакс=10. Если я выбрал раб-диапазон 10В - по вашей формуле я должен получить нулевую точность. Все равно непонятно. "Эти "знаки после запятой" - фикция, просто представление вещественного числа, и к точности измерения они не имеют отношения. " - а это более чем непонятно. Совсем. Добавлено Ustep = Uref/2^12 --- цена разряда. Пусть при 10В я получил 0.002441В. Значение Uцифровое = 4096 * Uподаваемое / Uref. Uцифровое для 7.5В = 4096 * 7.5 / 10 = 3072. И снова полный затык. Добавлено Ну не может быть плата АЦП за 40к быть хуже по точности чем микропроцессор ардуино: всего 2 знака. |
Сообщ.
#15
,
|
|
|
12-разрядный АЦП при правильном выборе диапазона даёт 3.5 верных цифры (Pavia формулу уже привёл).
Т.е. 7.51 - цифры верные, а четвертая цифра (первая двойка) уже неточная (как мы видим, цена разряда 2.4 или 5 мВ, и такая погрешность будет в двнном случае в четвертой цифре) |
Сообщ.
#16
,
|
|
|
Цитата MBo @ Ладно. Пусть АЦП 1713U за 40к - полное Г в плане точности, всего 3 знака. Ну неужели только из-за частоты измерений она стоит таких денег? Закрепление формулы Pavia: беру логаримф по Uref, выставленного в настройках. В случае 6.25В это будет логарифм 4096 по основанию 6.25? Получается 4,53882478419618 - 4 знака после запятой - так? Если так, то +-0.625В - будет =LOG(4096;0,625) -17,6. Первая проблема - отрицательное число. Вторая - это 17 знаков, больше чем бит? |
Сообщ.
#17
,
|
|
|
>логарифм 4096 по основанию 6.25?
Цифры десятичные, так что логарифм всегда по основанию 10 |
Сообщ.
#18
,
|
|
|
Цитата MBo @ Тогда так: - точность в знаках после запятой зависит от Uref; - точность не зависит от поданного напряжения; - но поданное напряжение должно быть <=Uref. Тогда проблема. Если логарифм только по основанию 10, то в формуле log10(2^12)=3.6 не хватает переменных. Где в этой формуле тогда Uref? Добавлено И еще. Есть разница в опорном напряжении 0-10В и +-10В? Может, 3.6 знака - это расчет для +-10В, а в для 0-10В это будет в 2 раза больше? |
Сообщ.
#19
,
|
|
|
>точность в знаках после запятой
Нет такой точности >Где в этой формуле тогда Uref? Оно не нужно >Есть разница в опорном напряжении 0-10В и +-10В? Может, 3.6 знака - это расчет для +-10В, а в для 0-10В это будет в 2 раза больше? Это не опорные напряжения, а диапазон измерения. Три с половиной знака - это лучшая точность, достижимая на 12-разрядном АЦП (она достигается при правильном выборе диапазона) |
Сообщ.
#20
,
|
|
|
Цитата MBo @ Госпади! Ну включите в формулу этот диапазон! Сделайте по-человечески: формулу и описание каждого элемента. Это же рехнуться можно! Добавлено "Это не опорные напряжения, а диапазон измерения." - ну и как тогда опорное напряжение узнать? В даташите есть такое? Его статически микросхема в плате генерирует? |
Сообщ.
#21
,
|
|
|
Сергей85
У вас диапазон 0 - 10 В. Вот 10 В это и есть опорное напряжение. Оно делится на 2^12=4096 уравнений. И того цена деления составляет 10 в/4096=0,00244140625 В если поделить на 2 по получим абсолютная погрешность. А количества знаков после запятой это то сколько вам вывести. Вот подали вы 3 вольт. АЦП отсчитал что это 1228 уровень. Программа получила эта число и хочет его перевести в вольты. Цена деления умножается на уровень. 2,998046875 При выводе программа спрашивает до скольких округлить результат. Понятно, что нет смысла выводить больше чем погрешность. RoundUp(Log10(2^12))-RoundUP(Log10(UMax-UMin)) = 4 - 1 = 3 Итого: 2,998 ± 0,001 В |
Сообщ.
#22
,
|
|
|
Цитата Pavia @ Закрепляем: - если диапазон выбран +-10В - опорное напряжение = 20В; - абсолютная погрешность: измеряется в вольтах. При делении 20В на 4096 бит получаю 0.0049В/бит АЦП. Может, на 2бит надо умножить, а не разделить - чтобы размерность в вольтах сохранить? - больше точности, чем рассчитанная абсолютная погрешность, я не получу. Подаю 9В. По формуле цифрового напряжения: Uцифровое = 4096 * Uподаваемое / Uref. Uцифровое для 9В = 4096 * 9 / 20 = 1843,2. Неясно, в какую сторону округлять это. 0.049*1843,2 - получается 9В. Или 8.993. Или 8.998(что-то там). Далее, согласно абсолютной погрешности, округляю до 0.0025В, т.е. до 3 знака. Получаю 8.993 или 8.999. Похоже? |
Сообщ.
#23
,
|
|
|
Цитата Сергей85 @ опорное напряжение = 20В; С опорным напряжением это упрощённая модель, когда диапазон только положительный и вторая граница 0. |
Сообщ.
#24
,
|
|
|
Всё... Пошел нажрусь и спать... Спс.
|
Сообщ.
#25
,
|
|
|
Цитата Сергей85 @ Неясно, в какую сторону округлять это. Насколько помню, нормальные производители микросхем с АЦП указывают в какую сторону округлять. Если не указано то округляем до ближайшего целого. |
Сообщ.
#26
,
|
|
|
Цитата Pavia @ Опять проблемы. http://www.messcomp.com/manual/40595302.pdf раздел 1.3. Не могу никак получить точность 3 знака. Не пойму, что такое Gain. Не знаю формулу расчета, в которой он участвует. Как понимаю: LSB - least significant bit (младший разряд, вольты), FSR - full-scale range (напряжение полной шкалы - диапазон измеряемого напряжения, вольты) - и от обоих берется 0.1%. Прикреплённая картинка
|
Сообщ.
#27
,
|
|
|
Gain - усиление.
Цитата Сергей85 @ Не знаю формулу расчета, в которой он участвует. Так там же схема нарисована. Цитата Сергей85 @ и от обоих берется 0.1%. У процентов приоритет выше чем у сложения. |
Сообщ.
#28
,
|
|
|
Цитата Pavia @ Дык это ничего не меняет. Все равно 0.1% от 1.25В - это 0,00125 - точность 2 знака, а не 3. |
Сообщ.
#29
,
|
|
|
Цитата Сергей85 @ То, что вы истерите не пытаясь понять то, что вам пытаются объяснить.Что не нравится? Цитата Сергей85 @ Какие могут быть вопросы, если вы не понимаете результат вашего практического опыта. Для начала попробуйте осознать разницу между точностью и дискретностью. Потом попытайтесь самому себе ответить, сколько знаков после запятой может быть теоретически достижимая точность, если весь возможный диапазон входного напряжения делится на 2^12 частей? Практический опыт произведен - какие ко мне вопросы? |
Сообщ.
#30
,
|
|
|
Цитата Сергей85 @ раздел 1.3 Более подробная и понятная таблица приведена в аппендиксе\приложении А.2 Ошибка измерения состоит из двух (точнее из трех) частей. Первая - это ошибка усилителя (Gain Error), зависящая от коэфф-та усиления (Gain) и от диапазона измеряемых напряжений (FSR), которое в свою очередь также зависит от Gain. Измеряется в процентах от FSR. Вторая - это дискретность измерения LSB = FSR/4096. Gain 0.5 1 2 4 8 FSR, V 20 10 5 2.5 1.25 Gain Error,%FSR 0.1% 0.1% 0.2% 0.2% 0.4% Gain Error, V 0.02 0.01 0.01 0.005 0.005 LSB=FSR/4096, V ~0.005 ~0.002 ~0.001 ~0.0006 ~0.0003 Третья составляющая - это нелинейность преобразования (linearity error), дифференциальная (DNLE - между соседними отсчетами) до ±1 LSB, интегральная (INLE - макс.отклонение от прямой линии в диапазоне FSR) до ±3 LSB |
Сообщ.
#31
,
|
|
|
Цитата leo @ То есть, 3 знака после запятой из этой платы не выжать, так выходит все равно, да? Теоретические лог10(4906) дает 3.6 знака -а на практике, с учетом всех этих помех, 3-й знак недоступен? |
Сообщ.
#32
,
|
|
|
Цитата Сергей85 @ То есть, 3 знака после запятой из этой платы не выжать, так выходит все равно, да? Теоретические лог10(4906) дает 3.6 знака -а на практике, с учетом всех этих помех, 3-й знак недоступен? Вообще говоря, да. Но надо понимать, что в паспортных данных приводятся гарантированные значения - "не хуже чем". Поэтому конкретный экземпляр платы может иметь и несколько меньшую погрешность. Во-вторых, согласно тому же мануалу возможна калибровка\юстировка усиления АЦП с помощью подстроечных резисторов. Вопрос только в том, насколько стабильна эта юстировка - достаточно ее провести один раз или периодически, или же придется делать перед каждым "ответственным" измерением для получения "заветного 3-го знака" |
Сообщ.
#33
,
|
|
|
Цитата leo @ Я считал, что подстроечные резисторы используются только для деления напряжения; при этом точность наоборот уменьшается. Что это за механизм повышения точности с помощью резисторов? Сейчас аналогичный вопрос по транзисторам, например: как выравниваются транзисторы NPN, соединенные параллельно, - резисторами 0.1Ом, припаянными к коллектору? Физически звучит как бред; но утверждают, что предотвращает от ситуации, когда 1 транз греется сильнее другого. Прикреплённая картинка
|
Сообщ.
#34
,
|
|
|
Сергей85
Уф-ф. Похоже ты такой же "знаток" электроники, как и теории погрешностей измерений Цитата Сергей85 @ Что это за механизм повышения точности с помощью резисторов? Говорили же уже, что основная погрешность, которая не позволяет получить тебе заветный 3-й знак - это погрешность настройки входного операционного усилителя (ОУ) с переменным\программируемым коэфф-том усиления. Усиление ОУ задается и соотв-но регулируется резистором в цепи обратной связи. Кроме того ОУ имеет так называемое смещение нуля, когда при разности напряжений на дифф. входах строго = 0, напряжение на выходе ОУ не равно нулю. Это смещение устраняется путем включения на один из входов подстроечного резистора. Это всё "школьная классика", о которой можно найти кучу инфы в инете. Соотв-но, если не полениться и почитать методику калибровки твоей платы, то там как раз и делается подстройка коэф-та усиления (резистром VR1), смещения нуля по биполярному входу (VR2) и смещение нуля по однополярному входу (VR3). Никакой мистики, одна классика Цитата Сергей85 @ как выравниваются транзисторы NPN, соединенные параллельно, - резисторами 0.1Ом, припаянными к коллектору? Физически звучит как бред Во-первых, не NPN, а PNP, и резисторы подключаются не к коллектору, а к эмиттеру. Во-вторых, включение в цепь эмиттера резистора - это классика (термо)стабилизации постоянного тока коллектор-эмиттер за счет создания отрицательной обратной связи (оно используется не только при параллельном включении транзисторов, но и практически во всех схемах усилителей). Суть простая - при увеличении тока эмиттера, увеличивается падение напряжения на резисторе, что приводит к уменьшению относительного напряжения баз-эмиттер и, как следствие, к снижению тока коллектор-эмиттер = автостабилизация тока. Соотв-но, это никакой не "бред", а та же школьная классика |
Сообщ.
#35
,
|
|
|
Цитата leo @ R7 играет роль при термостабилизации? Или транзисторы с резисторами R1...R6 можно рассматривать как отдельный блок с термостабилизацией? Так ведь на R1-6 падение напряжения какое-то будет - получается, лишние потери напряжения в цепи, и выходное напряжение на коллекторе будет дтже? |
Сообщ.
#36
,
|
|
|
1) Для стабилизации тока используются резисторы R1-R6 (подключенные к эмиттерам транзисторов)
2) Да, на R1-R6 будет падение напряжения, но 1) именно за счет этого падения и осуществляется стабилизация тока, 2) чтобы "лишние потери напряжения в цепи" были малы, сопротивление этих резисторов выбирается достаточно малым - приходится идти на компромисс между потерями и стабильностью |
Сообщ.
#37
,
|
|
|
Цитата leo @ Какой минимальный номинал резисторов можно использовать? Я могу нихромную проволоку вместо них впаять, чтобы получить 0.05 или 0.01. |
Сообщ.
#38
,
|
|
|
Цитата Pavia @ Нужно обоснование данной формулы. Нигде ее не вижу. Книги, статьи - хоть что-нибудь. Добавлено Log10(2^N). |