Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Общетехнические вопросы

Общетехнические вопросы Общие вопросы аналоговой и цифровой электроники.

Ответ
 
Опции темы Опции просмотра
Старый 12.05.2020, 17:36   #51
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 7,031
Вес репутации: 6060/179
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Марк Посмотреть сообщение
У меня есть старое изделие - инженерный пульт для настройки систем. Энкодеры выдерживают примерно 2...3 года интенсивной работы. Но выходят из строя по дребезгу, а не по поломке вала. Закреплен на плате пайкой за выводы и скобы корпуса. На вал надета внатяг пластиковая ручка утопленная примерно на 20% в лицевую панель.
самая засада у этих бурнусов - крепежная гайка, так и норовят продать без неё, а она вообще какая-то самодельная...
Greg вне форума   Ответить с цитированием
Старый 12.05.2020, 18:52   #52
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,546
Вес репутации: 790/50
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Марк Посмотреть сообщение
Может. И даже есть. Напишите реальный проект с реальным механическим энкодером. И все поймете. Вы пытаетесь на ходу изобрести деревянный велосипед с квадратными колесами, в то время как есть простое референсное решение. Очень понятное и легко масштабируемое.
Спасибо за оценку...
Марк, я вас уважаю, но вы мне напоминаете Огурцова из кф "Карнавальная ночь "
SergP01 вне форума   Ответить с цитированием
Старый 12.05.2020, 21:01   #53
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 41
Сообщений: 4,921
Вес репутации: 4789/138
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от DimaS Посмотреть сообщение
Бурнсовских у меня нет, но я перебрал несколько ноунеймовых что у меня есть - у всех общий в центре.
Разборка одного из них показала симметричную конструкцию внутри, с явно центральным общим.
Анализ осциллограм тоже это подвердил - если берешь общий не из центра то всегда один из фронтов у двух фаз совпадают.
Метод поиска централного пина.
Цитата:
Сообщение от Рак Посмотреть сообщение
У бойрнса действительно по-другому, у нас монтажники иногда путают если энкодер выносной на проводах, а не в плату. И поведение как Дима писал.
При чём эту самую цоколёвку тяжело вызвонить мультиметром.
Я прозванивал и получается, что ошибся. А в Data Sheet не нашел или не смотрел.
Цитата:
Сообщение от Greg Посмотреть сообщение
самая засада у этих бурнусов - крепежная гайка, так и норовят продать без неё, а она вообще какая-то самодельная...
У меня оба с гайками, такие приличные энкодеры, со стяжками, с крепежными лепестками. Я еще и ручки для них заказал, чтобы совсем красиво было. Два энкодера и две ручки.

Цитата:
Сообщение от Марк Посмотреть сообщение
Кстати, давить дребезг емкостями некуртуазно, ибо вы уменьшаете ресурс контактов из-за экстратоков разряда. Да и не нужна там емкость. Дребезг гасится интервалом опроса.
Цитата:
Сообщение от Марк Посмотреть сообщение
Проблема только в ТАКТИРОВАНИИ этих цифровых фильтров. Время дребезга у энкодеров достаточно велико. Какой частотой накачиваются фильтры? Какой порядок у фильтра? Или вам достаточно только красивого названия?
Цитата:
Сообщение от Марк Посмотреть сообщение
Озвучьте максимальные значения предделителя. И порядок фильтра, который обычно фиксирован. Есть сильные подозрения, что для механического дребезга может не хватить.
Как только я убрал из схемы два конденсатора по 0,1 мкФ, счетчик таймера TIM3 начал глючить и даже максимальные задержки в цифровых фильтрах не помогают. Выясняю.
Код:
TIM3->CR1 |= (TIM_CR1_CKD_1); // 10: t DTS = 4 × t CK_INT.

TIM3->CCMR1  |= (TIM_CCMR1_IC1F_3 | TIM_CCMR1_IC1F_2 | TIM_CCMR1_IC1F_1 | TIM_CCMR1_IC1F_0); // IC1 Filter.
TIM3->CCMR1  |= (TIM_CCMR1_IC2F_3 | TIM_CCMR1_IC2F_2 | TIM_CCMR1_IC2F_1 | TIM_CCMR1_IC2F_0); // IC2 Filter.
Миниатюры
Макетка.jpg  
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 12.05.2020, 22:09   #54
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,160
Вес репутации: 4064/119
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от SergP01 Посмотреть сообщение
Спасибо за оценку...
На здоровье. Просто ваши "идеи" - это первое, что возникает, при первом взгляде на предмет. И у меня возникало. 10 лет назад.
Марк вне форума   Ответить с цитированием
Старый 12.05.2020, 23:54   #55
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,546
Вес репутации: 790/50
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Марк Посмотреть сообщение
На здоровье. Просто ваши "идеи" - это первое, что возникает, при первом взгляде на предмет. И у меня возникало. 10 лет назад.
это нормально... у вас, как и у меня, глубокое убеждение, что решение проблемы, априори, правильное только ваше...

скорее всего- и проблемы мы все решили по своему....
у меня все решения заработали...
SergP01 вне форума   Ответить с цитированием
Старый 13.05.2020, 00:17   #56
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 41
Сообщений: 4,921
Вес репутации: 4789/138
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Вопрос: изменение на +/- 1 единицу можно сделать аппаратно (задать в настройках)?
Можно:
Код:
TIM3->PSC = 3; // 4

TIM3->SMCR |= (TIM_SMCR_SMS_0 | TIM_SMCR_SMS_1); // Encoder mode 3. (+/- 4 units).
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 13.05.2020, 04:42   #57
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,160
Вес репутации: 4064/119
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от SergP01 Посмотреть сообщение
это нормально...
у меня все решения заработали...
Конечно нормально. Вопрос только в оптимальности, аппаратных ресурсах и масштабируемости.
Например, не у всех МК любой пин может быть ассоциирован с внешним прерыванием. Например, во время дребезга прерывания следуют одно за другим - пачкой. Это может вызвать блокировки кода при вращении. Ведь не всяк ставит энкодер на Н7...
Марк вне форума   Ответить с цитированием
Старый 13.05.2020, 08:31   #58
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Адрес: Russia, Orel
Возраст: 41
Сообщений: 4,921
Вес репутации: 4789/138
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Марк Посмотреть сообщение
Ведь не всяк ставит энкодер на Н7...
Не на H7, а на F4. Могу и на F0, F1, даже на PIC16F628A (на нем у меня счетчик витков собран с датчиком типа "самодельный энкодер" из двух герконов и колеса с магнитом, ему уже лет и лет).
Цитата:
Сообщение от Марк Посмотреть сообщение
Кстати, давить дребезг емкостями некуртуазно, ибо вы уменьшаете ресурс контактов из-за экстратоков разряда. Да и не нужна там емкость. Дребезг гасится интервалом опроса.
Марк, вы своим авторитетом меня не туда направили. Я решил доработать первоначальный вариант схемы, добавил резисторы 1кОм для защиты от экстратоков (тоже сомнительно, что конденсатор 0,1 мкФ может выдать экстраток при замыкании на механические контакты энкодера). Теперь экстратоков нет. Включен предделитель на 4 и стабильность счета улучшилась (в зафиксированном положении энкодера значение счетчика не меняется при незначительном покачивании ручки энкодера).
PS: Выражу недоумение по поводу таймеров STM32: только первые два входа из четырех могут работать в режиме энкодера, и не у всех таймеров.
Миниатюры
Схема включения энкодера новая.png  
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 13.05.2020 в 08:41.
Pridnya вне форума   Ответить с цитированием
Старый 13.05.2020, 09:23   #59
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,546
Вес репутации: 790/50
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Энкодер Bourns PEC16

а ежели резистор 1 ком убрать...
и подтяжку по мощнее сделать... не 4.7 , а 1...?
SergP01 вне форума   Ответить с цитированием
Старый 13.05.2020, 10:53   #60
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,160
Вес репутации: 4064/119
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Марк, вы своим авторитетом меня не туда направили.
Туда я направил. Туда. Просто не стал говорить об очевидном решении по ограничению тока. Догадались сами - ну и замечательно. Однако при отказе от кривого решения на таймере этот весь обвес с емкостями и токоограничением нахрен не облокотился.
Но если есть желание дальше жевать кактус - мешать более не буду.
Марк вне форума   Ответить с цитированием
Старый 13.05.2020, 10:55   #61
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,160
Вес репутации: 4064/119
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от SergP01 Посмотреть сообщение
а ежели резистор 1 ком убрать...
и подтяжку по мощнее сделать... не 4.7 , а 1...?
И что? Как это влияет на величину тока короткого замыкания емкости?
Марк вне форума   Ответить с цитированием
Старый 13.05.2020, 10:58   #62
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,160
Вес репутации: 4064/119
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Выражу недоумение по поводу таймеров STM32: только первые два входа из четырех могут работать в режиме энкодера, и не у всех таймеров.
Этот интерфейс изначально не предназначен для механических контактных энкодеров-регуляторов. А для САУ совершенно не требуется, чтобы все таймеры были снабжены этим интерфейсом.
Марк вне форума   Ответить с цитированием
Старый 13.05.2020, 11:34   #63
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 1,546
Вес репутации: 790/50
SergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to beholdSergP01 is a splendid one to behold
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Марк Посмотреть сообщение
И что? Как это влияет на величину тока короткого замыкания емкости?
емкости тоже надо убрать.... а резисторы поставить по номинальному току, который энкодер держит...
SergP01 вне форума   Ответить с цитированием
Старый 15.05.2020, 20:01   #64
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 47
Сообщений: 1,872
Вес репутации: 2596/88
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Марк Посмотреть сообщение
У Бурнса есть разные. PEC12, например, тоже симметричный.

