Коды ацп датчиков ваз
Про датчики автомобилей LADA и систему управления двигателем
За работу всех систем современного автомобиля отвечают различные датчики. Они снимают показания и передают их электронному блоку управления двигателем (ЭБУ). В случае неисправности датчика в памяти сохраняется ошибка, а на щитке приборов в некоторых случаях появляется ошибка Check Engine.
Где находятся датчики
Все современные автомобили Лада (Гранта, Калина, Приора, Веста, Ларгус, Нива или Lada XRAY) оснащаются отечественными двигателями ВАЗ. Расположение датчиков на этих моторах однотипное:
Элементы электронной системы управления двигателя ВАЗ 11186/11189: 1* – контроллер; 2* – датчик положения коленчатого вала; 3* – управляющий датчик концентрации кислорода; 4* – колодка диагностики; 5* – диагностический датчик концентрации кислорода; 6 – блок управления дроссельного узла; 7* – датчик скорости автомобиля; 8* – клапан продувки адсорбера; 9* – модуль педали «газа»; 10* – выключатель сигналов торможения; 11* – датчик положения педали сцепления; 12 – аккумуляторная батарея; 13 – датчик массового расхода воздуха; 14 – датчик температуры охлаждающей жидкости; 15 – катушка зажигания; 16 – датчик детонации; 17 – свечи зажигания; 18* – форсунки. * Элемент на фото не виден.
Расположение элементов ЭСУД в салоне автомобиля (для наглядности без торпедо): 1 – датчик положения педали сцепления; 2 – выключатель сигналов торможения; 3 – модуль педали «газа»; 4 – контроллер.
Датчик температуры охлаждающей жидкости (ДТОЖ)
Предназначен для измерения температуры охлаждающей жидкости в системе охлаждения двигателя. На основании показателей ЭБУ корректирует частоту вращения коленвала, состав топливно-воздушной смеси и угол опережения зажигания. Датчик практически не ломается, но бывает, врёт. Довольно часто перетираются провода у основании разъёма так, что даже припаять не к чему. Датчик температуры охлаждающей жидкости установлен в крышке термостата.
Датчик детонации (ДД)
Предназначен для определения момента возникновения высокочастотных колебаний блока цилиндров, которые возникают при детонационном сгорании топлива. По сигналу датчика электронный блок управления двигателем выбирает оптимальный угол опережения зажигания, что позволяет добиться наиболее полного и эффективного сжигания топливо-воздушной смеси в цилиндрах двигателя, а также автоматически регулировать момент зажигания для топлив с различным октановым числом. Датчик детонации находится на передней стенке блока цилиндров между 2?м и 3?м цилиндрами.
Датчик положения коленчатого вала (ДПКВ)
Датчик выдает блоку управления информацию о частоте вращения и угловом положении коленчатого вала. По сигналам датчика ЭБУ рассчитывает фазу и длительность импульсов управления форсунками и катушкой зажигания. При его неисправности (отсутствии сигнала) двигатель не заведется. Он находится в отверстии прилива крышки масляного насоса.
Датчик положения распределительного вала (датчик фаз)
Предназначен для формирования сигнала, по которому ЭБУ определяет верхнюю мертвую точку поршня первого цилиндра при такте сжатия. Принцип действия датчика основан на эффекте Холла. Если датчик неисправен, ЭБУ переводит систему на резервный режим работы. Двигатель может работать неустойчиво, глохнуть или плохо заводиться. ДПРВ не подлежит ремонту. В случае его неисправности его меняют на новый.
ДАД и ДТВ
Датчик абсолютного давления (ДАД) и датчик температуры воздуха (ДТВ) используются на двигателях ВАЗ 21129 и ВАЗ 21179. Они объединены в одном корпусе, который установлен на ресивере модуля впуска. Более детально о них рассказывается тут.
Датчик кислорода (ДК) или лямбда-зонд
Датчик концентрации кислорода позволяет оценивать количество оставшегося несгоревшего топлива или кислорода в выхлопных газах. Сигнал используется блоком управления для поддержания оптимального соотношения воздуха к бензину в камере сгорания. Установлен в катколлекторе до каталитического нейтрализатора отработавших газов.
Датчик массового расхода воздуха (ДМРВ)
Этот важный датчик располагается за воздушным фильтром двигателя. Также его называют расходомер воздуха. Его назначение – оценка количества воздуха, поступающего в двигатель автомобиля. На основании информации, получаемой с датчика, электронный блок управления (ЭБУ) вычисляет необходимый объем топлива, чтобы поддерживать стехиометрическое соотношение топлива и воздуха для заданных режимов работы двигателя.
Датчик скорости автомобиля (ДС)
Служит для измерения скорости автомобиля и передачи этой информации на ЭБУ. Его поломка напрямую связана с неработающим спидометром. Датчик скорости автомобиля установлен сверху на картере сцепления, над корпусом внутреннего шарнира привода правого переднего колеса. Его замена весьма проста.
Датчик давления масла
Датчик давления масла связан с модулем управления двигателем. Если давление моторного масла опускается ниже предельного значения, то контакты датчика размыкаются. Находится он за головкой блока цилиндров, недалеко от кожуха ремня ГРМ.
Клапана управления длиной каналов системы впуска
Впускной коллектор с изменяемой геометрией АвтоВАЗ начал устанавливать начиная с двигателя ВАЗ-21127. Такая конструкция позволяет достичь максимального крутящего момента на низких оборотах и максимальной мощности на высоких. Регулирование длины впускного коллектора (переключение с одной длины на другую) производится с помощью клапана, входящего в состав системы управления двигателем.
Датчики сцепления и тормоза
По сигналам датчика положения педали сцепления и выключателя сигналов торможения контроллер различает нажатое и не нажатое положения педалей. При нажатой педали сцепления контроллер отключает регулирование нагрузки двигателя. Оба датчика находятся на педальном узле.
На некоторых вариантах исполнения автомобилей используется электронный привод дроссельной заслонки (Е-газ). Напомним, чтобы понять какие ошибки записаны в ЭБУ следует их расшифровать.
Обнаружили ошибку? Выделите ее и нажмите Ctrl+Enter..
Что такое АЦП
![]() |
Что нужно для того, чтобы стать профессиональным разработчиком программ для микроконтроллеров и выйти на такой уровень мастерства, который позволит с лёгкостью найти и устроиться на работу с высокой зарплатой (средняя зарплата программиста микроконтроллеров по России на начало 2017 года составляет 80 000 рублей). Подробнее. |
АПЦ – это Аналого-Цифровой Преобразователь. По английски ADC (Analog-to-Digital Converter). То есть специальное устройство, которое преобразует аналоговый сигнал в цифровой.
АЦП применяется в цифровой технике. В частности, почти все современные микроконтроллеры имеют встроенный АЦП.
Как вы уже наверняка знаете, микропроцессоры (как и компьютерные процессоры) не понимают ничего, кроме двоичных чисел. Из этого следует, что микропроцессор (который является основой любого микроконтроллера) не может напрямую обработать аналоговый сигнал.
Например, если вы создаёте программу для микроконтроллера, которая отслеживает температуру, то микропроцессор должен каким-то образом понять, что, например, напряжение 1В на его аналоговом входе соответствует температуре 10 градусов, а 5В – температуре 100 градусов (это просто пример, пока не обращайте внимание на числа).
Для того, чтобы объяснить это микропроцессору, который, как мы помним, понимает только двоичные числа, используется АЦП, который, как я уже сказал, преобразует аналоговый сигнал в двоичный код. Далее в общих чертах рассмотрим работу АЦП.
Принцип работы АЦП
Итак, мы узнали, что АЦП преобразует аналоговый сигнал в цифровой. Но как он это делает?
Я не буду рассказывать, как это происходит на уровне электронных схем – это тема для электронщиков. Разработчикам же устройств на микроконтроллерах (особенно начинающим), вполне достаточно знать общий принцип работы АЦП, чтобы понимать, как будет работать создаваемое ими устройство и достаточна ли будет точность измеряемого аналогового значения.
Итак, первым делом АЦП должен преобразовать аналоговый сигнал в дискретный. Для чего это нужно?
Как вы уже знаете, аналоговый сигнал – это непрерывный сигнал. То есть такой сигнал может принимать бесконечное количество значений, и ни у какого процессора не хватит “мозгов” для обработки всех этих значений.
Поэтому первая задача АЦП – это разбить измеряемый диапазон на какое-то конечное количество значений.
Например, мы хотим измерить напряжение в диапазоне от 0 до 9 В. Допустим, нам достаточно точности в 1В. Тогда мы разбиваем этот диапазон на 10 значений и получаем, что каждому значению напряжения соответствует такое же число. То есть 0 – это 0 В, 5 – 5 В и т.п.
А как же, например, напряжение 4,3 В? Да никак. Оно просто округляется, и АЦП преобразует его в число 4. Этот простой пример отображён на рисунке ниже.
Возникает вопрос – а как измерять большие напряжения? Или как повысить точность (например, если мы хотим измерять напряжение с точностью до 0,1В)?
Расскажу и об этом, но сначала о разрядности АЦП.
Разрядность АЦП
Разрядность АЦП – это разрядность его выходного сигнала. То есть количество битов в числе, которое получается на выходе АЦП.
Например, 8-разрядный АЦП может выдать 2 8 = 256 значений – от 0 до 255 (если речь идёт о положительных числах).
Это значит, что измеряемый диапазон (сигнал на входе АЦП или на аналоговом входе микроконтроллера) мы можем разбить на 256 значений. Таким образом мы можем определить точность измеряемого значения, которую может обеспечить данный АЦП. Сделать это можно по формуле:
Где Р – это разрядность АЦП, Д – диапазон измеряемых значений, Х – точность (дискретность).
Например, если вам надо измерять напряжение в диапазоне 0. 9В, то Д = 10. А если в диапазоне -5. 15В, то Д = 21 (не забываем про ноль).
Например, если у нас 8-разрядный АЦП, и мы хотим измерять напряжение в диапазоне 0. 255В, то точность измерений будет:
256 / 2 8 = 256 / 256 = 1 В
Если же мы хотим измерять напряжение с этим же АЦП в диапазоне 0. 15В, то точность измерений будет:
16 / 2 8 = 16 / 256 = 0,0625 В
Из этого следует, что для того, чтобы повысить точность, требуется либо сузить диапазон измеряемых значений, либо повысить разрядность АЦП. Например:
256 / 212 = 256 / 4096 = 0,0625 В
То есть 12-разрядный АЦП обеспечит уже довольно высокую точность даже при измерении сигналов с относительно большим диапазоном значений.
Разумеется, измерять можно не только напряжение, но и другие физические величины – это зависит от датчика, который подключен к АЦП. Но для АЦП безразлично, что измерять. Он всего лишь преобразует аналоговый сигнал в цифровой. А о том, как получить аналоговый сигнал нужной формы на входе АЦП, должен позаботиться разработчик устройства на микроконтроллере.
АЦП микроконтроллера обычно измеряет только напряжение в диапазоне от 0 до напряжения питания микроконтроллера.
Характеристики АЦП
АЦП бывают разные, с разными характеристиками. Основная характеристика – это разрядность. Однако есть и другие. Например, вид аналогового сигнала, который можно подключать к входу АЦП.
Все эти характеристики описаны в документации на АЦП (если он выполнен в виде отдельной микросхемы) или в документации на микроконтроллер (если АЦП встроен в микроконтроллер).
Кроме разрядности, о которой мы уже говорили, можно назвать ещё несколько основных характеристик.
Least significant bit (LSB) – младший значащий разряд (МЗР). Это наименьшее входное напряжение, которое может быть измерено АЦП. Определяется по формуле:
1 LSB = Uоп / 2 Р
Где Uоп – это опорное напряжение (указывается в характеристиках АЦП). Например, при опорном напряжении 1 В и разрядности 8 бит, получим:
1 LSB = 1 / 2 8 = 1 / 256 = 0,004 В
Integral Non-linearity – интегральная нелинейность выходного кода АЦП. Понятно, что любое преобразование вносит искажения. И эта характеристика определяет нелинейность выходного значения, то есть отклонение выходного значения АЦП от идеального линейного значения. Измеряется эта характеристика в LSB.
Иными словами, эта характеристика определяет, насколько “кривой” может быть линия на графике выходного сигнала, которая в идеале должна быть прямой (см. рис.).
Абсолютная точность. Также измеряется в LSB. Иными словами, это погрешность измерения. Например, если эта характеристика равна +/- 2 LSB, а LSB = 0,05 В, то это означает, что погрешность измерений может достигать +/- 2*0,05 = +/- 0,1В.
Есть у АЦП и другие характеристики. Но для начала и этого более чем достаточно.
Подключение АЦП
Напомню, что аналоговые сигналы, в основном, бывают двух видов: токовые и напряжения. Кроме того, сигналы могут иметь стандартный диапазон значений, и нестандартный. Стандартные диапазоны значений аналоговых сигналов описаны в ГОСТах (например, ГОСТ 26.011-80 и ГОСТ Р 51841-2001). Но, если в вашем устройстве используется какой-то самодельный датчик, то сигнал может и отличаться от стандартного (хотя я советую в любых случаях выбирать какой-нибудь стандартный сигнал – для совместимости со стандартными датчиками и другими устройствами).
АЦП в основном измеряют напряжение.
Попробую рассказать о том (в общих чертах), как подключить аналоговый датчик к АЦП и как потом разобраться с теми значениями, которые будет выдавать АЦП.
Итак, допустим, что мы хотим измерять температуру в диапазоне -40…+50 градусов с помощью специального датчика со стандартным выходом 0. 1В. Допустим, что у нас есть датчик, который может измерять температуру в диапазоне -50…+150 градусов.
Если температурный датчик имеет стандартный выход, то, как правило, напряжение (или ток) на выходе датчика изменяется по линейному закону. То есть мы можем легко определить, какое напряжение будет на выходе датчика при заданной температуре.
Что такое линейный закон? Это когда диапазон значений на графике выглядит как прямая линия (см. рис.). Зная, что температура от -50 до +150 даёт на выходе датчика напряжение, изменяемое по линейному закону, мы, как я уже сказал, можем вычислить это напряжение для любого значения температуры на заданном диапазоне.
В общем, чтобы в нашем случае диапазон температур преобразовать в диапазон напряжений, нам надо каким-то образом сопоставить две шкалы, одна из которых является диапазоном температур, а другая – диапазоном напряжений.
Определить напряжение по температуре визуально можно по графику (см. рис. выше). Но микроконтроллер глаз не имеет (хотя, конечно, можно поразвлекаться и создать устройство на микроконтроллере, способное распознавать образы и определять значение температуры по напряжению на графике, но оставим эти развлечения фанатам робототехники)))
Первым делом определяем диапазон температур. Он у нас от -50 до 150, то есть 201 градус (не забываем про ноль).
А диапазон измеряемых напряжений – от 0 до 1 В.
То есть в шкалу от 0 до 1 нам надо впихнуть диапазон от 0 до 200 (всего 201).
Находим коэффициент преобразования:
К = U / Tд = 1 / 200 = 0,005 (1)
То есть при изменении температуры на 1 градус напряжение на выходе датчика будет меняться на 0,005 В. Здесь Тд – это температурный диапазон. Не значения температуры, а количество единиц измерения (в нашем случае градусов) на температурной шкале, сопоставляемой со шкалой напряжения (ноль не учитываем для упрощения, так как в диапазоне напряжений тоже есть ноль).
Проверяем характеристики АЦП микроконтроллера, который мы планируем использовать. Значение LSB не должно быть более К (более 0,005 в нашем случае, точнее, это допустимо, если вас устроит погрешность более 1 единицы измерения – более 1 градуса в нашем случае).
По сути К – это вольт на градус, то есть так мы узнали, на какое значение изменяется напряжение при изменении температуры на 1 градус.
Теперь у нас есть все необходимые данные, чтобы в программе микроконтроллера преобразовать значение на выходе АЦП в значение температуры.
Мы помним, что мы сместили диапазон температур на 50 градусов. Это надо учитывать при преобразовании значения на выходе АЦП в температуру.
А формула будет такая:
Например, если на выходе АЦП 0,5 В, то
Т = (U / К) – 50 = (0,5 / 0,005) – 50 = 100 – 50 = 50 градусов
Теперь нам надо определить дискретность, то есть желаемую точность измерений.
Как вы помните, абсолютная погрешность может составлять несколько LSB. К тому же ещё существуют нелинейные искажения, которые обычно равны 0,5 LSB. То есть общая погрешность АЦП может доходить до 2-3 LSB.
В нашем случае это:
Uп = 3 LSB * 0,005 = 0,015 В
Если в вашем случае не так всё гладко, то снова используем формулу, выведенную из (1):
Тд = Uп / K = 0,015 / 0,005 = 3
Если погрешность в 3 градуса вас устраивает, то можно ничего не менять. Ну а если нет, то придётся подобрать АЦП с большей разрядностью либо подыскать другой датчик (с другим температурным диапазоном или с другим выходным напряжением).
Например, если вам удастся найти датчик с диапазоном -40…+50, как мы и хотели, и с таким же выходом 0. 1В, то
Тогда абсолютная погрешность будет:
Тд = Uп / K = 0,015 / 0,01 = 1,5 градуса.
Это уже более-менее приемлемо. Ну а если у вас будет датчик с выходом 0. 5В (это тоже стандартный сигнал), то
А абсолютная погрешность будет:
Тд = Uп / K = 0,015 / 0,05 = 0,3 градуса.
Это уже вообще ништяк.
Но! Не забывайте, что здесь мы рассматриваем только погрешность АЦП. Но и у самого датчика тоже есть погрешность, которую также надо учитывать.
Но всё это уже из области электроники и метрологии, поэтому данную статью я здесь и закончу.
А в конце на всякий случай приведу формулу обратного преобразования температуры в напряжение:
Аналого-цифровое преобразование для начинающих
В этой статье рассмотрены основные вопросы, касающиеся принципа действия АЦП различных типов. При этом некоторые важные теоретические выкладки, касающиеся математического описания аналого-цифрового преобразования остались за рамками статьи, но приведены ссылки, по которым заинтересованный читатель сможет найти более глубокое рассмотрение теоретических аспектов работы АЦП. Таким образом, статья касается в большей степени понимания общих принципов функционирования АЦП, чем теоретического анализа их работы.
“
В качестве отправной точки дадим определение аналого-цифровому преобразованию. Аналого-цифровое преобразование – это процесс преобразования входной физической величины в ее числовое представление. Аналого-цифровой преобразователь – устройство, выполняющее такое преобразование. Формально, входной величиной АЦП может быть любая физическая величина – напряжение, ток, сопротивление, емкость, частота следования импульсов, угол поворота вала и т.п. Однако, для определенности, в дальнейшем под АЦП мы будем понимать исключительно преобразователи напряжение-код.
Понятие аналого-цифрового преобразования тесно связано с понятием измерения. Под измерением понимается процесс сравнения измеряемой величины с некоторым эталоном, при аналого-цифровом преобразовании происходит сравнение входной величины с некоторой опорной величиной (как правило, с опорным напряжением). Таким образом, аналого-цифровое преобразование может рассматриваться как измерение значения входного сигнала, и к нему применимы все понятия метрологии, такие, как погрешности измерения.
Основные характеристики АЦП
АЦП имеет множество характеристик, из которых основными можно назвать частоту преобразования и разрядность. Частота преобразования обычно выражается в отсчетах в секунду (samples per second, SPS), разрядность – в битах. Современные АЦП могут иметь разрядность до 24 бит и скорость преобразования до единиц GSPS (конечно, не одновременно). Чем выше скорость и разрядность, тем труднее получить требуемые характеристики, тем дороже и сложнее преобразователь. Скорость преобразования и разрядность связаны друг с другом определенным образом, и мы можем повысить эффективную разрядность преобразования, пожертвовав скоростью.
Существует множество типов АЦП, однако в рамках данной статьи мы ограничимся рассмотрением только следующих типов:
- АЦП параллельного преобразования (прямого преобразования, flash ADC)
- АЦП последовательного приближения (SAR ADC)
- дельта-сигма АЦП (АЦП с балансировкой заряда)
Существуют также и другие типы АЦП, в том числе конвейерные и комбинированные типы, состоящие из нескольких АЦП с (в общем случае) различной архитектурой. Однако приведенные выше архитектуры АЦП являются наиболее показательными в силу того, что каждая архитектура занимает определенную нишу в общем диапазоне скорость-разрядность.
Наибольшим быстродействием и самой низкой разрядностью обладают АЦП прямого (параллельного) преобразования. Например, АЦП параллельного преобразования TLC5540 фирмы Texas Instruments обладает быстродействием 40MSPS при разрядности всего 8 бит. АЦП данного типа могут иметь скорость преобразования до 1 GSPS. Здесь можно отметить, что еще большим быстродействием обладают конвейерные АЦП (pipelined ADC), однако они являются комбинацией нескольких АЦП с меньшим быстродействием и их рассмотрение выходит за рамки данной статьи.
Среднюю нишу в ряду разрядность-скорость занимают АЦП последовательного приближения. Типичными значениями является разрядность 12-18 бит при частоте преобразования 100KSPS-1MSPS.
Наибольшей точности достигают сигма-дельта АЦП, имеющие разрядность до 24 бит включительно и скорость от единиц SPS до единиц KSPS.
Еще одним типом АЦП, который находил применение в недавнем прошлом, является интегрирующий АЦП. Интегрирующие АЦП в настоящее время практически полностью вытеснены другими типами АЦП, но могут встретиться в старых измерительных приборах.
АЦП прямого преобразования
АЦП прямого преобразования получили широкое распространение в 1960-1970 годах, и стали производиться в виде интегральных схем в 1980-х. Они часто используются в составе «конвейерных» АЦП (в данной статье не рассматриваются), и имеют разрядность 6-8 бит при скорости до 1 GSPS.
Архитектура АЦП прямого преобразования изображена на рис. 1
Рис. 1. Структурная схема АЦП прямого преобразования
Принцип действия АЦП предельно прост: входной сигнал поступает одновременно на все «плюсовые» входы компараторов, а на «минусовые» подается ряд напряжений, получаемых из опорного путем деления резисторами R. Для схемы на рис. 1 этот ряд будет таким: (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) Uref, где Uref – опорное напряжение АЦП.
Пусть на вход АЦП подается напряжение, равное 1/2 Uref. Тогда сработают первые 4 компаратора (если считать снизу), и на их выходах появятся логические единицы. Приоритетный шифратор (priority encoder) сформирует из «столбца» единиц двоичный код, который фиксируется выходным регистром.
Теперь становятся понятны достоинства и недостатки такого преобразователя. Все компараторы работают параллельно, время задержки схемы равно времени задержки в одном компараторе плюс время задержки в шифраторе. Компаратор и шифратор можно сделать очень быстрыми, в итоге вся схема имеет очень высокое быстродействие.
Но для получения N разрядов нужно 2^N компараторов (и сложность шифратора тоже растет как 2^N). Схема на рис. 1. содержит 8 компараторов и имеет 3 разряда, для получения 8 разрядов нужно уже 256 компараторов, для 10 разрядов – 1024 компаратора, для 24-битного АЦП их понадобилось бы свыше 16 млн. Однако таких высот техника еще не достигла.
АЦП последовательного приближения
АЦП последовательного приближения реализует алгоритм «взвешивания», восходящий еще к Фибоначчи. В своей книге «Liber Abaci» (1202 г.) Фибоначчи рассмотрел «задачу о выборе наилучшей системы гирь», то есть о нахождении такого ряда весов гирь, который бы требовал для нахождения веса предмета минимального количества взвешиваний на рычажных весах. Решением этой задачи является «двоичный» набор гирь. Подробнее о задаче Фибоначчи можно прочитать, например, здесь: https://www.goldenmuseum.com/2015AMT_rus.html.
Аналого-цифровой преобразователь последовательного приближения (SAR, Successive Approximation Register) измеряет величину входного сигнала, осуществляя ряд последовательных «взвешиваний», то есть сравнений величины входного напряжения с рядом величин, генерируемых следующим образом:
1. на первом шаге на выходе встроенного цифро-аналогового преобразователя устанавливается величина, равная 1/2Uref (здесь и далее мы предполагаем, что сигнал находится в интервале (0 – Uref).
2. если сигнал больше этой величины, то он сравнивается с напряжением, лежащим посередине оставшегося интервала, т.е., в данном случае, 3/4Uref. Если сигнал меньше установленного уровня, то следующее сравнение будет производиться с меньшей половиной оставшегося интервала (т.е. с уровнем 1/4Uref).
3. Шаг 2 повторяется N раз. Таким образом, N сравнений («взвешиваний») порождает N бит результата.
Рис. 2. Структурная схема АЦП последовательного приближения.
Таким образом, АЦП последовательного приближения состоит из следующих узлов:
1. Компаратор. Он сравнивает входную величину и текущее значение «весового» напряжения (на рис. 2. обозначен треугольником).
2. Цифро-аналоговый преобразователь (Digital to Analog Converter, DAC). Он генерирует «весовое» значение напряжения на основе поступающего на вход цифрового кода.
3. Регистр последовательного приближения (Successive Approximation Register, SAR). Он осуществляет алгоритм последовательного приближения, генерируя текущее значение кода, подающегося на вход ЦАП. По его названию названа вся данная архитектура АЦП.
4. Схема выборки-хранения (Sample/Hold, S/H). Для работы данного АЦП принципиально важно, чтобы входное напряжение сохраняло неизменную величину в течение всего цикла преобразования. Однако «реальные» сигналы имеют свойство изменяться во времени. Схема выборки-хранения «запоминает» текущее значение аналогового сигнала, и сохраняет его неизменным на протяжении всего цикла работы устройства.
Достоинством устройства является относительно высокая скорость преобразования: время преобразования N-битного АЦП составляет N тактов. Точность преобразования ограничена точностью внутреннего ЦАП и может составлять 16-18 бит (сейчас стали появляться и 24-битные SAR ADC, например, AD7766 и AD7767).
И, наконец, самый интересный тип АЦП – сигма-дельта АЦП, иногда называемый в литературе АЦП с балансировкой заряда. Структурная схема сигма-дельта АЦП приведена на рис. 3.
Рис.3. Структурная схема сигма-дельта АЦП.
Принцип действия данного АЦП несколько более сложен, чем у других типов АЦП. Его суть в том, что входное напряжение сравнивается со значением напряжения, накопленным интегратором. На вход интегратора подаются импульсы положительной или отрицательной полярности, в зависимости от результата сравнения. Таким образом, данный АЦП представляет собой простую следящую систему: напряжение на выходе интегратора «отслеживает» входное напряжение (рис. 4). Результатом работы данной схемы является поток нулей и единиц на выходе компаратора, который затем пропускается через цифровой ФНЧ, в результате получается N-битный результат. ФНЧ на рис. 3. Объединен с «дециматором», устройством, снижающим частоту следования отсчетов путем их «прореживания».
Рис. 4. Сигма-дельта АЦП как следящая система
Ради строгости изложения, нужно сказать, что на рис. 3 изображена структурная схема сигма-дельта АЦП первого порядка. Сигма-дельта АЦП второго порядка имеет два интегратора и две петли обратной связи, но здесь рассматриваться не будет. Интересующиеся данной темой могут обратиться к [3].
На рис. 5 показаны сигналы в АЦП при нулевом уровне на входе (сверху) и при уровне Vref/2 (снизу).
Рис. 5. Сигналы в АЦП при разных уровнях сигнала на входе.
Более наглядно работу сигма-дельта АЦП демонстрирует небольшая программа, находящаяся тут: https://designtools.analog.com/dt/sdtutorial/sdtutorial.html.
Теперь, не углубляясь в сложный математический анализ, попробуем понять, почему сигма-дельта АЦП обладают очень низким уровнем собственных шумов.
Рассмотрим структурную схему сигма-дельта модулятора, изображенную на рис. 3, и представим ее в таком виде (рис. 6):
Рис. 6. Структурная схема сигма-дельта модулятора
Здесь компаратор представлен как сумматор, который суммирует непрерывный полезный сигнал и шум квантования.
Пусть интегратор имеет передаточную функцию 1/s. Тогда, представив полезный сигнал как X(s), выход сигма-дельта модулятора как Y(s), а шум квантования как E(s), получаем передаточную функцию АЦП:
То есть, фактически сигма-дельта модулятор является фильтром низких частот (1/(s+1)) для полезного сигнала, и фильтром высоких частот (s/(s+1)) для шума, причем оба фильтра имеют одинаковую частоту среза. Шум, сосредоточенный в высокочастотной области спектра, легко удаляется цифровым ФНЧ, который стоит после модулятора.
Рис. 7. Явление «вытеснения» шума в высокочастотную часть спектра
Однако следует понимать, что это чрезвычайно упрощенное объяснение явления вытеснения шума (noise shaping) в сигма-дельта АЦП.
Итак, основным достоинством сигма-дельта АЦП является высокая точность, обусловленная крайне низким уровнем собственного шума. Однако для достижения высокой точности нужно, чтобы частота среза цифрового фильтра была как можно ниже, во много раз меньше частоты работы сигма-дельта модулятора. Поэтому сигма-дельта АЦП имеют низкую скорость преобразования.
Они могут использоваться в аудиотехнике, однако основное применение находят в промышленной автоматике для преобразования сигналов датчиков, в измерительных приборах, и в других приложениях, где требуется высокая точность. но не требуется высокой скорости.
Самым старым упоминанием АЦП в истории является, вероятно, патент Paul M. Rainey, «Facsimile Telegraph System,» U.S. Patent 1,608,527, Filed July 20, 1921, Issued November 30, 1926. Изображенное в патенте устройство фактически является 5-битным АЦП прямого преобразования.
Рис. 8. Первый патент на АЦП
Рис. 9. АЦП прямого преобразования (1975 г.)
Устройство, изображенное на рисунке, представляет собой АЦП прямого преобразования MOD-4100 производства Computer Labs, 1975 года выпуска, собранный на основе дискретных компараторов. Компараторов 16 штук (они расположены полукругом, для того, чтобы уравнять задержку распространения сигнала до каждого компаратора), следовательно, АЦП имеет разрядность всего 4 бита. Скорость преобразования 100 MSPS, потребляемая мощность 14 ватт.
На следующем рисунке изображена продвинутая версия АЦП прямого преобразования.
Рис. 10. АЦП прямого преобразования (1970 г.)
Устройство VHS-630 1970 года выпуска, произведенное фирмой Computer Labs, содержало 64 компаратора, имело разрядность 6 бит, скорость 30MSPS и потребляло 100 ватт (версия 1975 года VHS-675 имела скорость 75 MSPS и потребление 130 ватт).
ADS1115 — 16-битный Аналого-Цифровой Преобразователь с I2C интерфейсом. Модуль RI038
Микросхема ADS1115 — это 4-х канальный 16-битный аналого-цифровой преобразователь (АЦП). ADS1115 разработано для обеспечения точности, энергоэффективности, простоты в реализации, выполняет преобразование с программируемыми скоростями обработки данных до 860 выб./с, потребляемый ток питания составляет всего 150 мкА (ном.), а рабочее напряжение снижено до 2 В.
Встроенный усилитель с программируемым коэффициентом усиления (PGA) предлагает диапазоны входных сигналов от ±256 мВ до ±6.144 В, что позволяет проводить точные измерения больших и малых напряжений. ADS1115 имеет входной мультиплексор (MUX), который позволяет выполнять два дифференциальных или четыре несимметричных входных измерения.
ADS1115 имеет встроенный компаратор (вывод ALERT/RDY), который можно использовать в качестве оповещения для управляющего устройства (микроконтроллера или микропроцессора).
Этот модуль очень боится перенапряжения по входам. Превышение напряжения более чем на 5% от напряжения питания не допустимо.
Характеристики ADS1115
- Корпус X2QFN-10 или VSSOP-10
- Скорость обработки данных: 8–860 выб./с
- Ток питания: 150 мкА (ном.)
- разрешение: 16 бит
- программируемая частота дискретизации;
- напряжение питания: 2.0V — 5.5V;
- Напряжение смещения: 100 мкВ
- Расширенный диапазон температур: от -40°C до +125°C
- внутренний источник опорного напряжения;
- 4 входа (A0-A3), которые могут использоваться как два дифференциальных входа для измерения разности напряжения между входами, либо как 4 отдельных несимметричных входа, в этом случае напряжение измеряется между одним из входов и общим проводом;
- программируемый выходной компаратор;
- встроенный программируемый усилитель входного сигнала PGA: до х16;
- интерфейс : I2C: 4-контактный по выбору адреса.
Схема подключения АЦП ADS1115 к МК и МП
Подключается АЦП ADS1115 к микропроцессору или микроконтроллеру по шине I2C/TWI, а на каждую линию необходим внешний верхний подтягивающий резистор номиналом от 1 до 10 кОм. Выход ALERT/RDY от компаратора подключается к цифровому входу МК/МП, на эту линию тоже нужно подключить верхний подтягивающий резистор того-же номинала.
Аналоговые входы АЦП ADS1115
Всего в микросхеме имеется 4 входа (AIN0-AIN3), которые могут использоваться как два дифференциальных входа для измерения разности напряжения между входами, либо как 4 отдельных несимметричных входа, в этом случае напряжение измеряется между одним из входов и общим проводом (GND). Необходимую комбинацию входов можно задавать с помощью встроенного мультиплексора, структура которого показана на картинке ниже:
Как видно на вход внутреннего АЦП (AINp, AINn) в один момент времени может подключаться только одна комбинация входов. Для дифференциального входа, в случае, когда AINp>AINn, напряжение считается положительным, если AINn>AINp, то напряжение отрицательное. При использовании несимметричного входа измерение напряжения производится относительно общего провода, в этом случае измеряется только положительное напряжение. Микросхема ADS1115 не предназначена для измерения отрицательного напряжение относительно общего провода, на входы можно подавать только положительное напряжение.
Встроенный усилитель дает возможность измерения малых напряжений, не ограничивая разрешение АЦП. В следующей таблице приведены коэффициенты усиления и пределы измеряемого напряжения:
PGA | FS |
---|---|
2/3 | ±6,144 В |
1 | ±4,096 В |
2 | ±2,048 В |
4 | ±1,024 В |
8 | ±0,512 В |
16 | ±0,256 В |
Напряжение питания АЦП должно быть больше или равно диапазону измерения, это касается коэффициентов 2/3 и 1, которые позволяют измерять значения вплоть до величины напряжения питания АЦП. Если напряжение питания меньше предела измерения, выходной код АЦП (результат преобразования) не достигнет максимального значения для выбранного предела измерения. Наибольший предел FS=6,144 В (для коэффициента 2/3) отражает полную шкалу АЦП ADS1115, но это не означает что можно подавать такое значение, напряжение подаваемое на вход АЦП не должно превышать VDD+0,3 В. В случае максимального напряжения питания (5,5 В) измеряемое напряжение не должно превышать 5.5 В+0.3 В=5.8 В.
В следующей таблице представлено соответствие выходного кода АЦП в зависимости от входного напряжения:
Входной сигнал, Vin=AINp-AINn | Значение кода АЦП | Десятичное значение |
---|---|---|
≥FS | 7FFFh | 32767 |
+FS/(2 в 15 степени) | 0001h | 1 |
-FS/(2 в 15 степени) | FFFFh | 65535 |
≤-FS | 8000h | 32768 |
При измерении напряжения на несимметричном входе используется только половина шкалы выходного кода (0-7FFFh), так как в этом случае измеряется только положительное напряжение.
Выводы модуля RI038 на ADS1115
Вывод | Описание |
---|---|
VDD | Питание |
GND | Общий (земля) |
SCL | Линия тактирования (Serial CLock) |
SDA | Линия данных (Serial Data) |
ADDR | Выбор адреса подчиненного устройства I2C |
ALRT | Выход компаратора или преобразование готово |
A0 | Аналоговый вход 0 |
A1 | Аналоговый вход 1 |
A2 | Аналоговый вход 2 |
A3 | Аналоговый вход 3 |
Система установки адреса I2C ADS1115
Данное устройство предполагает установку адреса для I2C шины при помощи замыкания вывода ADDR на цифровые сигнальные выводы или выводы шины питания. Установка различных адресов I2C предназначена для того, чтоб при подключении двух и более различных устройств не происходило конфликта между ними, т. к. в лучшем случае модули у которых адреса совпадут просто не будут работать, а в худшем — работа всех модулей на шине может стать непредсказуемой. Как выглядит выбор адреса показано ниже.
Подключение вывода ADDR | Адрес микросхемы ADS1115 |
---|---|
GND | 0x48 (1001000) |
VDD | 0x49 (1001001) |
SDA | 0x4A (1001010) |
SCL | 0x4B (1001011) |
ADS1115 поддерживает стандартную скорость передачи до 100 Кбит/сек (100 кГц), высокую скорость до 400 Кбит/сек (400 кГц), а также ультравысокую скорость до 3.4 Мбит/сек (3.4 МГц).
Описание регистров ADS1115
АЦП имеет всего 4 внутренних регистра, все регистры 16-ти битные, соответственно для каждой сессии записи/чтения по интерфейсу I2C передается 2 информационных байта (кроме байта адреса регистра). Описание регистров приведено ниже в таблице:
Адрес | Название | Описание регистра |
---|---|---|
0x00 | Conversion register | Регистр хранения результата преобразования |
0x01 | Config register | Конфигурационный регистр |
0x02 | Lo_thresh register | Регистр уставки, минимальное значение |
0x03 | Hi_thresh register | Регистр уставки, максимальное значение |
С помощью конфигурационного регистра осуществляется управление АЦП, описание регистра приведено ниже в таблице: