Страница 1 из 2

блок для Энкодера.

Добавлено: 06.01.2018{, 21:58}
pan
Изображение Изображение Изображение
*******************************************************************************************************************
блок отслеживает направление вращения энкодера, выдавая импульс на соответствующем выводе
так же есть блок в котором есть выход "count" на котором ведется подсчет количества "щелчков"
считает как в "+" так и в "-"

это значение можно "обнулить" подав сигнал на вход "zero"

в архиве блоки myENCDR2 и myENCDR3 работают абсолютно одинаково, разница лишь в реализации кода.

полное описание , работа и подключение есть здесь
с блоками есть небольшие примеры программ для теста.

в блоке есть настройки которые нужно установить "под себя"

номер прерывания - например для УНО , НАНО прерывание 0 - соответствует пину номер 2.
тоесть указав 0 в этом параметре, один из выводов энкодера нужно подключить ко 2 пину ардуино.
пины и прерывания некоторых платПоказать
Изображение
не путайте номер ПРЕРЫВАНИЯ с номером ПИНА

второй вывод энкодера подключается к любому цифровому пину и номер этого пина указывается во втором параметре.

блок для Энкодера.

Добавлено: 25.01.2018{, 20:36}
pan
обновил архив с блоками. добавлен блок с подсчетом "щелчков"
и входом сброса

блок для Энкодера.

Добавлено: 24.02.2018{, 22:27}
oleg555506
Здравствуйте, я новичок в Ардуино. Пробую сделать следующий проект.
1. Подключить инкрементальний енкодер с 400 шагами к Ардуино
2. После каждого полного оборота сбрасывать на ноль. 398>399>400>0>1 и так по кругу.
3. Иметь возможность в периоде шагов включать и виключать реле. Например от 150 до 200 включить реле.
4. Будет ли енкодер знать в каком он положение (на каком он шагу стоит) после обесточивание системы?

Скажите пожалуйста, можно сделать такое? Или, возможно кто то уже делал?

Заранее огромное спасибо!

блок для Энкодера.

Добавлено: 24.02.2018{, 22:44}
Sancho
oleg555506 писал(а):
24.02.2018{, 22:27}
Будет ли енкодер знать в каком он положение (на каком он шагу стоит) после обесточивание системы?
Если задействовать память. Но есть нюансы. По моменту запоминания. Есть на форуме.
Остальное -да.

Отправлено спустя 4 минуты 9 секунд:
Если попросить Алексея (pan), то он сделает Вам блок энкодера с входом reset. А дальше сами...

P.S. Понял. Вопрос снят. Дерзай.
Алексей, дай ссылку на блок, если не здесь.

блок для Энкодера.

Добавлено: 24.02.2018{, 22:58}
pan
Sancho писал(а):
24.02.2018{, 22:48}
с входом reset
так есть же

блок для Энкодера.

Добавлено: 25.02.2018{, 17:31}
belyx
месяца 2 назад пробовал блок отсюда-он не пошёл,просто заменил на блок другого автора,
но вопрос почему?-остался
сегодня понял что ошибку допустил в разночтении описания блока
СпойлерПоказать
разночтения.jpg
может это исправить?

блок для Энкодера.

Добавлено: 25.02.2018{, 17:37}
pan
belyx, спасибо за заметку. пока сюда добавлю скрин правильной таблицы

Отправлено спустя 3 минуты 30 секунд:
кстати у меня по двойному клику открывает нормальную таблицу. может старый блок?

блок для Энкодера.

Добавлено: 25.02.2018{, 18:03}
belyx
перепроверил-у меня со смещением(flprog 2.5.1)

блок для Энкодера.

Добавлено: 25.02.2018{, 21:36}
texbez
Скачал архив но там как был один блок так и есть,нет блока с подсчётом.

блок для Энкодера.

Добавлено: 25.02.2018{, 22:01}
pan
там 3 блока. удалите если установлен и добавьте заново
будет вот такПоказать
Изображение

блок для Энкодера.

Добавлено: 25.02.2018{, 22:17}
texbez
Старый удалял и вставлял как у вас всё равно один файл,т.е. без папки.В архиве просто да файла всего,один с примером, другой сам блок.Может ссылка на старый блок?

