Добро пожаловать!

PromDuino — это печатные платы с клеммниками, которые на себе объединяют несколько шилдов Arduino, где под каждый есть своё посадочное место. Выигрыш в том, что нет проводов для соединения между шилдами и второй плюс — внешние провода подходят к надежным клеммникам, а не штырькам.

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

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

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

Screenshot_475

Screenshot_476

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

PromDuino – это серия печатных плат, на которые напаяны гнезда, чтоб в них надежно вставлять сами Boardы Arduino и их шилды, все соединения между собой выполнены на самой печатной плате дорожками, а по периметру печатной платы идут клеммы для ввода/вывода сигналов, плюс присутствует большое количество клемм земли и питания, для избежания часто встречаемого на практике нагромождения данных проводов в данные клеммы. Также на платы напаивается удобная индикация и различные часто нужные активные элементы для промышленного применения, например опторазвязка для работы с внешними цепями.

Почему за основу взяли Arduino:

Начнем с аппаратной составляющей. Что сделали создатели Arduino: они взяли одни из самых производительных и надежных микроконтроллеров Atmel, которые до них уже лет 10 работали везде, включая военных и авиацию,  и эти микроконтроллеры которые выглядят в виде микросхем распаяли на маленькую плату со всеми необходимыми пассивными элементами, нужными для надежной работы микроконтроллера, плюс на эту маленькую платку добавили микросхему, которая позволяет компьютеру работать напрямую с этим микроконтроллером через USB разъем. И программировать через него, и общаться с микроконтроллером, и питать его и возможную периферию.

Получили мини плату размером 44х18мм, которая в своей аппаратной составляющей меганадежна, её можно год возить в багажнике с гаечными ключами, достать, и она будет работать. Что касается надежности — то производители все разные, но даже у самых дешевых нет проблем с их надежностью, причем не встречали проблем ВООБЩЕ, даже у самых дешевых!!! По меньшей мере мы не встречали. Что говорить о производителях, которые претендуют на то, что у них пайка и компоненты надежнее чем у оригинала.

Второй фактор почему за основу взяли аппаратно Arduino — это её доступность везде!!! Просто всепроникающая вездесущность. В любом городе свыше 50 тысяч человек населения заходите на авито, и вы купите в радиусе 15 минут езды.

 

Пример Arduino Nano надежной серии Black Edition:

Screenshot_477

Вторая часть пояснений, почему за основу взяли платформу Arduino: Это громаднейший массив библиотек под всё что можно представить, плюс сама среда написания программ Arduino IDE. Скачал, поставил, и программируй.

Вот здесь и кроется основная масса нареканий которые можно услышать от «профессиональных» программистов: что, дескать, эти библиотеки Arduino, содержат в себе кучу багов. Здесь ответ короткий — нужна надежная библиотека — пиши сам, как это и делают изначально при серьезных решениях. Среда Arduino IDE превосходно позволяет пользоваться родным синтаксисом Atmel, на котором и пишут в считаемых профессиональными средах. А вот возможность подключать любые другие библиотеки — это уже для удобства что-то взять и оперативно попробовать запустить, без глубокого вникания.

Второй есть аргумент против — что программы в Arduino  IDE много весят и не производительные. Здесь ответ тот же: не пользуйся библиотеками которые созданы для того, чтоб новичку было легко начать писать, Arduino изначально был задуман как проект «Лёгкий старт в работе с микроконтроллером». Повторимся: на классическом синтаксисе для ATMELа в данной среде пишется без проблем. И все тайминги будут минимальны.

Выше написанный текст был написан относительно PromDuino/Arduino, теперь не много текста относительно Arduino vs PLC, почему мы считаем, что идеология Arduino имеет полное право быть одним из решений автоматизации наравне с классическими ПЛК (программируемый логический контроллер), а зачастую даже имеет преимущество.

Сразу оговоримся, мы не претендуем на замещение классических контроллеров PLC там, где они должны быть. И даже настаиваем, что на серьезных объектах, где большие движущиеся механизмы, или опасное производство, или где от сбоя программы может быть вред/ущерб или тому подобное — должны быть именно PLC.  Идеология PLC такова, что она устанавливает пять языков программирования ПЛК по стандарту МЭК 61131-3, и одно из первых требований к этим языкам, цитируем: надежность создаваемого программного обеспечения. Надежность обеспечивается тем, что программы для ПЛК создаются с помощью специально предназначенной для этого среды разработки, которая содержит все необходимые средства для написания, тестирования и отладки программ с помощью эмуляторов и реальных ПЛК, а также множество готовых фрагментов программного кода;. И если читать историю, как к этому пришли, то там встречается то, что язык программирования Си (Си++) ЗАПРЕЩЕН к использованию при программировании  в контроллерах используемых в системах, где есть вероятность причинения вреда жизни/здоровью человека. Причина этому, к сожалению имеющая несколько реальных грустных прецедентов, в не наглядности логики языка Си. Вероятность пропустить баг в программе который потом всплывет в самый неподходящий момент уже на объекте в языке Си (Си++) в разы больше, нежели из языков стандарта МЭК 61131-3. Основной принцип этих языков: наглядность, наглядность, и ещё раз наглядность, что отражается в требовании к этим языкам в стандарте: простота языка и ограничение количества его элементов.  Вот здесь мы полностью солидарны — программа написанная на языке Си с точки зрения программиста профессионально и компетентно — абсолютно не читаема для инженера и пуско-наладчика. Мы постоянно нарабатываем принципы написания удобночитаемых программ всем действующим лицам и минимизации в них не наглядности, но это отдельная статья в разделе сайта «Статьи».

Вернемся к сравнению и определению плюсов. Классическая система автоматизации состоит из контроллера PLC который из себя представляет некий пластмассовый корпус который программируется на языках из стандарта  МЭК 61131-3. Вот определяющие принципы, цитируем:

Системы программирования, основанные на МЭК 61131-3, характеризуются следующими показателями:

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

2.)  Возможностью простой модификации программы и наращивания ее функциональности;

3.) Переносимостью проекта с одного ПЛК на другой;

4.) Возможностью повторного использования отработанных фрагментов программы;

5.) Простотой языка и ограничением количества его элементов.

Как мы видим, всё разумно и надежно. И вот здесь то суть и есть, что надежность доминирует над всем. Практически любой ПЛК на рынке претендует на то, что его можно смело ставить на управление агрегатами чуть ли не атомной станции. Но это в 98 процентах жизненных случаев не надо.  Вот мы для платформы PromDuino/Arduino определяем нишу там, где этого не надо.

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

  • Начиная со среды программирования, чтоб начать программировать. Если Вы хотите начать программировать ПЛК, то даже установить программу для написания программ будет не так то просто и легко. На Arduino скачал, запустил, и начинай работай, стартовые примеры даже уже сразу есть в пакете.
  • Сама среда программирования — научится в ней работать в разы сложнее и дольше, чем начать писать на простых примерах Си, которые реально буквально за час освоить.
  • Поддержка и примеры. Arduino создавался как образовательный проект, и описаний по решению вопросов в интернете в десятки(!) раз больше, чем для ПЛК.
  • Дальше мы подходим наверное к самому существенному плюсу Arduino: это возможность написания протоколов работы на самом низком аппаратном уровне. Всё это выражается в следующем: сейчас, даже на фоне 21-го века произошла гигантская эволюция в области датчиков. Много примеров, когда надо измерить определенные параметры, с определенной точностью, и ещё лет 12 назад этот датчик стоил тысячу долларов, то сегодня те же измерения с той же точностью вы можете сделать буквально за 2 доллара! Всё это порождает бесконечное количество возможностей, но часто возникает нюанс: наиболее подходящий датчик работает по своим каким-то протоколам, и чтоб его адаптировать для ПЛК, то это целая история: нужен конвертер, да возможно два последовательно, эти конвертеры редки, дороги, и нужно время на доставку. А Arduino позволяет сленгово говоря, сделать нужный к протоколу «ногодрыг» — соеденил с датчиком через согласование уровней, нашел нужный скетч-библиотеку, или написал сам — и нужный датчик в нужном месте интегрирован без лишних затрат и ожидания когда что-то приедет откуда-то.
  • Раз мы коснулись цены, то здесь разница просто безумно кратна: взять даже простейший контроллер ПЛК, это уже ближе к 20 т.р., и это если говорим о простейших, и его ещё надо заказать и привезти. Взять Arduino с шилдами периферии и начать программировать — смешные единицы тысяч руб. И вот этот порог по цене крайне критичен — ПЛК в громаднейшем количестве приложений не проходит по цене входного билета.
  • Ещё из плюсов Arduino — большое количество интерфейсов. Это очень помогает в оперативности разработки и запуска проекта — попробуй на Модбасе соединить кучу разношерстных составляющих, куча времени уйдет в ПЛК данные с периферии завести.
  • Ну и один из громаднейших плюсов — это легкая дружба Arduino и одноплатного миникомпьютера Raspberry. За этим следует простота в применении тачскрин дисплеев и диспетчеризации через интернет, установки промышленного зрения и считывания QR-кодов и т. д. и т.п.