Аналогово цифровой преобразователь своими руками

АНАЛОГО ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ АЦП СВОИМИ РУКАМИ

Дополнение: D4, D5, D6 — распространенные стабилитроны на напряжение 4,7 В

Схема основана на десяти разрядном преобразователе TLC1549. На входе установлен делитель напряжения. Входящее напряжение от датчиков не должно превышать 5 вольт.
Точность измерительного устройства 0,005 вольт.

Используя датчики которые находятся на нашем сайте , вы сможете подключив устройство через COM порт компьютера (распиновка COM разъема представлена ниже) сможете получать данные с датчиков прямо на ваш компьютер.

Применение данного АЦП всесторонне, начиная датчиками протечки воды, датчиками температуры, газа, давления.

Данные элементы легко доступны на обычных радио рынках.

Внимание: Печатная плата существует, в большом расширении!

В качастве программы для снятия показаний с датчиков можно использовать распространенную программу OSCiloscope.

Файл с платой, для печати:
Скачать печатную плату АЦП
Печать производить без масштабирования. Удачной сборки!

Источник

Простой аналого-цифровой преобразователь (АЦП)

«Wireless World» (Англия), May. 1981

Простейший АЦП может быть построен по схеме, приведенной на рис.1. Входное напряжение, которое может изменяться в диапазоне от нуля до напряжения источника питания (Uп), представляется на выходах преобразователя в параллельном дополнительном двоичном коде.


Puc.1

Для нормальной работы АЦП инверторы-компараторы A1-А4 должны переключаться при напряжении на их входах, равном Uп/2, а выходные напряжения компараторов в устойчивых состояниях должны быть близкими к нулю и Uп. Кроме того, компараторы должны обладать высоким входным и низким выходным сопротивлениями.

Перечисленным требованиям удовлетворяют большинство современных ОУ, инвертирующие входы которых подключены к потенциалу Uп/2.

Если требуемая точность аналогоцифрового преобразования не превышает четырех разрядов, то в качестве основы для АЦП можно использовать счетверенные КМОП логические элементы «И-НЕ» или «ИЛИ-НЕ» Один из вариантов такого устройства представлен на рис. 2. Его входное сопротивление около 22 кОм. а время преобразования — не более 300 нс. Отечественным аналогом микросхемы 4001 является К176ЛЕ5, а 4011 — К176ЛА7.


Puc.2

Источник

Поваренная книга разработчика аналоговых схем: аналого-цифровые преобразователи 8

Дейл Ли (Texas Instruments)

Перед вами – глава из «Поваренной книги разработчика аналоговой электроники», созданной инженерами компании Texas Instruments (TI). Многим уже знаком аналогичный цикл об операционных усилителях. Но АЦП – не менее важная часть сигнального тракта, а секретов и тонкостей в его применении никак не меньше. Приведены конкретные схемотехнические примеры, пошаговые инструкции с формулами, позволяющими адаптировать схему к конкретному проекту. Результаты расчетов дополнительно проверяются в программе SPICE-моделирования. Для каждой схемы рекомендован как минимум один АЦП производства TI, однако разработчик может использовать и другие изделия компании, широкий выбор которых представлен на страницах каталога КОМПЭЛ. От читателя требуется понимание базовых принципов работы АЦП. Если же знаний недостаточно, следует вначале ознакомиться с учебными курсами TI Precision Labs (TIPL). Авторы обещают обновлять и дополнять статьи цикла.

Мы публикуем главы Поваренной книги на нашем сайте регулярно.

Читайте также:  Как сделать молд своими руками для изолона

Входной узел для обработки сигналов с большими значениями синфазной и дифференциальной составляющих

Описание схемы

Такие устройства, как, например, многофункциональные реле, датчики напряжения промышленной сети или системы управления железнодорожного транспорта, как правило, работают с дифференциальными сигналами, амплитуда и абсолютный (относительно общего провода) потенциал которых значительно превосходят диапазон рабочих напряжений АЦП. В этой главе приведен один из вариантов реализации узла, позволяющего оцифровывать подобные сигналы с помощью обычного АЦП последовательного приближения. В предлагаемой схеме (рисунок 39) прецизионный операционный усилитель осуществляет согласование высокоуровневого входного дифференциального сигнала со входом АЦП, причем коэффициент передачи узла на ОУ рассчитан таким образом, чтобы амплитуда сигнала на входе АЦП находилась в пределах ±10 В.

Рис. 39. Схема входного узла АЦП

