Управление Step\Dir
Управление Step\Dir
Прошу добавить в шаговые моторы управление Step\Dir для готовых контроллеров ШД типа A4988 или подобных.
- Rovki
- Полковник
- Сообщения: 5744
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Управление Step\Dir
Я новичок в ФЛПрог ,как визуально выглядят функциональные блоки ,те или иные и кто их реализует пользователь или Автор ФЛПрог?
Электронщик до мозга костей и не только
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Управление Step\Dir
Есть две категории блоков.
1. Основная библиотека блоков - её пишу я. Блоки входящие в неё встроены в код основной программы FLProg.
2. Библиотека блоков пользователей. Эти блоки пишут сами пользователи. Для этого существует специальный интерфейс в программе. Блоки пользователей можно писать на языках FBD, LAD, и для знающих С на нём (точнее не на С а на диалекте Wiring применяющемся в Arduino IDE). Есть возможность выгружать как отдельные блоки так и целые библиотеки в файл и обмениваться ими. В базовой поставкe FLProg библиотека пользовательских блоков пустая, каждый себе заполняет её по своим нуждам. Для обмена блоками существует раздел на сайте.
1. Основная библиотека блоков - её пишу я. Блоки входящие в неё встроены в код основной программы FLProg.
2. Библиотека блоков пользователей. Эти блоки пишут сами пользователи. Для этого существует специальный интерфейс в программе. Блоки пользователей можно писать на языках FBD, LAD, и для знающих С на нём (точнее не на С а на диалекте Wiring применяющемся в Arduino IDE). Есть возможность выгружать как отдельные блоки так и целые библиотеки в файл и обмениваться ими. В базовой поставкe FLProg библиотека пользовательских блоков пустая, каждый себе заполняет её по своим нуждам. Для обмена блоками существует раздел на сайте.
Автор программы FLProg.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Управление Step\Dir
Визуально блоки выглядят как квадратики с входами и выходами, которые между собой соеденяются линиями (один в один как в среде Овен). А вообще я бы Вам посоветовал бы посмотреть уроки по FLProg.


Автор программы FLProg.
- Rovki
- Полковник
- Сообщения: 5744
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Управление Step\Dir
Спасибо.Понятно .Может как то перенять опыт ОЛ .Там все самодельные блоки ,оформленные ввиде прямоугольников с заданным количеством входов\выходов называются макросами ,которые сохраняются с определенным расширением и могут вставляться в любой проект .Я их там сделал несколько сотен как универсальные макросы ,так и специализировнные http://www.owen.ru/forum/showthread.php?t=12691.Нет нужды разработчикам писать бесконечное число блоков для пользователей .Это не касается блоков коммуникации и прочих специфических фишек ,которые можно оптимально реализовать только в коде ..support писал(а):Визуально блоки выглядят как квадратики
Последний раз редактировалось Rovki 07 май 2016, 22:31, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Управление Step\Dir
Так и в FLProg точно так - же. Только называются они не макросы а блоки пользователей. Любой из них может использоваться любом проекте. Причём поскольку есть возможность писать блок на C, то возможности этих блоков практически ничем не ограниченны.
Автор программы FLProg.
- Rovki
- Полковник
- Сообщения: 5744
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Управление Step\Dir
Спасибо ,но только не понятно зачем все просят добавить новые ФБ в саму программу (набор элементов) вас ,как Автора .Почему не пользоваться внешними ФБ (макросами), а бесконечно расширять внутренний список ???В чем тут фокус?Нужен ,например блок FIFO ,так сделай сам или попроси кого из форума ...
Последний раз редактировалось Rovki 08 май 2016, 11:29, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
Управление Step\Dir
В том, что большинство юзеров ФЛпрога не знает СИ ))Rovki писал(а):В чем тут фокус?
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Управление Step\Dir
Не весь функционал можно реализовать с помощью пользовательских блоков на LAD или FBD. Особенно если требуется подключение дополнительных библиотек. Это можно сделать только с помощью блоков на С. А проект рассчитан и предназначен для тех кто не знает языков программирования. У нас на форуме есть некоторое количество пользователей которые могут делать такие блоки. И они очень помогают мне по возможности создавая их. Но их немного, да и время не всегда есть. Ну и к тому же не всегда под рукой есть железяка на которую нужно сделать блок.
Ну и конечно блок интегрированный в программу более хорошо интегрируется в компилятор, и под него есть возможность сделать специфичный интерфейс настройки. Всё таки возможности редактора пользовательских блоков не бесконечны, и ограниченны необходимостью встраивания содержащегося в них кода в результирующий скетчь.
Ну и конечно блок интегрированный в программу более хорошо интегрируется в компилятор, и под него есть возможность сделать специфичный интерфейс настройки. Всё таки возможности редактора пользовательских блоков не бесконечны, и ограниченны необходимостью встраивания содержащегося в них кода в результирующий скетчь.
Автор программы FLProg.
- Rovki
- Полковник
- Сообщения: 5744
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Управление Step\Dir
Я не имел вообще ввиду СИ .В ОЛ макросы рисуются как обычная схема на FDB.Иногда ,при большом проекте делаешь несколько макросов (блоков) и схема становится читаемой и целиком влазет на рабочее поле .Skull писал(а):В том, что большинство юзеров ФЛпрога не знает СИ ))
Так и не нужно весь функционал делать на блоках ,для этого ВЫ ЕСТЬsupport писал(а):Не весь функционал можно реализовать с помощью пользовательских блоков на LAD или FBD.