Отправлено спустя 3 минуты 26 секунд:
texbez писал(а):
25.02.2018{, 22:17}
Старый удалял и вставлял как у вас всё равно один файл,т.е. без папки.В архиве просто да файла всего,один с примером, другой сам блок.Может ссылка на старый блок?
Всё разобрался,извеняюсь-разархивировал не в ту папку.Вопрос снят.
Спасибо!

блок для Энкодера.

Добавлено: 15.03.2018{, 08:30}
KulibinOrsk
Насколько я понял то блок работает?
Подскажите что я сделал не так, скрин прилагаю.
При этом блок от автора работает и на дисплее выводит показания энкодера.

блок для Энкодера.

Добавлено: 15.03.2018{, 08:41}
pan
KulibinOrsk,
да, блок рабочий. в описании есть ссылка на тему в форуме
зачем конвертировать в строку логическую "1" с выходов up и dn . там просто импульсы длительностью в цикл программы. это первое.
далее, два блока не факт что будут работать вместе. они используют (должны использовать) пины с прерываниями.
в архиве есть небольшой пример для теста

блок для Энкодера.

Добавлено: 15.03.2018{, 10:14}
KulibinOrsk
Невнимательно я посмотрел. Оказывается для платы NANO(328) не прописан блок. А я эксперименты пока на ней ставлю. В качестве входов выбирал входа с прерываниями 2 и 3.
Насчет конвертации up dn - просто хотел вывести на ЖК чтобы видеть как определяет направление вращения.

блок для Энкодера.

Добавлено: 15.03.2018{, 10:21}
pan
KulibinOrsk писал(а):
15.03.2018{, 10:14}
Оказывается для платы NANO(328) не прописан блок
кто такое сказал? НАНО считай что УНО. не важно какая плата.
KulibinOrsk писал(а):
15.03.2018{, 10:14}
В качестве входов выбирал входа с прерываниями 2 и 3.
если речь о моём блоке то читайте 1пост, что нужно указывать в настройках блока.
KulibinOrsk писал(а):
15.03.2018{, 10:14}
Насчет конвертации up dn - просто хотел вывести на ЖК чтобы видеть как определяет направление вращения.
лучше использовать счетчик (как в примере) и будет видно прибавляет он или вычитает.
если блок с выходом "count" то там и так будет видно, увеличивается число или уменьшается

блок для Энкодера.

Добавлено: 15.03.2018{, 11:12}
KulibinOrsk
pan, Еще раз все перепроверил и осмелюсь заявить что не работает ваш блок. В частности проверял myENCDR3. Проверяю все в железе. Блок автора работает, а ваш нет. В блоке автора нет направления потому стал ваш пробовать. Проверьте пожалуйста блок.

блок для Энкодера.

Добавлено: 15.03.2018{, 11:33}
pan
блок проверен сто раз.
вы кстати по какой схеме подключали?
тут все написано http://forum.flprog.ru/viewtopic.php?f=19&t=2578

блок для Энкодера.

Добавлено: 15.03.2018{, 11:44}
KulibinOrsk
Читал я тему по ссылке. Подключение простое: сигнал А на пин D2 (int0) сигнал В на пин D3(int1).
Энкодер 1024 импульса на оборот. Необходимо получать количество импульсов и направление вращения.
Блок автора работает. Ваш не хочет... На дисплее всегда выводит=0.

блок для Энкодера.

Добавлено: 15.03.2018{, 11:48}
pan
если используете пины 2 и 3 то в настройках должно быть 0 и 3
Изображение

Отправлено спустя 5 минут 40 секунд:
возможно еще проблемы из-за большого количества импульсов на 1 оборот. блок делался для самого простого, чтоб управлять менбшкой или переменными

блок для Энкодера.

Добавлено: 15.03.2018{, 12:06}
KulibinOrsk
"В настройках должно быть 0 и 3" - действительно ЗАРАБОТАЛО. Но считает очень медленно. Он реально только для менюшек. Не успевает все импульсы фиксировать.Не внимательно я смотрел. Пинайте меня, но не сильно :senile:
Но по моему эту путаницу лучше убрать - номер прерывания-номер пина. Делать так уж или пины или прерывания. Как в блоке автора.
А не могли бы ВЫ в блок автора добавить определение направления ?