Аналоговый и цифровой выход ардуино

Введение

Блок аналого-цифрового преобразователя представляет собой устройство, на вход которого подается аналоговый сигнал, а на выходе выдается цифровой код, пропорциональный поданному напряжению. АЦП является основой многих измерительных приборов, например, цифровых мультиметров, электронных весов, приборов для измерения температуры, давления и многих других…

АЦП может быть как отдельной микросхемой, так и быть в составе микроконтроллера. К1986ВЕ1QI, К1901ВЦ1QI, К1986ВЕ92QI, К1986ВК214 и К1986ВК234 содержат в себе интегрированный блок АЦП. Основные характеристики АЦП — это разрядность и время преобразования. Разрядность 12 бит, следовательно, АЦП может различать 212 = 4096 различных уровней подаваемого на вход напряжения. А время преобразования, в свою очередь, зависит от частоты, подаваемой на АЦП. По спецификации для осуществления преобразования требуется не менее 28 тактов синхронизации CLK, в качестве которой можно использовать как частоту процессора CPU_CLK, так и частоту ADC_CLK, формируемую в блоке «Сигналов тактовой частоты».

Стоит отметить, что согласно спецификации на микроконтроллеры, указанные в данной статье, частота тактирования (частота следования тактовых импульсов) АЦП не может превышать 14 МГц.

АЦП имеет следующие основные режимы работы:

-режим одиночного преобразования по одному каналу (с возможностью опроса бита окончания преобразования или с прерыванием по окончанию преобразования);

-режим многократного преобразования (по одному каналу/с автоматическим переключением нескольких каналов и возможностью использования прямого доступа к памяти).

Светодиод с плавной регулировкой

Усложним конструкцию, добавив светодиод. Первую часть схему можно было не трогать. Но для экономии в предыдущем примере я соединил ножку потенциометра сразу с портом GND. На этот раз сделаем соединение из двух проводов. Это необходимо, чтобы светодиод тоже мог соединиться с заземлением. Поэтому финальный макет будет следующим.

Принципиальная схема.

Напишем код.

Практически все инструкции вам знакомы. Тут нужно уяснить момент, что яркость светодиода управляется нашим кодом, а не подачей напряжения через потенциометр. Мы считываем показания потенциометра, как в первом варианте и переводим получаемые значения в диапазон от 0 до 255. Затем воспроизводим старый пример с плавной регулировкой светодиода и подаём ему нужные значения. Теперь при вращении ручки потенциометра мы одновременно управляем степенью накала светодиода. Напомню, что светодиод следует подключить к портам с тильдой, например, ~9

5.2. Цифро-аналоговые преобразователи (ЦАП)

ЦАП служат для преобразования информации из цифровой формы в аналоговый сигнал. ЦАП широко применяется в различных устройствах автоматики для связи контроллеров, вырабатывающих сигналы управления в виде цифрового кода, с аналоговыми элементами системы.

Принцип работы ЦАП состоит в суммировании аналоговых сигналов, пропорциональных весам разрядов входного цифрового кода, с коэффициентами, равными нулю или единице в зависимости от значения соответствующего разряда кода.

ЦАП преобразует цифровой двоичный код а, а1, а2, .. ап-1 в аналоговую величину, обычно напряжение Uвых.. Каждый разряд двоичного кода имеет определенный вес i-го разряда вдвое больше, чем вес (i-1)-го. Работу ЦАП можно описать следующей формулой:

,

где e = — напряжение, соответствующее весу младшего разряда, аi — значение i -го разряда двоичного кода (0 или 1).

Например, числу 1001 соответствует: Uвых=e*(0*1+0*2+1*4+1*8)=12*e.

Точность преобразования: ,и для .

Выбором е можно установить требуемый масштаб аналоговой величины. На рисунке 49 приведена схема цифро-аналогового преобразователя.

Рис. 49. Схема цифро-аналогового преобразователя

В регистр записывается двоичный код выходного сигнала, на выходе сумматора формируется аналоговый эквивалентный сигнал. Этот сигнал имеет ступенчатую форму (рис. 50) и для его сглаживания нужен фильтр низкой частоты.