Да я прочитав это, просто испугался - может у меня не так четко работает как хотелось бы, из-за того что ноги перепутаны? Оказалось что нет.


Все руки не доходят попробвать то решение что Вы мне тут подсказывали (проект "домашний", поэтому долгострой ).
Пока на таймеер все-таки как-то работает.
Вот нашел еще очень старый проект без таймера:
Код:
enum  {encState0, encStateA, encStateB, encStateAB}; // encoder states

static vu32 EncPrev= encState0, EncPrevPrev= encState0; // enc. previous and pre-previous states
static vs32 EncValue =0;




void enc_update(void)
{
 u32 EncCur = encState0;
   if( SW_5) EncCur  = encStateA;  // current states
   if( SW_6) EncCur |= encStateB;   
   if(EncCur != EncPrev)
   {  // state changes
        if(EncPrev == encStateAB && 
           EncCur  != EncPrevPrev)  

           {
             if(EncCur == encStateB)
               EncValue++;// up
             else
               EncValue--;// dn
        }
   }
   EncPrevPrev = EncPrev;
   EncPrev     = EncCur;
}



//----------------------------------------------------------------------

// In SysTick, every 10ms:

    enc_update();

    if(EncValue!=0)
   {
       if(EncValue>0) { newsw |= ENC_DN; }else{  newsw |=ENC_UP;}
       EncValue=0;
    }
//---
в newsw там кроме битов энкодера еще биты от кнопкок, после обработки сбрасываются.


Работало тоже не очень четко - часто на один щелчек перескакивало на две позиции. На таймере лучше работает.
DimaS вне форума   Ответить с цитированием
Старый 15.05.2020, 20:30   #65
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,160
Вес репутации: 4064/119
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

http://www.microchip.su/showpost.php...2&postcount=32
Марк вне форума   Ответить с цитированием
Старый 16.05.2020, 08:26   #66
Guaho
Senior Member
 
Аватар для Guaho
 
Регистрация: 28.06.2013
Возраст: 48
Сообщений: 771
Вес репутации: 1674/49
Guaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant future
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Марк Посмотреть сообщение
О, вот этот метод я использовал в своих проектах, только на АСМ перевёл. Нареканий нет! Просто, и не просит таймеров и прерываний, ошибки откидывает.
Guaho вне форума   Ответить с цитированием
Старый 16.05.2020, 08:36   #67
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 3,160
Вес репутации: 4064/119
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Энкодер Bourns PEC16

Цитата:
Сообщение от Guaho Посмотреть сообщение
и не просит таймеров и прерываний
Ну это только в самых простейших случаях. Вообще-то таймер и прерывания нужны. Но это общий системный таймер, где можно выставить интервал опроса энкодера (и другой клавиатуры, включая центральную кнопку энкодера). Интервал опроса должен быть больше времени дребезга.
Марк вне форума   Ответить с цитированием
Старый 16.05.2020, 23:36   #68
Guaho
Senior Member
 
Аватар для Guaho
 
Регистрация: 28.06.2013
Возраст: 48
Сообщений: 771
Вес репутации: 1674/49
Guaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant futureGuaho has a brilliant future
По умолчанию Re: Энкодер Bourns PEC16

Согласен. Энкодеры в моих проектах (равно как и клавиатура) всегда на прерываниях, чтобы ни от чего не зависеть и формировать данные опроса в фоновом режиме. В основной цикл включал опрос энкодеров только в критичных по времени случаях, когда код прерывания забит почти под завязку другими действиями, и в итоге разницы не заметил. А вот интервалы между опросами в некоторых моих проектах маловаты - обычно это около 1 мс, дребезг длиннее будет. Учту рекомендацию, спасибо.
Guaho вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите запрограммировать энкодер agat777 Общетехнические вопросы 0 15.04.2011 09:40
Энкодер на длинном проводе Слесарь Продукция MICROCHIP 19 14.11.2010 12:32
Какой линейный абсолютный энкодер посоветуете d-f-m Продукция MICROCHIP 65 20.03.2010 11:41
Энкодер AS5030. Как вычислить направление и скорость? IDE-5 Общетехнические вопросы 53 12.08.2009 11:19
Не могу найтить ЭНКОДЕР... dr_Sash Общетехнические вопросы 25 22.05.2009 21:09


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


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