Как подключить ацп к компьютеру
Перейти к содержимому

Как подключить ацп к компьютеру

  • автор:

Установка АЦП

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

• Отключите компьютер и хроматографы от сети.

• Убедитесь, что все хроматографы и компьютер имеют общую шину заземления. В большинстве случаев достаточно, чтобы они имели трехпо­люсные вилки с заземляющим контактом и были подключены к одному щитку. Однако при повышенных требованиях к снижению уровня шумов желательно иметь отдельное заземление всех корпусов непосредственным подсоединением к одной и той же заземляющей шине (желательно в одной точке).

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

Подключение АЦП Е-24 или Е-18

Выносной модуль АЦП Е-24 подключается к СОМ-порту компьютера, через который производится передача данных, а также питание модуля. АЦП Е-18 также подключается к СОМ-порту, но для его питания используется сетевой адаптер, входящий в комплект поставки, в остальном его установка производится аналогично Е-24 (подробнее см. раздел Выносной модуль Е-18 ).

• Включите компьютер и установите поставочный диск. Это можно также выполнить после подключения АЦП.

A У компьютера может быть 2 (у более старых моделей), 1 (у современных моделей) или ни одного (у ноутбуков) СОМ-порта. При отсутствии доступного СОМ-порта подключение АЦП может производиться к USB-порт через USB/COM-конвертор.

Для подключения выносного модуля АЦП Е-24 выполните следующее.

• Поместите модуль АЦП около хроматографов и с помощью цифрового кабеля из комплекта поставки подключите его к порту СОМ1 компьютера (рекомендуется) или к другому свободному СОМ-порту (в этом случае потребуется изменение конфигурации системы – см. Настройка конфигурации системы ). При отсутствии доступного СОМ-порта подключите АЦП к USB-порту с помощью USB/СОМ конвертора.

A Проверьте надежность подключения кабеля к АЦП и к СОМ-порту, обязательно зафиксируйте разъемы винтами. Нарушение контакта между АЦП и СОМ-портом – наиболее частая причина отсутствия сигнала!

• Подключите АЦП к хроматографу. Для этого возьмите из комплекта поставки аналоговый кабель требуемой длины и подсоедините его к первому аналоговому входу АЦП. Второй конец кабеля подключите к выходу Интегратор на хроматографе, подсоединив желтый провод кабеля к выходной клемме ‘+’, а сиреневый провод — к выходной клемме ‘-‘. Если у хроматографа выход Интегратор отсутствует, используйте выход, предназначенный для подключения самописца.

• Подсоедините провода синхронизации запуска (сдвоенный длинный провод) к клеммам хромато­графа с пометкой Запуск интегратора, контактной паре инжектора или просто к кнопке, замыкающей эти два контакта.

• Подсоедините заземляющий (белый) провод кабеля к клемме Земля хроматографа.

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

Аналого-цифровые преобразования — АЦП

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

Все эти устройства имеют шкалу, которую мы используем для фиксации их показаний. Рассмотрим простой пример — определение температуры с помощью обычного градусника. Человек решает эту задачу очень просто: мы смотрим, к какому из делений ближе всего приблизился уровень жидкости в градуснике. Полученное таким образом значение и будет измеренной температурой. Иными словами, мы осуществляем преобразование аналоговой непрерывной величины в дискретную, которую можно записать на бумаге с помощью цифр.

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

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

Конструктивно, АЦП может находиться в одном корпусе с микропроцессором или микроконтроллером, как в случае Arduino Uno. В противном случае, как и все современные электронные устройства, АЦП может быть оформлен в виде отдельной микросхемы, например MCP3008:

MCP3008_1-500x500

Следует отметить, что существует и устройство с обратной функцией, называемое цифро-аналоговым преобразователем (ЦАП, DAC). Оно позволяет переводить цифровой сигнал в аналоговый. Например, во время проигрывания мелодии на мобильном телефоне происходит преобразование цифрового кода из MP3 файла в звук, который вы слышите у себя в наушниках.

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

Функции работы с АЦП

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

ARDUINO_V2_sub2

На карте Arduino Uno аналоговые входы имеют буквенно-цифровые обозначения A0, A1, …, A5 (снизу слева).

Во время работы всё с теми же кнопками, мы познакомились с функцией digitalRead, которая умеет считывать цифровой сигнал с определенного входа контроллера. У этой функции существует аналоговая версия analogRead, которая может делать то же самое, но только для аналогового сигнала.

результат = analogRead( номер_контакта );

после вызова этой функции, микроконтроллер измерит уровень аналогового сигнала на заданном контакте, и сохранит результат работы АЦП в переменную «результат». При этом результатом функции analogRead будет число от 0 до 1023.

Разрядность АЦП

Надо заметить, что число 1023 здесь появилось неспроста. Дело в том, что у каждого устройства АЦП есть такой важный параметр как разрядность. Чем больше значение этого параметра, тем точнее работает прибор. Предположим, что у нас есть АЦП с разрядностью 1. Подавая на вход любое напряжения от 0 до 2,5 Вольт, на выходе мы получим 0. Любое же напряжение от 2,5 до 5 вольт даст нам единицу. То есть 1-битный АЦП сможет распознать только два уровня напряжения. Графически это можно изобразить следующим образом:

adc-1bit

АЦП с разрядностью 2 распознает уже четыре уровня напряжения:

  • от 0 до 1,25 — это 0;
  • от 1,25 до 2,5 — это 1;
  • от 2,5 до 3,75 — это 2;
  • наконец, от 3,75 до 5 — это 3.

На следующих двух картинках изображена работа АЦП с разрядностью 2 и 3 бит:

adc-2-4bit

В Arduino Uno установлен 10-битный АЦП, и это значит, что любое напряжение на аналоговом входе в диапазоне от 0 до 5 вольт будет преобразовано в число с точностью 1/1024 вольта. На графике будет сложно изобразить столько ступенек. Имея такую точность, 10-битный АЦП может «почувствовать» изменение напряжение на входе величиной всего 5 милливольт.

Опорное напряжение

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

от 0 до опорного напряжения

Это изменение повлечет за собой изменение формулы расчет точности АЦП:

точность = опорное напряжение/1024

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

В нашем примере опорное напряжение будет равно напряжению питания Arduino Uno, которое дал USB порт компьютера. У моем конкретном случае это напряжение было 5.02 Вольта, и я могу смело заявить, что измерил заряд батарейки с высокой точностью.

Что если вы питаете микроконтроллер от другого источника? Допустим у вас есть четыре NiMh аккумулятора на 1.2 Вольта. В сумме они дадут 4.8 Вольта (пусть они немного разряжены, ведь в действительности их заряжают до 1.4 Вольта). Точность измерения будет равна 4.8/1024. Это следует учесть в нашей программе.

Наконец рассмотрим случай, когда мы питаем Arduino Uno одним напряжением, а в качестве опорного хотим установить совсем другое, например, 3.3 Вольта. Что делать? Для такого варианта на Arduino Uno есть специальный вывод Vref. Чтобы решить проблему, нам нужно подать на этот контакт напряжение 3.3 Вольта, и разрешить использование внешнего источника опорного напряжения функцией:

analogReference(EXTERNAL);

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

Также следует учитывать, что результат измерения значения напряжения не может превышать границы диапазона. Если мы выбираем в качестве опорного напряжения 3.3 Вольта, а поступающий сигнал будет с большим напряжением, то мы получим неправильное значение напряжения, поскольку АЦП «не знает» о наличии более высокого напряжения.

Программа

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

int val = 0; void setup() < Serial.begin(9600); pinMode(A0, INPUT); >void loop()

Теперь загружаем программу на Arduino, и переходим к измерениям.

Подключение

Чтобы измерить напряжение на батарейке, мы должны подключить её к нашей Arduino всего двумя контактами. Для примера используем щелочную батарейку на 1.5 Вольта.

adc_bb_

Теперь откроем окно COM-монитора в Arduino IDE, и посмотрим какие значение выдает нам АЦП:

serial_out_adc

Что означает число 314? Вспомним, что 10-битный АЦП разбивает диапазон от 0 до 5 вольт на 1024 части. Значит точность 10-битного АЦП — 5/1024. Зная точность, мы можем записать формулу для преобразования показаний АЦП к вольтам:

где V — измеренное напряжение на батарейке;
ADC — результат работы функции analogRead.

Подставим эту формулу в программу и снова попробуем измерить заряд батарейки!

int val = 0; void setup() < Serial.begin(9600); pinMode(A0, INPUT); >void loop() < val = analogRead(A0); Serial.println((5/1024.0)*val); delay(1000); >

serial_out_adc_v

Уже больше похоже на правду.

Итог

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

На нашем портале можно найти несколько уроков, выполнение которых зависит от понимания темы АЦП: датчик температуры, ёмкостный датчик, фоторезистор, потенциометр и аналоговый джойстик. А в совокупности с еще одной важной темой — ШИМ, применение АЦП позволит создать диммер светодиодной лампы и регулятор хода двигателя. Успехов!

Изменено: 17 Янв, 2016 18:40

Аналого-цифровые преобразования — АЦП : 12 комментариев

Можно узнать, что значит если после закрузки второй программы пишет не 1.5, а 0.93? При том,что на самой батарейке написано 1.5

Как подключить ацп к компьютеру

Текущее время: Пн фев 05, 2024 04:22:52

Часовой пояс: UTC + 3 часа

Запрошенной темы не существует.

Часовой пояс: UTC + 3 часа

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y

Работоспособность сайта проверена в браузерах:
IE8.0, Opera 9.0, Netscape Navigator 7.0, Mozilla Firefox 5.0
Адаптирован для работы при разрешениях экрана от 1280х1024 и выше.
При меньших разрешениях возможно появление горизонтальной прокрутки.
По всем вопросам обращайтесь к Коту: kot@radiokot.ru
©2005-2024

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *