Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Изолированный аналоговый вход для Arduino

Компоненты и расходные материалы

Резистор 100 кОм
± 1% металлическая пленка
× 2
Arduino UNO
× 1
Texas Instruments LM331
× 1
LM7808
× 1
резистор 3,3 кОм
± 1% металлическая пленка
× 1
резистор 270 Ом
± 1% металлическая пленка
× 1
резистор 47 Ом
× 1
резистор 12 кОм
± 1% металлическая пленка
× 1
резистор 6,8 кОм
± 1% металлическая пленка
× 1
Резистор 10 кОм
× 1
Резистор 330 Ом
× 1
Резистор 220 Ом
× 1
многооборотный прецизионный потенциометр 5 кОм
× 1
конденсатор 100 нФ
Майларовый шрифт
× 1
конденсатор 10 нФ
Майларовый шрифт
× 1
конденсатор 1 МФ
Майларовый шрифт
× 1
Конденсатор 100 нФ
× 1
Конденсатор 4,7 мкФ
× 1
Конденсатор 220 мкФ
× 1
диод 1N4001
× 4
оптоизолятор 4N25
× 1

Необходимые инструменты и машины

Паяльник (общий)

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

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

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

Более подробную информацию можно найти в сообщении, опубликованном в моем блоге:http://ardupiclab.blogspot.it/.

Код

  • Интерфейс и программа Arduino
Интерфейс и программа Arduino Arduino
Arduino может измерять частоту двумя способами:
• измерение периода с помощью функции pulsein ();
• измерение частоты с помощью таймеров / счетчиков ЦП с использованием специальных библиотек.
В первом методе дважды используется функция pulsein () для измерения времени ВЫСОКОГО и НИЗКОГО времени сигнала с разрешением в микросекунды. Сумма двух измерений - это период сигнала. Для сигнала 5 кГц период составляет 200 мкс =ВЫСОКОЕ время + НИЗКОЕ время =125 + 75 мкс. Разрешение по времени относительно низкое, и на точность измерения также влияет время программных инструкций.
Положительным моментом этого метода является скорость измерения, которая немного превышает измеряемый период. Недостатком является то, что помимо меньшей точности, он наиболее чувствителен к шуму электрической сети (50 или 60 Гц).
По этим причинам я предпочитаю измерение частоты относительно периода. Время измерения больше, но вы получаете более высокую точность и точное время выборки. Кроме того, выбор периода измерения, кратного периоду измерения электрической сети, обеспечивает превосходную помехозащищенность.
Я использую библиотеку FreqCounter от Мартина Наврата KHM LAB3:
http://interface.khm.de/wp-content/uploads/2009/01/FreqCounter_1_12.zip
Эта библиотека использует Timer / Counter1 для подсчета импульсов на переднем фронте T1 / PD5 / digitalPin5 и Timer / Counter2 для генерации времени стробирования с прерываниями 1 мс.
Я выбрал время стробирования, равное 1000 мс, чтобы отсчитать период в 50 или 60 сетевых циклов. В этом случае вы получите разрешение в пять раз больше, чем у Arduino Uno.
 #include  void setup () {Serial.begin (9600); // подключаемся к последовательному порту Serial.println ("Оптоизолированный аналоговый вход");} long int frq; void loop () {FreqCounter ::f_comp =0; // Устанавливаем компенсацию на 0 FreqCounter ::start (1000); // Начинаем отсчет с гейтом 1000 мс while (FreqCounter ::f_ready ==0) // ждем, пока счетчик не будет готов frq =FreqCounter ::f_freq; // читаем результат Serial.println (frq); // вывод результата delay (100);} 

Схема

Схема принимает входное напряжение от 20 мВ до 5 В или ток от 4 до 20 мА (при вставленной перемычке W1). Два параллельных резистора R2 и R3 дают значение около 250 Ом, чтобы иметь ток от 1 до 5 В для входного тока от 4 до 20 мА.
Для подключения схемы к Arduino Uno требуется всего три провода и резистор. Выход оптрона должен быть подключен к цифровому входу D5 с подтягивающим резистором 2,2 кОм, подключенным к + 5В Arduino.
Если требуется входной диапазон 10 В, необходим источник питания 15 В, поэтому вам необходимо заменить регулятор 7808 на 7815. Трансформатор T1 также должен питать датчик, поэтому он должен иметь соответствующее напряжение и мощность. Подстроечный резистор P1 необходимо отрегулировать так, чтобы получить коэффициент преобразования около 1 кГц / В.

Производственный процесс

  1. Сигнал тревоги для растений, предупреждающий о жажде
  2. DIY Простой осциллограф Arduino 20 кГц на ЖК-дисплее Nokia 5110
  3. Умные жалюзи
  4. Итальянские часы со словами
  5. Только три контакта для клавиатуры 4x3
  6. Счетчик кВтч Sigfox
  7. Монитор температуры Bluetooth
  8. Блокировка, управляемая жестами
  9. Компаньон IC
  10. USB-MIDI-адаптер