Рис. 50. Сигналы на выходе сумматора и фильтра

Как использовать аналоговый и цифровой вход / выход Arduino (I / O)

Arduino может вводить и выводить аналоговые сигналы, а также цифровые сигналы.

Аналоговый сигнал — это сигнал, который может принимать любое количество значений, в отличие от цифрового сигнала, который имеет только два значения: HIGH и LOW. Для измерения значения аналоговых сигналов Arduino имеет встроенный аналого-цифровой преобразователь (АЦП). АЦП превращает аналоговое напряжение в цифровое значение. Функция, которую вы используете для получения значения аналогового сигнала, — analogRead (pin). Эта функция преобразует значение напряжения на аналоговом входной вывод и возвращает цифровое значение от 0 до 1023, относительно опорного значения. Ссылка на 5V на большинстве Arduinos, 7V на Arduino Mini и Nano и 15V на Arduino Mega. Он имеет один параметр, который является номером штыря.

У Arduino нет встроенного цифро-аналогового преобразователя (ЦАП), но он может широтно-импульсно модулировать (PWM) цифровой сигнал для достижения некоторых функций аналогового выхода. Функция, используемая для вывода ШИМ-сигнала, — analogWrite (pin, value). pin — это номер штыря, используемый для вывода ШИМ. значение — это число, пропорциональное циклу заполнения сигнала. Когда значение = 0, сигнал всегда выключен. Когда значение = 255, сигнал всегда включен. На большинстве плат Arduino функция PWM доступна на контактах 3, 5, 6, 9, 10 и 11. Частота ШИМ-сигнала на большинстве контактов составляет приблизительно 490 Гц. На Uno и подобных досках контакты 5 и 6 имеют частоту приблизительно 980 Гц. Штыри 3 и 11 на Leonardo также работают на частоте 980 Гц.

Чтобы отобразить аналоговое входное значение, которое колеблется от 0 до 1023 к выходному сигналу ШИМ, который колеблется от 0 до 255, вы можете использовать функцию map (value, fromLow, fromHigh, toLow, toHigh) . Эта функция имеет пять параметров, одна — переменная, в которой хранится аналоговое значение, а остальные — 0, 1023, 0 и 255 соответственно.

Эксперимент 1: Управление яркостью светодиода

В этом эксперименте мы будем контролировать яркость светодиода с помощью ШИМ-сигнала на выводе аналогового выхода

  • 1 светодиод x
  • 1 x резистор
  • 1 x Arduino UNO R3
  • 1 макет
  • 2 провода для перемычек

Схема подключения

Как показано на диаграмме ниже, светодиод подключается к контакту 2 Arduino. Чтобы изменить яркость светодиода, программа изменит рабочий цикл выходного сигнала ШИМ на контакте 2.

Эксперимент 2: Управление яркостью светодиодов с помощью потенциометра

В этом эксперименте мы будем контролировать яркость светодиода с помощью потенциометра. Мы будем использовать функцию analogRead () для считывания напряжения и функции analogWrite () для вывода сигнала ШИМ, чей рабочий цикл пропорционален аналоговому напряжению.

Схема подключения

Подключите цепь, как показано ниже. При повороте потенциометра напряжение на контакте A0 изменится. Затем программа изменит рабочий цикл сигнала ШИМ на контакте 2, изменив яркость светодиода.

Функция analogWrite()

Функция analogWrite() позволяет управлять выходом с помощью сигнала ШИМ. ШИМ часто используется в качестве замены обычного аналогового сигнала. Количество доступных выводов ШИМ зависит от типа используемого микроконтроллера в Arduino.

Так у Arduino на микроконтроллере:

  • Atmega8 — выводы 9, 10, 11;
  • Atmega128, Atmega168 и Atmega328 — выводы 3, 5, 6, 9, 10, 11;
  • Atmega1280 — выводы 2…13 и 44…46.

Частота переключения ШИМ большинства контактов составляет 490 Гц. Степень заполнения формируется числом от 0 до 255 (0 — без заполнения, 255 – полное заполнение).

Если мы подключим светодиод к контакту PWM и будем менять заполнение ШИМ, мы увидим изменение интенсивности свечения светодиода. Ниже приведен пример программы изменения свечения светодиода при помощи потенциометра:

#define ledPin 11 // светодиод подключен к контакту 11
#define analogPin 0 // потенциометр на А0
int val = 0; // val — переменная, хранящая значение A0
void setup()
{
pinMode(ledPin, OUTPUT); // устанавливаем контакт 9 как выход
}
void loop()
{
val = analogRead(analogPin); // чтение с потенциометра
analogWrite(ledPin, val / 4); // пишем в ШИМ
}

Как вы можете видеть, значение, считанное с аналогового входа, преобразуется в соответствующее значение ШИМ.

Чтобы ШИМ работал пропорционально вращению потенциометра, значение, полученное с A0, следует разделить на четыре. Это связано с тем, что данные с потенциометра лежат в диапазоне от 0 до 1024, а ШИМ принимает диапазон данных от 0 до 255.

В этом примере используется простое деление. В Arduino IDE имеется специальная функция map(), которая предназначена для пропорционального преобразования данных в новый диапазон значений.

Тестер транзисторов / ESR-метр / генератор
Многофункциональный прибор для проверки транзисторов, диодов, тиристоров…

Подробнее

Как преодолеть аппаратные ограничения

Большинство распространённых плат имеют аналогичные характеристики, среди них:

  • Uno;
  • Nano;
  • Pro mini;
  • и подобные.

Но с развитием ваших навыков разработки в этой среде появляется проблема нехватки мощности и быстродействия этой платформы. Первым шагом для преодоления ограничений является использование языка C AVR.

С его помощью вы ускорите на порядок скорость обращения к портам, частоту ШИМ и размер кода. Если вам и этого недостаточно, то вы можете воспользоваться мощными моделями с аналогичным подходом к разработке. Для этого подойдёт плата Arduino Mega2560. Еще более мощная – модель Due. В противном случае вам стоит ознакомиться с разновидностями одноплатных компьютеров и STM микроконтроллеров.

Ардуино Uno R3 – отличная плата для большинства проектов, которая служит для изучения устройств цифровой электроники.

По производителю

Существуют как официальные версии плат Arduino, так и платы от сторонних производителей. Оригинальные платы отличаются высоким качеством продукта, но и цена тоже выше. Они производятся только в Италии и США, о чём свидетельствует надпись на самой плате.

На примере самой популярной платы Arduino UNO:

  • Оригинальная плата. Поставляется только в фирменной коробке, имеет логотип компании, на портах платы — маркировка. Цена от производителя 20 €.

  • Плата от стороннего производителя. Качество хуже, однако цена начинается от 150 рублей. Качество платы может отразиться на её работоспособности в дальнейшем. Хоть это и редкость, но плата и вовсе может не работать «из коробки» — всё зависит от добросовестности изготовителя и продавца. Для работы с подобными платами требуется драйвер CH340, который находится в свободном доступе. Во всём остальном процесс разработки идентичен процессу разработки на оригинальных платах.

Микросхема АЦП ADS1220

Внешний вид чипа ADS1220

Микросхема ADS1220 является прецизионным 24-битным аналого-цифровым преобразователем, который имеет 4 однополюсных канала или 2 дифференциальных входа. Также он имеет малошумящий программируемый усилитель, благодаря которому можно осуществить контролируемое оконечное усиление.Кроме того, он дает два режима преобразования: непрерывное и одиночное.Основные особенности ADS1220:

  • 4 однополярных (или 2 дифференциальных) аналоговых входа
  • 24 битное разрешение (20 битное эффективное разрешение)
  • Низкое энергопотребление и широкий диапазон напряжений питания
  • Программируемый коэффициент усиления и частоты выборки
  • Встроенный цифровой фильтр подавления помех 50 и 60 Гц
  • Стабильные источник опорного напряжения и тактовый генератор
  • Программируемые источники тока
  • Встроенный датчик температуры
  • SPI интерфейс
  • Малогабаритный VQFN корпус для поверхностного монтажа.

