реклама на сайте
подробности

 
 
> MEGA+энкодер
vetbaston
сообщение Sep 19 2006, 05:17
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 80
Регистрация: 21-08-06
Пользователь №: 19 702



Есть MEGA64 и инкрементальный энкодер PEC12-4220F , кто работал с энкодером посоветуйте , как правильно обстучать его? help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Vladimir_T
сообщение Sep 21 2006, 11:31
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 517
Регистрация: 7-02-06
Пользователь №: 14 073



Еще есть такое решение:
По тику таймерного прерывания заполняется кольцевой буфер. С каждым тиком в буфер засылается значение состояния энкодера. Анализируются элементы массива буфера: при равенстве элементов в массиве, возвращаем код состояния энкодера. Следующее заполнение кольцевого буфера только после обнаружения перекрытия фаз сигналов. Кольцевой буфер на 4-е элемента, частота опроса - 20 Гц.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Sep 22 2006, 07:10
Сообщение #3


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



Цитата(Vladimir_T @ Sep 21 2006, 15:31) *
Еще есть такое решение:
По тику таймерного прерывания заполняется кольцевой буфер.

интересно придумано :-) почему только таймерного?
как то вот этот подбор времени тика таймера мне не очень нравиться...
мне кажется эффективней анализировать в буфере данные от внешнего прерывания?


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
Леонид Иванович
сообщение Sep 22 2006, 08:30
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



С чувствительностью энкодера понятно. Я обычно делаю так, чтобы на каждый щелчок приходился один инкремент/декремент. Это как раз и обеспечивает 1х квадратурный декодер. Возможно, в ряде случаев чувствительность энкодера можно уменьшить (например, при путешествиях по меню). Но верно ли это с точки зрения эргономики? Пользователь крутит ручку, слышит щелчок, а ничего не происходит. Что ему делать дальше?

Необходимость "балансировать" бывает при неправильно выбранной фазе энкодера. На каждый механический щелчок энкодер проходит 4 разных электрических состояния. На этом и основаны 4х квадратурные декодеры. Если мы делаем из 4х декодера 1х, то в качестве рабочего можно взять любой из 4-х переходов. Лучше брать тот, который находится ровно посередине между точками механической фиксации.

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


--------------------
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Sep 22 2006, 11:57
Сообщение #5


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



Цитата(Леонид Иванович @ Sep 22 2006, 12:30) *
Что касается обработки энкодера по прерываниям: зачем зря тратить ресурсы, вызывая обработчик на каждом периоде дребезга? Запрещать прерывание на время подавления дребезга - это хорошая идея. Период таймера как раз и будет временем подавления дребезга.

Могу сказать обратное...
зачем тратить впустую циклы контроллера, обеспечивая задержку для подавления дребезга, и тем самым увеличивать время основного цикла...
да и обработчик прерывания - всего ничего....
а таймер задействовать для этих целей мне откровенно говоря жалко
их и так мало :-)
а если взять прерывание типа PCint (вектор у него ниже) -вообще красота...
А ещё можно к ногам энкодера прицепить конденсатор - тоже не лишнее будет при борьбе с дребезгом..
Ну и что, что прерывание сработает лишний (ненужный) раз - в любом случае это же какое то действие над энкодером.
не лучше ли это действие проанализировать?...
все таки работа по внеш прерыванию - мне кажется более экономной...


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
Леонид Иванович
сообщение Sep 22 2006, 21:23
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



Цитата(Kovrov @ Sep 22 2006, 14:57) *
Могу сказать обратное...
зачем тратить впустую циклы контроллера, обеспечивая задержку для подавления дребезга, и тем самым увеличивать время основного цикла...
да и обработчик прерывания - всего ничего....
а таймер задействовать для этих целей мне откровенно говоря жалко
их и так мало :-)


Спорить здесь не о чем. Каждый из вариантов имеет право на жизнь. Предпочтительный вариант зависит от особенностей конкретного приложения. Бывает, что и таймер остается неприкаянный, бывает что и основному циклу делать нечего, когда программа ждет действий пользователя.

Цитата(Kovrov @ Sep 22 2006, 14:57) *
А ещё можно к ногам энкодера прицепить конденсатор - тоже не лишнее будет при борьбе с дребезгом..


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


--------------------
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Sep 23 2006, 04:00
Сообщение #7


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



конечно же спорить не о чем, да мы и не спорим - обычное обсуждение плюсов и минусов
:-)
Цитата(Леонид Иванович @ Sep 23 2006, 01:23) *
Вот этого делать не стоит - конденсатор резко укоротит жизнь энкодера, так как увеличатся импульсные токи при коммутации.

