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

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#81

Сообщение AVGN » 17.03.2017{, 10:22}

Nikan писал(а):посмотрел, все в хелпе есть,  кроме взаимодействия блоков в программе и железа  с программой
конечно Вы же не можете посмотреть как непрограммист.
А я посмотрел хелп - сплошные вопросы 
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06.09.2015{, 16:04}
Репутация: 6
Откуда: Маркс-Энгелс
Имя: Alexander

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

#82

Сообщение Grafsaxar » 20.07.2017{, 13:38}

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

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

Я почему то думал что TWI работает сам по себе. и особо не влияет на главные процессы.
Я имею ввиду аппаратно
Последний раз редактировалось Grafsaxar 20.07.2017{, 15:43}, всего редактировалось 1 раз.
Качество — это делать что-либо правильно, даже когда никто не смотрит

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

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

#83

Сообщение vovka1973 » 23.07.2017{, 19:19}

а таймер на прерываниях может кто нибудь замутить?
думаю это тоже не спасет ситуацию просмотрел осциллографом точность не то что хромает а очень хромает ,одновибратор по лучше будет как и писали
Последний раз редактировалось vovka1973 24.07.2017{, 15:32}, всего редактировалось 1 раз.
Изображение

Murad
Рядовой
Сообщения: 5
Зарегистрирован: 18.01.2017{, 10:10}
Репутация: 0
Откуда: Махачкала

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

#84

Сообщение Murad » 04.12.2017{, 17:08}

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

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

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

#85

Сообщение vacz » 04.12.2017{, 19:25}

Слимпер писал(а):Цитата 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 ответ на Ваш вопрос.
Последний раз редактировалось vacz 04.12.2017{, 19:38}, всего редактировалось 1 раз.
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

Аватара пользователя
Электрик
Рядовой
Сообщения: 34
Зарегистрирован: 15.02.2018{, 21:49}
Репутация: 0
Откуда: г. Кузнецк Пензенская обл.
Имя: Александр

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

#86

Сообщение Электрик » 19.02.2018{, 22:49}

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

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

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

#87

Сообщение vacz » 20.02.2018{, 07:13}

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

Аватара пользователя
Электрик
Рядовой
Сообщения: 34
Зарегистрирован: 15.02.2018{, 21:49}
Репутация: 0
Откуда: г. Кузнецк Пензенская обл.
Имя: Александр

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

#88

Сообщение Электрик » 20.02.2018{, 20:24}

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

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

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

#89

Сообщение vacz » 20.02.2018{, 20:52}

Если планируете использовать несколько двигателей, то используйте блок "Generator_2_V0.1_(CODE)". В нем предусмотрено использование от 1 до 4-х двигателей одновременно.
2.PNG
2.PNG (3.25 КБ) 1507 просмотров
Вложения
Generator_2_V0.1_(CODE).ubi
(229.72 КБ) 138 скачиваний
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

Аватара пользователя
Электрик
Рядовой
Сообщения: 34
Зарегистрирован: 15.02.2018{, 21:49}
Репутация: 0
Откуда: г. Кузнецк Пензенская обл.
Имя: Александр

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

#90

Сообщение Электрик » 20.02.2018{, 21:57}

Мне бы с одним пока управиться. А блок сохранил.
Опять вопрос. Если шаговый мотор работает в разное время с основным циклом, то его пины можно задействовать для чего то ещё?
Здесь Вам не болты в микросхемах крутить.

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

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

#91

Сообщение vacz » 21.02.2018{, 06:08}

Нет, нельзя. :nono:
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

Аватара пользователя
Электрик
Рядовой
Сообщения: 34
Зарегистрирован: 15.02.2018{, 21:49}
Репутация: 0
Откуда: г. Кузнецк Пензенская обл.
Имя: Александр

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

#92

Сообщение Электрик » 21.02.2018{, 14:06}

Ещё раз спасибо! Прикрутил к готовой части данный генератор, ШД работает прекрасно.
Здесь Вам не болты в микросхемах крутить.

lionsam
Рядовой
Сообщения: 1
Зарегистрирован: 15.08.2018{, 11:52}
Репутация: 0
Имя: Макс

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

#93

Сообщение lionsam » 15.08.2018{, 13:59}

где можно взять библиотеку CyberLibLight которая используется в блоке Generator_2? заранее благодарен.

frodo1987
Рядовой
Сообщения: 2
Зарегистрирован: 12.09.2018{, 09:39}
Репутация: 0
Имя: Максим

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

#94

Сообщение frodo1987 » 07.10.2018{, 22:20}

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

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

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

#95

Сообщение 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" с контроллера, то пины нужны для каждого в отдельности.
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

frodo1987
Рядовой
Сообщения: 2
Зарегистрирован: 12.09.2018{, 09:39}
Репутация: 0
Имя: Максим

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

#96

Сообщение frodo1987 » 08.10.2018{, 21:56}

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" с контроллера, то пины нужны для каждого в отдельности.
Большое спасибо! наконец-то дошло))

Петрович33
Рядовой
Сообщения: 57
Зарегистрирован: 16.11.2017{, 14:32}
Репутация: 0

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

#97

Сообщение Петрович33 » 17.11.2018{, 13:47}

Доброго время суток ! Подскажите что не так делаю, в непрерывном вращение двигатель работает прекрасно , а в шагах крутится с рывками пока 1 на входе триггера убрал 1, сразу встал Двигатель тип NEMO 23, 57hs112 драйвер DM556D
Вложения
шаговик 2.flp
(426.38 КБ) 59 скачиваний

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

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

#98

Сообщение vacz » 17.11.2018{, 18:33}

Попробуйте.
шаговик2-1.flp
(541.23 КБ) 81 скачивание
Будь проще к людям. Хочешь быть мудрей - не делай больно мудростью своей. "Омар Хайям"

Петрович33
Рядовой
Сообщения: 57
Зарегистрирован: 16.11.2017{, 14:32}
Репутация: 0

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

#99

Сообщение Петрович33 » 19.11.2018{, 16:59}

vacz, Спасибо заработало Еще вопрос ,прикрутил энкодер (сделал из старого шаговика от 5 дюймового флопи ) пока медленно крутиш все нормально (двигатель шагает хорошо ) но стоит по быстрей крутить энкодер двигатель встает не в право не в лева (шаги блок инкодера считает ) ,пока не нажмешь обычное вращение двигатель не оживает :smile37:
Вложения
Шаговик2-1.flp
(620.06 КБ) 70 скачиваний

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

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

#100

Сообщение vacz » 19.11.2018{, 19:05}

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

Ответить

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