Структура показана на рисунке

Структура ADS1220

Описание пинов платы

Микроконтроллер имеет 14 цифровых пинов, они могут быть использованы, как вход или выход. Из них 6 могут выдавать ШИМ-сигнал. Они нужны для регулировки мощности в нагрузке и других функций.

Пин ардуино Адресация в скетче Специальное назначение ШИМ
Цифровой пин 0 RX
Цифровой пин 1 1 TX
Цифровой пин 2 2 Вход для прерываний
Цифровой пин 3 3 Вход для прерываний ШИМ
Цифровой пин 4 4
Цифровой пин 5 5 ШИМ
Цифровой пин 6 6 ШИМ
Цифровой пин 7 7
Цифровой пин 8 8
Цифровой пин 9 9 ШИМ
Цифровой пин 10 10 SPI (SS) ШИМ
Цифровой пин 11 11 SPI (MOSI) ШИМ
Цифровой пин 12 12 SPI (MISO)
Цифровой пин 13 13 SPI (SCK) К выходу дополнительно подсоединен встроенный светодиод

Вызов ШИМ-сигнала осуществляется через команду AnalogWrite (номер ножки, значение от 0 до 255). Для работы с аналоговыми датчиками присутствует 6 аналоговых входов/выходов.

Пин Адресация в скетче Специальное назначение
Аналоговый пин A0 A0 или 14
Аналоговый пин A1 A1 или 15
Аналоговый пин A2 A2 или 16
Аналоговый пин A3 A3 или 17
Аналоговый пин A4 A4 или 18 I2C (SCA)
Аналоговый пин A5 A5 или 19 I2C (SCL)

Их тоже можно использовать, как цифровые.

Аналоговый сигнал обрабатывается 10 битным аналогово-цифровым преобразователем (АЦП), а при чтении микроконтроллер выдаёт численное значение от 0 до 1024. Это равно максимальному значению, которое можно записать в 10 битах. Каждый из выводов способен выдать постоянный ток до 40 мА.

Принципиальная схема платы выглядит так (нажмите для увеличения):

АЦП последовательного приближения (РПП)

«Рабочая лошадка» сферы обработки данных  — это аналогово-цифровой преобразователь последовательного приближения (РПП). Он обеспечивает превосходный баланс скорости и разрешения и обрабатывает широкий спектр сигналов с отменной точностью.

Этот преобразователь существует уже давно, поэтому модели РПП стабильны и надежны, а чипы относительно недороги. Они могут быть настроены как для простых АЦП-карт, где один АЦП-чип «совместно используется» несколькими входными каналами (мультиплексные АЦП-платы), так и для моделей, где каждый входной канал имеет свой собственный АЦП для одновременной выборки.

Блок-схема типичного РПП

Аналоговый вход большинства АЦП составляет 5 В, поэтому почти все интерфейсы формирования сигнала преобразовывают его одинаково. Типичный АЦП последовательного приближения использует схему выборки и хранения, которая принимает преобразованное аналоговое напряжение от интерфейса преобразования сигнала.

Встроенная система обработки данных создает аналоговое опорное напряжение, равное выходному сигналу цифрового кода устройства выборки-хранения. Оба сигнала передаются в компаратор, который отправляет результат сравнения в РПП. Этот процесс продолжается в течение n последовательных раз, причем n является битовым разрешением самого АЦП, пока не будет найдено значение, ближайшее к фактическому сигналу.

АЦП последовательного приближения не имеют внутреннего механизма фильтрации-сглаживания, поэтому, если в системе сбора данных такой компонент не предусмотрен перед АЦП, при выборе слишком низкой частоты выборки ложные сигналы (они же «помехи») будут оцифрованы АЦП РПП. Искажение особенно проблематично, поскольку его невозможно исправить после оцифровки. 

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

Преимущества:

  • простая схема с одним компаратором;
  • возможна более высокая частота выборки по сравнению с дельта-сигма АЦП;
  • хорошо справляется с естественными и искусственными формами сигнала.

Недостатки:

  • необходимость внешней фильтрации-сглаживания;
  • битовое разрешение и динамический диапазон ограничены по сравнению с дельта-сигма АЦП. 

Применение

Сферы применения АЦП последовательного приближения, включают системы сбора данных от недорогих мультиплексных до высокоскоростных систем с одним АЦП на канал, промышленные системы контроля и измерения, визуализацию КМОП-структур.

Характеристики АЦП

АЦП бывают разные, с разными характеристиками. Основная характеристика — это разрядность. Однако есть и другие. Например, вид аналогового сигнала, который можно подключать к входу АЦП.

Все эти характеристики описаны в документации на АЦП (если он выполнен в виде отдельной микросхемы) или в документации на микроконтроллер (если АЦП встроен в микроконтроллер).

Кроме разрядности, о которой мы уже говорили, можно назвать ещё несколько основных характеристик.

Least significant bit (LSB) — младший значащий разряд (МЗР). Это наименьшее входное напряжение, которое может быть измерено АЦП. Определяется по формуле:

1 LSB = Uоп / 2Р

Где Uоп — это опорное напряжение (указывается в характеристиках АЦП). Например, при опорном напряжении 1 В и разрядности 8 бит, получим:

1 LSB = 1 / 28 = 1 / 256 = 0,004 В

Integral Non-linearity — интегральная нелинейность выходного кода АЦП. Понятно, что любое преобразование вносит искажения. И эта характеристика определяет нелинейность выходного значения, то есть отклонение выходного значения АЦП от идеального линейного значения. Измеряется эта характеристика в LSB.

Иными словами, эта характеристика определяет, насколько “кривой” может быть линия на графике выходного сигнала, которая в идеале должна быть прямой (см. рис.).


Абсолютная точность. Также измеряется в LSB. Иными словами, это погрешность измерения. Например, если эта характеристика равна +/- 2 LSB, а LSB = 0,05 В, то это означает, что погрешность измерений может достигать +/- 2*0,05 = +/- 0,1В.

Есть у АЦП и другие характеристики. Но для начала и этого более чем достаточно.

Чем отличается аналоговый сигнал от цифрового

Аналоговый сигнал непрерывно изменяется во времени. Вся информация в природе аналоговая — волны на воде, колебание струны и т.д. Изначально человек записывал информацию (звуки, изображения, видео) с помощью аналоговых устройств. Но аналоговые сигналы чувствительны к воздействию шумов и помех.

Цифровой сигнал передается в виде единиц и нулей, для компьютеров и цифровой техники это проще реализовать (есть сигнал или нет сигнала). Для оперативной памяти в компьютерах используют конденсаторы, один заряженный конденсатор — 1 бит. На флеш-памяти используют транзисторы с плавающим затвором.

С появлением компьютеров аналоговые сигналы стали переводить в цифру, поскольку аналоговый сигнал подвержен искажениям и затуханию при передаче или записи. Наглядно продемонстрировать разницу между аналоговым и цифровым сигналом поможет картинка, где изображен процесс квантования — разбиение непрерывной величины на конечное число интервалов (перевод аналогового сигнала в цифру).

Квантование — разбиение непрерывной величины на интервалы

Общие сведения

Arduino Uno контроллер построен на ATmega328 (техническое описание, pdf). Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.

Из чего состоит схема arduino uno.

В отличие от всех предыдущих плат, использовавших FTDI USB микроконтроллер для связи по USB, новый Ардуино Uno использует микроконтроллер ATmega8U2. “Uno” переводится как один с итальянского и разработчики тем самым намекают на грядущий выход Arduino 1.0. Новая плата стала флагманом линейки плат Ардуино. Для сравнения с предыдущими версиями можно обратиться к полному списку плат Arduino.

Автоматический (программный) сброс

Для того, чтобы не приходилось каждый раз перед загрузкой программы нажимать кнопку сброс, на плате UNO реализована аппаратная функция сброса, инициируемая с подключенного компьютера. Один из сигналов управления потоком данных (DTR) микросхемы ATmega16U2 подключен к выводу сброса микроконтроллера ATmega328 через конденсатор емкостью 0,1 мкФ.  Когда сигнал DTR переходит в низкое состояние, формируется импульс сброса микроконтроллера. Это решение позволяет загружать программу одним нажатием кнопки из интегрированной среды программирования Arduino (IDE).

