Как составить блок схему в arduino

Форум arduino.ua

Добрый день.
Есть ли какая-нибудь простая SCADA для Arduino,
что-то аналогичное WinCC или Intouch (но менее «тяжелое»)?
На компьютере (приложение Windows) нужно написать простую программу,
которая будет забирать данные с Arduino (по USB или Ethernet) и отображать их на компьютере (в основном графики).
Понимаю, что можно использовать OPC сервер для Arduino и подключить ее к любой скаде, той же WinCC или Intouch но эти программы слишком «тяжелые» для маленьких проектов,
или написать программу самому на том же Delphi, Visual Studio и т.п.
но хотелось бы использовать какой-нибудь конструктор, если такой есть, или ограничиться минимум в программировании (приложения под Windows).
Существует ли «стандартная» программа от Arduino для этих задач?
Какой программой обычно пользуются для этих целей?

Например, нужно отобразить данные с 10 датчиков (подключенных к Arduino) на Widows, подключение к Arduino USB или Ethernet (в зависимости от удаленности ПК от Arduino).
Как проще всего это сделать? В какой среде написать?

#2 2018-11-03 14:33:55

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

SCADA, скорее, подразумевает систему стандартов управления данными и объектами чем функциональный состав. Когда то я, для подобных целей, использовал MatCAD. Самые простые и удобные построители интерфейсов у Delphi и Qt. Стандартный PLC очень просто подключается с стандартной SCADA, буквально в несколько кликов, без программирования вообще, как такового. SCADA простыми не бывают, хотя это и далеко не самые сложные программы компютеров. У Ардуино есть традиция — все рисовать в Процессиге.

#3 2018-11-03 19:30:39

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

У Ардуино есть традиция — все рисовать в Процессиге.

а processing  имеет стандартные компоненты для отображения графиков, архивирования данных в базе данных?

на youtube посмотрел ролик
Processing 3 — graphing data from Arduino sensor
https://www.youtube.com/watch?v=C_gyGXWIgHY

но график в Processing отображается крайне "убого".

Остання редакція engineer_ (2018-11-03 19:49:25)

#4 2018-11-03 19:58:04

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

а processing  имеет стандартные компоненты для отображения графиков, архивирования данных в базе данных?

В стандартной установке нет. Но вы можете подключать Java библиотеки, других разработчиков, и даже Андроид SDK. Это свободно и легально, как и Ардуино. Есть еще Пайтон, с упрощенными портами к ОС и бесчисленными доступными библиотеками.

#5 2018-11-04 10:06:25

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

. но график в Processing отображается крайне "убого".

Сам Процессинг, как и Ардуино здесь нипричем. Как написано так и "убого". Никто вам не мешает сделать лучше, самому.
Процессинг

Остання редакція Вячеслав Азаров (2018-11-04 10:28:29)

#6 2018-12-22 04:01:03

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

Есть простая в освоении SCADA  вполне пригодная для ардуино. Представляет собой графический редактор, использующий стандартизированную библиотеку логических функций, используемых обычно для традиционных электронных схем. Непосредственно из графической схемы генерируется модель на С, тут же можно протестировать адекватность работы схемы и скомпилировать качественно оптимизированный исполняемый файл *.exe. Название — ICAD. первый зарегистрированный в Украине программный продукт для применения в ответственных промышленных системах управления и регулирования. Разарабатывалась под Windows98, совместима со всеми поздними версиями. Кто интересуется, обращайтесь 0673824128
smile  Особенно полезна тем, кто имеет проблемы с написанием скриптов, выходной продукт не содержит лишней и служебной "rem"- инфы

#7 2018-12-22 08:57:01

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

Есть простая в освоении SCADA  вполне пригодная для ардуино. Представляет собой графический редактор, использующий стандартизированную библиотеку логических функций, используемых обычно для традиционных электронных схем. Непосредственно из графической схемы генерируется модель на С, тут же можно протестировать адекватность работы схемы и скомпилировать качественно оптимизированный исполняемый файл *.exe. Название — ICAD. первый зарегистрированный в Украине программный продукт для применения в ответственных промышленных системах управления и регулирования. Разарабатывалась под Windows98, совместима со всеми поздними версиями. Кто интересуется, обращайтесь 0673824128 .

Что вы имете в виду? Можно ли поподробнее, про продукт и его возможности? ICAD — очень популярная аббревиатура и ПО с указанными функциями не находится поисковиком.

#8 2018-12-22 12:16:26

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

Существует ли «стандартная» программа от Arduino для этих задач?
Какой программой обычно пользуются для этих целей?

Например, нужно отобразить данные с 10 датчиков (подключенных к Arduino) на Widows, подключение к Arduino USB или Ethernet (в зависимости от удаленности ПК от Arduino).
Как проще всего это сделать? В какой среде написать?

Я делаю маленькую  и удобную систему. Со своим языком. Зачем Ардуино? Есть свои модули.. Свяжитесь. Может подойдет. Тогда договоримся

#9 2018-12-23 02:29:41

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

Профессиональный инструментальный  комплекс разработки и проектирования дискретных систем управления
   ┌──────────────────────—──—──┐
   │ РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ  │
   └────────────────────—─────—─┘
   Введение
     ICAD является интегрированным средством автоматизации разработки и проектирования программно  -  алгоритмического  обеспечения  дискретных и псевдоаналоговых систем управления.
     По своей сути комплекс ICAD представляет собой АРМ  инженера -технолога, позволяющий быстро и эффективно описать любые методы реализации технологического процесса  в  виде  функциональных  схем.  В частности  можно напрямую описать жесткую логику управления в терминах электронных блоков, характерных для многих существующих в настоящее время АСУ ТП. При этом полученное описание одновременно является выполнимой  программой  компьютера,  функционально  эквивалентной старой АСУ ТП.
     Для целей автономной отработки в ICAD включен ряд средств, позволяющих  организовать моделирование протекания технологических процессов как в режиме реального времени,  так и в режиме,  кратном реальному времени.
     Основой комплекса является  проблемно  -  ориентированный  язык ICAD,  разработанный   в   соответствии   с  традиционными  методами конструирования, предусматривающими представление алгоритмов в  виде структурно-функциональных  схем.  Для  описания  функциональных  схем  в  языке ICAD   предусматривается  функционально   полный  набор  стандартных блоков.  Разрешается  также  создание  прикладных  блоков  (на  базе стандартных),  которые  затем  могут  быть  использованы  наряду  со стандартными. Рекурсия не ограничивается.  Всем  блокам  разрешается иметь формальные параметры.
     Формальные   параметры   каждого   блока   разделяются  на  три группы: входы, параметры настройки и выходы.
     Формальными  параметрами  блоков  являются  входы  и  параметры настройки. Каждый формальный параметр имеет свой номер.
     Формальным параметрам  группы  "Входы"  присваиваются фактические значения с выходов датчиков или выходов других блоков.
     Фактическими  значениями  параметров  группы "Выходы"  являются
результаты  обработки  соответствующих "Входов"  по  алгоритмам блоков  (стандартных  и/или  создаваемых  самим  разработчиком).  "Входы" и "Выходы" обновляются при каждом новом запуске блоков.
     Имеются средства синхронизации выполнения  как  отдельных алгоритмических блоков, так и всей системы в целом.
     Настроечные  параметры  задаются оператором,  проектирующим алгоритмы   контура  управления,  и  подлежат  изменению  сравнительно редко : при  замене  измерительного оборудования, управляющих клапанов,  частей  технологических аппаратов,  при изменении динамических свойств объекта в процессе его эксплуатации.
     Имеются средства импорта алгоритмов,  написанных на языке Си, в блоки,  использующиеся  затем как прикладные,  что позволяет заметно расширить функциональные возможности языка ICAD.  Особое место занимают блоки,  обеспечивающие  ввод в систему ICAD информации датчиков
АСУ ТП в режиме реального времени,  а также выдачу информации управляющих воздействий на исполнительные механизмы. Такие блоки образуют внешний интерфейс реального времени ICAD,  подлежащий настройке системными средствами в каждой конкретной АСУ ТП.
     Комплекс   ICAD  включает  в  себя  специализированный   графический   редактор   схем   управления,   библиотеку   параметрически настраиваемых   программ,  реализующих  основные   методы  регулирования,   исполнительную  систему  реального  времени  и  специализированный  отладчик.

     Основные модули ICAD:
     - главный модуль ICAD.EXE;
     - графический редактор ICADEDT.EXE;
     - система поддержки выполнения алгоритмов  в  реальном  времени
       ICADRUN.EXE;
     - набор утилит.