Для примера делал макрос расчета времени восхода и захода солнца и привязки к местности или расчет влажности (психометр) по показаниям двух термометров или макрос ППЗУ -на входе адрес на выходе значение ,которое пользователь сам "зашил",всевозможные макросы стеков (FIFO) итд ,и все на базовых элементах и ФБ и ни какого СИ.Другое дело ,что может ФЛ это не позволяет ,но тут я не спец..
Последний раз редактировалось Rovki 08 май 2016, 14:59, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Управление Step\Dir
Не всё можно сделать на FBD. Например вопрос данного топика. Вот что нужно реализовать.
Подключить библиотеку AccelStepper:
Создать инстанс контроллера двигателя
Создать дополнительные переменные
Это была секция Declare
Теперь секция Setup
Инициализация драйвераНу и секция loop
На FBD это не сделаешь, только на С. У меня к сожалению нет ни такого двигателя, ни драйвера, поэтому я не могу сделать такой блок (сделать то могу, а вот проверить ни как).
Ссылка на библиотеку
Подключить библиотеку AccelStepper:
Код: Выделить всё
#include <AccelStepper.h>
Код: Выделить всё
AccelStepper Stepper1(1,13,12); //использует пин 12 и 13 для dir и step, 1 - режим "external driver" (A4988)
Код: Выделить всё
int dir = 1; //используется для смены направления
Теперь секция Setup
Инициализация драйвера
Код: Выделить всё
Stepper1.setMaxSpeed(3000); //устанавливаем максимальную скорость вращения ротора двигателя (шагов/секунду)Stepper1.setAcceleration(13000); //устанавливаем ускорение (шагов/секунду^2)
Код: Выделить всё
if(Stepper1.distanceToGo()==0){ //проверка, отработал ли двигатель предыдущее движениеStepper1.move(1600*dir); //устанавливает следующее перемещение на 1600 шагов (если dir равен -1 будет перемещаться -1600 ->
противоположное направление)dir = dir*(-1); //отрицательное значение dir, благодаря чему реализуется вращение в противоположном направленииdelay(1000); //задержка на 1 секунду}Stepper1.run(); //запуск шагового двигателя. Эта строка повторяется вновь и вновь для непрерывного вращения двигателя
Ссылка на библиотеку
Автор программы FLProg.
- Rovki
- Полковник
- Сообщения: 5744
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Управление Step\Dir
Как это нельзя на фбд ?? ЩАС сделаем
.Понять бы только что нужно то
.DIR пропустим транзитом мимо блока .Главное сформировать заданную последовательность импульсов (количество -переменная ) и частоту их следования(вторая переменная ) .Микро шаги выбираются на самом драйвере ,опять же если нужно ими управлять ,то пропускаем мимо этого блока ...Если правильно понял задачу ,то ее можно на ФВД сделать 



Последний раз редактировалось Rovki 08 май 2016, 17:45, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
- Rovki
- Полковник
- Сообщения: 5744
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Управление Step\Dir
Вот вариант ,задаем количество шагов и частоту (период) следования. А также контролируем готовность к приему следующего задания (флаг)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Rovki 08 май 2016, 18:28, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
Управление Step\Dir
я думал что это ветка станочная Step\Dir для ЧПУSkull писал(а):Прошу добавить в шаговые моторы управление Step\Dir для готовых контроллеров ШД типа A4988 или подобных.яя
Добавлено (09.05.2016, 02:24)
---------------------------------------------
хочется средствами Flprog писать свой Софт для самодельных станков ЧПУ
- Rovki
- Полковник
- Сообщения: 5744
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Управление Step\Dir
ЧПУ без энкодеров не пойдет ,хотя есть ШД со встроенными драйверами и энкодерами ,но стоят они не гуманноalibek писал(а):хочется средствами Flprog писать свой Софт для самодельных станков ЧПУ

Последний раз редактировалось Rovki 09 май 2016, 07:23, всего редактировалось 1 раз.
Электронщик до мозга костей и не только
Управление Step\Dir
Здесь открытый проект
Лазерный гравер на Ардуино
http://www.ecnc.ru/upgrade/etching
прошивка
http://www.ecnc.ru/flash
Лазерный гравер на Ардуино
http://www.ecnc.ru/upgrade/etching
прошивка
http://www.ecnc.ru/flash
Последний раз редактировалось alibek 09 май 2016, 17:25, всего редактировалось 1 раз.
Управление Step\Dir
отправил с али посылку . поиграйся на досугеsupport писал(а):У меня к сожалению нет ни такого двигателя, ни драйвера, поэтому я не могу сделать такой блок (сделать то могу, а вот проверить ни как).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось alibek 11 май 2016, 19:00, всего редактировалось 1 раз.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость