На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Вычисление точности платы аналогового ввода как количества знаков после запятой.
    Пусть есть плата аналогового, разрядность АЦП которой 12 бит. При практическом измерении 7.5В на данной плате было получено число с 6 знаками после запятой.

    Какова формула зависимости точности (количества знаков после запятой) от битности АЦП и номинала подающего напряжения?

    Есть такой ответ, без предоставления формулы, что позволяет считать его условно-неверным: "1в - 4095 выборок. 0,001в = 4, 095 выборки ~4 выборки".

    Нужна четкая формула расчета - без нее все эти терки бесполезны. Вот, у меня плата АЦП 12 разрядов. Сколько знаков после запятой будет, если я на нее подам 8В?
    Сообщение отредактировано: Сергей85 -
      Сергей85
      Сформулируйте свой вопрос более точно, опишите его более подробно.
        Цитата Сергей85 @

        Сделал.
          Так тут всё просто точность АЦП тут
          log10(2^12)=3.6
          И того 4 знака после запятой и последний ложный.

          Да и судя по тому что про опорное напряжение вы ни слово не сказали, то видимо вы не понимаете как АЦП работает. А ведь от опорного напряжения зависит точность измерения. Точность АЦП это не точность измерения.
            Цитата Pavia @

            Что за опорное напряжение? Я подал 7.5В с севшей батарейки: на 1 из каналов плюс, минус за землю. И, повторюсь, точность измерения 7.5В - ШЕСТЬ знаков. Остальные напряжения не проверял: нечем тогда было.
              Цитата Сергей85 @
              И, повторюсь, точность измерения 7.5В - ШЕСТЬ знаков
              Ну пусть у вас будет шесть знаков. Зачем тогда спрашиваете? Какой смысл рассказывать вам про вес единицы младшего разряда, интегральную и дифференциальную нелинейности, про ошибку смещения и усиления? У вас ШЕСТЬ знаков. Да будет так.
              Сообщение отредактировано: Dushevny -
                Цитата Dushevny @

                Что не нравится? Практический опыт произведен - какие ко мне вопросы?
                  Нужно знать предел измерения. Если он 10 вольт, то один дискрет при честных 12 разрядах соответствует 0.0024 В
                    Цитата MBo @

                    Во, становится понятно, что опорное напряжение - это максимальное для данной платы, так? Тогда оно равно +-10В.

                    Добавлено
                    Цитата MBo @

                    По какой формуле вы сделали расчет? Если на 1 разряд идет 0.0024В - то тут непонятка. При 1В неиспользованных разрядов больше - точность должна быть больше. То есть, я 0.024 должен делить на N/12, где N - кол-во свободных разрядов?

                    Добавлено
                    И опять же, мы вышли на некие 0.0024В - неясно, что это за число: интерпретировать как 2 знака после запятой?
                      >Тогда оно равно +-10В.

                      В этом случае цена разряда около 5 мВ

                      >По какой формуле вы сделали расчет?

                      (Umax - Umin) / 2^12
                        Цитата MBo @

                        То есть, чем выше напряжение - тем она точнее что ли?. Если Umin (подаваемое) 9.9В - то получается точность почти 5 знаков после запятой. Если Umin=0.1В - получается 0.002 - 2 знака после запятой. Абсурд какой-то.
                          Цитата MBo @

                          "цена разряда около 5 мВ". Цена разряда мне неважна, т.к. я не понимаю, как его в знаки-после-запятой переделывать. Нужен весь алгоритм, от начала и до конца. Точнее - точная формула расчета. Просто формула, объяснять ничего не надо.

                          Вот скрин, при напряжении 7.5В - получено 6 знаков, остальные зануляются драйвером.
                          Прикреплённая картинка
                          Прикреплённая картинка
                          Сообщение отредактировано: Сергей85 -
                            У АЦП есть рабочий диапазон. У многих он может переключаться - например, +-10 В, +-2.5В, +-0.625В и т.д. Этот диапазон делится на 4096 частей. Для диапазона 10В один разряд соответствует примерно 5 мВ, для диапазона 2.5В - около 1.2 мВ и так далее. Меньше диапазон - точнее измерение.

                            Добавлено
                            Эти "знаки после запятой" - фикция, просто представление вещественного числа, и к точности измерения они не имеют отношения.
                              Цитата 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 знака.
                                12-разрядный АЦП при правильном выборе диапазона даёт 3.5 верных цифры (Pavia формулу уже привёл).
                                Т.е. 7.51 - цифры верные, а четвертая цифра (первая двойка) уже неточная (как мы видим, цена разряда 2.4 или 5 мВ, и такая погрешность будет в двнном случае в четвертой цифре)
                                  Цитата MBo @

                                  Ладно. Пусть АЦП 1713U за 40к - полное Г в плане точности, всего 3 знака. Ну неужели только из-за частоты измерений она стоит таких денег?

                                  Закрепление формулы Pavia: беру логаримф по Uref, выставленного в настройках. В случае 6.25В это будет логарифм 4096 по основанию 6.25? Получается 4,53882478419618 - 4 знака после запятой - так? Если так, то +-0.625В - будет =LOG(4096;0,625) -17,6.

                                  Первая проблема - отрицательное число. Вторая - это 17 знаков, больше чем бит?
                                    >логарифм 4096 по основанию 6.25?
                                    Цифры десятичные, так что логарифм всегда по основанию 10
                                      Цитата MBo @

                                      Тогда так:
                                      - точность в знаках после запятой зависит от Uref;
                                      - точность не зависит от поданного напряжения;
                                      - но поданное напряжение должно быть <=Uref.

                                      Тогда проблема. Если логарифм только по основанию 10, то в формуле log10(2^12)=3.6 не хватает переменных. Где в этой формуле тогда Uref?

                                      Добавлено
                                      И еще. Есть разница в опорном напряжении 0-10В и +-10В? Может, 3.6 знака - это расчет для +-10В, а в для 0-10В это будет в 2 раза больше?
                                        >точность в знаках после запятой

                                        Нет такой точности

                                        >Где в этой формуле тогда Uref?

                                        Оно не нужно

                                        >Есть разница в опорном напряжении 0-10В и +-10В? Может, 3.6 знака - это расчет для +-10В, а в для 0-10В это будет в 2 раза больше?

                                        Это не опорные напряжения, а диапазон измерения.

                                        Три с половиной знака - это лучшая точность, достижимая на 12-разрядном АЦП (она достигается при правильном выборе диапазона)
                                          Цитата MBo @

                                          Госпади! Ну включите в формулу этот диапазон! Сделайте по-человечески: формулу и описание каждого элемента. Это же рехнуться можно!

                                          Добавлено
                                          "Это не опорные напряжения, а диапазон измерения." - ну и как тогда опорное напряжение узнать? В даташите есть такое? Его статически микросхема в плате генерирует?
                                            Сергей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 В
                                            Сообщение отредактировано: Pavia -
                                              Цитата 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.

                                              Похоже?
                                                Цитата Сергей85 @
                                                опорное напряжение = 20В;

                                                С опорным напряжением это упрощённая модель, когда диапазон только положительный и вторая граница 0.
                                                  Всё... Пошел нажрусь и спать... Спс.
                                                    Цитата Сергей85 @
                                                    Неясно, в какую сторону округлять это.

                                                    Насколько помню, нормальные производители микросхем с АЦП указывают в какую сторону округлять. Если не указано то округляем до ближайшего целого.
                                                      Цитата Pavia @

                                                      Опять проблемы.
                                                      http://www.messcomp.com/manual/40595302.pdf
                                                      раздел 1.3.

                                                      Не могу никак получить точность 3 знака. Не пойму, что такое Gain. Не знаю формулу расчета, в которой он участвует.
                                                      Как понимаю: LSB - least significant bit (младший разряд, вольты), FSR - full-scale range (напряжение полной шкалы - диапазон измеряемого напряжения, вольты) - и от обоих берется 0.1%.
                                                      Прикреплённая картинка
                                                      Прикреплённая картинка
                                                        Gain - усиление.
                                                        Цитата Сергей85 @
                                                        Не знаю формулу расчета, в которой он участвует.

                                                        Так там же схема нарисована.
                                                        Цитата Сергей85 @
                                                        и от обоих берется 0.1%.

                                                        У процентов приоритет выше чем у сложения.
                                                          Цитата Pavia @

                                                          Дык это ничего не меняет. Все равно 0.1% от 1.25В - это 0,00125 - точность 2 знака, а не 3.
                                                          Сообщение отредактировано: Сергей85 -
                                                            Цитата Сергей85 @
                                                            Что не нравится?
                                                            То, что вы истерите не пытаясь понять то, что вам пытаются объяснить.
                                                            Цитата Сергей85 @
                                                            Практический опыт произведен - какие ко мне вопросы?
                                                            Какие могут быть вопросы, если вы не понимаете результат вашего практического опыта. Для начала попробуйте осознать разницу между точностью и дискретностью. Потом попытайтесь самому себе ответить, сколько знаков после запятой может быть теоретически достижимая точность, если весь возможный диапазон входного напряжения делится на 2^12 частей?
                                                              Цитата Сергей85 @
                                                              раздел 1.3

                                                              Более подробная и понятная таблица приведена в аппендиксе\приложении А.2
                                                              Ошибка измерения состоит из двух (точнее из трех) частей. Первая - это ошибка усилителя (Gain Error), зависящая от коэфф-та усиления (Gain) и от диапазона измеряемых напряжений (FSR), которое в свою очередь также зависит от Gain. Измеряется в процентах от FSR. Вторая - это дискретность измерения LSB = FSR/4096.
                                                              ExpandedWrap disabled
                                                                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
                                                              Сообщение отредактировано: leo -
                                                                Цитата leo @


                                                                То есть, 3 знака после запятой из этой платы не выжать, так выходит все равно, да? Теоретические лог10(4906) дает 3.6 знака -а на практике, с учетом всех этих помех, 3-й знак недоступен?
                                                                  Цитата Сергей85 @
                                                                  То есть, 3 знака после запятой из этой платы не выжать, так выходит все равно, да? Теоретические лог10(4906) дает 3.6 знака -а на практике, с учетом всех этих помех, 3-й знак недоступен?

                                                                  Вообще говоря, да. Но надо понимать, что в паспортных данных приводятся гарантированные значения - "не хуже чем". Поэтому конкретный экземпляр платы может иметь и несколько меньшую погрешность. Во-вторых, согласно тому же мануалу возможна калибровка\юстировка усиления АЦП с помощью подстроечных резисторов. Вопрос только в том, насколько стабильна эта юстировка - достаточно ее провести один раз или периодически, или же придется делать перед каждым "ответственным" измерением для получения "заветного 3-го знака" ;)
                                                                    Цитата leo @

                                                                    Я считал, что подстроечные резисторы используются только для деления напряжения; при этом точность наоборот уменьшается. Что это за механизм повышения точности с помощью резисторов?

                                                                    Сейчас аналогичный вопрос по транзисторам, например: как выравниваются транзисторы NPN, соединенные параллельно, - резисторами 0.1Ом, припаянными к коллектору? Физически звучит как бред; но утверждают, что предотвращает от ситуации, когда 1 транз греется сильнее другого.
                                                                    Прикреплённая картинка
                                                                    Прикреплённая картинка
                                                                    Сообщение отредактировано: Сергей85 -
                                                                      Сергей85
                                                                      Уф-ф. Похоже ты такой же "знаток" электроники, как и теории погрешностей измерений ;)

                                                                      Цитата Сергей85 @
                                                                      Что это за механизм повышения точности с помощью резисторов?

                                                                      Говорили же уже, что основная погрешность, которая не позволяет получить тебе заветный 3-й знак - это погрешность настройки входного операционного усилителя (ОУ) с переменным\программируемым коэфф-том усиления. Усиление ОУ задается и соотв-но регулируется резистором в цепи обратной связи. Кроме того ОУ имеет так называемое смещение нуля, когда при разности напряжений на дифф. входах строго = 0, напряжение на выходе ОУ не равно нулю. Это смещение устраняется путем включения на один из входов подстроечного резистора. Это всё "школьная классика", о которой можно найти кучу инфы в инете. Соотв-но, если не полениться и почитать методику калибровки твоей платы, то там как раз и делается подстройка коэф-та усиления (резистром VR1), смещения нуля по биполярному входу (VR2) и смещение нуля по однополярному входу (VR3). Никакой мистики, одна классика

                                                                      Цитата Сергей85 @
                                                                      как выравниваются транзисторы NPN, соединенные параллельно, - резисторами 0.1Ом, припаянными к коллектору? Физически звучит как бред

                                                                      Во-первых, не NPN, а PNP, и резисторы подключаются не к коллектору, а к эмиттеру. Во-вторых, включение в цепь эмиттера резистора - это классика (термо)стабилизации постоянного тока коллектор-эмиттер за счет создания отрицательной обратной связи (оно используется не только при параллельном включении транзисторов, но и практически во всех схемах усилителей). Суть простая - при увеличении тока эмиттера, увеличивается падение напряжения на резисторе, что приводит к уменьшению относительного напряжения баз-эмиттер и, как следствие, к снижению тока коллектор-эмиттер = автостабилизация тока. Соотв-но, это никакой не "бред", а та же школьная классика
                                                                      Сообщение отредактировано: leo -
                                                                        Цитата leo @

                                                                        R7 играет роль при термостабилизации? Или транзисторы с резисторами R1...R6 можно рассматривать как отдельный блок с термостабилизацией?

                                                                        Так ведь на R1-6 падение напряжения какое-то будет - получается, лишние потери напряжения в цепи, и выходное напряжение на коллекторе будет дтже?
                                                                          1) Для стабилизации тока используются резисторы R1-R6 (подключенные к эмиттерам транзисторов)
                                                                          2) Да, на R1-R6 будет падение напряжения, но 1) именно за счет этого падения и осуществляется стабилизация тока, 2) чтобы "лишние потери напряжения в цепи" были малы, сопротивление этих резисторов выбирается достаточно малым - приходится идти на компромисс между потерями и стабильностью
                                                                            Цитата leo @

                                                                            Какой минимальный номинал резисторов можно использовать? Я могу нихромную проволоку вместо них впаять, чтобы получить 0.05 или 0.01.
                                                                              Цитата Pavia @

                                                                              Нужно обоснование данной формулы. Нигде ее не вижу. Книги, статьи - хоть что-нибудь.

                                                                              Добавлено
                                                                              Log10(2^N).
                                                                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                              0 пользователей:


                                                                              Рейтинг@Mail.ru
                                                                              [ Script execution time: 0,2137 ]   [ 22 queries used ]   [ Generated: 19.04.24, 01:18 GMT ]