Элемент промышленной электроники

Я уже давненько не писал в блог. А дела тем не менее идут.

Сегодня не будет ничего уникального и необычного. Я не буду выдавать секретов и рассказывать про новые технологии. Сегодня — изъезженная тема — АЦП с выходом на RS485.

По большому счёту ничего интересного и секретного. Но кому интересно, прошу под кат. Там несколько фоток и пара абзацев в стиле «чё-как»

Собственно, тема далеко не новая и сказать тут новое слово уже не получится.

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

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

Вот результат:

и «обратная сторона Луны»:

В двух словах. В основе девайса лежит ATMEGA48. Она обеспечивает прием и оцифровку аналоговых сигналов и обеспечивает вывод информации в последовательный порт. 485-ый интерфейс реализован на одноименной микросхеме — AD485. Источник питания — на микросхеме 34063.

Устройство заработало сразу. Программное обеспечение было написано и тоже довольно-таки непринуждённо взлетело. В общем всё получилось легко. К сожалению, по истечение 3-4 дней задача самоустранилась.

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

Ошибка первая. В качестве источника питания нужно было взять обычный стабилизатор 78L05, а не городить огород на 34093. Потребляемый ток устройства составляет 15-20 мА, поэтому применение 34093 не даёт никакой выгоды. А вот помех от «стучащего» степ-дауна — завались! (Благо, та задача, ради которой создавался девайс, работала с очень медленными аналоговыми сигналами — верхняя частота 10-15 Гц.)

Ошибка вторая. Если посмотреть на рисунок печатной платы, то можно заметить, что на аналоговых входа установлены резисторы по 10 кОм. Больше там ничего нет. Там нет никаких резистивных делителей напряжения. Это не есть хорошо и вот почему.

Ошибка третья. На плате видно, что нагрузочный резистор (150 Ом) в линию RS485 подключается одним джампером, в то время как резисторы (10 кОм), которые тянут A- и B-линии включены постоянно. Я пришёл к пониманию, идеи, что нагрузочный резистор и резисторы-растяжки должны или подключаться одновременно все вместе, или же не включаться, но тоже все вместе.

Ведь если устройство не является концевым на линии, это значит, на линии где-то присутствует концевое устройство. А если оно присутствует, то пусть оно и «тянет» A- и B-линии в разные стороны. Зачем ещё дополнительно грузить передатчики?

В моём случае оправдывает только то, что резисторы-растяжки высокоомные — по 10 кОм, и почти не создают нагрузку. А так, вообще, когда используются растяжки по килоому, а устройств на линии не два, а много, — то да, нужно подумать, как это всё резистивное хозяйство коммутировать. Самым лучшим способом по моёму мнение, является установка двдойного джампера, который подключает все резисторы к линии одновременно.

Тогда у меня была задача оцифровать сигналы в диапазоне 0-5 В. И устройство на «отлично» справлялось с этой задачей. Но жизни не стоит на месте. Сегодня у меня возникла потребность оцифровывать сигналы 0-13 В. На входе АЦП нужен делитель.

К этому устройству есть ещё одно пожелание: у клеммника для подключения к RS485 предусмотреть ещё один контакт — общий провод.

С тех пор прошло несколько лет. И вот сегодня передо мной снова возникла задача из области промышленной электроники: получить и оцифровать один аналоговый сигнал и передать его по RS-485.

Вот, нынешнее решение:

Обратная сторона:

На плате чуть выше средины и чуть левее видны четыре площадки для установки супрессоров. У меня пока нет их в наличии. Куплю — поставлю. Проволочная перемычка — это RESET, проброшенный с ножки микроконтроллера на разъём программатора.

Пожалуй, на этом я закончу свой не очень интересный рассказ.

Реклама

