FLProg — это просто!
С помощью этой программы можно запрограммировать контроллер не зная текстовых языков программирования, а выглядит это как рисование электронной или электрической схемы.
Данный текст встретится на главной странице сайта FLProg.
И это действительно так. Программа расчитана в основном для радиолюбителей, электронщиков. Автором данной программы является Сергей Глушенко.
Постараюсь продемонстрировать, что программа действительно прост в проектах. Для начала воспользуемся макетной платой «ARDUINO NANO», скачаем и установим программу. Первые проекты будут наипростейшие, далее вытянем нереализованные проекты из тем форума и реализуем на FLProg-е.
FLPprog. Установка. Выбор микроконтроллера.
Кликаем на официальный сайт ссылка скрыта от публикации далее «загрузки» > «дистрибутивы FLProg» > «актуальная версия» > «программа FLProg» , скачиваем необходимую программу (32 или 64 разряда) и устанавливаем в свой компьютер. Ставим галочку на «добавить иконку на рабочий стол» и готово. На рабочем столе появится иконка.
Кликаем на иконку, откроется пустое окно.
Далее «Файл» > «Новый» > «Новый проект для контроллера», откроется дополнительное окно.
Нажать квадрат с троеточием,
Нажимаем на стрелку «Стандартные описания контроллера
выбираем наш контроллер Arduino Nano.
далее, так выглядет сама плата. Жмем «Готово».
Программа установлена, макетная плата Arduino Nano на готове, начинаем с чистого листа.
Васисуалий
- 29 Янв 2021
Включаем и выключаем светодиод кнопкой.
Будем имитировать повторитель. Схема выглядит так (подтягивающий резистор включим программно).
Необходимо создать один вход и один выход.
В левой окне Дерево проекта > Контроллер1 > Теги > Входы кликаем на Добавить вход.
Откроется окно Вход платы.
В окошке Имя пишем любое имя входа. В окошке Тип выбираем Цифровой. Ставим галочку Включить подтягивающий резистор.
В окошке Номер контакта выберем нужный контакт (например А0)
Аналогично создаем выход. Выбираем выход D3
Мышкой перетаскиваем Вход и Выход на пустое поле. (вход всегда слева, выход справа)
Подвести указатель ко входу, появится дополнительная красная линия в виде точек. Хватаем его за «хвост» и тянем к выходу.
Если нет разногласий ( оба они вход и выход цифровые), образуется соединение в виде линии (перемычка).
Вот и все.
Можно при желании сохранить проект.
Собираем макетную плату Arduino Nano. На выход D3 светодиод с резистором, а на вход — кнопку. (Вместо кнопки применил перемычку).
Плата готова, запускаем компиляцию. Проект > Компилировать.
На сером фоне появится окно Arduino IDE и немного ждем.
Компиляция готова. Текст выглядит так.
Для кого то текст очень прост, а для кого то темный лес.
Соединяем макетную плату с USB портом, выбираем контроллер ATmega 328 и загружаем программу
Скетч > Загрузка
( В моем случае загрузка зависает. Выбираю ATmega 328 Old Bootloader и грузится нормально. Пока не разобрался в причине.)
И поехали.
Перемычка — светодиод не светится.
Нет перемычки — светодиод светится.
Васисуалий и graff40
Информация Неисправность Прошивки Схемы Справочники Маркировка Корпуса Сокращения и аббревиатуры Частые вопросы Полезные ссылки
Справочная информация
Этот блок для тех, кто впервые попал на страницы нашего сайта. В форуме рассмотрены различные вопросы возникающие при ремонте бытовой и промышленной аппаратуры. Всю предоставленную информацию можно разбить на несколько пунктов:
- Диагностика
- Определение неисправности
- Выбор метода ремонта
- Поиск запчастей
- Устранение дефекта
- Настройка
Неисправности
Все неисправности по их проявлению можно разделить на два вида — стабильные и периодические. Наиболее часто рассматриваются следующие:
- не включается
- не корректно работает какой-то узел (блок)
- периодически (иногда) что-то происходит
О прошивках
Большинство современной аппаратуры представляет из себя подобие программно-аппаратного комплекса. То есть, основной процессор управляет другими устройствами по программе, которая может находиться как в самом чипе процессора, так и в отдельных микросхемах памяти.
На сайте существуют разделы с прошивками (дампами памяти) для микросхем, либо для обновления ПО через интерфейсы типа USB.
- Прошивки ТВ (упорядоченные)
- Запросы прошивок для ТВ
- Прошивки для мониторов
- Запросы разных прошивок
- . и другие разделы
Схемы аппаратуры
Начинающие ремонтники часто ищут принципиальные схемы, схемы соединений, пользовательские и сервисные инструкции. Это могут быть как отдельные платы (блоки питания, основные платы, панели), так и полные Service Manual-ы. На сайте они размещены в специально отведенных разделах и доступны к скачиванию гостям, либо после создания аккаунта:
- Схемы телевизоров (запросы)
- Схемы телевизоров (хранилище)
- Схемы мониторов (запросы)
- Различные схемы (запросы)
Справочники
На сайте Вы можете скачать справочную литературу по электронным компонентам (справочники, таблицу аналогов, SMD-кодировку элементов, и тд.).
- Справочник по транзисторам
- ТДКС — распиновка, ремонт, прочее
- Справочники по микросхемам
- . и другие .
Marking (маркировка) — обозначение на электронных компонентах
Современная элементная база стремится к миниатюрным размерам. Места на корпусе для нанесения маркировки не хватает. Поэтому, производители их маркируют СМД-кодами.
- Справочники по SMD компонентам
- Опознать элемент в телевизоре (вопросы)
- Справочники по SMD кодам компонентов
- Маркировка SMD транзисторов от PHILIPS
Package (корпус) — вид корпуса электронного компонента
При создании запросов в определении точного названия (партномера) компонента, необходимо указывать не только его маркировку, но и тип корпуса. Наиболее распостранены:
- DIP (Dual In Package) – корпус с двухрядным расположением контактов для монтажа в отверстия
- SOT-89 — пластковый корпус для поверхностного монтажа
- SOT-23 — миниатюрный пластиковый корпус для поверхностного монтажа
- TO-220 — тип корпуса для монтажа (пайки) в отверстия
- SOP (SOIC, SO) — миниатюрные корпуса для поверхностного монтажа (SMD)
- TSOP (Thin Small Outline Package) – тонкий корпус с уменьшенным расстоянием между выводами
- BGA (Ball Grid Array) — корпус для монтажа выводов на шарики из припоя
Краткие сокращения
При подаче информации, на форуме принято использование сокращений и аббревиатур, например:
Сокращение | Краткое описание |
---|---|
LED | Light Emitting Diode — Светодиод (Светоизлучающий диод) |
MOSFET | Metal Oxide Semiconductor Field Effect Transistor — Полевой транзистор с МОП структурой затвора |
EEPROM | Electrically Erasable Programmable Read-Only Memory — Электрически стираемая память |
eMMC | embedded Multimedia Memory Card — Встроенная мультимедийная карта памяти |
LCD | Liquid Crystal Display — Жидкокристаллический дисплей (экран) |
SCL | Serial Clock — Шина интерфейса I2C для передачи тактового сигнала |
SDA | Serial Data — Шина интерфейса I2C для обмена данными |
ICSP | In-Circuit Serial Programming – Протокол для внутрисхемного последовательного программирования |
IIC, I2C | Inter-Integrated Circuit — Двухпроводный интерфейс обмена данными между микросхемами |
PCB | Printed Circuit Board — Печатная плата |
PWM | Pulse Width Modulation — Широтно-импульсная модуляция |
SPI | Serial Peripheral Interface Protocol — Протокол последовательного периферийного интерфейса |
USB | Universal Serial Bus — Универсальная последовательная шина |
DMA | Direct Memory Access — Модуль для считывания и записи RAM без задействования процессора |
AC | Alternating Current — Переменный ток |
DC | Direct Current — Постоянный ток |
FM | Frequency Modulation — Частотная модуляция (ЧМ) |
AFC | Automatic Frequency Control — Автоматическое управление частотой |
Частые вопросы
Как мне дополнить свой вопрос по теме FLProg — это просто!? После регистрации аккаунта на сайте Вы сможете опубликовать свой вопрос или отвечать в существующих темах. Участие абсолютно бесплатное.
Кто отвечает в форуме на вопросы ? Ответ в тему FLProg — это просто! как и все другие советы публикуются всем сообществом. Большинство участников это профессиональные мастера по ремонту и специалисты в области электроники.
Как найти нужную информацию по форуму ? Возможность поиска по всему сайту и файловому архиву появится после регистрации. В верхнем правом углу будет отображаться форма поиска по сайту.
По каким еще маркам можно спросить ? По любым. Наиболее частые ответы по популярным брэндам — LG, Samsung, Philips, Toshiba, Sony, Panasonic, Xiaomi, Sharp, JVC, DEXP, TCL, Hisense, и многие другие в том числе китайские модели.
Какие еще файлы я смогу здесь скачать ? При активном участии в форуме Вам будут доступны дополнительные файлы и разделы, которые не отображаются гостям — схемы, прошивки, справочники, методы и секреты ремонта, типовые неисправности, сервисная информация.
Полезные ссылки
Здесь просто полезные ссылки для мастеров. Ссылки периодически обновляемые, в зависимости от востребованности тем.
- Блок питания RIDEN RD606 и другие
- Программатор Postal — сборка, настройка
- Жесткие диски (HDD). Ссылки, софт, рекомендации по ремонту
- Расшифровка сигналов БИОС
- Сервис Центры по ремонту ноутбуков
- Замена МИКРОСХЕМ — аналоги, доработки
- Книги, журналы, справочная литература в сети
- ВАРИСТОРЫ, ПРЕДОХРАНИТЕЛИ применение, справочные данные
- Фотоприемники, оптопары
- ПАЙКА — технология, советы, секреты
- 1 Фев 2021
Плавно меняем яркость светодиода
с помощью переменного резистора.
В предыдущем проекте работали с цифровым входом и выходом, здесь же, необходимо оцифровать аналоговое напряжение в цифровой код, а затем промодулировать в широтные импульсы. Схема выглядит так.
На макетной плате, из предыдущего проекта, на вход А0 вместо кнопки (перемычки) подключить ползунок переменного резистора.
Вид соединения на макетной плате. Как видно, переделка незначительная.
Запускаем FLProg, открываем предыдущий проект (светодиод с кнопкой), или создаем новый.
В предыдущем проекте достаточно двойной клик на прямоугольник со входом и выходом.
В окне параметра Вход выбираем Тип Аналоговый, в параметре Выход, выбираем Тип ШИМ.
Рамки и соединительная линия закрасятся голубым цветом.
Проект компилируем и заливаем скетч в Arduino Nano.
На сей раз скетч выглядит так.
Сразу после заливки скетча, с помощью переменного резистора можно управлять яркостью светодиода.
Три снимка с осциллограммами выхода ШИМ с 10, 50 и 90 % заполнения, соответственно низкий, средний и яркий свет светодиода.
Но, при вращении переменного резистора от левого крайнего положения (минимум) до правого крайнего положения (максимум), светодиод увеличивает яркость, затем гаснет и вновь увеличивает яркость. Так происходит четыре раза.
Это нормально.
Почему так произошло и как исправить, опишу в следующем сообщении.
Васисуалий
- 7 Фев 2021
ЭФЭ сказал(а):
Но, при вращении переменного резистора от левого крайнего положения (минимум) до правого крайнего положения (максимум), светодиод увеличивает яркость, затем гаснет и вновь увеличивает яркость. Так происходит четыре раза.
Микроконтроллер ATmega 328 (Arduino NANO) имеет 10 битный АЦП , а разрядность ШИМ в 8 бит. Соответственно, аналоговый вход имеет максимальное десятиричное значение — 1023, выход ШИМ — 255. При значении на входном более 255, происходит переполнение, выход ШИМ генерирует новое значение от ноля до 255. И так четыре раза.
1023 : 255 = 4 ( остаток 3).
Сделаем так, чтобы яркость светодиода пропорционально соответствовало ползунку переменного резистора от мин. до макс.
Для этого, перетащим блок SCALE из Встроенные > Масштабирование? вставим между Вход и Выход? соединим линии.
Предварительно необходимо разъединить линию между входом и выходом (с предыдущего проекта) путем захвата линии у выхода и отвода в сторону. Линия исчезнет.
Дважды кликнем SCALE для ввода параметров линейного масштабирования.
Так, как константы по умолчанию соответствуют нашим требованиям (вход от 0. 1023, выход от 0. 255), изменять ничего не будем.
Новичкам полезно будет заглянуть в Информация, прочесть описание блока и посмотреть короткий видеоролик.
Проект компилируем, заливаем скетч в Arduino Nano.
(Картинку скетча ставить не буду, все равно ничего не поймем. Только мешать будет.)
Запускаем проект.
Всё как хотели. Яркость меняется пропорционально ручке резистора.
Было 10 бит, стало 8 бит.
Васисуалий
- 7 Фев 2021
Кстати, один мой друг(с) на ардуино делал даже вывод сигнала PAL. Есть даже библиотека такая для нее.
Только у ардуино разрешение максимальное получается 128х64 (это неточно), а у меня на чистом Си получилось 400х260 (может даже чуть больше).
Так что за все надо платить.
С другой стороны, Arduino IDE (вроде бы) уже поддерживает аппаратную платформу STM32, так что вопрос скорости может и упрощаться. В определенных пределах, конечно.
Но лично я предпочитаю чистый Си.
- 7 Фев 2021
antonluba сказал(а):
Так что за все надо платить.
Ну, высокоскоростные операции на FLProg на вряд ли удастся когда нибудь сделать. Зато заметь, ни одного текста на СИ
Чем то напоминает sPlan.
Моргаем светодиодом.
Сделаем классическую моргалку на Ардуино. Импульсы с паузами хотим такую.
Понадобится один цифровой выход. Для наглядности в параметрах создадим описание «D3» (название вывода платы)
Перетащим блок Generator из папки Таймеры, соединим с Выход.
Кликаем на блок.
В самом блоке имеется три типа генератора. Одновибратор, Симметричный мультивибратор и Несимметричный мультивибратор.
Выберем последний, введем необходимые нам константы импульса и паузы в миллисекундах.
Блок генератор имеет вход EN (enable) (знакомый нам, электронщикам, под названием «вкл»). По умолчанию блок выключен. Для постоянного включения, наводим мышь на вход, нажимаем правую кнопку.
Кликаем Вставить константу.
Вставим галочку на TRUE (1)
Появится надпись true на входе EN
Или же проще простого, просто инвертируем вход EN
Всё.
Компилируем, зашиваем скетч, светодиод моргает.
dsp155 и Васисуалий
- 14 Мар 2021
ЭФЭ сказал(а):
Первые проекты будут наипростейшие, далее вытянем нереализованные проекты из тем форума и реализуем на FLProg-е.
Данный проект посвящается Александру Георгиевичу Карпову (ALEKARP ). К сожалению скончался в январе 2021.
Человек, создавший гибридные микросхемы, но так и не успел освоить программирование микроконтроллеров. Эта была его мечта. Вот одна из последних тем ( не решено). https://monitor.net.ru/forum/threads/647345/
Цитата :
_________________________________
Вопрос в следующем — необходимо соединить последовательно в цепочку ( 3шт.) купленные китайские платы таймеров, работающие по принципу:
1. подано питание — индикатор показывает время задержки, выходное реле обесточено,
2. вкл. таймера через вх. ТРИГГЕР — идет счет (обратный), реле ВКЛ.
3. после отработки установленного времени — схема возвр. в исходное состояние.
Таким образом ______. _______
1 2 3
Для запуска след. таймера на его вх (триггер) следует подать
ТОЛЬКО низкий уровень от первого триггера (3).
На ум приходит только поставить между ними счетчик и отловить состояние (3).
Как вам эта мысль и что можно сделать по проще?
С уважением.
_________________________________________
Хоть я не совсем понял алгоритм задачи, но все же попробую воспроизвести в программе FLProg, с возможностью менять алгоритм путем незначительных изменений в схеме.
Три последовательных таймера
Три таймера с последовательным запуском и замкнутые в кольцо. Длительность таймеров фиксированные. 3 сек, 1.5 сек и 4 сек. Конечное управление — реле. Реле включается от начала фронта таймера №2, с продолжительностью до спада импульса в таймере №3. Графически выглядит так.
Для индикации работы трех таймеров применим три светодиода разные по цвету. В качестве реле — индикатор на синем светодиоде. схема соединение на макетной плате.
В проекте создадим четыре цифровых выхода D4 Красный инд.; D3 Желтый инд.; D2 Зеленый инд. ; D7 РЕЛЕ, три переменных тайм1; тайм2 и тайм3.
Основами таймеров являются блоки Tof. Работа блока схожа с одновибратором (ждущий мультивибратор). Запуск осуществляется от входа EN, продолжительность высокого уровня на выходе Q задается констант на выводе Val в миллисекундах (как это мы обычно делаем RC цепочкой на ВИ1). ( константы и входа на картинке голубого цвета, что не очень видно отчетливо) На верхнем (первом) таймере константа 3000 (3 сек), в среднем 1500 (1.5) и 4000 в нижнем (4 сек).
Запускаются таймеры последовательно. Первый таймер запускается от спада импульса третьего таймера или програмного сброса при включении платы. Программный сброс собран на блоке RTrig . краткое описание блока :
RTrig — Выделение переднего фронта.
Блок служит для выделения переднего фронта импульса поступающего на вход I. В момент появления на входе I логической единицы на выходе Q выставляется логическая единица на время выполнения одного цикла программы. Блок не имеет параметров
Спад импульса от таймера 3 фиксируется блоком FTrig. краткое описание блоки :
FTrig — Выделение заднего фронта.
Блок служит для выделения заднего фронта импульса поступающего на вход I. В момент пропадания со входа I логической единицы на выходе Q выставляется логическая единица на время выполнения одного цикла программы. Блок не имеет параметров
Два импульса объеденены блоком OR (по нашему ИЛИ), запускает первый таймер.
По истечении времени первого таймера, выход меняет свое состояние и запускает второй таймер.
Затем третий и так по кругу.
Дополнительно на выходе таймеров подключены светодиодные индикаторы для контроля.
С помощью блока OR управляется реле от выхода таймера №2 ИЛИ выхода таймера №3 ( в нашем случае 5.5 сек)
Видео работы таймеров ссылка скрыта от публикации
(синий светодиод прикрыл бумагой от чрезмерной яркости. В середине ролика нажал общий сброс для демонстрации начала первого таймера.)
Проект на FLProg
Первый урок по работе с программой FLProg
У программистов в качестве первого урока принято использовать “Hello World”, у программистов микроконтроллеров помигать светодиодом, ну а у электриков и электронщиков собрать схему управления контактором. Поскольку основными пользователями программы как раз они и являются, собирать на первом уроке будем как раз данную схему.
Стандартная схема управление контактором
Заменим эту схему контроллером Ардуино. Оставим в стороне вопросы помехозащищённости и экранировки. Эта тема для отдельного и очень большого разговора. Наша цель — создать в программе FLProg соответствующую логику. Поэтому накидаем тестовую схему подключения.
Роль контактора в данной тестовой схеме выполняет светодиод «Контактор». Теперь попробуем запрограммировать контроллер.
Запускаем программу FLProg, нажимаем кнопку «Создать новый проект».
Откроется окно выбора контроллера и языка программирования проекта.
Для создания проекта можно использовать любой из двух языков программирования (FBD и LAD) являющимися стандартами в области программирования промышленных контроллеров. В этом уроке мы создадим проекты на обоих языках.
Обратите внимание, что после создания проекта на одном из языков сменить его будет невозможно!
При нажатии кнопки выбора контроллера откроется соответствующее окно, в котором будут представлены поддерживаемые программой платы.
В данном списке выбираем нужный контроллер.
Выбранный для проекта контроллер можно сменить в любой момент.
Для начала создадим проект на языке LAD.
Ladder Diagram (LD, LAD, РКС) – язык релейной (лестничной) логики. Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Язык ориентирован на специалистов по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании. Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина — если ток течет; ложь — если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары — со значением переменной. Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.
Рабочее окно программы FLProg на языке FBD состоит из нескольких полей:
- Основное меню программы
- Дерево проекта (в данном уроке оно не используется, его рассмотрим в последующих уроках)
- Дерево установленного оборудования. В нём представлено оборудование (промежуточные реле, реле времени, генераторы…), которое используется в проекте. В новом проекте в нём присутствуют только входы и выходы контроллера.
- Библиотека блоков. В ней находится оборудование, которое возможно применить в проекте. В данном уроке нас будет интересовать только папка «Базовые блоки»
- Область схемы, в которой и будет собственно рисоваться схема. Схема в FLProg представляет собой набор плат с оборудованием.
Для начала вытащим на область схемы контакты кнопок. Это возможно сделать двумя путями.
- Перетащить соответствующий вход из папки «Свободные входы–выходы контроллера» дерева установленного оборудования на область схемы
- Перетащить блок «Контакт» из папки «Базовые элементы» библиотеки блоков.
В результате на схеме появится УГО (условно – графическое обозначение) контакта. В случае перетаскивания его из дерева установленного оборудования контакт окажется сразу привязанным к цифровому входу – выходу платы. Если блок контакта был вытащен из библиотеки элементов, он будет абстрактным контактом без какой – либо привязки.
И любом случае контакты необходимо параметрировать. Для этого делаем двойной клик на контакте. Открывается окно редактирования блока.
В первую очередь на закладке «Параметры» выбирается привязка контакта к выходу платы (если контакт выбран в библиотеке блоков).
После этого появляются новые параметры. «Зашита от дребезга» и «Подтягивающий резистор». Поскольку в соответствии со схемой кнопки подключены к GND, ставим галочку «Подтягивающий резистор». «Зашиту от дребезга» можете не устанавливать, в этой схеме в ней нет необходимости.
На закладке «Надпись к блоку» пишем название кнопки, что бы оно отображалось на схеме.
На закладке «Информация» можно посмотреть информацию о данном устройстве.
Таким же способом вытаскиваем остальные кнопки и контакты реле перегрузки.
После этого перетаскиваем из библиотеки блоков устройство «Катушка». Так же двойной клик на нём и открывается окно параметрирования катушки.
Назначаем катушку промежуточным реле «К1» дважды кликнув на соответствующем пункте списка.
Теперь надо выставить состояние контактов.
В программе FLProg состояние контакта соответствует уровню на привязанном входе платы. Если на входе платы 0 – контакты разомкнуты, если 5В – замкнуты. Поскольку кнопки в соответствии со схемой подключены к GND и включены встроенные подтягивающие резисторы, при замкнутой кнопке на входе платы будет 0, а при отпущенной кнопке 5В. В соответствии с этими правилами выставляем соответствие контактов. Это можно так же сделать двумя путями.
- Дважды кликнув на контакт и выбрав нужное состояние в редакторе блока
- Кликнуть правой кнопкой по контакту и в выпавшем меню выбрать нужный пункт.
Должно получиться вот такое состояние контактов (противоположное типовой схеме по описанной ранее причине)
Ну и теперь можно начать рисовать схему в соответствии с типовой схемой пускателя. Соединения рисуются путём наведения курсора на начальный вывод элемента, нажатия левой кнопки, и, не отпуская кнопки, соединение тянется до второго соединяемого вывода. Если при приближении курсора с идущим за ним соединением вывод окрашивается в оранжевый цвет — значит, это соединение к нему можно подключить
Для создания блок-контакта контактора можно перетащить контакт К1 из дерева установленного оборудования на схему.
В результате должна получиться вот такая схема. Я думаю, любой электрик поймёт её работу (с учётом инвертирования состояния контактов привязанных к входам платы Ардуино).
Таким образом, первая плата закончена. Назовем её «Плата управления». Для того что бы присвоить название плате делаем двойной клик по её заголовку.
Откроется окно редактирования заголовка платы.
Зелёный кружок в заголовке обозначает, что плата корректна и ошибочных блоков на ней нет. В случае наличия таких блоков он будет красным.
Теперь создадим ещё одну плату, нажав на кнопку «Добавить плату»
На ней будем управлять выходами платы Ардуино. Для этого перетаскиваем на вторую плату четыре катушки из библиотеки блоков и привязываем их к выходам платы Ардуино. Должна получиться такая картинка
Катушки с привязанными выходами платы соотносятся так: при включении катушки в проекте на выходе платы Ардуино будет 5В при выключении 0
Затем перетаскиваем из дерева установленного оборудования необходимые контакты (два контакта промежуточного реле, и контакт входа реле перегрузки), после чего рисуем необходимую схему и называем плату «Управление выходами».
Стрелочка в заголовке платы даёт возможность свернуть плату, что позволяет экономить место на рабочем поле и ускоряет работу программы при больших схемах. При клике на стрелочку плата либо сворачивается, либо разворачивается.
Загрузка в контроллер для обоих языков одинакова, так что мы рассмотрим её в конце урока, а пока создадим аналогичный проект на языке FBD.
FBD (Function Block Diagram) – графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.
Создадим новый проект на языке FBD.
Поля 1, 2, 4, 5 в окна программы аналогичны полям на языке LAD. Поле 3 здесь содержит дерево тэгов (входов, выходов и переменных). Здесь нет предварительно созданных входов, их нужно создавать при необходимости. Для создания нового входа нужно нажать кнопку «Добавить вход» или дважды кликнуть по пункту «Добавить вход» в дереве тэгов.
Откроется окно создания входа
Выбираем цифровой, появляются новые параметры. Записываем название входа, выбираем нужный вход платы Ардуино, и ставим галочку «Включить подтягивающий резистор».
Таким же образом добавляем все необходимые входы
Затем создаем переменную, отвечающую за состояние контактора. Для этого либо нажимаем на кнопку «Добавить переменную» либо делаем двойной клик на пункте «Добавить переменную» в дереве тэгов.
Открывается окно настройки переменной
Выбираем тип переменной Boolean и заполняем параметры
Блоки входа на языке FBD соответствуют реальным выходам платы, следующим образом. Когда на реальном входе 0 – на выходе блока – False, когда на входе платы 5B на выходе блока True.
Для запоминания состояния контактора используем RS триггер. Его надо перетащить из папки «Триггеры» библиотеки блоков на рабочее поле схемы.
RS-триггер, или SR-триггер — триггер, который сохраняет своё предыдущее состояние при нулевых входах и меняет своё выходное состояние при подаче на один из его входов единицы.
При подаче единицы на вход S (от англ. Set — установить) выходное состояние становится равным логической единице. А при подаче единицы на вход R (от англ. Reset — сбросить) выходное состояние становится равным логическому нулю.
При логическом нуле на обоих входах на выходе удерживается последнее состояние. При логических единицах на обоих входах в случае RS триггера выход устанавливается в логический ноль, а в случае SR триггера в логическую единицу.
Для того что бы включился контактор необходимо подать на вход S сигнал со входа «Пуск». Для этого перетаскиваем из дерева тэгов вход «ПУСК» на рабочую область схемы. Если вспомнить о том, что при нажатии кнопки Пуск на вход платы подаётся логический 0, то понятно, что необходимо инвертировать сигнал с кнопки. Для этого наведём курсор на вход S триггера и кликнем правой кнопкой мыши. В открывшимся меню в пункт выберем «Инвертировать»
После чего соединяем вход S триггера с выходом блока входа «Пуск». Создание соединения происходит, так же как и в языке LAD.
Остановка контактора происходит если:
Нажата кнопка «СТОП» (лог.1 на блоке входа «Стоп» ) ИЛИ нажата кнопка «АВАРИЙНЫЙ СТОП» (лог.1 на блоке входа «Аварийный стоп» ) ИЛИ сработало тепловое реле (лог.1 на блоке входа «КТ1» ). Значит, нам нужен блок ИЛИ с тремя входами.
Перетаскиваем его из библиотеки блоков из папки «Базовые блоки».
По умолчанию у блока ИЛИ два входа. Для того что бы добавить третий, выделяем блок и нажимаем кнопку «Добавить вход».
Переносим необходимые входы из дерева тэгов и соединяем со входами блока ИЛИ. А выход блока ИЛИ соединяем с входом R триггера.
Затем забираем из дерева тэгов переменную «Состояние контактора» и выход триггера соединяем со входом этой переменной. Должна получиться такая схема:
На этом закончим первую плату и назовём ее, как и на LADе – «Плата управления».
После чего создадим новую плату и сразу назовём её «Управление выходами».
Далее создадим выходы платы в соответствии со схемой. Для этого надо кликнуть на кнопку «Добавить выход» дли сделать двойной клик на пункте «Добавить выход» в дереве тэгов. Выходы создаём цифрового типа.
Перетащим на вторую плату созданные выходы, вход КТ1 и переменную «Состояние контактора» Затем соединим блоки в соответствии со схемой. Необходимые воды блоков инвертируем.
Обратите внимание, что при перетаскивании на схему блоков входа, выхода или переменной изначально у них нет входов или выходов. Они появляются при подведении курсора к блоку в месте их будущего расположения.
С созданием схем закончили. Теперь надо залить программу в контроллер. Для этого нажимаем кнопку «Компилировать проект».
В результате открывается окно Arduino-IDE с открытым скетчем, в который была преобразована созданная схема.
В программе Arduino-IDE выбирается плата, порт и производится заливка в контроллер скетча.
Вложения
- LogoFlprog
Дата добавления: 11.12.2017 19:25 Размер файла: 174 КБ Кол-во скачиваний: 1330
Контроллеры
Galileo — это устройство на основе микропроцессора Intel® Quark SoC X1000, который представляет собой 32-битную систему на кристалле класса Intel Pentium. Это первое устройство с архитектурой Intel®, спроектированное таким образом, чтобы обеспечивать полную аппаратную и программную совместимость с платами расширения Arduino. Разъемы для подключения шилдов расположены точно так же, как в Arduino Uno R3, поэтому …
Arduino UNO
12.02.2018 15.12.2017 от Сергей Глушенко
Arduino Uno контроллер построен на ATmega328 . Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.
В отличие от всех предыдущих плат, использовавших FTDI USB микроконтроллер для связи по USB, новый Ардуино Uno использует микроконтроллер ATmega8U2 [2] .
«Uno» переводится как один с итальянского и разработчики тем самым намекают на грядущий выход Arduino 1.0. Новая плата стала флагманом линейки плат Ардуино. Для сравнения с предыдущими версиями можно обратиться к полному списку плат Arduino.
Arduino Leonardo
12.02.2018 15.12.2017 от Сергей Глушенко
Общие сведения Arduino Leonardo — контроллер на базе ATmega32u4. Платформа имеет 20 цифровых вход/выходов (7 из которых могут использоваться как выходы ШИМ и 12 как аналоговые входы), кварцевый генератор 16 МГц, разъем микро-USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи …
Arduino Lilypad
15.12.2017 от Сергей Глушенко
Общие сведения Платформа Arduino LilyPad разработана с целью использования как часть одежды. Она может быть зашита в ткань со встроенными источниками питания, датчиками и приводами с проводкой. Платформа построена на микроконтроллере ATmega168V (маломощная версия с ATmega168) или ATmega328V. Arduino LilyPad была создана Leah Buechley и SparkFun Electronics. Схема и исходные данные Файлы EAGLE (CAD): Принципиальная …
Arduino Mega 2560
15.12.2017 от Сергей Глушенко
Arduino Mega построена на микроконтроллере ATmega2560 [1] . Плата имеет 54 цифровых входа/выходов (14 из к Arduino Mega построена на микроконтроллере ATmega2560 . Плата имеет 54 цифровых входа/выходов (14 из которых могут использоваться как выходы ШИМ), 16 аналоговых входов,4 последовательных порта UART, кварцевый генератор 16 МГц, USB коннектор, разъем питания, разъем ICSP и кнопка …
Arduino Nano
14.12.2017 от Сергей Глушенко
Платформа Nano, построенная на микроконтроллере ATmega328 [1] (Arduino Nano 3.0) или ATmega168 [2] (Arduino Nano 2.x), имеет небольшие размеры и может использоваться в лабораторных работах. Она имеет схожую с Arduino Duemilanove функциональность, однако отличается сборкой. Отличие заключается в отсутствии силового разъема постоянного тока и работе через кабель Mini-B USB. Принципиальные схемы и исходные данные Arduino …
Arduino Pro
14.12.2017 от Сергей Глушенко
Arduino Pro построена на одном из микроконтроллеров: ATmega168 [1] или ATmega328 [2]. Pro производится в обоих пополнениях 3.3 В / 8 МГц и 5 В / 16 МГц. Платформа содержит 14 цифровых входов и выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, силовой разъем батареи, силовой выключатель, кнопку перезагрузки, отверстия для …
Arduino Pro Mini
14.12.2017 от Сергей Глушенко
Arduino Pro Mini — это устройство построено на одном из микроконтроллеров: ATmega168 [1] или ATmega328 [2].. В его состав входит: 14 цифровых входов/выходов (из них 6 могут использоваться в качестве ШИМ-выходов), 8 аналоговых входов, кварцевый резонатор, кнопка сброса и контактные площадки для впаивания разъемов. Шестиконтактный разъем может служить для питания и взаимодействия с платой через …
Arduino Micro
14.12.2017 от Сергей Глушенко
Микроконтроллер Arduino Micro – плата микроконтроллера на базе ATmega32u4 [1], разработанный совместно (in conjunction) с Adafruit. Плата имеет 20 цифровых вход/выходов (из них 7 могут использоваться в качестве выходов ШИМ и 12 — как аналоговые входы), кварцевый генератор частотой 16 МГц, гнездо микро-USB, разъем ICSP и кнопку reset. На ней есть все, что необходимо для …
Arduino Mini
14.12.2017 от Сергей Глушенко
Arduino Mini — это маленькое микропроцессорное устройство, ориентированное на использование с макетными платами или в приложениях, предъявляющих высокие требования к габаритным размерам. Первоначально устройство было спроектировано на базе микроконтроллера ATmega168 [1], который в настоящее время заменен на микроконтроллер ATmega328 [2]. В состав устройства входит: 14 цифровых входов/выходов (из которых 6 могут использоваться в качестве ШИМ-выходов), …
Управление контроллером с компьютера v3.3
Изменение в v3.3
Добавил возможность создавать правила при выполнение которых программа будет заносить запись в журнал и выполнять одно из выбранных действий.
Только делать запись в журнале.
Проигрывать звуковой файл (wav) самостоятельно.
Запускать или открывать выбранный файл в соответствующей программе.
Менять громкость ПК.
Перезагружать, выключать или блокировать ПК путём перевода в режим выбора пользователя.
Программа и блоки в первую очередь предназначены для начинающих пользователей которые пока не могут самостоятельно сделать управление и отображение значений контролера.
FLProg:
В проект ставится один главный блок и необходимое количество блоков для обмена значениями и управления.
Блоки вывода:
PC_B: служит для вывода значений типа bool, импульсных кнопок или кнопок с зажатием.
PC_int: служит для вывода значений типа int.
PC_S: служит для вывода значений типа String.
Блоки ввода:
B_PC: служит для ввода значений типа bool.
int_PC: служит для ввода значений типа int.
S_PC: служит для ввода значений типа String.
Блоки ввода имеют вход отправки по переднему фронту и вход разрешения отправки в случае изменения значения.
Блоки вывода имеют импульсный выход получения новых данных.
Возможности программы:
Связь через ком порт или TCP.
При соединение программы с МК будет доступен список всех блоков ввода и вывода.
Программа имеет главное окно управления соединением и отображением значений полученных от МК.
Окно с элементами управления и окно с элементами индикации.
Элементы индикации имеют условие при котором элемент будет менять цвет, отображать значение которое вызвало сработку условия и по желанию издавать звуковой сигнал.
Элементы управления могут быть четырёх типов: импульсные кнопки, переключатели, кнопки с зажатием и установка значения.
В настройках программы можно указать время опроса всех блоком и разрешить переподключение в случае потери соединения.
Более детальная инструкция в архиве.
Писатель инструкций из меня не очень, если что не понятно пишите, предложения и возможные ошибки в работе тоже описывайте.
Программа в пожизненном статусе beta тестирования и доработок, по мере доработок буду выкладывать обновлённые версии.
Вложения
- Связь с МК
Дата добавления: 02.02.2018 20:43 Размер файла: 4 МБ Кол-во скачиваний: 1183