Электротехнический интернет-журнал Electrik.info

"Электрик Инфо" - онлайн журнал про электричество. Теория и практика. Обучающие статьи, примеры, технические решения, схемы, обзоры интересных электротехнических новинок. Уроки, книги, видео. Профессиональное обучение и развитие. Сайт для электриков и домашних мастеров, а также для всех, кто интересуется электротехникой, электроникой и автоматикой.
 


Схемы подключения | Принципиальные схемы | Электроснабжение
Розетки и выключатели | Автоматы защиты | Кабель и провод | Монтаж электропроводки Ремонт электротехники | Молодому электрику

Электрик Инфо » Электрическая энергия в быту и на производстве » Практическая электроника » Как происходит преобразование аналогового сигнала в цифровой
Количество просмотров: 146373
Комментарии к статье: 8


Как происходит преобразование аналогового сигнала в цифровой


В электронике сигналы делят на: аналоговые, дискретные и цифровые. Начнем с того, что все, что мы чувствуем, видим, слышим в большинстве своем является аналоговым сигналом, а то, что видит процессор компьютера – это цифровой сигнал. Звучит не совсем понятно, поэтому давайте разбираться с этими определениями и с тем как один вид сигналов преобразовывается в другой.

Содержание статьи

Как происходит преобразование аналогового сигнала в цифровой

Типы сигналов

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

Для человека «холодно» может быть по разному, это и осенняя прохлада и зимний мороз, и легкие заморозки, но не всегда «холодно» это отрицательная температура, как и «тепло» - не всегда положительная температура.

Типы сигналов

Отсюда следует, что у аналогового сигнала две особенности:

1. Непрерывность во времени.

2. Число величин сигнала стремится к бесконечности, т.е. аналоговый сигнал нельзя точно поделить на части или проградуировать, разбив шкалу на конкретные участки. Способы измерения – основаны на единице измерений, и их точность зависит лишь от цены деления шкалы, чем она меньше, тем точнее измерение.

Дискретные сигналы – это сигналы, которые представляют собой последовательность отчетов или измерений какой-либо величины. Измерения таких сигналов не непрерывны, а периодичны.

Попытаюсь объяснить. Если вы установили термометр где-нибудь он измеряет аналоговую величину – это следует из вышеописанного. Но вы, фактически следя за его показаниями, получаете дискретную информацию. Дискретный – значит отдельный.

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

Цифровые сигналы – это набор уровней, типа 1 и 0, высокий и низкий, есть или нет. Глубина отражения информации в цифровом виде ограничена разрядностью цифрового устройства (набора логики, микроконтроллера, процессора etc.) Получается что для хранения булевых данных он подходит идеально. Пример, можно привести следующий, для хранений данных типа «День» и «Ночь», достаточно 1 бита информации.

Бит – это минимальная величина представления информации в цифровом виде, в нём может храниться только два типа значений 1 (логическая единица, высокий уровень), или 0 (логический ноль, низкий уровень).

В электронике бит информации представляется в виде низкого уровня напряжения (близкое к 0) и высокого уровня напряжения (зависит от конкретного устройства, часто совпадает с напряжением питания данного цифрового узла, типовые значения – 1.7, 3.3. 5В, 15В).

Цифровые сигналы

Все промежуточные значения между принятыми низким и высоким уровнем являются переходной областью и могут не обладать конкретным значением, в зависимости от схемотехники, как устройства в целом, так и внутренней схемы микроконтроллера (или любого другого цифрового устройства) могут иметь разный переходный уровень, например для 5-тивольтовой логики за ноль могут приниматься значения напряжения от 0 до 0.8В, а за единицу от 2В до 5В, при этом промежуток между 0.8 и 2В – это неопределенная зона, фактически с ее помощью отделяется ноль от единицы.

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

Ночь – Утро – День – Вечер

Для этого нам нужно уже 2 бита:

Пример с отображением в цифровом виде четырёх значений времени суток

Аналогово-цифровое преобразование

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

Такое преобразование нужно для взаимодействия цифровой техники с окружающей средой.

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

Звук в первичном виде

Он представляет собой сумму волн с различными частотами. Которые, при разложении по частотам (подробнее об этом смотрите преобразования Фурье), так или иначе, можно приблизить к похожей картинке:

Звуковая волна

Теперь попробуйте это представить в виде набора типа «111100101010100», довольно сложно, не так ли?

Другим примером необходимости преобразования аналоговой величины в цифровую, является её измерение: электронные термометры, вольтметры, амперметры и прочие измерительные приборы взаимодействую с аналоговыми величинами.