#10 2018-12-23 02:33:40

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

Кто интересуется, обращайтесь +380673824128 .
по моему это называется свяжитесь

#11 2018-12-23 07:54:27

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

Кто интересуется, обращайтесь +380673824128 .
по моему это называется свяжитесь

Методология графического программирования задач автоматизации сложилась очень давно, эволюционировав в современные ПЛК. Существуют даже международные стандарты  IEC 61131-3, на это дело. Есть даже открытые проекты, такие как Beremiz  и OpenPLC. Относительно ICAD — совершенно непонятно, что это такое, как кот в мешке. Изучение возможностей, переимуществ и недостатков подобных инструментов может занять много времени, и их приобретение это не покупка семечек. Поэтому, все уважемые компании имеют демонстрационные версии своего продукта. Хотелось бы увидеть и вашу.

#12 2018-12-23 21:35:11

Re: ПО верхнего уровня для Arduino (SCADA для Arduino)

Не очень представляю себе, как показать демо, если нет никаких координат))
Форум какой-то. странный, сообщение в личку непонятно как послать. я упорно показываю номер телефона, и что?
То есть вам просто интрересно,нон не очень

Реле Arduino: устройства управления высоковольтным напряжением

В этом уроке по реле Ардуино мы научимся управлять высоковольтными устройствами с помощью микроконтоллеров Arduino.

Обзор

Мы можем управлять высоковольтными электронными устройствами с помощью реле. Реле на самом деле является переключателем, который электрически приводится в действие электромагнитом. Электромагнит активируется низким напряжением, например, 5 В от микроконтроллера, и он тянет контакт, чтобы создать или разорвать цепь высокого напряжения.

Модуль реле HL-52S для Ардуино

В качестве примера для этого урока по реле Arduino мы будем использовать 2-канальный релейный модуль HL-52S, который имеет 2 реле с номиналами 10 А при 250 и 125 В переменного тока и 10 А при 30 и 28 В постоянного тока. Выходной разъем высокого напряжения имеет 3 контакта, средний является общим контактом, и, как видно из маркировки, один из двух других контактов предназначен для нормально разомкнутого соединения, а другой — для нормально замкнутого соединения.

На одной из сторон модуля у нас есть 2 набора контактов. Первый имеет 4 контакта, заземление и контакт VCC для питания модуля и 2 входных контакта In1 и In2. Второй набор контактов имеет 3 контакта с перемычкой между JDVcc и контактом Vcc.

Комплектующие

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

  • Модуль реле 5 В
  • Плата Arduino
  • Макетная плата и провода-перемычки
  • Кабель, вилка, розетка

Принципиальная схема

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

Чтобы изолировать микроконтроллер от реле, нам нужно снять перемычку и подключить отдельный источник питания для электромагнита к JDVcc и контакту заземления. Теперь с этой конфигурацией микроконтроллер не имеет физического соединения с реле, он просто использует светодиодную подсветку ИС оптопары для активации реле.

Есть еще одна вещь, которую следует отметить в этой принципиальной схеме. Входные контакты модуля работают в обратном порядке. Как мы видим, реле будет активировано, когда входной контакт будет НИЗКИМ, потому что таким образом ток сможет течь от VCC к входному контакту, который является низким или заземленным, светодиод загорится и активирует реле. Когда входной вывод будет ВЫСОКИМ, ток не будет течь, поэтому светодиод не загорится и реле не будет активировано.

Как использовать релейный модуль с устройствами высокого напряжения

Сначала давайте посмотрим на принципиальную схему. Как описано ранее, мы будем использовать адаптер 5 В в качестве отдельного источника питания для электромагнита, подключенного к JDVcc и заземляющему выводу. Вывод Arduino 5V будет подключен к выводу Vcc модуля, а вывод 7 к входному выводу In1 для управления реле. Теперь для части "высокое напряжение" нам понадобится вилка, розетка и кабель с двумя проводами. Один из двух проводов будет обрезан и подключен к общему и нормально разомкнутому контакту выходного разъема модуля. Таким образом, в этой конфигурации, когда мы активируем реле, мы получим замкнутую и рабочую высоковольтную цепь.

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

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

