Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 01.02.2016, 21:49  
neid_nnov
Временная регистрация
 
Регистрация: 05.10.2010
Сообщений: 68
Сказал спасибо: 12
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
neid_nnov на пути к лучшему
По умолчанию Опрос энкодера 4 провода

Всем привет! Ковыряюсь с подрулевым джойстиком от Рено! Там энкодер у которого получается 4 вывода... немогу получить с него нормального опроса(( в просторах интернета нашел его схему и тоже люди разбирали:
https://h-a.d-cd.net/d1067d4s-960.jpg
Когда разобрал, понял что поочередно замыкаются три контакта на четвертый!
Получается примерно такой вид:
1-0-0
0-1-0
0-0-1
Побывал сделать опрос по двум контактам, исключив просто третий... кручу вправо нормально, кручу влево... часто проскальзывает что как бы вправо повернул+нужно делать одно лишее движение, т.к. исключил один контакт
Код:
Код:
if((!encoder_A) && (encoder_A_prev)){    // если состояние изменилось с положительного к нулю
      if(encoder_B) {val++;} 
        else {val--;}
encoder_A_prev = encoder_A;
Реклама:
neid_nnov вне форума  
Непрочитано 02.02.2016, 00:19  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,106
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: Опрос энкодера 4 провода

Сообщение от neid_nnov Посмотреть сообщение
Побывал сделать опрос по двум контактам, исключив просто третий...
Ну да, почему бы не исключить... В Рено же дураки сидят, нафигачили лишнего...

Там для начала дребезг бешеный. А программа написана для учебного примера, не для жизни.
makakus вне форума  
Непрочитано 02.02.2016, 06:52  
Georg77
Прописка
 
Регистрация: 11.04.2009
Сообщений: 233
Сказал спасибо: 11
Сказали Спасибо 109 раз(а) в 66 сообщении(ях)
Georg77 на пути к лучшему
По умолчанию Re: Опрос энкодера 4 провода

ВСЕ входные сигналы на МК ВСЕГДА сначала надо ИНТЕГРИРОВАТЬ, затем принять решение об их состоянии - и только потом обрабатывать в программе.
Если этого не сделать, то будет работать как в китайских гамнитолах - с пропусками шагов и скачками в обратном направлении.
Касательно сабжа - включить глаза и голову.
Georg77 вне форума  
Непрочитано 02.02.2016, 20:01  
Ржевский
Частый гость
 
Аватар для Ржевский
 
Регистрация: 04.10.2014
Адрес: Курск
Сообщений: 12
Сказал спасибо: 1
Сказали Спасибо 8 раз(а) в 4 сообщении(ях)
Ржевский на пути к лучшему
По умолчанию Re: Опрос энкодера 4 провода

Чёто там неправильно. Должно быть типа синус-косинус или код Грея (который вроде есть в сишной библиотеке))
Ржевский вне форума  
Непрочитано 02.02.2016, 22:40  
neid_nnov
Временная регистрация
 
Регистрация: 05.10.2010
Сообщений: 68
Сказал спасибо: 12
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
neid_nnov на пути к лучшему
По умолчанию Re: Опрос энкодера 4 провода

Сообщение от Georg77 Посмотреть сообщение
ВСЕ входные сигналы на МК ВСЕГДА сначала надо ИНТЕГРИРОВАТЬ, затем принять решение об их состоянии - и только потом обрабатывать в программе.
Если этого не сделать, то будет работать как в китайских гамнитолах - с пропусками шагов и скачками в обратном направлении.
Касательно сабжа - включить глаза и голову.
Вы знаете как его обработать, можете привести пример, пока сказали как воду пернулу все трое!)) Знал бы не писал бы на форуме!
neid_nnov вне форума  
Непрочитано 02.02.2016, 22:52  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,106
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: Опрос энкодера 4 провода

Сообщение от Georg77 Посмотреть сообщение
ВСЕ входные сигналы на МК ВСЕГДА сначала надо ИНТЕГРИРОВАТЬ
СОВЕРШЕННО НЕОБЯЗАТЕЛЬНО! если программно обрабатывать дребезг. Ведь десяток строк кода стОит подешевле, чем даже одна RC-цепочка? Пользуюсь для этого поллингом раз в 10-15мс, и байт на кнопку: там счётчик-интегратор и биты состояния.


Сообщение от neid_nnov Посмотреть сообщение
сказали как воду пернулу все трое!)) Знал бы не писал бы на форуме!
Исполать вам, не пишите не засоряйте.
Кстати, вопросов вы не задавали, чё ж обижаетесь?
Собственно, все три ответа по существу...
makakus вне форума  
Непрочитано 15.02.2016, 20:40  
МВА
Гражданин KAZUS.RU
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: Опрос энкодера 4 провода

Сообщение от neid_nnov Посмотреть сообщение
Получается примерно такой вид:
1-0-0
0-1-0
0-0-1
Всем привет.
Если внимательно присмотреться, то получается обычное чередование кода. В данном случае (4-2-1). Если крутить энкодер в другую сторону, то наверняка код будет увеличиваться (1-2-4). Значит нужно завести сигналы в один порт, лучше с нулевого по второй пины, считать их регистр, оставить три младших разряда и просто сравнивать предыдущее число с текущим. Если, к примеру больше, то проводим инкремент, а если меньше, то декремент. Перед занесением в регистр нужно произвести интегрирование (я убедился, что это самый лучший метод) и по моему опыту интегрирование лучше производить в верх, а вниз сбрасывать счетчик интегратора сразу и без задержек. Тогда получается чистый сигнал даже в энкодерах со скользящим контактом. Когда-то я помогал Aviasined с энкодером для замены кнопок, так вот там в последних проэктах я применил этот способ интегрирования, и только после этого все заработало. https://kazus.ru/forums/showthread.php?t=109548

PS. Обратите внимание что при переходе на новый круг(после 4 идет 1 или после 1 идет 4 - то в этом случае - инкремент при уменьшении, а декремент при увеличении) Но можно использовать алгоритм на основе кода Грея. Я в этой же теме попутно выкладывал проект под названием encod.rar Будет лишь разница в переменных. не два бита, а три.
Прошу прощения. Указал не тот проект. Проект Servo.rar https://kazus.ru/forums/showthread.php?t=109548&page=8

Последний раз редактировалось МВА; 16.02.2016 в 21:29.
МВА вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор энкодера для координатника yura72 Измерительное оборудование 46 05.03.2016 17:38
Парапсихология, гомеопатия и паранаука Marc2005 Отвлекитесь, эмбеддеры! 2616 05.09.2014 23:07
Про медные провода Electric75 Отвлекитесь, эмбеддеры! 165 06.04.2014 19:17
Прибор для поиска скрытой проводки, провода в жгуте и т.п. M_V_M Измерительное оборудование 55 30.12.2013 19:50
Методы измерения длины провода faru Измерительное оборудование 2 21.12.2010 07:28


Часовой пояс GMT +4, время: 15:30.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot