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

 
 
> Энкодер и дребезг, нужна помощь
BigCoster
сообщение Apr 11 2007, 18:24
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 9-03-07
Из: г. Днепропетровск
Пользователь №: 26 009



Подскажите, что делать с дребезгом, если датчик положения
(у меня крыльчатка + оптический датчик "на просвет") подключен
к счётчику контроллера. Проблема втом что имеется ошибка которая пстоянно имеет
разное значение. Я так понимаю что програмно тут ни чем не поможешь.
Частота сигнала с датчика около 200 Гц.
пытался делать RC-фильтр но при ёмкости С=1мкФ не помогает, а при 2.2
не работает при номинальных оборотах двигателя.
Я начинающий, сильно не ругайте...

Сообщение отредактировал BigCoster - Apr 11 2007, 18:39
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Genadi Zawidowsk...
сообщение Sep 9 2013, 18:13
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Какая скорость прихода импульсов с валкодера? Разрешение? Крутит человек или это колесо на производстве чего-то?
Дребезг давить аппаратно (с опичтеских не требуется), если быстродействие озволяет, оба сигнала завести на прерывания. Обработчик общий на двоих:


Код
static uint_fast8_t old_val;

void spool_encinterrupt(void)
{
    const uint_fast8_t new_val = hardware_get_encoder_bits();    /* Состояние фазы A - в бите с весом 2, фазы B - в бите с весом 1 */

    // dimensions are:
    // old_bits new_bits
    static const int_fast8_t graydecoder [4][4] =
    {
        {
            +0,        /* 00 -> 00 stopped                */
            -1,        /* 00 -> 01 rotate left            */
            +1,        /* 00 -> 10 rotate right        */
            +0,        /* 00 -> 11 invalid combination */        
        },
        {
            +1,        /* 01 -> 00 rotate right        */
            +0,        /* 01 -> 01 stopped                */
            +0,        /* 01 -> 10 invalid combination */
            -1,        /* 01 -> 11 rotate left            */
        },
        {
            -1,        /* 10 -> 00 rotate left            */
            +0,        /* 10 -> 01 invalid combination */
            +0,        /* 10 -> 10 stopped                */
            +1,        /* 10 -> 11 rotate right        */
        },
        {
            +0,        /* 11 -> 00 invalid combination */
            +1,        /* 11 -> 01 rotate right        */
            -1,        /* 11 -> 10 rotate left            */
            +0,        /* 11 -> 11 stopped                */
        },
    };


#if ENCODER_REVERSE
    position1 -= graydecoder [old_val][new_val];
#else
    position1 += graydecoder [old_val][new_val];
#endif
    old_val = new_val;
}


В инициализации не забыть
Код
    old_val = hardware_get_encoder_bits();    /* Состояние фазы A - в бите с весом 2, фазы B - в бите с весом 1 */

чтобы ложные шаги при ресете не проходили на стоящем валкодере.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Sep 9 2013, 19:35
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(Genadi Zawidowski @ Sep 9 2013, 22:13) *
.


Красиво.
Дребезг даже не подавленный не будет мешать, однако будут лишние вызовы прерываний, что не есть хорошо. Если время оборота составляет несколько миллисекунд, то возможно поллинг будет лучшим подходом.

Сообщение отредактировал IgorKossak - Sep 10 2013, 18:39
Причина редактирования: бездумное цитирование
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- BigCoster   Энкодер и дребезг   Apr 11 2007, 18:24
- - Visor   Цитата(BigCoster @ Apr 11 2007, 23:24) По...   Apr 11 2007, 18:44
|- - BigCoster   Цитата(Visor @ Apr 11 2007, 18:44) Ошибка...   Apr 11 2007, 18:49
|- - Visor   200Гц довольно много. Крыльчатка правильно рассчит...   Apr 11 2007, 18:58
- - scifi   Надо посмотреть осциллографом. Тогда будет понятне...   Apr 11 2007, 19:21
- - CD_Eater   Цитатадатчик положения (у меня крыльчатка + оптиче...   Apr 11 2007, 19:22
- - Dog Pawlowa   Цитата(BigCoster @ Apr 11 2007, 18:24) По...   Apr 11 2007, 22:00
|- - Линь   Цитата(Dog Pawlowa @ Apr 12 2007, 02:00) ...   Apr 2 2014, 02:23
- - Stas633   Цитата(BigCoster @ Apr 11 2007, 19:24) По...   Apr 11 2007, 22:18
|- - BigCoster   Цитата(Stas633 @ Apr 11 2007, 22:18) Счит...   Apr 12 2007, 10:25
|- - Stas633   Цитата(BigCoster @ Apr 12 2007, 11:25) У ...   Apr 12 2007, 13:44
|- - BigCoster   Цитата(Stas633 @ Apr 12 2007, 13:44) Наст...   Apr 12 2007, 14:29
|- - Stas633   Цитата(BigCoster @ Apr 12 2007, 15:29) Ко...   Apr 12 2007, 15:13
|- - BigCoster   Цитата(Stas633 @ Apr 12 2007, 15:13) Обще...   Apr 12 2007, 15:30
||- - Dog Pawlowa   Ну, если счетчик считает при остановленном двигате...   Apr 12 2007, 15:44
|||- - BigCoster   Цитата(Dog Pawlowa @ Apr 12 2007, 15:44) ...   Apr 12 2007, 16:13
|||- - Dog Pawlowa   Цитата(BigCoster @ Apr 12 2007, 16:13) Чт...   Apr 12 2007, 16:51
|||- - Stas633   Цитата(BigCoster @ Apr 12 2007, 17:13) Ал...   Apr 12 2007, 17:03
|||- - Visor   Цитата(BigCoster @ Apr 12 2007, 21:13) РА...   Apr 12 2007, 17:13
|||- - Stas633   Цитата(Visor @ Apr 12 2007, 18:13) Чтоб э...   Apr 12 2007, 18:14
|||- - Visor   Цитата(Stas633 @ Apr 12 2007, 23:14) Вним...   Apr 12 2007, 19:08
||||- - Stas633   Цитата(Visor @ Apr 12 2007, 20:08) ....на...   Apr 13 2007, 10:36
||||- - Visor   Цитата(Stas633 @ Apr 13 2007, 15:36) Если...   Apr 13 2007, 19:38
|||- - Dog Pawlowa   Цитата(Stas633 @ Apr 12 2007, 18:14) [b]....   Apr 12 2007, 19:20
||- - Stas633   Цитата(BigCoster @ Apr 12 2007, 16:30) Пр...   Apr 12 2007, 15:55
|- - Visor   Цитата(Stas633 @ Apr 12 2007, 20:13) прог...   Apr 12 2007, 15:51
- - bgc   много раз делал подобные схемы - заводил на вход т...   Apr 12 2007, 09:49
- - ZAO   Цитата(BigCoster @ Apr 11 2007, 19:24) Я ...   Apr 12 2007, 10:27
|- - BigCoster   Цитата(ZAO @ Apr 12 2007, 10:27) Как раз ...   Apr 12 2007, 10:40
|- - ZAO   Цитата(BigCoster @ Apr 12 2007, 11:40) Вс...   Apr 12 2007, 10:46
|- - BigCoster   Цитата(ZAO @ Apr 12 2007, 10:46) А что за...   Apr 12 2007, 11:00
- - ZAO   Вы вполне можете завести одно таймерное прерывание...   Apr 12 2007, 11:41
|- - BigCoster   Цитата(ZAO @ Apr 12 2007, 11:41) Вы вполн...   Apr 12 2007, 11:55
|- - ZAO   Цитата(BigCoster @ Apr 12 2007, 12:55) То...   Apr 12 2007, 13:05
|- - rx3apf   Цитата(BigCoster @ Apr 12 2007, 12:55) То...   Apr 12 2007, 13:28
- - BigCoster   Вот осцилограмма работы датчика, записанная в Soun...   Apr 12 2007, 14:04
|- - Stas633   Цитата(BigCoster @ Apr 12 2007, 15:04) .....   Apr 12 2007, 14:43
|- - BigCoster   Цитата(Stas633 @ Apr 12 2007, 14:43) Поло...   Apr 12 2007, 15:10
- - _artem_   если есть механичекое дрожение крыльчатки при оста...   Apr 12 2007, 14:13
- - _Sam_   ЦитатаВот осцилограмма работы датчика ........ Из ...   Apr 12 2007, 23:03
|- - BigCoster   Цитата(_Sam_ @ Apr 12 2007, 23:03) Конечн...   Apr 13 2007, 10:23
- - _Sam_   ЦитатаДело в том что импульсы от датчика считает с...   Apr 13 2007, 11:32
|- - BigCoster   Цитата(_Sam_ @ Apr 13 2007, 11:32) Полнос...   Apr 13 2007, 15:44
- - BigCoster   ещё допишу... отображать совсем точно значения не ...   Apr 13 2007, 17:30
- - _Sam_   Наверное я не так понял программу. А что вы делает...   Apr 13 2007, 18:27
|- - BigCoster   Цитата(_Sam_ @ Apr 13 2007, 18:27) Наверн...   Apr 13 2007, 19:14
- - _Sam_   Вроде дошло. Попробуйте скачать какую-нибудь тер...   Apr 13 2007, 19:48
|- - BigCoster   Цитата(_Sam_ @ Apr 13 2007, 19:48) Вроде ...   Apr 13 2007, 20:09
|- - Dog Pawlowa   Цитата(BigCoster @ Apr 13 2007, 20:09) ...   Apr 14 2007, 10:03
|- - Stas633   Цитата(Dog Pawlowa @ Apr 14 2007, 11:03) ...   Apr 14 2007, 19:44
- - Visor   'BigCoster' Я сторонник отладки частями, и...   Apr 13 2007, 19:51
- - BigCoster   Спасибо всем за ответы, многие из них очень информ...   Apr 18 2007, 14:28
|- - mandr   Имею по работе проекты, в которых используются дат...   May 17 2007, 14:46
- - BigCoster   Я для себя решил, что без осциллографа схему менят...   May 17 2007, 15:36
|- - OlegIvanov   1. Двухканальный энкодер (о чем упоминалось выше),...   May 23 2007, 22:51
- - MaslovVG   Просмотрел ветку. Мое мнение. Подавить дребезг при...   May 24 2007, 06:06
- - vladimir_orl   Тема конечно устарела, но сейчас столкнулся с тем ...   Sep 3 2013, 05:44
|- - Tarbal   Цитата(vladimir_orl @ Sep 3 2013, 09:44) ...   Sep 4 2013, 20:02
|- - A. Fig Lee   Цитата(Tarbal @ Sep 4 2013, 16:02) ... Да...   Sep 10 2013, 01:07
|- - Tarbal   Цитата(A. Fig Lee @ Sep 10 2013, 05:07) К...   Sep 11 2013, 00:05
|- - A. Fig Lee   Цитата(Tarbal @ Sep 10 2013, 20:05) Я на ...   Sep 11 2013, 02:14
|- - Tarbal   Цитата(A. Fig Lee @ Sep 11 2013, 06:14) М...   Sep 13 2013, 13:30
|- - A. Fig Lee   Цитата(Genadi Zawidowski @ Sep 9 2013, 14...   Oct 3 2013, 20:53
- - A. Fig Lee   Добил. В принципе, избавлятся от дребезга в енкод...   Oct 4 2013, 19:27
- - A. Fig Lee   Состряпал hardware схемку. Не тестировал, правда. ...   Oct 4 2013, 20:28
- - Tarbal   Подавитель дребезга на стейт машине не давит дребе...   Oct 8 2013, 13:36


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:08
Рейтинг@Mail.ru


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