Я вас умоляю ..... :-)
я же не предлагаю от 220 вольт запитывать и конденсатор 1000мкф :-)))
а вот RC цепочка своей постоянной времени может как раз понизить "быстродействие" энкодера...
тогда уж элемент с триггером Шмидта.. -вот что действительно спасет.


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vetbaston   MEGA+энкодер   Sep 19 2006, 05:17
- - XsanyaX   Один из сигналов (А или В ) я заводил на внешнее ...   Sep 19 2006, 07:47
|- - Леонид Иванович   Обработка энкодера по прерываниям неудобна, так ка...   Sep 19 2006, 08:25
|- - Kovrov   Цитата(Леонид Иванович @ Sep 19 2006, 12...   Sep 21 2006, 07:18
|- - Леонид Иванович   А какой физический смысл несет переменная "чу...   Sep 21 2006, 09:07
||- - Kovrov   Цитата(Леонид Иванович @ Sep 21 2006, 13...   Sep 21 2006, 15:46
|- - Shurmas   Цитата(Kovrov @ Sep 21 2006, 11:18) пробл...   Sep 21 2006, 09:17
- - psw   Цитата(vetbaston @ Sep 19 2006, 10:17) Ес...   Sep 19 2006, 08:52
|- - Maik-vs   Цитата(psw @ Sep 19 2006, 12:52) здесь ку...   Sep 14 2007, 11:50
|- - qqqqqq   Цитата(Maik-vs @ Sep 14 2007, 17:50)...   Sep 14 2007, 15:17
|- - gte   Цитата(qqqqqq @ Sep 14 2007, 19:17) Да. Б...   May 16 2008, 17:29
|- - 777777   Цитата(gte @ May 16 2008, 21:29) Благо, н...   May 17 2008, 14:19
|- - gte   Ну так порекомендуйте ортронный по сносной цене.   May 17 2008, 19:45
|- - _Pasha   Цитата(777777 @ May 17 2008, 17:19) Так о...   May 18 2008, 06:17
|- - rx3apf   Цитата(777777 @ May 17 2008, 18:19) Ну вы...   May 18 2008, 10:52
|- - 777777   Цитата(rx3apf @ May 18 2008, 14:52) Видел...   May 18 2008, 17:04
|- - rx3apf   Цитата(777777 @ May 18 2008, 21:04) И что...   May 18 2008, 18:03
|- - 777777   Цитата(rx3apf @ May 18 2008, 22:03) Основ...   May 19 2008, 09:09
|- - rx3apf   Цитата(777777 @ May 19 2008, 13:09) Так в...   May 19 2008, 18:51
|- - 777777   Цитата(rx3apf @ May 19 2008, 22:51) Но ес...   May 20 2008, 07:27
|- - gte   Цитата(777777 @ May 20 2008, 11:27) Ты пр...   May 20 2008, 09:06
- - vetbaston   Спасибо всем! Буду пробовать!   Sep 19 2006, 11:12
- - Nikola Kirov   Не невозможно сделат на 2 перервания. Вот я делал....   Sep 19 2006, 11:16
- - Shurmas   советую апноут микрочип AN696 - там схемотехника и...   Sep 19 2006, 11:37
- - xemul   Для устранения дребезга по нескольким входам с оди...   Sep 21 2006, 09:42
|- - Леонид Иванович   Если частота опроса 20 Гц, то получится страшно то...   Sep 21 2006, 12:09
||- - Vladimir_T   Цитата(Леонид Иванович @ Sep 21 2006, 15...   Sep 22 2006, 04:48
|||- - qqqqqq   Цитата(Vladimir_T @ Sep 22 2006, 10:48) Э...   Sep 13 2007, 12:08
||- - sitafern   Цитата(Леонид Иванович @ Sep 21 2006, 15...   May 18 2008, 11:23
||- - Леонид Иванович   Цитата(sitafern @ May 18 2008, 14:23) Про...   May 20 2008, 09:03
|- - Stas633   Хочу поделиться результатами опытов с энкодером......   Nov 6 2006, 12:20
- - _artem_   Наверно загадочность заключается в том что : - при...   Sep 21 2006, 17:34
- - _artem_   Если нужно несколько таймеров а возиться неохота ...   Sep 22 2006, 09:25
- - Kovrov   0.15 это очень много... попробуйте использовать ин...   Nov 7 2006, 07:13
- - 676038   Перечитал эту ветку и хочу предложить свой алгорит...   Dec 6 2006, 13:28
|- - wired   Цитата(676038 @ Dec 6 2006, 16:28) Перечи...   Jun 17 2008, 11:06
|- - 676038   Цитата(wired @ Jun 17 2008, 17:06) взял з...   Jun 17 2008, 13:45
||- - wired   Цитата(676038 @ Jun 17 2008, 16:45) Я счи...   Jun 17 2008, 14:11
|- - Палыч   Цитата(wired @ Jun 17 2008, 14:06) взял з...   Jun 17 2008, 14:51
|- - wired   Цитата(Палыч @ Jun 17 2008, 17:51) Достал...   Jun 17 2008, 15:01
|- - 676038   Цитата(wired @ Jun 17 2008, 21:01) но на ...   Jun 17 2008, 15:09
||- - 676038   Цитата(676038 @ Jun 17 2008, 21:09) Добав...   Jun 17 2008, 15:12
||- - Палыч   Цитата(676038 @ Jun 17 2008, 18:12) Может...   Jun 17 2008, 15:32
|- - Палыч   Цитата(wired @ Jun 17 2008, 18:01) но на ...   Jun 17 2008, 15:09
|- - wired   Цитата(Палыч @ Jun 17 2008, 18:09) Чего и...   Jun 18 2008, 07:54
- - Kovrov   ничего не упустилию просто процессор лишний раз па...   Dec 6 2006, 19:58
- - aforestman   Посмотрите на "хвостатый экодер". Может ...   Dec 8 2006, 13:39
- - OlegIvanov   Нарисуйте на бумажке работу энкодера и сгенерируйт...   Dec 13 2006, 05:15
- - _Pasha   Ниасилил выделенный участок осциллограммы. Что это...   May 17 2008, 05:04
|- - gte   Вероятнее всего моя рука дрогнула. Т.е. в этом мес...   May 17 2008, 06:34
|- - _Pasha   Цитата(gte @ May 17 2008, 09:34) На один ...   May 17 2008, 07:21
- - gte   Смотрел на одном. Но исходя из вида плоскости конт...   May 17 2008, 07:51
- - gte   Ради справедливости. Оптические есть с фиксацией и...   May 19 2008, 05:15
- - 676038   В своем последнем варианте - по изменению состояни...   Jun 17 2008, 15:48
|- - Maik-vs   Цитата(676038 @ Jun 17 2008, 19:48) Прост...   Jun 18 2008, 09:41
||- - wired   Цитата(Maik-vs @ Jun 18 2008, 12:41)...   Jun 18 2008, 11:36
||- - Maik-vs   Цитата(wired @ Jun 18 2008, 15:36) какое ...   Jun 18 2008, 14:33
||- - wired   Цитата(Maik-vs @ Jun 18 2008, 17:33)...   Jun 18 2008, 15:01
||- - wired   Цитата(Maik-vs @ Jun 18 2008, 17:33)...   Jun 23 2008, 06:39
||- - Maik-vs   Цитата(wired @ Jun 23 2008, 10:39) я прав...   Jun 26 2008, 12:46
||- - wired   Цитата(Maik-vs @ Jun 26 2008, 15:46)...   Jun 26 2008, 14:48
|- - Палыч   Цитата(676038 @ Jun 17 2008, 18:48) Прост...   Jun 18 2008, 12:47
|- - gte   Цитата(Палыч @ Jun 18 2008, 16:47) грамоз...   Jun 18 2008, 12:58
|- - Палыч   Цитата(gte @ Jun 18 2008, 15:58) При испо...   Jun 18 2008, 13:10
- - gte   Именно такой. Я смотрел анализатором переключая по...   Jun 18 2008, 13:19
|- - Палыч   Посмотрел DS. В нём есть рисунок "Quadrature ...   Jun 18 2008, 14:25
|- - gte   Цитата(Палыч @ Jun 18 2008, 18:25) Посмот...   Jun 18 2008, 15:14
- - ozzy   Цитата(wired @ Jun 18 2008, 14:36) ... и...   Jun 20 2008, 20:37
- - haker_fox   Использую датчики от мышки для управления двигател...   Jun 24 2008, 03:33
- - tremor   Читать всю тему влом, поэтому просто приведу свой ...   Jun 24 2008, 18:08
|- - haker_fox   Цитата(tremor @ Jun 25 2008, 03:08) PEC16...   Jun 25 2008, 01:44
- - tremor   ЦитатаТолько вряд ли он выдержит вращения на высок...   Jun 25 2008, 01:54
|- - haker_fox   Цитата(tremor @ Jun 25 2008, 10:54) В ДШ ...   Jun 25 2008, 04:27
- - sansnotfor   мой вариант. энкодер опрашиваю в прерывании таймер...   Nov 12 2008, 09:51
- - Genadi Zawidowski   Ух ты... А тема ещй жива... Попробую предложиьть и...   Nov 13 2008, 16:41
- - Andrew O. Shadoura   Добавлю немного в копилку. Знаю, не самый лучший в...   Nov 15 2008, 12:41
- - Павлик   Приложу свою первую подпрограмку для работы с Энк...   Nov 15 2008, 14:14
- - sansnotfor   оооо... заметил, что мой код можно сократить в это...   Nov 21 2008, 06:43


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 16:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01504 секунд с 7
ELECTRONIX ©2004-2016