Максимальные длины сигнальных проводов

Тема в разделе "Посоветуйте детальки", создана пользователем DrProg, 19 июл 2015.

  1. DrProg

    DrProg Вечный нерд

    Пока прототип стоит на столе рядом с датчиками все работает замечательно, но вот приходит время полевых испытаний и вопрос с расстояниями становится важнейшим. К примеру, на какое расстояние можно отдалить от главного блока аналоговый датчик влажности почвы или освещения? Как можно увеличить расстояние, диаметром проводов? Есть ли аппаратные решения для увеличения этого расстаяния без потери точности?
     
  2. geher

    geher Гуру

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

    DrProg Вечный нерд

    Интересует хотя бы порядок длины при котором можно считать что сигнал без искажений? Метр? Два? Не всегда преобразовывать в цифру просто и недорого для простого датчика.
     
  4. geher

    geher Гуру

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

    Тут ( http://www.kemeke.ru/article/analogovye-i-cifrovy-datchiki-chto-luchshe ) пишут, что можно и до километра при сечении провода 2 мм^2. Но полагаю, что без грамотного экранирования и обработки помех тут не обойтись. И в любом случае некоторая потеря точности будет. Другой вопрос, что она может оказаться некритичной в некотором конкретном случае.
     
    DrProg нравится это.
  5. Faberge

    Faberge Administrator Администратор

    Ставьте АЦП, RS-485 и выкиньте из головы все эти мысли о помехах.
     
    DrProg нравится это.
  6. DrProg

    DrProg Вечный нерд

    Можно поподробнее, каким образом аналоговый сигнал перерабатывать в цифровой, чем принимать и как распознать?
     
  7. Megakoteyka

    Megakoteyka Оракул Модератор

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

    DrProg Вечный нерд

    Можно на примере, что такое АЦП аппаратно? Как принимать сигналы на одной Ардуине с нескольких АЦП?
     
  9. Megakoteyka

    Megakoteyka Оракул Модератор

    Для ардуины считывание со своего АЦП - вызов analogRead.
     
  10. geher

    geher Гуру

    Те микросхемы АЦП, с которыми я сталкивался, "преобразуют" аналоговый вход в SPI, который вроде как не предназначен для длинных линий.
    Так что, как мне кажется, лучше взять какой-нибудь "младший" МК с АЦП (встроенным или в виде внешней микросхемы) и UART, например ATTiny45 или ATTiny2313, и сопрягать его с RS-485.
    Для микроконтроллеров без встроенного UART, таковой иногда можно реализовать программно (если верить прочитанному, то накладывает дополнительные требования на качество осциллятора МК).