Исходный код

Осталось написать простой код для нашего реле Ардуино и протестировать модуль на то, как он будет работать. Сам код достаточно простой, мы будем просто использовать контакт 7 для управления реле, поэтому мы определим его как выход и создадим программу, которая будет просто активировать и деактивировать реле каждые 3 секунды. Здесь я еще раз упомяну, что вход модуля работает обратно, поэтому низкий логический уровень на входе фактически активирует реле, и наоборот.

Были протестирована 3 устройства на основе данного примера. Сначала лампочка мощностью 100 Вт, затем настольная лампа и тепловентилятор. Все эти устройства работают на 220В. Таким образом возможно управлять любым высоковольтным устройством с помощью Arduino или любого другого микроконтроллера. И, конечно, возможности безграничны, например, мы можем управлять устройствами с помощью пульта дистанционного управления телевизора, Bluetooth, SMS, Интернета и так далее.

Как сделать свою собственную плату Arduino Uno

В уроке мы покажем вам, как сделать свою собственную плату Arduino Uno своими руками, используя микроконтроллер ATmega328p IC. В итоге вы сможете понимать как в дальнейшем делать аналоги любых плат, плюс создавать свои. Может быть вы даже откроете свою компанию по производству плат и микроконтроллеров.

Так как Ардуино является платформой с открытым исходным кодом, довольно легко узнать о внутренностях и деталях всего того, что делает Arduino тем, чем она является. Таким образом, в этом уроке мы рассмотрим схему Arduino Uno, немного изменим ее в соответствии с нашими потребностями, изготовим под нее печатную плату и припаяем необходимые компоненты для создания финального продукта.

Мы не будем использовать какие-либо SMD-компоненты для создания своей версии Arduino Uno, потому что не у всех есть паяльная станция, а иногда найти SMD-компоненты очень сложно. Кроме того, наш метод в большинстве случаев дешевле, чем компоненты SMD. Для тех кто, только начинает разбираться в электронике — технологию поверхностного монтажа печатных плат также называют ТМП (технология монтажа на поверхность), SMT (англ. surface mount technology) и SMD-технология (от англ. surface mounted device — прибор, монтируемый на поверхность), а компоненты для поверхностного монтажа также называют «чип-компонентами».

Шаг 1. Изменения в оригинальной версии

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

Изменения будут следующими:

  • Мы не будем использовать какие-либо компоненты SMD. Все элементы будут в формате сквозных отверстий.
  • Мы не нашли ни одного чипа FTDI в формате сквозного отверстия, поэтому преобразование USB в TTL не будет выполняться. Для программирования нового Arduino будет использоваться отдельная отладочная плата FTDI.
  • Оригинальный Arduino использует компаратор Mosfet, чтобы определить, подключаем ли мы плату с помощью источника питания USB или постоянного тока. Но в нашей версии мы будем вручную переключать это с помощью перемычки.
  • Традиционно используется микросхема LP2985 от Texas Instruments, чтобы получить источник питания 3,3 В на борту. Но из-за недоступности платы в формате TH мы будем использовать простой линейный регулятор. Таким образом, LM1117 должен быть очевидным выбором, но чтобы сохранить стоимость изготовления еще ниже, мы будем использовать LM317 с R1 и R2 как 240E и 390E соответственно.
  • Последнее, что нужно на плате, — это достаточное количество линий питания и два разъема для каждого порта IO ввода-вывода. Поэтому мы будем размещать ряд разъемов папа и мама вокруг платы, что поможет подключить большее количество устройств непосредственно к Arduino.

Учитывая все изменения, мы можем записать окончательный список компонентов.

Шаг 2. Необходимые компоненты

Компоненты, которые вам нужны для этого проекта. Везде, где количество не указано, считайте его единственным.

  • Микроконтроллер Atmel Atmega328p-pu
  • 28-контактная база IC
  • 16 МГц кварцевый генератор
  • конденсатор 22 пФ — 2 шт.
  • конденсатор 100 нФ — 4 шт.
  • Электролитический конденсатор 100 мкФ — 3 шт.
  • 3 мм красный светодиод — 2 шт.
  • 330E 1/4W резистор — 2 шт.
  • 240E 1/4W резистор — 1 шт.
  • 390E 1/4W резистор — 1 шт.
  • 10K 1/4W резистор — 1 шт.
  • Кнопка для сброса
  • Диод общего назначения 1N4007
  • Линейный регулятор напряжения 7805
  • Линейный регулятор переменного напряжения LM317
  • DC разъем мама
  • 2-контактный винтовой клеммный блок
  • много разъемов "папа" и "мама"

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

Вам также понадобится программатор USBASP ICSP или конвертер USB в TTL, такой как FTDI для программирования Arduino с вашего компьютера.

Вот проектная спецификация от компании Easyeda:

Собираем все компоненты и переходим к следующему шагу.

Шаг 3. Рисуем окончательную схему

Чтобы нарисовать окончательную схему, использовали Easyeda, набор инструментов EDA на основе веб-технологий. На этом портале очень просто рисовать большие схемы. Также это онлайн сервис. Таким образом, благодаря удобству использования что-то лучшее найти сложно. Рекомендуем вам использовать в своих проектах. Схема, которая разработана может быть скачена по ссылке ниже, PDF документ:

Шаг 4. Создаем печатную плату

Как только схема завершена, пришло время сделать печатную плату. Мы использовали веб-сайт JLCPCB (ссылка), чтобы сделать печатную плату. Эти ребята являются одними из лучших в производстве печатных плат в последние дни.

После завершения проектирования схемы преобразуйте ее в печатную плату и спроектируйте печатную плату на веб-сайте easyEDA (ссылка). Будьте терпеливы. Ошибка на этом шаге испортит вашу печатную плату. Проверьте несколько раз перед генерацией файла gerber. Вы также можете проверить 3d модель вашей платы здесь. Нажмите на создание файла gerber и оттуда вы можете напрямую заказать эту плату через JLCPCB. Загрузите файлы gerber, выберите правильную спецификацию, ничего не меняйте в этом разделе. Оставьте как есть. Это достаточно хорошие настройки для старта. Разместите заказ. Вы получите его через 1-2 недели.

Шаг 5. Пайка компонентов

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

Одна вещь, которую стоит пояснить, заключается в том, что значения конденсаторов не обязательно должны быть идеальными. Нечто близкое к тем величинам, что мы обсуждали выше, вполне будет работать. То же самое касается резисторов. Но сохраните значения R1 и R2 LM317.

Одна вещь, которую вы можете найти странной, что у arduino, который мы сделали, есть две кнопки сброса. На самом деле, когда разрабатывали макет, использовали четырехконтактную кнопку для справки. Но во время пайки стало понятно, что у нас её нет. Поэтому мы припаяли 2 двухполюсных переключателя сброса на место. Там нет ничего особенного.

Шаг 6. Запуск загрузчика на микроконтроллере

Если вы используете конвертер USB — TTL для программирования микроконтроллера, тогда загрузчик Arduino должен быть установлен в новый чип atmega328p. Об этом мы сделаем следующий большой урок. После этого процесс загрузки кода будет точно таким же, как и в обычной Arduino.

Если вы используете программатор ICSP, то есть программатор USBASP, тогда этот шаг не нужен. Но процесс загрузки кода немного отличается.

Шаг 7. Программируем Ардуино

Подключите коммутационную плату к Arduino и подключите её к компьютеру. Откройте диспетчер устройств и наблюдайте за com-портом конвертера usb — ttl. В Arduino IDE выберите com-порт и плату правильно. Теперь здесь начинается сложная часть.

Если ваша плата FTDI имеет вывод DTR и она подключена для сброса, просто сохраните программу и загрузите ее в Arduino как обычно. Ошибки не будет. Но если у вас нет пина DTR, как у нас, то, прежде чем нажать кнопку загрузки, удерживайте кнопку сброса на плате, а затем нажмите кнопку загрузки. Удерживайте кнопку до тех пор, пока программа не скомпилируется, когда IDE говорит «загрузка», затем отпустите переключатель сброса. Затем код будет загружен.

Шаг 8. Итоговый результат

Здесь вы можете увидеть, что мы загрузили 3-контактный код в новую arduino, и все работает, как и предполагалось. Используя только 3 контакта, мы контролируем 6 светодиодов с промежутком 200 мс между ними. Мы проверяли другие программы, все они работают без нареканий.

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

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