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

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

Добавлено: 17.03.2017{, 10:22}
AVGN
Nikan писал(а):посмотрел, все в хелпе есть,  кроме взаимодействия блоков в программе и железа  с программой
конечно Вы же не можете посмотреть как непрограммист.
А я посмотрел хелп - сплошные вопросы 

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

Добавлено: 20.07.2017{, 13:38}
Grafsaxar
Max писал(а):Если есть возможность, то можно разделить между ардуинками функции. Например, одна (нано, микро) исполняет роль драйвера и управляет чисто двигателями и по COM порту соединена с другой, которая делает все остальное.
Я до этого не заморачивался и так делал. даже мега2560 работает с 3 нано.

Было удобно т.к. блоки находились на растоянии пару метров друг од друга.
Но теперь решил сделать всё в одной коробочке и столкнулся с такой же проблемой:)))

Я почему то думал что TWI работает сам по себе. и особо не влияет на главные процессы.
Я имею ввиду аппаратно

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

Добавлено: 23.07.2017{, 19:19}
vovka1973
а таймер на прерываниях может кто нибудь замутить?
думаю это тоже не спасет ситуацию просмотрел осциллографом точность не то что хромает а очень хромает ,одновибратор по лучше будет как и писали

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

Добавлено: 04.12.2017{, 17:08}
Murad
Большое СПАСИБО Слимперу за блок Генератор2!
Столкнулся с проблемой, схожей с проблемой одновременной работы генератора для управления шаговым двигателем и дисплея. Только в моем случае прерывал работу штатного генератора не дисплей, а обмен данными с компьютером по COM-порту. Блок Генератор2 решает эту проблему.
Если появилась последующая версия блока, например, с задачей выходных пинов, выставьте, пожалуйста ссылочку.

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

Добавлено: 04.12.2017{, 19:25}
vacz
Слимпер писал(а):Цитата 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;
В сообщении №52 ответ на Ваш вопрос.

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

Добавлено: 19.02.2018{, 22:49}
Электрик
Здравствуйте, уважаемые форумчане! Уже третью неделю пытаюсь освоить программу FLProg. Из за отсутствия , даже ни знаний, а понятия о программировании пытаюсь учиться на примерах чужих программ. Вроде что то стало получаться (пока не совсем всё осознано). И вот!
Я столкнулся с выше обсуждаемой проблемой. Две части программы по отдельности работают, а когда скручиваю вместе - всё получается как описано выше. Из всего прочитанного я понял проблему. Но, не имея опыта, я ни как не могу хотя бы запустить шаговый мотор. Выше приведены разные схемы из блоков, но по видимому они даны частично. Сижу уже третий день с 18-00 до 1-00, скоро получу наверное "вывих головы".
Прошу, Вас, уважаемые форумчане подскажите как включить блок "STEP/DIR_V0.2" что бы было хотя бы бесконечное вращение. А там я дальше буду разбираться. Пины я прописал.
И ещё вопрос про 9 и 10 пины, они не будут работать как ШИМ, а как цифровые будут работать?
Прошу не смеяться если что не так, я тоже научусь (наверное).

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

Добавлено: 20.02.2018{, 07:13}
vacz
Электрик писал(а):
19.02.2018{, 22:49}
как включить блок "STEP/DIR_V0.2" что бы было хотя бы бесконечное вращение.
И ещё вопрос про 9 и 10 пины, они не будут работать как ШИМ, а как цифровые будут работать?
Как цифровые будут работать!
1.PNG
В данном случае: период прерывания 200 мкс - это 5000 герц (5кГц)
В делители стоит "2" - делим на 2 и получаем на выходе 2500 герц (2,5кГц)

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

Добавлено: 20.02.2018{, 20:24}
Электрик
Спасибо огромное! Разобрался. И ещё вопрос, может быть глупый, как будут два генератора между собой разбираться чья очередь работать?
Как то это в схеме отображать или уже в блоке всё сделано?

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

Добавлено: 20.02.2018{, 20:52}
vacz
Если планируете использовать несколько двигателей, то используйте блок "Generator_2_V0.1_(CODE)". В нем предусмотрено использование от 1 до 4-х двигателей одновременно.
2.PNG
2.PNG (3.25 КБ) 1539 просмотров

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

Добавлено: 20.02.2018{, 21:57}
Электрик
Мне бы с одним пока управиться. А блок сохранил.
Опять вопрос. Если шаговый мотор работает в разное время с основным циклом, то его пины можно задействовать для чего то ещё?

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

Добавлено: 21.02.2018{, 06:08}
vacz
Нет, нельзя. :nono:

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

Добавлено: 21.02.2018{, 14:06}
Электрик
Ещё раз спасибо! Прикрутил к готовой части данный генератор, ШД работает прекрасно.

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

Добавлено: 15.08.2018{, 13:59}
lionsam
где можно взять библиотеку CyberLibLight которая используется в блоке Generator_2? заранее благодарен.

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

Добавлено: 07.10.2018{, 22:20}
frodo1987
vacz писал(а):
20.02.2018{, 20:52}
Если планируете использовать несколько двигателей, то используйте блок "Generator_2_V0.1_(CODE)". В нем предусмотрено использование от 1 до 4-х двигателей одновременно.2.PNG
Подскажите пожалуйста к каким пинам подключать EN и DIR? Step понятно остальные не понимаю, а если четыре драйвера все "EN и DIR" на разные пины? :smile453:

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

Добавлено: 08.10.2018{, 16:07}
vacz
frodo1987 писал(а):
07.10.2018{, 22:20}
Подскажите пожалуйста к каким пинам подключать EN и DIR? Step понятно остальные не понимаю, а если четыре драйвера все "EN и DIR" на разные пины?
СпойлерПоказать
Для связи с микроконтроллером используются три сигнала.

STEP
DIR
ENABLE
STEP – шаг. Каждый импульс инициирует поворот двигателя на один шаг. Если драйвер работает в полу шаговом или микро шаговом режимах, то поворот происходит не на физический шаг двигателя, а на часть шага, определяемого режимом. Для полу шагового режима это половина физического шага, для микро шагового – микро шаг. Драйверы реагируют на фронт импульса, как правило, отрицательный.

Частота следования импульсов сигнала STEP определяет скорость вращения двигателя. Естественно существуют ограничения на максимальную частоту импульсов сигнала STEP и на минимальную длительность импульса. Драйвер должен успеть принять, выделить и обработать каждый импульс. Реальный двигатель добавит свои ограничения на скорость вращения, связанные с механическими параметрами, токами обмоток, числом полюсов, механическими нагрузками и т.п.

DIR – сигнал задающий направления вращения двигателя. Как правило, при высоком уровне сигнала двигатель вращается по часовой стрелке. Сигнал DIR должен быть сформирован до импульса STEP.

ENABLE – сигнал разрешения работы драйвера. Запрещающий уровень сигнала снимает напряжение на выходе драйвера. Логика работы устройства не меняется. Сигнал используется для остановки двигателя в режиме без тока удержания. Положение ротора не фиксируется. Разрешающий уровень сигнала ENABLE – низкий, т.е. отсутствие напряжения. Если сигнал не используется, то его можно просто не подключать, бросить входы драйвера ”в воздухе”.
Если, Вы планируете управлять сигналами "EN и DIR" с контроллера, то пины нужны для каждого в отдельности.

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

Добавлено: 08.10.2018{, 21:56}
frodo1987
vacz писал(а):
08.10.2018{, 16:07}
frodo1987 писал(а):
07.10.2018{, 22:20}
Подскажите пожалуйста к каким пинам подключать EN и DIR? Step понятно остальные не понимаю, а если четыре драйвера все "EN и DIR" на разные пины?
СпойлерПоказать
Для связи с микроконтроллером используются три сигнала.

STEP
DIR
ENABLE
STEP – шаг. Каждый импульс инициирует поворот двигателя на один шаг. Если драйвер работает в полу шаговом или микро шаговом режимах, то поворот происходит не на физический шаг двигателя, а на часть шага, определяемого режимом. Для полу шагового режима это половина физического шага, для микро шагового – микро шаг. Драйверы реагируют на фронт импульса, как правило, отрицательный.

Частота следования импульсов сигнала STEP определяет скорость вращения двигателя. Естественно существуют ограничения на максимальную частоту импульсов сигнала STEP и на минимальную длительность импульса. Драйвер должен успеть принять, выделить и обработать каждый импульс. Реальный двигатель добавит свои ограничения на скорость вращения, связанные с механическими параметрами, токами обмоток, числом полюсов, механическими нагрузками и т.п.

DIR – сигнал задающий направления вращения двигателя. Как правило, при высоком уровне сигнала двигатель вращается по часовой стрелке. Сигнал DIR должен быть сформирован до импульса STEP.

ENABLE – сигнал разрешения работы драйвера. Запрещающий уровень сигнала снимает напряжение на выходе драйвера. Логика работы устройства не меняется. Сигнал используется для остановки двигателя в режиме без тока удержания. Положение ротора не фиксируется. Разрешающий уровень сигнала ENABLE – низкий, т.е. отсутствие напряжения. Если сигнал не используется, то его можно просто не подключать, бросить входы драйвера ”в воздухе”.
Если, Вы планируете управлять сигналами "EN и DIR" с контроллера, то пины нужны для каждого в отдельности.
Большое спасибо! наконец-то дошло))

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

Добавлено: 17.11.2018{, 13:47}
Петрович33
Доброго время суток ! Подскажите что не так делаю, в непрерывном вращение двигатель работает прекрасно , а в шагах крутится с рывками пока 1 на входе триггера убрал 1, сразу встал Двигатель тип NEMO 23, 57hs112 драйвер DM556D

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

Добавлено: 17.11.2018{, 18:33}
vacz
Попробуйте.
шаговик2-1.flp
(541.23 КБ) 81 скачивание

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

Добавлено: 19.11.2018{, 16:59}
Петрович33
vacz, Спасибо заработало Еще вопрос ,прикрутил энкодер (сделал из старого шаговика от 5 дюймового флопи ) пока медленно крутиш все нормально (двигатель шагает хорошо ) но стоит по быстрей крутить энкодер двигатель встает не в право не в лева (шаги блок инкодера считает ) ,пока не нажмешь обычное вращение двигатель не оживает :smile37:

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

Добавлено: 19.11.2018{, 19:05}
vacz
Когда Вы быстро крутите энкодер, блок не успевает выполнить уже заданное количество шагов.У Вас два выхода:
1. - установить блоки AND. Пока блок не выполнит заданное, блоки AND не разрешат действия энкодера.
СпойлерПоказать
1.PNG
2. - Если нужна экстренная остановка или изменение направления вращения, то необходимо вначале подать "0" на вход блока генератора. а затем подавать другую команду.
СпойлерПоказать
2.PNG
Ну и спасибо, лучше говорить нажав эту кнопочку:
СпойлерПоказать
3.PNG
3.PNG (10.03 КБ) 920 просмотров
:smile38: