|
MEGA+энкодер |
|
|
|
 |
Ответов
|
Sep 22 2006, 07:10
|

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

|
Цитата(Vladimir_T @ Sep 21 2006, 15:31)  Еще есть такое решение: По тику таймерного прерывания заполняется кольцевой буфер. интересно придумано :-) почему только таймерного? как то вот этот подбор времени тика таймера мне не очень нравиться... мне кажется эффективней анализировать в буфере данные от внешнего прерывания?
--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
|
|
|
|
|
Sep 22 2006, 11:57
|

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

|
Цитата(Леонид Иванович @ Sep 22 2006, 12:30)  Что касается обработки энкодера по прерываниям: зачем зря тратить ресурсы, вызывая обработчик на каждом периоде дребезга? Запрещать прерывание на время подавления дребезга - это хорошая идея. Период таймера как раз и будет временем подавления дребезга. Могу сказать обратное... зачем тратить впустую циклы контроллера, обеспечивая задержку для подавления дребезга, и тем самым увеличивать время основного цикла... да и обработчик прерывания - всего ничего.... а таймер задействовать для этих целей мне откровенно говоря жалко их и так мало :-) а если взять прерывание типа PCint (вектор у него ниже) -вообще красота... А ещё можно к ногам энкодера прицепить конденсатор - тоже не лишнее будет при борьбе с дребезгом.. Ну и что, что прерывание сработает лишний (ненужный) раз - в любом случае это же какое то действие над энкодером. не лучше ли это действие проанализировать?... все таки работа по внеш прерыванию - мне кажется более экономной...
--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
|
|
|
|
|
Sep 22 2006, 21:23
|

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

|
Цитата(Kovrov @ Sep 22 2006, 14:57)  Могу сказать обратное... зачем тратить впустую циклы контроллера, обеспечивая задержку для подавления дребезга, и тем самым увеличивать время основного цикла... да и обработчик прерывания - всего ничего.... а таймер задействовать для этих целей мне откровенно говоря жалко их и так мало :-) Спорить здесь не о чем. Каждый из вариантов имеет право на жизнь. Предпочтительный вариант зависит от особенностей конкретного приложения. Бывает, что и таймер остается неприкаянный, бывает что и основному циклу делать нечего, когда программа ждет действий пользователя. Цитата(Kovrov @ Sep 22 2006, 14:57)  А ещё можно к ногам энкодера прицепить конденсатор - тоже не лишнее будет при борьбе с дребезгом.. Вот этого делать не стоит - конденсатор резко укоротит жизнь энкодера, так как увеличатся импульсные токи при коммутации. Вот RC-цепочку - это можно. Хотя изящнее бороться с дребезгом программно.
--------------------
|
|
|
|
|
Sep 23 2006, 04:00
|

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

|
конечно же спорить не о чем, да мы и не спорим - обычное обсуждение плюсов и минусов :-) Цитата(Леонид Иванович @ Sep 23 2006, 01:23)  Вот этого делать не стоит - конденсатор резко укоротит жизнь энкодера, так как увеличатся импульсные токи при коммутации. Я вас умоляю ..... :-) я же не предлагаю от 220 вольт запитывать и конденсатор 1000мкф :-))) а вот RC цепочка своей постоянной времени может как раз понизить "быстродействие" энкодера... тогда уж элемент с триггером Шмидта.. -вот что действительно спасет.
--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
|
|
|
|
|
Nov 6 2006, 12:20
|

Частый гость
 
Группа: Свой
Сообщений: 105
Регистрация: 6-01-06
Пользователь №: 12 901

|
Хочу поделиться результатами опытов с энкодером...
Главное в работе с последним - это борьба с дребезгом. Для борьбы с ним общепринято вводить паузу (задержку) после обнаружения первого изменения уровня (фронта)...
Так я и делал (делал это в прерывании). Но что обраружилось: или происходили ложные срабатывания (если задержка мала) или (при значительном увеличении времени задержки) происходил пропуск срабатываний (при быстром вращении). Оптимальной, но не решившей проблему (возможно из-за свойств конкретного экземпляра энкодера), оказалась задержка в 300мкС, как и советовал ув. 'Леонид Иванович'.
Идея с подключением конденсатора, предложенная 'Kovrov', показалась мне весьма правильной, а проведенный опыт доказал полную состоятельность такого решения.
Таким образом, считаю, что для "победы" над дребезгом контактов, возникающим при работе энкодера, достаточно подключить параллельно выходам энкодера конденсаторы емкостью 0,1...0,15 мкФ (я поставил 0,15). При этом дребезг "пропадает" полностью (задержка не нужна совсем). Срабатывания отрабатываются правильно не зависимо от скорости вращения ручки энкодера.
Удачи! З.Ы. Подключение конденсатора безусловно снижает надежность конструкции (как минимум из-за введения новых деталей) и для СЕРЬЕЗНЫХ изделий такое решение не является правильным. Однако в бытовых условиях такое решения полностью оправдано.
|
|
|
|
Сообщений в этой теме
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 _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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|