4 responses to “Элемент промышленной электроники

  1. Александр Антонович, а на какой скорости передачи данных работает Ваше устройство? Насколько мне известно, даже терминирующий резистор на скоростях близких к 9600 бод не нужен.
    Еще не понятно зачем у Вас вроде как подтягивающие резисторы используются на драйвере(RO и RE+DE)?

    А общая земля — это да, без нее китайские MAX485 просто обожают выходить из строя.

    Интересуюсь потому, что сам часто использую похожие драйвера.

    • 1. Я не помню на какой скорости должна была работать старая плата. Может быть и на 9600. Но я как-то привык всё делать для 115200. Ничего не могу с собой поделать — это «мой любимый размер» (моя любимая скорость). Не, на самом деле, почему-то, не знаю почему, я редко по необходимости опускаюсь вниз. На какой скорости будет работать новая плата — я пока не знаю.

      2. То, что я делаю, это есть типовое промышленное устройство. В метре от устройства будут работать два мощных источника помех — синхронный двигатель на 5-6 кВт, управляемый от частотника, и индукционная печь на 100-150 кВт, питаемая от тиристорного преобразователя.

      В связи с этим я решил подтянуть цепь RX вверх, чтобы в в отсутствие входного сигнала UART не среагировал на ложные помехи, которые будут восприниматься как стартовые биты.

      Резистор 4.7 кОм тянет цепи управления транссивером к земле, таким образом при включении питания и до инициализации портов и периферии микроконтроллера эта линия всегда будет удерживать трансмиттер в режиме приёма. Иначе говоря, устройство не будет оказывать влияние на 485-ю сеть.

      Я не уверен, что мои решения самые правильные. Надо пробовать. Сейчас хочу тупо подключиться параллельно к действующему технологическому оборудованию и посмотреть какие вообще аналоговые сигналы там бегают. Их уровень, уровень помех, частотный диапазон и так далее. Думаю для этого использовать ноутбук с Питоном и конвертер RS485/USB.
      А там уж решим, в каком направлении двигаться.

  2. ADM485 хорошая микросхема, но есть и более «продвинутые» трансиверы, с защитами. Я для себя пару лет назад открыл ADM307x, ADM348x (3-х вольтовые), те же ADM485x. Кроме свойств true fail-safe это и увеличенное входное сопротивление (96к), т.е. до 256 узлов на линии. Хотя не часто нужно такое количество. Всё равно всё стекается в ближайший узловой ПЛК.

    А вот Ваша среда, Александр Антонович, меня откровенно пугает. Индукционная печь на 100кВт — тот ещё постановщик помех. Это и помехами-то не назовёшь. Хотя если тиристоры — то частоты там 2-8кГц. Но мощность!

    Недавно был казус, связанный как раз с индукционкой. Рядом располагался наш термоконтроллер с примочками, индикация которого была сделана на обычном ЖКИ WH1602. И он периодически сходил с ума. Сам микроконтроллер STM32F103, расположенный на плате глубже в корпусе, продолжал работать стабильно. Т.е. не по питанию, а непосредственно наводки на всё, что не экранировано.

    Поэтому постарайтесь использовать экранированные провода ну и прочие стандартные рекомендации в этом случае.

    • Спасибо, Антон, за подсказку по микросхемам. С трехвольтовыми 348х-ми я уже работал, а вот 307х — эти я еще не щупал.

      А вообще в арсенале транссиверов для 485-ых сетей много чего разного есть. И по цене и по ТТХ. Выбор очень богатый! Другое дело, что у меня на 485-ой линии будет сидеть всего несколько устройств. Думаю, двух до шести. Во всяком случае точно не более 10.

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

      Вот, как пример. Въезжая в технологию производства я поставил вопрос о том, чтобы прежде чем заниматься разработкой автоматизации, нужно сначала хотя бы подключиться логгером (самопальным прибором с АЦП и цифровыми входами) к существующей системе, которая худо-бедно ещё как-то работает, и изучить, что там вообще происходит. Заодно оценить электромагнитную обстановку и уровень помех. Руководитель откинул эту идею и настоял на том, чтобы сразу начать делать… Ущипните меня!

      Не, ну нормально же — там 50 кг жидкого металла, разогретого до полутора тысяч градусов. Внизу тигля, из которого тонкой струечкой льётся металл, копошатся люди… а я, весь из себя такой крутой, раз — и сходу сделал автоматику!…

      Ведь как гласит пиндосская поговорка? — Если ты такой умный, то где твои деньги? Денег у меня нет. Таким образом, ясно, где моё место, и кто должен исполнять чью волю.

      Что касается WH1602 — да, есть такой момент. Этот индикатор (и иже подобные ему) весьма «пугливый». Я столкнулся с такими зависаниями, когда разрабатывал аппаратуру для геофизиков. Всё работает штатно — все микроконтроллеры и всё-всё-все — и только этот индикатор может взбрендить после какого-нибудь «щелчка». Что я делал? Я тупо раз в секунду, не взирая ни на что, заново переинициализировал индикатор. Помогало. Не, ну а что можно ещё предложить взамен? Метод работает? — Работает! Польза есть? — Есть! В недоумении пожали плечами и движемся дальше.

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s