Как происходит преобразование?

Сначала посмотрите на схему типового преобразования аналогового сигнала в цифровой и обратно. Позже мы к ней вернемся.

Аналогово-цифровое преобразование

Фактически это сложный процесс, который состоит из двух основных этапов:

1. Дискретизация сигнала.

2. Квантование по уровню.

Дискретизация сигнала это определения промежутков времени, на которых измеряется сигнал. Чем короче эти промежутки – тем точнее измерение. Периодом дискретизации (Т) называется отрезок времени от начала считывания данных до его конца. Частота дискретизации (f) – это обратная величина:

fд=1/Т

После считывания сигнала происходит его обработка и сохранение в память.

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

Частота дискретизации должны быть как минимум в 2 раза больше чем частота дискретизируемого сигнала.

Это скриншот из википедии, с выдержкой из теоремы.

Теорема Котельникова

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

X1...X2=Xy

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

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

Точнее сказать число знаков после запятой скорее определяется разрядностью АЦП.

Квантование сигнала по уровню

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

Справа показано квантование сигнала, и запись в виде двух бит данных. Как видите, этот фрагмент сигнала разбит уже на четыре значения. Получается, что в результате плавный аналоговый сигнал превратился в цифровой «ступенчатый» сигнал.

Количество уровней квантования определяется по формуле:

Количество уровней квантования

Где n — количество разрядов, N — уровень квантования.

Вот пример сигнала разбитого на большее число квантов:

Квантование в АЦП

Отсюда очень хорошо видно, что чем чаще снимаются значения сигнала (больше частота дискретизации), тем точнее он измеряется.

Преобразование аналогового сигнала в цифровой вид

На этой картинке изображено преобразование аналогового сигнала в цифровой вид, а слева от оси ординат (вертикальной оси) запись в цифровом 8-битном виде.

Аналогово-цифровые преобразователи

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

Ранее в микроконтроллеры, например семейства MCS-51, не содержали в своем составе АЦП, использовалась для этого внешняя микросхема и возникала необходимость писать подпрограмму обработки значений внешней ИМС.

Аналоговые входы на плате Ардуино

Сейчас они есть в большинстве современных микроконтроллеров, например AVR AtMEGA328, который является основой большинства популярных плат Ардуино, он встроен в сам МК. На языке Arduino чтение аналоговых данных осуществляется просто – командой AnalogRead(). Хотя в микропроцессоре, который установлен в той же не менее популярной Raspberry PI его нет, так что не все так однозначно.

Фактически существует большое число вариантов аналогово-цифровых преобразователей, у каждого из которых есть свои недостатки и преимущества. Описывать которые в пределах этой статьи не имеет особого смысла, так как это большой объём материала. Рассмотрим лишь общую структуру некоторых из них.

Самым старым запатентованным вариантом АЦП, является патент Paul M. Rainey, «Facsimile Telegraph System,» U.S. Patent 1,608,527, Filed July 20, 1921, Issued November 30, 1926. Это 5-ти битный АЦП прямого преобразования. Из названия патента приходят мысли о том, что использование этого прибора было связано с передачей данных через телеграф.

Первое АЦП

Если говорить о современных АЦП прямого преобразования имеют следующую схему:

Схема АЦП

Отсюда видно, что вход представляет собой цепочку из компараторов, которые на выходе своем выдают сигнал при пересечении какого-то порогового сигнала. Это и есть разрядность и квантование. Кто хоть немного силен в схемотехнике, увидел этот очевидный факт.

Кто не силен, то входная цепь работает таким образом:

Аналоговый сигнал поступает на вход «+», на все сразу. На выходы с обозначением «-» поступает опорное напряжение, которое раскладывается с помощью цепочки резисторов (резистивного делителя) на ряд опорных напряжений. К примеру, ряд для этой цепи выглядит наподобие такого соотношения:

Urefi=(1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16)*Uref

В скобках через запятую указано, какую часть от общего опорного напряжения Uref подают на вход каждого входного напряжения.

Т.е. каждый из элементов имеет два входа, когда напряжение на входе со знаком «+» превышает напряжение на входе со знаком «-», то на его выходе появляется логическая единица. Когда на положительном (неинвертирующем) входе напряжение меньше, чем на отрицательно (инвертирующем), то на выходе – ноль.

Компаратор

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

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

Однако есть огромный недостаток параллельных цепей – это необходимость большого числа компараторов, для получения АЦП высокой разрядности. Чтобы получить, например 8 разрядов, нужно 2^8 компараторов, а это целых 256 штук. Для десятиразрядного (в ардуино 10-разрядный АЦП, кстати, но другого типа) нужно 1024 компаратора. Судите сами о целесообразности такого варианта обработки, и где он может понадобиться.

Есть и другие виды АЦП:

  • последовательного приближения;

  • дельта-сигма АЦП.

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

Знание принципов преобразование обязательно для всех кто работает с микроконтроллерами, ведь не в каждой даже современной системе встроены такие преобразователи, приходится использовать внешние микросхемы. Для примера можно привести такую плату, разработанную специально под GPIO-разъём Raspberry PI, с прецизионным АЦП на ADS1256.

Обучение программированию и созданию устройств на микроконтроллерах AVR

У электронщиков, специализирующихся на проектировании микроконтроллерных устройств, существует термин "быстрый старт". Относится он к случаю, когда надо в короткий срок опробовать микроконтроллер и заставить его выполнять простейшие задачи.

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

Освоить работу с микроконтроллерами в режиме "быстрый старт", научиться их программировать и создавать различные полезные умные электронные устройства можно легко с помощью обучающих видеокурсов Максима Селиванова в которых все основные моменты разложены по полочкам.

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

На данный момент у Максима Селиванова есть 4 курса по созданию устройств на микроконтроллерах, построенные по принципу от простого к сложному.

Программирование микроконтроллеров на языке Си

1. Программирование микроконтроллеров для начинающих

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

Курс замечательно подойдет и тем, кто только недавно предпринял первые попытки изучить программирование микроконтроллеров, но уже готов все бросить от того, что у него ничего не работает или работает, но не так как ему нужно (знакомо?!).

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

2. Программирование микроконтроллеров на языке С

Курс посвящен обучению программирования микроконтроллеров на языке Си. Отличительная особенность курса - изучение языка на очень глубоком уровне. Обучение происходит на примере микроконтроллеров AVR. Но, в принципе, подойдет и для тех, кто использует другие микроконтроллеры.

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

Курс идеально подойдет тем, кто только начал изучать программирование AVR микроконтроллеров на языке С и хочет углубить свои знания. Хорошо подойдет и тем, кто немного умеет программировать микроконтроллеры на других языках. И еще подойдет обычным программистам, которые хотят углубить знания в языке Си.

3. Создание устройств на микроконтроллерах на языке С

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

Материал курса прежде всего ориентирован на практику использования. Рассматриваются следующие темы: радиочастотная идентификация, воспроизведение звука, беспроводной обмен данными, работа с цветными TFT дисплеями, сенсорным экраном, работа с файловой системой FAT SD-карты.

4. Программирование дисплеев NEXTION

Дисплеи NEXTION представляют собой программируемые дисплеи с тачскрином и UART для создания самых разных интерфейсов на экране. Для программирования используется очень удобная и простая среда разработки, которая позволяет создавать даже очень сложные интерфейсы для различной электроники буквально за пару вечеров! А все команды передаются через интерфейс UART на микроконтроллер или компьютер. Материал курса составлен по принципу от простого к сложному.

Этот курс рассчитан на тех, кто хотя бы немного имеет опыта в программировании микроконтроллеров или arduino. Курс отлично подойдет и для тех, кто уже пытался изучать дисплеи Nextion. Из курса вы узнаете много новой информации, даже если думаете, что хорошо изучили дисплей!

NEXTION

Приближается осень, а вместе с ней наступит День знаний! Это отличная пора для новых дел, идей и начинаний и самое время для обучения. Используйте это время с пользой для прокачки своих знаний!

Полный курс обучения программированию микроконтроллеров со скидкой: Все 4 курса со скидкой

Популярные публикации:

Надеюсь, что эта статья была для вас полезной. Смотрите также другие статьи в категории Электрическая энергия в быту и на производстве » Практическая электроника

Подписывайтесь на канал в Telegram про электронику для профессионалов и любителей: Практическая электроника на каждый день



Поделитесь этой статьей с друзьями:


Другие статьи с сайта Электрик Инфо:

  • Программирование микроконтроллеров для начинающих
  • Про микроконтроллеры для начинающих - история создания, основные виды и раз ...
  • Что такое микроконтроллеры - назначение, устройство, софт
  • Подключение аналоговых датчиков к Ардуино, считывание показаний датчиков
  • 7 учебных курсов по работе с Ардуино, онлайн обучение проектированию и конс ...
  • Виды и устройство микроконтроллеров AVR
  • Чем отличаются аналоговые и цифровые датчики
  • Введение в аналоговую электронику
  • Самые популярные датчики для Ардуино
  • Какие бывают дисплеи для Ардуино и как их подключить
  • Категория: Электрическая энергия в быту и на производстве » Практическая электроника

    Цифровая электроника, Аналоговая электроника, Микросхемы, Arduino для начинающих

      Комментарии:

    #1 написал: Павел |

    С помощью встроенных аналого-цифровых преобразователей (АЦП) аналоговый сигнал вводится в программируемые логические контроллеры (ПЛК)

      Комментарии:

    #2 написал: Kostya |

    Как преобразовать аналоговый сигнал в вольтаж?

      Комментарии:

    #3 написал: Альберт |

    Kostya, любой сигнал - это уже "вольтаж"...

      Комментарии:

    #4 написал: Алексей Кузовцев |

    В любительской электронике большинство людей сталкивается с аналого-цифровыми преобразователями при работке с платами Ардуино. Это платформа с открытым исходным кодом, основанная на микроконтроллерах Atmel и графической среде разработки. Плата Arduino спроектирована так, что ее можно сразу использовать для экспериментов. Просто надо подключить ее к USB компьютера, установить среду разработки и можно приступать к программированию. Аналого-цифровой преобразователь обеспечивает связь между аналоговым и цифровым мирами в Arduino. Окружающая среда часто предоставляет аналоговый сигнал, но мы не можем обработать его напрямую. Нам нужно преобразовать его в цифровой формат с помощью аналого-цифрового преобразователя. Конвертер в Ардуино десятибитный. Это означает, что он может разделить аналоговый сигнал на 1024 различных значения. В обычных ситуациях нужны только функции, предоставляемые Arduino (analogReference, analogRead, analogReadResolution). Однако, если требуется что-то дополнительное, нужно использовать техническое описание ATmega328P и настроить аналого-цифровые измерения с использованием регистров.

      Комментарии:

    #5 написал: Павел |

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

      Комментарии:

    #6 написал: Сергей Сергеевич |

    Преобразование непрерывного сигнала в дискретный состоит из двух фаз. Сначала выполняется дискретизация сигнала, а затем квантование. Участок непрерывного сигнала можно бесконечно увеличивать и наблюдать его бесконечно малые детали, но поскольку компьютеры имеют только конечный объем памяти и не бесконечно быстры, мы должны ограничить реальную выборку при аналого-цифровом преобразовании только необходимым количеством выборок, которые мы будем дополнительно обрабатывать. Дискретизация осуществляется делением горизонтальной оси сигнала на четные участки и взятием по одному отсчету из каждого участка. Очевидно, что мы теряем много деталей исходного сигнала, потому что вместо непрерывной линии, которую можно бесконечно увеличивать, мы получаем лишь набор дискретных точек с интервалом, соответствующим используемой частоте дискретизации. В связи с тем, что компьютеры и другие устройства, дополнительно обрабатывающие цифровой сигнал, могут выражать числа только с ограниченной точностью, необходимо корректировать дискретные значения по вертикальной оси. Поскольку значение выборки может быть выражено только после определенного такта, то эта фаза называется аналого-цифровым преобразованием квантования.

      Комментарии:

    #7 написал: Эдуард |

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

    1. Дискретизация: Аналоговый сигнал (например, звуковая волна) измеряется в определенные моменты времени, и значения сигнала фиксируются. Эти значения образуют последовательность отсчетов, которые представляют аналоговый сигнал в дискретной форме.

    2. Квантование: Значения отсчетов приводятся к цифровому формату, при этом используется определенное количество битов, чтобы представить каждый отсчет. Это означает, что каждое значение отсчета представляется в двоичном формате, используя определенное количество битов. Чем больше количество битов, тем более точным будет представление аналогового сигнала в цифровой форме.

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

    Цитата: Kostya
    Как преобразовать аналоговый сигнал в вольтаж?

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

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

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

      Комментарии:

    #8 написал: Котофей |

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

    Присоединяйтесь к нам в социальных сетях:

    ВКонтакте | Facebook | Одноклассники | Электрик Инфо на Яндекс Дзен

     

    Популярные разделы сайта:

    Электрика дома  Электрообзоры  Энергосбережение
    Секреты электрика Источники света Делимся опытом
    Домашняя автоматика Электрика для начинающих
    Практическая электроника Электротехнические новинки
    Андрей Повный - все статьи автора



    Copyright © 2009-2024 Электрик Инфо - Electrik.info, Андрей Повный
    Вся информация на сайте предоставлена в ознакомительных и познавательных целях.
    За применение этой информации администрация сайта ответственности не несет.
    Перепечатка материалов сайта запрещена.