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

Вернуться   Форум Микро-Чип > Микроконтроллеры других производителей

Микроконтроллеры других производителей Все, что касается микроконтроллеров и НЕ подошло в раздел Microchip.

Ответ
 
Опции темы Опции просмотра
Старый 05.05.2013, 11:55   #1
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,876
Вес репутации: 5553/169
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
По умолчанию квадратурный энкодер STM32

никто не работал?

изначально надо было 1 capture и 4 compare канала на 32 разрядах счётчика. ТАм их (каналов) всего 4, поэтому Cаpture - ладно, можно обойтись, но вот compare - минимум 4 (или там всё так усложняется, что он, compare, уже вообще не нужен).
После конфигурации энкодера получается, что остаётся всего два канала compare (3 и 4). Ни туда ни сюда...
Каскадирование счётчиков ничего не даёт, потому что слейв-счётчику не передаётся направление счёта. Сделать как хотелось - запараллелить два 32-разрядных счётчика, но как-то это жирно, да и нет возможности по ногам.
В итоге - по старинке http://www.microchip.su/showpost.php...2&postcount=32 , но там до 200 кГц...
Greg вне форума   Ответить с цитированием
Старый 05.05.2013, 20:03   #2
torrego7
Senior Member
 
Регистрация: 18.05.2012
Сообщений: 346
Вес репутации: 474/34
torrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of light
По умолчанию Re: квадратурный энкодер STM32

Работа энкодера
Миниатюры
Работа энкодера.jpg  
torrego7 вне форума   Ответить с цитированием
Старый 05.05.2013, 23:39   #3
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,876
Вес репутации: 5553/169
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: квадратурный энкодер STM32

Цитата:
Сообщение от torrego7 Посмотреть сообщение
Работа энкодера
объясните, как предложенный вами алгоритм справится с реальным энкодером.
Миниатюры
enc.GIF  
Greg вне форума   Ответить с цитированием
Старый 06.05.2013, 11:15   #4
torrego7
Senior Member
 
Регистрация: 18.05.2012
Сообщений: 346
Вес репутации: 474/34
torrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of light
По умолчанию Re: квадратурный энкодер STM32

Не я разработал этот способ. Но он самый простой и не требует capture и compare. На графике всё понятно и просто. "А" - на запрос прерывания, "С" - бит направления счёта. Совершенно иной способ и гораздо проще предложенного Вами (ну, если он фирменный - то дело другое).
torrego7 вне форума   Ответить с цитированием
Старый 06.05.2013, 11:24   #5
torrego7
Senior Member
 
Регистрация: 18.05.2012
Сообщений: 346
Вес репутации: 474/34
torrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of light
По умолчанию Re: квадратурный энкодер STM32

В моём варианте запрос выполняется по низкоуровневому сигнала "А" и опрос состояния "С".
В Вашем варианте работает двухуровневый запрос по обоим сигналам. И разница на графике заметна по соотношению обоих сигналов в моменты перехода.
torrego7 вне форума   Ответить с цитированием
Старый 06.05.2013, 11:36   #6
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,876
Вес репутации: 5553/169
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: квадратурный энкодер STM32

Цитата:
Сообщение от torrego7 Посмотреть сообщение
Не я разработал этот способ. Но он самый простой и не требует capture и compare. На графике всё понятно и просто. "А" - на запрос прерывания, "С" - бит направления счёта. Совершенно иной способ и гораздо проще предложенного Вами (ну, если он фирменный - то дело другое).
Ваш способ действительно проще для понимания (и обычно приводится в статьях для начинающих). К сожалению, он не "совершенно иной", а всего лишь частный случай предложенного мной, не учитывает всех возможных состояний энкодера, и в реальной жизни неработоспособен.

Но вы, походу, вообще не в теме. изначально речь шла об аппаратном модуле энкодера таймера процессора, т.е. когда обработка сигналов происходит аппаратно. capture и compare - навески на этом счётчике и предназначены совершенно для другого.
Greg вне форума   Ответить с цитированием
Старый 06.05.2013, 11:46   #7
torrego7
Senior Member
 
Регистрация: 18.05.2012
Сообщений: 346
Вес репутации: 474/34
torrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of lighttorrego7 is a glorious beacon of light
По умолчанию Re: квадратурный энкодер STM32

Да, в моём варианте есть ждиттер, признаю. С архитектурой STM32 не знаком. Предполагал, что реализация программная.
torrego7 вне форума   Ответить с цитированием
Старый 25.08.2019, 15:42   #8
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,876
Вес репутации: 5553/169
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: квадратурный энкодер STM32

Цитата:
Сообщение от Greg Посмотреть сообщение
изначально надо было 1 capture и 4 compare канала на 32 разрядах счётчика.
в итоге оказалась вполне работоспособна схема считать таймером до единицы, вываливаться в прерывания по compare и там программно разгребать пришедший пульс. всяко экономия на алгоритме определения пульса, направление счета показывает бит DIR. да и compare надо под 40 штук, все равно железо не справится...
что (приятно) удивляло - как этот алгоритм, так и "правильный" программный дают разрешение энкодера в 4 больше официально заявляемого. т.е. на корпусе написано например 10 тыс.имп. на оборот, а считается 40.
Greg вне форума   Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32, с чего начать? EviL_LaugH Микроконтроллеры других производителей 6 26.07.2011 14:15
Квадратурный энкодер на борту PIC18 Вяч13 Продукция MICROCHIP 16 01.01.2011 20:17
Какой линейный абсолютный энкодер посоветуете 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, время: 16:53.


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