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

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#41

Сообщение vacz » 12.12.2016{, 10:50}

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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#42

Сообщение Слимпер » 12.12.2016{, 15:43}

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

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

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#43

Сообщение vacz » 12.12.2016{, 17:18}

Слимпер писал(а):Ну это и сейчас уже можно делать, просто меня делитель, на нужном входе. Его можно менять в любой момент.
Имеется в виду на каждый двигатель. Работа двигателя с заданным количеством импульсов и работа этого же двигателя в непрерывном режиме, по команде. В блоке выход на конкретный Pin. А два разных выхода не подключишь на один Pin. В ходе работы мы не сможем менять частоту. Если это было бы внутри контроллера, можно подключить ИЛИ.
Возможно,Вы имели в виду переключение константы на divider, с помощью переключателя?
Слимпер писал(а):Ну тогда остался вопрос, а в каком виде показывать, что заданное количество шагов выполнено?
Это не обязательно. Двигатель и так совершит работу, а после выполнения заданных шагов остановится, наглядно показывая угол поворота.
Последний раз редактировалось vacz 12.12.2016{, 17:35}, всего редактировалось 1 раз.
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#44

Сообщение Слимпер » 12.12.2016{, 17:40}

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

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#45

Сообщение vacz » 12.12.2016{, 18:54}

Тогда вопрос: Да, частоту мы поменяем, как тогда на время заставить работать двигатель постоянно, без учета заданных импульсов?  В проектах двигателя должны работать в обоих режимах, для непосредственно выполнения задачи (по количеству импульсов)и быстрого
подхода, ручной настройки (непрерывной подачи импульсов).
Последний раз редактировалось vacz 12.12.2016{, 19:01}, всего редактировалось 1 раз.
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#46

Сообщение Слимпер » 13.12.2016{, 15:18}

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

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

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#47

Сообщение vacz » 13.12.2016{, 21:36}

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

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

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

Попробовал принудительно дать 1 и 2 на входы StartSteps, генератор работает нормально. Шаги отсчитывает правильно. Непрерывный режим работает.
Вложения
3399172.gif
7991116.gif
Последний раз редактировалось vacz 13.12.2016{, 21:41}, всего редактировалось 1 раз.
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#48

Сообщение Слимпер » 14.12.2016{, 09:17}

vacz, Более творчески подходить к процессу  надо.
Набросал примеры

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

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#49

Сообщение vacz » 14.12.2016{, 11:09}

Вы уж простите новичка. За месяц ознакомления с программированием и программой, не познал еще всех тонкостей. Но, будем грызть эту науку. Спасибо Вам за помощь.
Последний раз редактировалось vacz 17.12.2016{, 10:56}, всего редактировалось 1 раз.
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#50

Сообщение Слимпер » 14.12.2016{, 11:21}

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

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#51

Сообщение vacz » 14.12.2016{, 16:31}

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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#52

Сообщение Слимпер » 15.12.2016{, 14:23}

vacz писал(а):2. Возможно ли вставить блок во "Встроенные"? Для использования его в создании "Пользовательских".
Нет. Вопросы к автору FLProg.
vacz писал(а):1. Можно ли самому поменять Привязку к пинам платы? Мне нужно:
В секции Setup Исправить на нужные вам
СпойлерПоказать
if ( OnOut1 ) D6_Out; // настройка пина как выход.
if ( OnOut2 ) D7_Out; // настройка пина как выход.
if ( OnOut3 ) D8_Out; // настройка пина как выход.
if ( OnOut4 ) D9_Out; // настройка пина как выход.
В секции Function,  в функции void timerInterrupt(), исправить


СпойлерПоказать
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;
Ну как то так.
Последний раз редактировалось Слимпер 15.12.2016{, 14:24}, всего редактировалось 1 раз.

Аватара пользователя
vacz
Лейтенант
Сообщения: 485
Зарегистрирован: 17.10.2016{, 05:56}
Репутация: 52
Имя: Владимир

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

#53

Сообщение vacz » 15.12.2016{, 14:30}

Большое спасибо!

------------------------------------------
Попробовал переустановить. Все работает замечательно! В шаговом и микрошаговых режимах 1/4, 1/8, 1/16, 1/32 все четко.
Последний раз редактировалось vacz 17.12.2016{, 16:27}, всего редактировалось 1 раз.
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

solo
Рядовой
Сообщения: 54
Зарегистрирован: 06.12.2016{, 18:04}
Репутация: 0
Откуда: Харьков

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

#54

Сообщение solo » 15.12.2016{, 15:00}

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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#55

Сообщение Слимпер » 15.12.2016{, 15:28}

solo, Ну что то на подобии этого, но путей решения может быть множество 

СпойлерПоказать
Вложения
0269133.png

solo
Рядовой
Сообщения: 54
Зарегистрирован: 06.12.2016{, 18:04}
Репутация: 0
Откуда: Харьков

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

#56

Сообщение solo » 15.12.2016{, 16:08}

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

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

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

#57

Сообщение Олег » 15.12.2016{, 16:22}

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

solo
Рядовой
Сообщения: 54
Зарегистрирован: 06.12.2016{, 18:04}
Репутация: 0
Откуда: Харьков

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

#58

Сообщение solo » 16.12.2016{, 16:01}

хочу поделиться своим первым проектом на основе Generator_2_V1..ubi
реализовано ступенчатый разгон торможение Шагового двигателя
изменяя данные мультиплексора и массива можно легко подстроить под свои нужны работу ШД , лед сигнализирует об окончании перемешивания , Кнопка start начало вращения, на 5 вход мультиплексора можно заводить значение количества импульсов на сколько должен провернуться ШД за вычетом расстояния разгона- торможения . тестирование на ШД, не проводил, но тестировал на маленьком пъезо  излучателе (тон сигнала ступенчато наростал, а потом ступенчато снижался)
FLPog просто супппееееер !!!!!!!! 
Вложения
__.flp
(491.63 КБ) 116 скачиваний
Последний раз редактировалось solo 16.12.2016{, 16:02}, всего редактировалось 1 раз.

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 437
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 11
Откуда: Новосибирск

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

#59

Сообщение DerAlex » 16.12.2016{, 18:04}

Блок работает на любом Ардуино ? Mega? Nano ? Не нужно ничего дополнительно
настраивать ?
аврора

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#60

Сообщение Слимпер » 16.12.2016{, 18:28}

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

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

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

Ответить

Вернуться в «Спросить у знатоков»