Вопрос эксперту

Есть ли недостатки у функции автоматического сброса?

При подключении платы UNO к компьютеру с операционной системой Mac Os X или Linux, микроконтроллер будет сбрасываться при каждом соединении программы с платой. В течение половины секунды на плате UNO будет запущен загрузчик. Несмотря на то, что программа загрузчика игнорирует посторонние данные, она может принять несколько байтов из пакета сразу после установки соединения.

Если в программе на плате Ардуино предусмотрено получение каких-либо данных при первом запуске, необходимо отпралять данные с задержкой примерно на 1 секунду после соединения. На модуле UNO существует дорожка, которую можно перерезать для отключения функции автоматического сброса. Дорожка маркирована надписью ”RESET-EN”. Автоматический сброс также можно запретить, подключив резистор сопротивлением 110 Ом между линией питания 5 В и выводом RESET.

О ADS1115

ADS1115 — это модуль преобразователя сигналов. Что он делает преобразовать из аналогового в цифровой. Вы можете подумать, что сама плата разработки Arduino уже включает внутренние АЦП, чтобы иметь возможность выполнять эту задачу при использовании аналоговых входов, и что они могут быть совместимы с сигналами микроконтроллера.

Да, верно, у них есть 6 АЦП с 10-битным разрешением в UNO, Mini и Nano. Но с ADS1115 вы добавляете еще один с 16-битное разрешение, превосходит Arduino, в дополнение к возможности освободить корпус Arduino. Пятнадцать из них предназначены для измерения и последний бит для знака аналогового сигнала, поскольку, как вы знаете, аналоговый сигнал может быть отрицательным или положительным.

Кроме того, в этом модуле есть все необходимое, поэтому пользоваться им очень просто. Чтобы подключить его к вашему Arduino вы можете использовать I2CПоэтому это действительно просто. Он даже включает в себя контакт с маркировкой ADDR, с помощью которого вы можете выбрать один из 4 адресов, доступных для этого компонента.

С другой стороны, вы должны понимать, что ADS1115 имеет два режима измерения, один из которых дифференциал и другой несимметричный:

  • Дифференциальный: он использует два АЦП для каждого измерения, уменьшая количество каналов до 2, но дает явное преимущество, заключающееся в том, что он может измерять отрицательные напряжения и не так уязвим для шума.
  • Односторонний: он имеет четыре канала, не используя оба, как в предыдущем случае. Каждый из 15-битных каналов.

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

Если ты хочешь сделать измерения менее 5В, но с большей точностью вы должны знать, что ADS1115 имеет PGA, который может регулировать усиление напряжения от 6.144 В до 0.256 В. Всегда помните, что максимальное напряжение, которое можно измерить в любом случае, будет используемым напряжением питания (5 В).

Распиновка и таблица данных

Если вы хотите увидеть все технические детали ADS1115, чтобы узнать его пределы на электронном уровне или условия, при которых он может работать в соответствии с рекомендациями производителя, вы можете использовать таблицы данных которые вы можете найти в сети. Например, вы можете скачать это с TI (Инструменты Техаса).

к распиновка и подключен, ранее я уже кое-что прокомментировал о сигнале ALRT, который также включает информацию об ADDR. Но у него есть и другие контакты, которые вам также следует знать для правильной интеграции с вашей платой Arduino или в любом другом случае. На модуле ADS1115 доступны следующие выводы:

  • VDD: питание от 2в до 5.5в. Вы можете включить его, подключив его к 5 В от вашей платы Arduino.
  • GND: земля, которую вы можете подключить к GND вашей платы Arduino.
  • SCL и SDA: контакты связи для I2C. В этом случае они должны перейти к соответствующим контактам в соответствии с ваша модель ардуино.
  • АДРЕСА: pin для адреса. По умолчанию он подключается к GND, который дает адрес 0x48, но вы можете выбрать другие адреса:
    • Подключен к GND = 0x48
    • Подключен к VDD = 0x49
    • Подключен к SDA = 0x4A
    • Подключен к SCL = 0x4B
  • ALRT: значок предупреждения
  • От A0 до A3: аналоговые контакты

Если вы хотите использовать одинарный конец Вы можете подключить аналоговый ток или напряжение, которое хотите измерить, между GND и одним из 4 доступных аналоговых контактов.

Для подключения одинарный конец, мы просто подключаем измеряемую нагрузку между GND и одним из 4 доступных контактов. В дифференциальном режиме вы можете подключить измеряемую нагрузку между A0 и A1 или между A2 и A3, в зависимости от канала, который вы хотите использовать.

В качестве примера подключения в случае режим дифференциального чтения, вы можете увидеть изображение выше. В нем 1.5 батареи используются последовательно, добавляя 3 В, которые подключены между A0 и A1 в этом случае, чтобы плата Arduino могла измерять значения напряжения, полученные в каждый момент через I2C. Очевидно, вы можете использовать любой другой сигнал для измерения, в данном случае это батареи, но это может быть что угодно …

Где купить ADS1115?

Если вы хотите, купить ADS1115Вы должны знать, что у вас есть модули, подготовленные для интеграции с Arduino по довольно низким ценам. Вы можете найти их во множестве специализированных магазинов электроники, а также на eBay, Aliexpress и Amazon. Например:

  • Пакет из 2 модулей ADS1116
  • Один модуль ADS1115

Мультиплексирование или один АЦП на канал

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

В мультиплексной системе АЦП один аналого-цифровой преобразователь оцифровывает сразу несколько аналоговых сигналов. Это достигается путем мультиплексирования аналоговых сигналов по одному в АЦП.

Это более экономичный подход, однако невозможно точно выровнять сигналы по оси времени, поскольку только один сигнал может быть преобразован за один раз. Поэтому между каналами всегда существует временной перекос. Если небольшие искажения некритичны в данной сфере применения, то это необязательно плохо. То же самое относится и к аналоговым устройствам, используемым в системе: важен выбор оптимального решения с учетом функциональности и срока службы.

Кроме того, поскольку максимальная частота выборки всегда делится на количество считываемых каналов, максимальная частота выборки на канал в мультиплексных системах обычно ниже, за исключением случаев, когда регистрируется только один или небольшое число каналов.

Что касается современных систем сбора данных, мультиплексные АЦП используются в основном в бюджетных решениях, где стоимость важнее точности или скорости.

Разрешение

Разрешение (разрядность) АЦП характеризует количество дискретных значений, которые преобразователь может выдать на выходе. Измеряется в битах. Например, АЦП, способный выдать 256 дискретных значений (0..255), имеет разрядность 8 бит, поскольку .

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

  • Пример 1
    • Диапазон входных значений = от 0 до 10 вольт
    • Разрядность АЦП 12 бит: 212 = 4096 уровней квантования
    • Разрешение по напряжению: (10-0)/4096 = 0.00244 вольт = 2.44 мВ
  • Пример 2
    • Диапазон входных значений = от −10 до +10 вольт
    • Разрядность АЦП 14 бит: 214 = 16384 уровней квантования
    • Разрешение по напряжению: (10-(-10))/16384 = 20/16384 = 0.00122 вольт = 1.22 мВ

На практике разрешение АЦП ограничено отношением сигнал/шум входного сигнала. При большой интенсивности шумов на входе АЦП различение соседних уровней входного сигнала становится невозможным, то есть ухудшается разрешение. При этом реально достижимое разрешение описывается эффективной разрядностью (effective number of bits — ENOB), которая меньше, чем реальная разрядность АЦП. При преобразовании сильно зашумленного сигнала младшие биты выходного кода практически бесполезны, так как содержат шум. Для достижения заявленной разрядности отношение С/Ш входного сигнала должно быть примерно 6 дБ на каждый бит разрядности.

Другие решения Texas Instruments, используемые для реализации аналоговых входов и выходов

