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


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

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


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 4 из 4«1234
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Энкодер KY-040
Энкодер KY-040
Слимпер Дата: Воскресенье, 10.07.2016, 11:00 | Сообщение # 46
Генерал-лейтенант
Группа: Проверенные
Сообщений: 676
Награды: 30
Репутация: 23
Статус: Offline
Цитата DWD ()
Так что не малую роль играет алгоритм обработки.
Ну алгоритм я не сам придумал, скопировал из статьи 
AVR. Учебный Курс. Инкрементальный энкодер.
Но так как в прерываниях я не очень хорошо понимаю, то поискав остановился на библиотеки TimerOne.   

Цитата DWD ()
По этому, показывая свой вариант программы обработки того же энкодера, нужно обязательно указывать и его марку. Для сравнения и анализа.
А на нем не чего не написано, но если судить по картинкам, то вроде "Энкодер KY-040".

К тому же для возможности подстройке под свой, есть два настраиваемых параметра.
 
DWD Дата: Воскресенье, 10.07.2016, 11:23 | Сообщение # 47
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Цитата Слимпер ()
Ну алгоритм я не сам придумал, скопировал из статьи

Тем более! В этом случае не учитывается ещё один параметр - программная среда. :)
Ведь одно дело написать прогу на Асме, и совсем другое - на С или FLP.

Цитата Слимпер ()
остановился на библиотеки TimerOne.

Мне лично не подходит Ваш вариант из-за запрета использования ШИМ аж с двух выходов.
Я в последнее время всё больше сталкиваюсь с нехваткой портов... :(

Цитата Слимпер ()
А на нем не чего не написано

Согласен. Свои знаю только потому, что покупал... :)
Ну, тогда, хотя бы, фотку внешнего вида приводить.
В общем, мне кажется, чего-то универсального наверно не получится.




Сообщение отредактировал DWD - Воскресенье, 10.07.2016, 11:24
 
Слимпер Дата: Воскресенье, 10.07.2016, 13:14 | Сообщение # 48
Генерал-лейтенант
Группа: Проверенные
Сообщений: 676
Награды: 30
Репутация: 23
Статус: Offline
Цитата DWD ()
В общем, мне кажется, чего-то универсального наверно не получится.
Полностью согласен, и даже не претендую на универсальность.
Делал исходно для себя, но решил выложить, может еще кому пригодится.

Цитата DWD ()
Мне лично не подходит Ваш вариант из-за запрета использования ШИМ аж с двух выходов.Я в последнее время всё больше сталкиваюсь с нехваткой портов... :(
Ну тут особенность работы с использовании прерывания по таймеру. 
Использование TimerOne приводит к тому, что нельзя использовать штатный Arduino ШИМ.
А сама библиотека позволяла реализовать другой ШИМ, сделал Блок и такой блок (ссылку давал выше).
Так что ШИМ на этих выходах использовать можно, но это будет шим с другими параметрами. 
 
Naladchik Дата: Воскресенье, 17.07.2016, 16:40 | Сообщение # 49
Лейтенант
Группа: Проверенные
Сообщений: 116
Награды: 0
Репутация: 0
Статус: Offline
Цитата DWD ()
Ещё один вариант подключения энкодера. Наверное, самый простой. :)
Действительно самый простой и работоспособный, но есть существенный минус, теряет половину "щелчков" энкодера.
Конечно это можно обойти параллельным включением двух счетчиков, на входа одного из них подавая прямые сигналы а на входа другого инвертированные с последующим суммированием результатов но тут сразу возникают сложности с предустановкой и реализацией верхней и нижней границ счета.


Предпочитаю Portable версию.
 
DWD Дата: Воскресенье, 17.07.2016, 18:56 | Сообщение # 50
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Naladchik, какой энкодер использовали?
Как подключали к Ардуино (подтягивающие резисторы, фильтрующие цепочки)?
Как программно считали и фиксировали импульсы?


 
Naladchik Дата: Воскресенье, 17.07.2016, 19:23 | Сообщение # 51
Лейтенант
Группа: Проверенные
Сообщений: 116
Награды: 0
Репутация: 0
Статус: Offline
DWD, Энкодер обычный, KY-040, тот, что уже на плате распаян. Никаких фильтров и подтяжек не использовал, так как на плате уже свои подтяжки стоят. Подключение к 2 и 3 входам
Цитата DWD ()
Как программно считали и фиксировали импульсы?
А вот тут вопрос не понятен. Если про Ваш вариант с подключению к обычному счетчику то им и считал. Если вопрос про сам энкодер, то у него 30 фиксируемых положений, 60 состояний.


Предпочитаю Portable версию.


Сообщение отредактировал Naladchik - Воскресенье, 17.07.2016, 19:29
 
DWD Дата: Воскресенье, 17.07.2016, 20:42 | Сообщение # 52
Подполковник
Группа: Проверенные
Сообщений: 279
Награды: 12
Репутация: 5
Статус: Offline
Цитата Naladchik ()
Никаких фильтров и подтяжек не использовал, так как на плате уже свои подтяжки стоят.

Судя по фоткам - подтяжка стоит, но фильтров нет. А должны быть.
Вот типовая схема включения, рекомендованная производителем:

На Ардуино сигнал подаётся через фильтрующую RC цепочку (10КОм, 0,01мкФ).
Без этой цепочки у меня любой энкодер сбоит.

Цитата Naladchik ()
А вот тут вопрос не понятен. Если про Ваш вариант с подключению к обычному счетчику то им и считал.

Это понятно. Имелось в виду, чем смотрели импульсы?
Я, например, состояние счётчика выводил на дисплей и вращая ручку, смотрел как чередуются цифры при медленом или быстром вращении.


 
Naladchik Дата: Воскресенье, 17.07.2016, 21:06 | Сообщение # 53
Лейтенант
Группа: Проверенные
Сообщений: 116
Награды: 0
Репутация: 0
Статус: Offline
Цитата DWD ()
Без этой цепочки у меня любой энкодер сбоит.
Я и хотел добиться того, чтобы без дополнительных элементов получить приемлемую работу энкодера.
Энкодер KY-040 для чего то серьезного явно не годится, а вот для выбора позиции меню на дисплее в самый раз.
Цитата DWD ()
Я, например, состояние счётчика выводил на дисплей и вращая ручку, смотрел как чередуются цифры при медленом или быстром вращении.
Я контролировал точно так же.

В итоге после всех моих экспериментов и переделки блоков Слимпера родил свой вариант (для меня конечный).
Суть в использовании прерываний по входам 2 и 3, т.е. выходы энкодера CLK и DT могут подключаться только на эти входа ардуинки, зато вполне приличное быстродействие и четкость позиционирования. Лично меня устраивает. Сделал в 3х вариантах: вывод значения позиции с пред установкой, значение с пред установкой и направлением вращения и с использованием библиотеки CyberLib.
Любопытная библиотека. Тому, кто гонится за быстродействием стоит обратить внимание.
Прикрепления: _2.rar(375Kb)


Предпочитаю Portable версию.


Сообщение отредактировал Naladchik - Воскресенье, 17.07.2016, 21:35
 
Форум » Основной » Спросить у знатоков » Энкодер KY-040
Страница 4 из 4«1234
Поиск:

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