FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Пятница, 09.12.2016, 02:54
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 3 из 4«1234»
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Энкодер KY-040
Энкодер KY-040
gore-40 Дата: Четверг, 29.10.2015, 20:13 | Сообщение # 31
Рядовой
Группа: Проверенные
Сообщений: 29
Награды: 0
Репутация: 1
Статус: Offline
вот , а дальше не знаю как
может как то математикой можно
Прикрепления: 6944980.png(4Kb)
 
Oleg1345140 Дата: Четверг, 29.10.2015, 20:43 | Сообщение # 32
Полковник
Группа: Проверенные
Сообщений: 366
Награды: 2
Репутация: 6
Статус: Offline
навряд ли, иначе если ты больше 10 накрутил и у тебя коэффициент включится то 11 ты уже не наберешь энкодором. сейчас попробую накидать схему которая меняет коэфициент в зависимости от скорости поворота

Добавлено (29.10.2015, 20:43)
---------------------------------------------
со скоростными счетчиками тоже не срослось...... будем думать

 
gore-40 Дата: Пятница, 30.10.2015, 21:25 | Сообщение # 33
Рядовой
Группа: Проверенные
Сообщений: 29
Награды: 0
Репутация: 1
Статус: Offline
Здравствуйте.
Подскажите пожалуйста как ускорить энкодер?
Набросал схемку , но в ней ускорение работает через ж..( т.е. прирост скорости зависит от скорости вращения, и прирост нестабильный ), а хочется чтоб жестко было например 1+1 или 1+2 т.е. на один челчек чтоб проходило к примеру 2 или 3 импульса. 
И чтоб как то ограничить чтобы не зашкаливало.
Прикрепления: _v128b.flp(1257Kb)
 
Liboil Дата: Среда, 18.11.2015, 13:27 | Сообщение # 34
Рядовой
Группа: Проверенные
Сообщений: 23
Награды: 1
Репутация: 1
Статус: Offline
Ваши примеры не станут быстрее если напихаете больше логических элементов или инверсий... я  предложил нормальный вариант (пос#8) надо было то  только при настройке входных сигналов учитывать инверсию при  включении подтягивающего резистора   и отключить фильтр на  дребезг .... ,а ошибки ( проскоки на больших скоростях ) это не программные, а механические ( Энкодер KY-040 за 3 копейки) и что такого вы хотели подключить где нужны бешенные скоростя переключения ??? максимум он нужен для переключения по меню ... и проверять работу схемы уж наверное не по миганию светодиода и на глазок - воде сработал?! вроде нет?! вроде быстро !!вроде нет?!

Сообщение отредактировал Liboil - Среда, 18.11.2015, 14:06
 
Chaynik Дата: Пятница, 20.11.2015, 18:57 | Сообщение # 35
Лейтенант
Группа: Проверенные
Сообщений: 93
Награды: 0
Репутация: 2
Статус: Offline
Liboil, попробовал ваш блок. Работает хорошо. Единственное, что у меня получается, что счётчик срабатывает на 2 щелчка энкодера, но это видимо из-за конструкции самого энкодера.
 
DWD Дата: Воскресенье, 13.12.2015, 22:06 | Сообщение # 36
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
В некоторых ноутбуках стоят энкодеры на регулировке звука.
В аттаче фрагмент схемы.

Реализация:
Инвертор на выводе А энкодера служит для получения тактовых импульсов для D-триггера, на информационный вход которого подключен вывод B энкодера.
С инвертора берутся импульсы для отработки количества импульсов, а с выхода триггера - сигнал о направлении.

Правда D-триггер в программе не реализован. Но для внешней цепи - вполне.
Прикрепления: 7587565.png(56Kb)




Сообщение отредактировал DWD - Воскресенье, 13.12.2015, 22:09
 
Слимпер Дата: Вторник, 14.06.2016, 15:29 | Сообщение # 37
Генерал-лейтенант
Группа: Проверенные
Сообщений: 678
Награды: 31
Репутация: 23
Статус: Offline
Написал для себя еще одну версию реализации блока для работы с Энкодером, может кому пригодится
Версия со счетом и установкой начального значения
Версия выдающая импульсы + -
 
Rovki Дата: Вторник, 14.06.2016, 22:03 | Сообщение # 38
Генерал-лейтенант
Группа: Модераторы
Сообщений: 824
Награды: 16
Репутация: 13
Статус: Offline
Я делал такой макрос .на входе А,В выход -импульсы вправо ,импульсы влево
Прикрепления: 3318927.jpg(166Kb)


Электронщик до мозга костей и не только
 
Naladchik Дата: Суббота, 25.06.2016, 20:36 | Сообщение # 39
Лейтенант
Группа: Проверенные
Сообщений: 116
Награды: 0
Репутация: 0
Статус: Offline
Пришел и мне недавно мой энкодер KY-40. Попробовал его с разными блоками в итоге решил сделать свой.
Кому интересно, проверяйте.
Из плюсов, за счет использования прерывания более корректная работа счетчика импульсов на средних скоростях вращения вала энкодера.
Из минусов - это использование прерывания, т.е одна из ног (у меня CLK) может быть подключена только ко входу 2.
Прикрепления: Encoder.v1-CODE.ubi(87Kb) · _Encoder.v1.flp(232Kb)


Предпочитаю Portable версию.
 
DWD Дата: Понедельник, 04.07.2016, 17:24 | Сообщение # 40
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Ещё один вариант подключения энкодера. Наверное, самый простой. :)

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

С учётом очерёдности появления импульсов при вращении ручки энкодера его выход А подключается ко входу изменения направления счёта, а выход В - к счётному входу счётчика.

При вращении ручки энкодера вправо сначала устанавливается единица на входе направления счёта, а потом фронтом импульса на счётном входе счётчик инкрементируется. И наоборот, при вращении влево, сначала на входе направления счёта выставляется ноль и потом фронтом импульса на счётном входе счётчик декрементируется.
В реультате, счётчик тупо считает и увеличивает число импульсов при вращении ручки энкодера вправо и уменьшает при вращении ручки влево.

Здесь уже предлагались подобные варианты схемы, но данная реалиация самая простая.

Непонятная особенность: если входы для подключения энкодера не инвертировать, то работает хуже - вперёд считает нормально, а назад - со сбоями. При инвертировании входов считает нормально в обе стороны.
Скорость отработки ограничена воможностями программы счётчика, но реагирует на энкодер довольно быстро.




Сообщение отредактировал DWD - Понедельник, 04.07.2016, 17:30
 
Oleg1345140 Дата: Понедельник, 04.07.2016, 20:03 | Сообщение # 41
Полковник
Группа: Проверенные
Сообщений: 366
Награды: 2
Репутация: 6
Статус: Offline
Цитата DWD ()
Ещё один вариант подключения энкодера.
А со соростью счета как дела обстаят
 
DWD Дата: Вторник, 05.07.2016, 11:42 | Сообщение # 42
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
В сравнении с вариантом из поста №4 предложенный вариант более резвый и считает правильно при более  быстром вращении ручки энкодера. Вариант из поста №4 при этом начинает тормозить и почти не считает.



Сообщение отредактировал DWD - Вторник, 05.07.2016, 13:34
 
vry Дата: Пятница, 08.07.2016, 14:42 | Сообщение # 43
Рядовой
Группа: Проверенные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
купил такой же энкодер, быстро крутишь не считает, только когда медленно крутишь, иногда наоборот считает
 
Слимпер Дата: Воскресенье, 10.07.2016, 09:39 | Сообщение # 44
Генерал-лейтенант
Группа: Проверенные
Сообщений: 678
Награды: 31
Репутация: 23
Статус: Offline
В сообщении №37 я выкладывал блок энкодера, но когда сам его протестировал в реальном проекте понял, что если есть что то кроме самого  энкодера, то уже начинаются проблемы.

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

И того получилось два блока

Encoders_D



Encoders_S




Использовать второй не обязательно, но мне так удобнее. А разделил на два, для того чтобы можно было одним энкоредом настраивать несколько величин, переключаясь между ними.


!!!!Возможны конфликты с блоками, где используется Timer1 (из известных мне Rremote, Servo)
!!!!Нельзя использовать совметсно с ШИМ на
Arduino Uno 9, 10
Arduino Leonardo 9, 10, 11
Arduino Mega 11, 12, 13


Если очень нужен ШИМ можно использовать мой блок PWM_CONST_(CODE), он сделан на базе той же библиотеки и вмести работают.
ШИИМ 10 БИТ пользовательский блока на Си
Прикрепления: Encoders_D-CODE.ubi(71Kb) · Encoders_S-CODE.ubi(100Kb) · 9268809.png(7Kb)


Сообщение отредактировал Слимпер - Воскресенье, 10.07.2016, 11:01
 
DWD Дата: Воскресенье, 10.07.2016, 10:36 | Сообщение # 45
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Цитата Слимпер ()
когда сам его протестировал в реальном проекте понял, что если есть что кроме самого  энкодера, то уже начинаются проблемы.

Это понятно.
Но я, передед тем, как предложить "свой" вариант на одном счётчике, протестировал все имеющиеся варианты на "голом" МК. То есть, использовал только блоки обработки энкодера и вывода результата на дисплей для наглядности.

В общем, отличие было только в способах обработки. И даже в этом случае скорости отработки и глюки были разные.
При том, что основные варианты по сложности и количеству применяемых блоков были более-менее одинаковы.

Так что не малую роль играет алгоритм обработки.

А когда я попробовал вместо энкодера использовать 3-х фазный двигатель, то понял, что и сам энкодер накладывает существенное ограничение на скорость отработки.
Посмотрел несколько вариантов и видел, что у многтх энкодеров не одинаковый сдвиг импульсов с выходов А и В.

В совокупности получается аж два параметра, сильно влияющих на скорость и точность отработки импульсов с энкодера: сам энкодер и программа.

Энкодеров много, и вариантов программ тоже. Получается, что можно в хорошо работающем устройстве заменть энкодер на другой, и оно может начать глючить.

По этому, показывая свой вариант программы обработки того же энкодера, нужно обязательно указывать и его марку. Для сравнения и анализа.


 
Форум » Основной » Спросить у знатоков » Энкодер KY-040
Страница 3 из 4«1234»
Поиск:

FLProg © 2016
Яндекс.Метрика