Страница 1 из 2
Управление Step\Dir
Добавлено: 07.05.2016{, 21:06}
Skull
Прошу добавить в шаговые моторы управление Step\Dir для готовых контроллеров ШД типа A4988 или подобных.
Управление Step\Dir
Добавлено: 07.05.2016{, 21:14}
Rovki
Я новичок в ФЛПрог ,как визуально выглядят функциональные блоки ,те или иные и кто их реализует пользователь или Автор ФЛПрог?
Управление Step\Dir
Добавлено: 07.05.2016{, 21:54}
support
Есть две категории блоков.
1. Основная библиотека блоков - её пишу я. Блоки входящие в неё встроены в код основной программы FLProg.
2. Библиотека блоков пользователей. Эти блоки пишут сами пользователи. Для этого существует специальный интерфейс в программе. Блоки пользователей можно писать на языках FBD, LAD, и для знающих С на нём (точнее не на С а на диалекте Wiring применяющемся в Arduino IDE). Есть возможность выгружать как отдельные блоки так и целые библиотеки в файл и обмениваться ими. В базовой поставкe FLProg библиотека пользовательских блоков пустая, каждый себе заполняет её по своим нуждам. Для обмена блоками существует
раздел на сайте.
Управление Step\Dir
Добавлено: 07.05.2016{, 21:59}
support
Визуально блоки выглядят как квадратики с входами и выходами, которые между собой соеденяются линиями (один в один как в среде Овен). А вообще я бы Вам посоветовал бы посмотреть
уроки по FLProg.
Управление Step\Dir
Добавлено: 07.05.2016{, 22:12}
Rovki
support писал(а):Визуально блоки выглядят как квадратики
Спасибо.Понятно .Может как то перенять опыт ОЛ .Там все самодельные блоки ,оформленные ввиде прямоугольников с заданным количеством входов\выходов называются макросами ,которые сохраняются с определенным расширением и могут вставляться в любой проект .Я их там сделал несколько сотен как универсальные макросы ,так и специализировнные
http://www.owen.ru/forum/showthread.php?t=12691.Нет нужды разработчикам писать бесконечное число блоков для пользователей .Это не касается блоков коммуникации и прочих специфических фишек ,которые можно оптимально реализовать только в коде ..
Управление Step\Dir
Добавлено: 08.05.2016{, 07:40}
support
Так и в FLProg точно так - же. Только называются они не макросы а блоки пользователей. Любой из них может использоваться любом проекте. Причём поскольку есть возможность писать блок на C, то возможности этих блоков практически ничем не ограниченны.
Управление Step\Dir
Добавлено: 08.05.2016{, 11:28}
Rovki
Спасибо ,но только не понятно зачем все просят добавить новые ФБ в саму программу (набор элементов) вас ,как Автора .Почему не пользоваться внешними ФБ (макросами), а бесконечно расширять внутренний список ???В чем тут фокус?Нужен ,например блок FIFO ,так сделай сам или попроси кого из форума ...
Управление Step\Dir
Добавлено: 08.05.2016{, 12:57}
Skull
Rovki писал(а):В чем тут фокус?
В том, что большинство юзеров ФЛпрога не знает СИ ))
Управление Step\Dir
Добавлено: 08.05.2016{, 12:59}
support
Не весь функционал можно реализовать с помощью пользовательских блоков на LAD или FBD. Особенно если требуется подключение дополнительных библиотек. Это можно сделать только с помощью блоков на С. А проект рассчитан и предназначен для тех кто не знает языков программирования. У нас на форуме есть некоторое количество пользователей которые могут делать такие блоки. И они очень помогают мне по возможности создавая их. Но их немного, да и время не всегда есть. Ну и к тому же не всегда под рукой есть железяка на которую нужно сделать блок.
Ну и конечно блок интегрированный в программу более хорошо интегрируется в компилятор, и под него есть возможность сделать специфичный интерфейс настройки. Всё таки возможности редактора пользовательских блоков не бесконечны, и ограниченны необходимостью встраивания содержащегося в них кода в результирующий скетчь.
Управление Step\Dir
Добавлено: 08.05.2016{, 14:56}
Rovki
Skull писал(а):В том, что большинство юзеров ФЛпрога не знает СИ ))
Я не имел вообще ввиду СИ .В ОЛ макросы рисуются как обычная схема на FDB.Иногда ,при большом проекте делаешь несколько макросов (блоков) и схема становится читаемой и целиком влазет на рабочее поле .
support писал(а):Не весь функционал можно реализовать с помощью пользовательских блоков на LAD или FBD.
Так и не нужно
весь функционал делать на блоках ,для этого ВЫ ЕСТЬ
.
Для примера делал макрос расчета времени восхода и захода солнца и привязки к местности или расчет влажности (психометр) по показаниям двух термометров или макрос ППЗУ -на входе адрес на выходе значение ,которое пользователь сам "зашил",всевозможные макросы стеков (FIFO) итд ,и все на базовых элементах и ФБ и ни какого СИ.Другое дело ,что может ФЛ это не позволяет ,но тут я не спец..
Управление Step\Dir
Добавлено: 08.05.2016{, 16:59}
support
Не всё можно сделать на FBD. Например вопрос данного топика. Вот что нужно реализовать.
Подключить библиотеку AccelStepper:
Создать инстанс контроллера двигателя
Код: Выделить всё
AccelStepper Stepper1(1,13,12); //использует пин 12 и 13 для dir и step, 1 - режим "external driver" (A4988)
Создать дополнительные переменные
Код: Выделить всё
int dir = 1; //используется для смены направления
Это была секция Declare
Теперь секция Setup
Инициализация драйвера
Код: Выделить всё
Stepper1.setMaxSpeed(3000); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)
Ну и секция loop
Код: Выделить всё
if(Stepper1.distanceToGo()==0){ //проверка, отработал ли двигатель предыдущее движениеStepper1.move(1600*dir); //устанавливает следующее перемещение на 1600 шагов (если dir равен -1 будет перемещаться -1600 ->
противоположное направление)dir = dir*(-1); //отрицательное значение dir, благодаря чему реализуется вращение в противоположном направленииdelay(1000); //задержка на 1 секунду}Stepper1.run(); //запуск шагового двигателя. Эта строка повторяется вновь и вновь для непрерывного вращения двигателя
На FBD это не сделаешь, только на С. У меня к сожалению нет ни такого двигателя, ни драйвера, поэтому я не могу сделать такой блок (сделать то могу, а вот проверить ни как).
Ссылка на библиотеку
Управление Step\Dir
Добавлено: 08.05.2016{, 17:43}
Rovki
Как это нельзя на фбд ?? ЩАС сделаем
.Понять бы только что нужно то
.DIR пропустим транзитом мимо блока .Главное сформировать заданную последовательность импульсов (количество -переменная ) и частоту их следования(вторая переменная ) .Микро шаги выбираются на самом драйвере ,опять же если нужно ими управлять ,то пропускаем мимо этого блока ...Если правильно понял задачу ,то ее можно на ФВД сделать
Управление Step\Dir
Добавлено: 08.05.2016{, 17:59}
Rovki
Вот вариант ,задаем количество шагов и частоту (период) следования. А также контролируем готовность к приему следующего задания (флаг)
Управление Step\Dir
Добавлено: 09.05.2016{, 02:24}
alibek
Skull писал(а):Прошу добавить в шаговые моторы управление Step\Dir для готовых контроллеров ШД типа A4988 или подобных.яя
я думал что это ветка станочная Step\Dir для ЧПУ
Добавлено (09.05.2016, 02:24)
---------------------------------------------
хочется средствами Flprog писать свой Софт для самодельных станков ЧПУ
Управление Step\Dir
Добавлено: 09.05.2016{, 07:21}
Rovki
alibek писал(а):хочется средствами Flprog писать свой Софт для самодельных станков ЧПУ
ЧПУ без энкодеров не пойдет ,хотя есть ШД со встроенными драйверами и энкодерами ,но стоят они не гуманно
.Как то делал на них станок фигурной резки пенопласта .
Управление Step\Dir
Добавлено: 09.05.2016{, 17:21}
alibek
Здесь открытый проект
Лазерный гравер на Ардуино
http://www.ecnc.ru/upgrade/etching
прошивка
http://www.ecnc.ru/flash
Управление Step\Dir
Добавлено: 11.05.2016{, 18:57}
alibek
support писал(а):У меня к сожалению нет ни такого двигателя, ни драйвера, поэтому я не могу сделать такой блок (сделать то могу, а вот проверить ни как).
отправил с али посылку . поиграйся на досуге
Управление Step\Dir
Добавлено: 11.05.2016{, 19:00}
alibek
Управление Step\Dir
Добавлено: 11.05.2016{, 19:01}
alibek
Управление Step\Dir
Добавлено: 11.05.2016{, 19:02}
alibek