Страница 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 пины, они не будут работать как ШИМ, а как цифровые будут работать?
Как цифровые будут работать!
В данном случае: период прерывания 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 (3.25 КБ) 1539 просмотров
Генеротор и дисплей
Добавлено: 20.02.2018{, 21:57}
Электрик
Мне бы с одним пока управиться. А блок сохранил.
Опять вопрос. Если шаговый мотор работает в разное время с основным циклом, то его пины можно задействовать для чего то ещё?
Генеротор и дисплей
Добавлено: 21.02.2018{, 06:08}
vacz
Нет, нельзя.
Генеротор и дисплей
Добавлено: 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" на разные пины?
Генеротор и дисплей
Добавлено: 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
Генеротор и дисплей
Добавлено: 19.11.2018{, 16:59}
Петрович33
vacz, Спасибо заработало Еще вопрос ,прикрутил энкодер (сделал из старого шаговика от 5 дюймового флопи ) пока медленно крутиш все нормально (двигатель шагает хорошо ) но стоит по быстрей крутить энкодер двигатель встает не в право не в лева (шаги блок инкодера считает ) ,пока не нажмешь обычное вращение двигатель не оживает
Генеротор и дисплей
Добавлено: 19.11.2018{, 19:05}
vacz
Когда Вы быстро крутите энкодер, блок не успевает выполнить уже заданное количество шагов.У Вас два выхода:
1. - установить блоки AND. Пока блок не выполнит заданное, блоки AND не разрешат действия энкодера.
2. - Если нужна экстренная остановка или изменение направления вращения, то необходимо вначале подать "0" на вход блока генератора. а затем подавать другую команду.
Ну и спасибо, лучше говорить нажав эту кнопочку:
- 3.PNG (10.03 КБ) 920 просмотров