Страница 3 из 6

Генеротор и дисплей

Добавлено: 12 дек 2016, 10:50
vacz
Да, эти выхода не нужны. Блок генератора без них , вполне самостоятельный и заслуживающий внимания. Очень хороший блок для работы двигателей без задачи количества импульсов.
Слимпер писал(а):Еще не понял, нужен или нет вариант блока с выдачей заданного количества импульсов вместо непрерывной их генерации?
Обязательно!  Его и ждем. Еще необходимо, чтобы был вход количества импульсов и вход для непрерывной работы того же двигателя. В проектах двигателя должны работать в обоих режимах, для непосредственно выполнения задачи (по количеству импульсов)и быстрого подхода, ручной настройки (непрерывной подачи импульсов). Было бы совсем идеально, если можно было задавать частоты раздельно, для режима "по количеству импульсов" и режима "непрерывного импульса". Например: в первом режиме, двигатель работает с частотой 5кГц (с подсчетом импульсов), а во втором режиме с частотой 2,5кГц (для ручной настройки).
4 канальный генератор.

Генеротор и дисплей

Добавлено: 12 дек 2016, 15:43
Слимпер
vacz писал(а):Было бы совсем идеально, если можно было задавать частоты раздельно, для режима "по количеству импульсов" и режима "непрерывного импульса". Например: в первом режиме, двигатель работает с частотой 5кГц (с подсчетом импульсов), а во втором режиме с частотой 2,5кГц (для ручной настройки).
Ну это и сейчас уже можно делать, просто меня делитель, на нужном входе. Его можно менять в любой момент.

Ну тогда остался вопрос, а в каком виде показывать, что заданное количество шагов выполнено?

Генеротор и дисплей

Добавлено: 12 дек 2016, 17:18
vacz
Слимпер писал(а):Ну это и сейчас уже можно делать, просто меня делитель, на нужном входе. Его можно менять в любой момент.
Имеется в виду на каждый двигатель. Работа двигателя с заданным количеством импульсов и работа этого же двигателя в непрерывном режиме, по команде. В блоке выход на конкретный Pin. А два разных выхода не подключишь на один Pin. В ходе работы мы не сможем менять частоту. Если это было бы внутри контроллера, можно подключить ИЛИ.
Возможно,Вы имели в виду переключение константы на divider, с помощью переключателя?
Слимпер писал(а):Ну тогда остался вопрос, а в каком виде показывать, что заданное количество шагов выполнено?
Это не обязательно. Двигатель и так совершит работу, а после выполнения заданных шагов остановится, наглядно показывая угол поворота.

Генеротор и дисплей

Добавлено: 12 дек 2016, 17:40
Слимпер
vacz писал(а):А два разных выхода не подключишь на один Pin. В ходе работы мы не сможем менять частоту. Если это было бы внутри контроллера, можно подключить ИЛИ.Возможно,Вы имели в виду переключение константы на divider, с помощью переключателя?
Ну да тут да можно подавать любое число от 1 до 255, притом в любой момент времени.

Генеротор и дисплей

Добавлено: 12 дек 2016, 18:54
vacz
Тогда вопрос: Да, частоту мы поменяем, как тогда на время заставить работать двигатель постоянно, без учета заданных импульсов?  В проектах двигателя должны работать в обоих режимах, для непосредственно выполнения задачи (по количеству импульсов)и быстрого
подхода, ручной настройки (непрерывной подачи импульсов).

Генеротор и дисплей

Добавлено: 13 дек 2016, 15:18
Слимпер
Ну вроде готова новая версия блока, по результатам тестирования  напишите.

Переключение режимов можно реализовать по разному, если очень нужно подавать команды введи двух отдельных дискретных команд, можно использовать стандартные блоки  (Блок Шифрование из Операции с битами например ).

Генеротор и дисплей

Добавлено: 13 дек 2016, 21:36
vacz
Протестировать блок в полном объеме не удалось. Управлять блоком через такой тип входа не удается. Блок Шифрование из Операции с битами не подходит по двум причинам:
1. На вход StartSteps поступает короткий синхроимпульс с передним фронтом импульса, а Блок Шифрование выдает сигнал на выходе только во время удержания 1 на входе.
2. Самое неприятное. При использовании Блока Шифрования, идет самовозбуждение этого блока. Если подносишь руку ближе 5-10см к схеме, блок самовозбуждается и начинает самопроизвольно переключаться, включая и дергая двигатель. Даже при наличии подтягивающих резисторов.

Входа нужны цифровые. Возможно по такому принципу:

Тогда будет возможно управлять по такой схеме:

Попробовал принудительно дать 1 и 2 на входы StartSteps, генератор работает нормально. Шаги отсчитывает правильно. Непрерывный режим работает.

Генеротор и дисплей

Добавлено: 14 дек 2016, 09:17
Слимпер
vacz, Более творчески подходить к процессу  надо.
Набросал примеры

А вообще вариантов еще много можно придумать.

Генеротор и дисплей

Добавлено: 14 дек 2016, 11:09
vacz
Вы уж простите новичка. За месяц ознакомления с программированием и программой, не познал еще всех тонкостей. Но, будем грызть эту науку. Спасибо Вам за помощь.

Генеротор и дисплей

Добавлено: 14 дек 2016, 11:21
Слимпер
vacz писал(а):Вы уж простите новичка, недоучку.
Да нормально все, это я так, для красивого словца, извините, если обидел.
Просто тот вариант переделки, что вы предлагали, делал блок тяжелея и при этом менее универсальным.
Опыт дело наживное.

Генеротор и дисплей

Добавлено: 14 дек 2016, 16:31
vacz
Я пробовал управление по таким же схемам, но  в железе это все дергалось, самовозбуждалось. Кнопки, чтобы не инвертировать входа, подключил с общим плюсом, поставив подтягивающие резисторы 1к на землю. Просматривая Ваши примеры нашел свою ошибку:  Увидев в примерах инвертированные входа, я подключил кнопки с общим минусом, поставив подтягивающие резисторы 10к на плюс, инвертировал входа. И..., все заработало.
Я так и не разобрался, почему это происходит? Казалось бы, какая разница как получить 1 на входе.
Блок работает хорошо.
Два вопроса:
1. Можно ли самому поменять Привязку к пинам платы? Мне нужно:
Out1 - Пин 32
Out2 - Пин 33
Out3 - Пин 40
Out4 - Пин 41
2. Возможно ли вставить блок во "Встроенные"? Для использования его в создании "Пользовательских".

Генеротор и дисплей

Добавлено: 15 дек 2016, 14:23
Слимпер
vacz писал(а):2. Возможно ли вставить блок во "Встроенные"? Для использования его в создании "Пользовательских".
Нет. Вопросы к автору FLProg.
vacz писал(а):1. Можно ли самому поменять Привязку к пинам платы? Мне нужно:
В секции Setup Исправить на нужные вам

[spoiler=Спойлер]if ( OnOut1 ) D6_Out; // настройка пина как выход.
if ( OnOut2 ) D7_Out; // настройка пина как выход.
if ( OnOut3 ) D8_Out; // настройка пина как выход.
if ( OnOut4 ) D9_Out; // настройка пина как выход.[/spoiler]
В секции Function,  в функции void timerInterrupt(), исправить

[spoiler=Спойлер]if ( O[0] )  D6_High;
if ( O[1] )  D7_High;
if ( O[2] )  D8_High;
if ( O[3] )  D9_High;
delay_us(lengthPulse); //Задержка в 10 мкс
if ( O[0] )  D6_Low;
if ( O[1] )  D7_Low;
if ( O[2] )  D8_Low;
if ( O[3] )  D9_Low;[/spoiler]

Ну как то так.

Генеротор и дисплей

Добавлено: 15 дек 2016, 14:30
vacz
Большое спасибо!

------------------------------------------
Попробовал переустановить. Все работает замечательно! В шаговом и микрошаговых режимах 1/4, 1/8, 1/16, 1/32 все четко.

Генеротор и дисплей

Добавлено: 15 дек 2016, 15:00
solo
осваиваю FLProg читаю возникла мысли , можно при помощи
Generator_2_V1..ubi реализовать функцию "ускорения " , как мне мыслится это
задаем перемещение ну к примеру 100 имп с делителем 200, проехали получили сигнал "Стоп аут" и по этому сигналу меняем делитель ну к примеру 150 и едим опять 150 имп  далее меняем делитель 100 едем 400 и т.д .......при замедлении все в обратном порядке

Генеротор и дисплей

Добавлено: 15 дек 2016, 15:28
Слимпер
solo, Ну что то на подобии этого, но путей решения может быть множество 
[spoiler=Спойлер][/spoiler]

Генеротор и дисплей

Добавлено: 15 дек 2016, 16:08
solo
да спасибо
наличие входов  "делителя" и степс" и выхода "стопАут" позволяет расширить возможности использования компонента
да идея такая только мне думалось для набора "делителя" использовать массив , а на перемешенные использовать мультиплексор, 
но было бы интересно иметь хотя бы поверхностное представление какие  компоненты FLprog  долее рационально использовать с точки зрения занимаемой памяти ардуино , а какие компоненты более рационально использовать с точки зрения производительности , возможно где то есть эта инфа, но я не заметил

Генеротор и дисплей

Добавлено: 15 дек 2016, 16:22
Олег
В свое время задавали такой вопрос автору, он ответил что однозначного ответа нет, все зависит от нарисованной схемы, с какими другими блоками он связан. В одном варианте один блок выгоднее, в другом второй, в третьем третий.

Генеротор и дисплей

Добавлено: 16 дек 2016, 16:01
solo
хочу поделиться своим первым проектом на основе Generator_2_V1..ubi
реализовано ступенчатый разгон торможение Шагового двигателя
изменяя данные мультиплексора и массива можно легко подстроить под свои нужны работу ШД , лед сигнализирует об окончании перемешивания , Кнопка start начало вращения, на 5 вход мультиплексора можно заводить значение количества импульсов на сколько должен провернуться ШД за вычетом расстояния разгона- торможения . тестирование на ШД, не проводил, но тестировал на маленьком пъезо  излучателе (тон сигнала ступенчато наростал, а потом ступенчато снижался)
FLPog просто супппееееер !!!!!!!! 

Генеротор и дисплей

Добавлено: 16 дек 2016, 18:04
DerAlex
Блок работает на любом Ардуино ? Mega? Nano ? Не нужно ничего дополнительно
настраивать ?

Генеротор и дисплей

Добавлено: 16 дек 2016, 18:28
Слимпер
DerAlex писал(а):Блок работает на любом Ардуино ? Mega? Nano ? Не нужно ничего дополнительнонастраивать ?
Работать будет, но из-за использования прерываний, есть неактивные последствия:

!!!Так как используется аппаратный  Timer1 не будут работать  ШИМ на выхода  (9 и 10 UNO, NAno и подобные, 11, 12, 13 Mega ) , возможен конфликт с Блоком сервоприводов и другими где используется этот таймер.

Ну и еще можно использовать только один блок в проекте.