Исходные данные для расчета данной схемы приведены в таблицах 31 и 32, а технические характеристики – в таблице 33. При необходимости параметры элементов могут быть скорректированы под конкретные значения амплитуд синфазной и дифференциальной составляющих входного сигнала, а также – с учетом требований к динамическим характеристикам, частотному диапазону и прочим особенностям конкретного приложения.

Таблица 31. Параметры рабочих сигналов

Вход схемы Вход АЦП Выход (оцифрованный сигнал)
VinDiffMin = -20 В CH_x = +10 В 7FFFH (32767)
VinDiffMax = +20 В CH_x = -10 В 8000H (32768)

Таблица 32. Параметры источников питания

AVDD DVDD VCC (HVDD) VSS (HVSS)
5,0 В 3,3 В +15 В -15 В

Таблица 33. Технические характеристики узла

Параметр OPA827
(расчетное)
OPA827
(модель)
OPA192
(расчетное)
OPA192
(модель)
Диапазон изменения входного сигнала (при Vdif = ±20 В), В ±26 ±26 ±35 ±35
Ошибка оцифровки АЦП 45° 67,1° > 45° 68,6°
Уровень шума на входе АЦП, мкВ (среднеквадратичное значение) 14,128 15,88 5,699 6,44

Рекомендуем обратить внимание:

  • Требуемый коэффициент усиления узла на основе операционного усилителя необходимо определять на основе параметров реального входного сигнала и с учетом возможностей АЦП, как описано в разделе «Выбор компонентов».
  • Допустимый диапазон изменения входного синфазного сигнала определяется по методике, приведенной в разделе «Выбора компонентов».
  • В рассматриваемой схеме амплитуда синфазной составляющей входного сигнала может принимать любые значения в диапазоне VInputCM. Пример расчета данного параметра для операционных усилителей OPA827 и OPA192 приведен в разделе «Выбор компонентов».
  • Конденсаторы COG следует выбирать по критерию минимального уровня искажений.
  • Для обеспечения требуемой точности оцифровки необходимо использовать пленочные резисторы с точностью 0,1% и температурным коэффициентом сопротивления 20 ppm/°C или лучше. Чтобы минимизировать величины ошибок усиления, смещения и оцифровки, обратите внимание на анализ статистических характеристик схемы.
  • При выборе компонентов коррекции частотной характеристики операционного усилителя следует руководствоваться требованиями к динамическим характеристикам системы. Значения Rfilt и Cfilt зависят от схемотехники узла сопряжения, рабочей полосы частот входного сигнала, а также частоты дискретизации АЦП. В приведенном примере показан один из наилучших вариантов реализации данной цепочки, однако при необходимости, например, при изменении схемы узла сопряжения, возможно, придется использовать другой RC-фильтр.

Выбор компонентов

  • Определим необходимый коэффициент передачи по напряжению узла на ОУ по формуле 1:
  • Этот же коэффициент определяется соотношением номиналов резисторов Rf/Rg в цепи отрицательной обратной связи, которые можно рассчитать, например, используя шаблоны в разделе «Усилитель и компаратор\Расчет коэффициента усиления» («Amplifier and Comparator\Find Amplifier Gain») Инженерного калькулятора для аналоговых схем (Analog Engineer’s Calculator). При использовании номиналов резисторов из стандартного ряда, получим формулу 2:
  • Определим минимальное и максимальное напряжение на входе операционного усилителя (рабочий диапазон синфазного напряжения Vcm_amp). Согласно технической документации на ОУ OPA827, величины синфазных напряжений на его входах Vcm_opa должны находиться в диапазоне (формула 3):
Читайте также:  Как восстановить треснутый бампер своими руками

Источник

Электроника для всех

Блог о электронике

AVR. Учебный курс. Делаем АЦП из Аналогового компаратора

Так сложилось, что основной МК с которым я работаю постоянно и на котором делаю подавляющее большинство задач это ATTiny2313 — он популярен, а, главное, это самый дешевый контроллер из всей линейки AVR с числом ног более 8. Я их брал числом около трех сотен за 18, чтоль, рублей штучка. Но вот западло — у него нет АЦП . Совсем нет. А тут он понадобился — нужно замерить сигнал с датчика. Засада. Не переходить же из-за такой фигни на более фаршированную ATTiny26 — она и стоит дороже и фиг где купишь у нас, да и что тогда делать с той прорвой ATTiny2313 что уже закуплена? Пораскинул мозгами…

А почему бы не сварганить АЦП последовательного сравнения? Конечно, быстродействие и точность будет не фонтан, зато, не меняя тип МК и всего с двумя копеечными деталями дополнительного обвеса, я получу полноценный, хоть и тормозной, 8ми разрядный АЦП, вполне удовлетворяющий моим скромным запросам!

Как работает АЦП последовательного сравнения.
Что у нас есть в ATTiny2313 аналогового? Правильно — аналоговый компаратор . Теперь достаточно подать на его вход замеряемый сигнал и методично сравнивать с опорным напряжением, линейно изменяя величину опорного напряжения. На каком из опорных напряжений произойдет сработка компаратора, тому и примерно равен измеряемый сигнал +/_ шаг изменения опорного.

Осталось получить переменное опорное напряжение, а чем, из сугубо цифрового выхода контроллера, можно вытянуть аналоговый сигнал? ШИМом! Предварительно его проинтегрировав. Для интеграции используем простейший RC фильтр. Конденсатор у нас будет интегрировать заряд, а резистор не даст сдохнуть порту при зарядке кондера. Результатом прогона ШИМ’а через подобный фильтр станет достаточно стабильное постоянное напряжение.

Осталось только прикинуть номиналы фильтра. Частота среза — частота, начиная с которой, фильтр начинает глушить переменную составляющую, у Г образного RC фильтра равна обратной величине из его постоянной времени w=1/RC . Я воткнул кондер на 0.33Е-6 Ф и резистор на 470 Ом, получилось что w=6447 рад/c . Поскольку угловая частота нам никуда не уперлась, то делим ее на 2pi = 6.28 получили около килогерца, 1026.6 Гц, если быть точным. Раз частота ШИМ а у нас запросто может быть порядка десятков килогерц, то на выходе будет гладенькая такая постоянка, с незначительными пульсациями.

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

А это фотография платы. Резистор напаян снизу, на дорожки, а вот конденсаторы видно. Их два, так как я тут и на второй канал ШИМ повесил фильтр, правда так и не задействовал. Также видно, что белый провод от переменного резистора теперь идет на инверсный компаратора, а оранжевый идет с ноги конденсатора на прямой вход.

Читайте также:  Как сделать вечеринку для детей своими руками

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

  • UARTundADC.asm — Головной файл
  • vectors.asm — Таблица векторов прерываний
  • init.asm — Инициализация периферии
  • macro.asm и define.asm — Макросы и макроопределения

Прокомментирую лишь главную функцию Calc .
При вызове процедуры Calc у нас первым делом:

  1. Конфигурируется аналоговый компаратор и, главное, активизируются его прерывания. Описание и настройка компаратора уже были описаны ранее
  2. Затем в сканирующий регистр (R21) закидывается начальное значение сканирования 255.
  3. После чего это значение забрасывается в регистр сравнения ШИМ OCR1AL . ШИМ был заранее, в разделе init.asm сконфигурирован и запущен, так что сразу же на его выходе появляется сигнал скважностью (скважность это отношение длительности сигнала к периоду этого сигнала) 1 т.е., фактически, пока это просто единица.
  4. Выжидаем в функции Delay некоторое время, чтобы закончился переходный процесс (конденсатор не может мгновенно изменить свое напряжение)
  5. Уменьшем значение сканирующего регистра (что при загрузке в OCR1AL уменьшит скважность на 1/255), проверяем не стало ли оно нулю. Если нет, переходим на пункт 3.

Итогом станет последовательное уменьшение скважности сигнала с 1 до 0, с шагом в 1/255 , что будет преобразовано после фильтра в уменьшающееся напряжение. А, так как в главной процедуре у меня Calc вызывается циклически, то на входе компаратора будет пила.

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

По окончании скан цикла, выданное значение отправляется в регистр UDR и улетает в комп, рисуя в окне Terminal’a график вращения ручки переменного резистора.

Как видно, вверху есть некоторый срез. Это связано с тем, что максимальное напряжение, которое может выдать нога МК, с учетом падений на всех резисторах, порядка 4.7 вольта, а с задающего потенциоматера я могу и все 5 выкрутить. Ну еще и верхушки заваливаются чуток. Если понизить частоту, то диапазон несколько расширится.

Вот так, применив немного смекалки, а также две дополнительные детали общей суммой в один рубль и десяток строк кода, я сэкономил кучу бабла =)

Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!

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

58 thoughts on “AVR. Учебный курс. Делаем АЦП из Аналогового компаратора”

Золотая идея. Дёшево и сердито, но смысл верный!

Источник

Оцените статью