Компания Texas Instruments предоставляет разработчикам широкий перечень всевозможных решений для упрощения процесса реализации аналоговых входов и выходов (табл. 6).

Таблица 6. Решения от Texas Instruments для реализации аналоговых входов и выходов

Наименование

Описание

TIPD216

4-канальный драйвер выхода на базе цифро-аналогового преобразователя DAC8775

TIDA-03031

Оценочная плата на базе электронного предохранителя TPS2660 и 25-Вт резервного источника питания

TIDA-00233

Решение для защиты входов ПЛК (10 А, 24 В)

TIDA-00401

10-Вт изолированный источник питания с широким диапазоном входных напряжений (15–36 В)

TIDA-00118

Тестовая плата для 16-разрядного модуля аналогового выхода ПЛК

PMP10189

Преобразователь напряжения на базе микросхем LM5017, TPS62160, TLV62080 и TPS62160

TIDA-01438

Модуль защиты от электростатических импульсов, построенный на базе TVS-диодов

TIDA-00689

Низкопрофильный и малогабаритный изолированный источник питания

TIDA-00688

Изолированный источник питания. Имеет изолированные выходы ±15 В и 5 В в форм-факторе с высотой 2,2 мм

TIDA-00237

Изолированный источник питания мощностью 1 Вт с диапазоном входного напряжения 12–36 В

TIDA-00400

Изолированный источник питания с 3 выходами: ±15 В/30 мА и +5 В/40 мА

PMP8871

Обратноходовой преобразователь с выходным напряжением 5 В, 1 А

TIDEP-0086

Оценочный модуль для работы с Ethernet-интерфейсом

TIDEP0033

Оценочный модуль для работы с SPI-интерфейсом

TIDA-00204

Оценочный модуль для работы с гигабитным Ethernet

TIDA-00230

Модуль для настройки и логирования NFC (два порта FRAM: NFC<->FRAM<->Serial)

TIDA-00560

Проект 16-канального статусного LED-драйвера, предназначенный для индикации статуса нескольких аналоговых и цифровых входных и выходных каналов

TIDA-01333

8-канальный модуль аналогового ввода на базе АЦП ADS8681

TIDA-00550

Проект модуля с двумя изолированными универсальными аналоговыми входными каналами на базе АЦП ADS1262

TIDA-00164

8-канальный модуль аналогового ввода на базе 16-битного АЦП ADS8688

TIDA-00764

8-канальный модуль аналогового ввода на базе 16-битного АЦП ADS8681

TIPD195

Референс-дизайн 3-контактного ПЛК

TIPD169

16-битная система сбора данных (DAQ) с частотой выборки 1 MSPS и несбалансированным мультиплексированным входом

TIPD166

8-канальный модуль аналогового ввода на базе 16-битного АЦП ADS8688

TIPD164

Модуль аналогового ввода для промышленного оборудования и температурных датчиков

TIPD151

Базовый проект 16-битной 4-канальной мультиплексированной системы сбора данных с частотой выборок 400 KSPS, высоковольтными входами и низким уровнем искажений

TIDEP0032

Мулитипротокольный промышленный Ethernet-детектор W/PRU-ICSS

TIDEP0028

Платформа разработчика Ethernet PowerLink

TMDSICE3359

Отладочная платформа для индустриальных систем на базе процессора Sitara AM335x и с возможностью работы с PROFIBUS

TIDEP0029

Сертифицированное устройство для работы с Profinet IRT V2.3 с 1-ГГц процессором

TIDEP0010

Платформа разработки связи по Sercos III на базе AM335x

TIDEP0003

Решение является платформой для создания и разработки ETHERNET/IP-коммуникаций

TIDEP0079

Проект EtherCAT на базе Sitara AM57x и PRU-ICSS с передачей в определенных временных интервалах

TIDA-00231

Адаптивный источник питания для ПЛК с аналоговым защищенным выходом на базе DAC8760 и LM5017

TIPD155

2-канальный модуль с аналоговыми выходами по напряжению и току на базе АЦП DAC8563 и драйвера XTR300

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Семинар по технике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: