AC-DC и DC-DC преобразователи напряжения Top Power на складе ЭЛТЕХ

Как опросить валкодер?

Страница 1 из 2
Знаток
 
Аватар для salyamkamrad
 
Регистрация: 07.10.2009
Адрес: А кому интересно?
Сообщений: 383
Репутация: 70
62 18
2 2
 
08.10.2009 03:42 #1
Может уважаемые знатоки микроконтроллерной техники подскажут, как организовать опрос валкодера? Например, есть валкодер, на выходах которого при вращении вала появляются прямоугольные импульсы, сдвинутые по фазе в ту или иную сторону в зависимости от направления вращения вала. Ну, заведу я эти сигналы на ножки микроконтроллера, а дальше что с ними делать?
Оценка
КОМПЭЛ продолжает серию публикаций об аналого-цифровых преобразователях азиатских производителей. В этом выпуске – АЦП с низкой разрешающей способностью: почему они востребованы несмотря на наличие встроенных 10-битных преобразователей в МК, какие модели пользуются спросом и как их можно использовать в качестве прямой (Pin-to-Pin) и функционально эквивалентной замены западным аналогам – в ряде случаев даже с улучшенными характеристиками.
Знаток
 
Аватар для salyamkamrad
 
Регистрация: 07.10.2009
Адрес: А кому интересно?
Сообщений: 383
Репутация: 70
62 18
2 2
 
10.10.2009 13:52 #2
Хорошо, поставлю вопрос по другому. Как избавиться от необходимости постоянно опрашивать состояние выходов валкодера? Пока что вижу только один путь, в ходе выполнения программы зашитой в микроконтроллер периодически переходить в подпрограмму опроса состояния выходов валкодера, и при если уровни на них меняются, определить последовательность изменения уровней из чего определим направление вращения вала, а затем считать количество изменений, что будет соответствовать углу поворота (или скорости вращения вала). Но, такой способ сожрет немало ресурсов, отнимая их от выполнения контроллером более важных задач. Если учесть, что мне требуется еще опрос клавиатуры, обращение к АЦП и портам, некоторые математические вычисления,боюсь, у контроллера сил не хватит на все Как же все таки организовать считывания данных с валкодера?
Оценка
Светодиодные драйверы серий XLG/ ELG/HLG MEAN WELL предназначены для самых разных задач – от уличного и архитектурного освещения до промышленных и рекламных установок. Все три линейки объединяют герметичный металлический корпус (степень защиты не ниже IP65/67), стабильная работа при экстремальных температурах (вплоть до –40 °C) и комплекс встроенных защит: от короткого замыкания, перегрузки, перенапряжения и перегрева. Во всех семействах есть возможность выбора диммируемых моделей по принятым в световой отрасли интерфейсам управления. Посмотреть ассортимент
Гуру
 
Регистрация: 13.05.2006
Сообщений: 3,900
Репутация: 1249
1,231 63
62 32
 
10.10.2009 19:45 #3
Цитата:
на выходах которого при вращении вала появляются прямоугольные импульсы, сдвинутые по фазе в ту или иную сторону в зависимости от направления вращения вала
Четыре импульсные последовательности по две взаимоинверсные в каждой фазе. Сдвиг 90 градусов. Обычно. Как-зависит от вашей задачи. Поставьте её себе правильно или заставьте ставящих вам эту задачу привести её к правильной формулировке. А за вас задачу никто не решит.
Оценка
Керамические конденсаторы – одни из самых массовых и востребованных электронных компонентов, занимающих первое место по количеству строк в спецификациях большинства электронных изделий. Компания КОМПЭЛ поддерживает постоянный складской запас многослойных керамических конденсаторов (MLCC). В ассортименте – более 4000 уникальных наименований общим объёмом свыше 650 млн штук от ведущих производителей Азии, включая крупнейшие китайские бренды CCTC и Fenghua, а также таких мировых лидеров, как Yageo, Murata, Samsung и TDK.
Знаток
 
Аватар для salyamkamrad
 
Регистрация: 07.10.2009
Адрес: А кому интересно?
Сообщений: 383
Репутация: 70
62 18
2 2
 
10.10.2009 20:08 #4
Вот я ее и решаю в данный момент Надумал следующее, вместо того, что бы заводить сигналы с обоих выходов валкодера на ноги микроконтроллера, попытаюсь сначала подать их на вход фазового детектора, который будет определять направление вращения валкодера. С его выхода ноль или единица (в зависимости от направления вращения) будут подаваться на один из выводов порта микроконтроллера. Контроллеру не придется заниматься задачей определения направления вращения, одного зайца я таким образом убиваю наповал Остается только подсчитывать импульсы с одного из выходов валкодера определяя угол поворота или скорость вращения, все, второй заяц мертв! Как считаете, я ничего лишнего или неосуществимого не напридумывал?
Оценка
Гуру
 
Регистрация: 13.05.2006
Сообщений: 3,900
Репутация: 1249
1,231 63
62 32
 
10.10.2009 20:18 #5
Цитата:
я ничего лишнего или неосуществимого не напридумывал
Нет конечно. Подобная задача решается с помощью перываний. MCU и в роли фазового детектора и в роли остального. Программно.
Оценка
Знаток
 
Аватар для salyamkamrad
 
Регистрация: 07.10.2009
Адрес: А кому интересно?
Сообщений: 383
Репутация: 70
62 18
2 2
 
10.10.2009 21:38 #6
В том то и дело, что хочу сделать аппаратный (хотя какой там аппаратный, одна микросхема) фазовый детектор, чтобы не грузить мк лишними циклами. Хотя, программный способ тоже испытаю, нужно сравнить оба метода. А за прерывания спасибо действительно, сейчас только подумал, вместо циклического опроса просто сделать переход в подпрограмму слежения за валкодером по прерыванию, не придется его постоянно контролировать.
Оценка
Новичок
 
Регистрация: 13.02.2008
Адрес: Ставрополь
Сообщений: 493
Репутация: 39
30 30
0 0
 
20.10.2009 19:51 #7
Я решал эту проблему. Я организовывал опрос валкодера по прерываниям таймера, а затем идет анализ изменения уровней на входах.
Частота опроса примерно 1500Гц. Один микроконтроллер PIC18F452 опрашивал два валкодера. И управлял двумя шаговыми двигателями.
Если нужно больше инфи попробую найти из того что осталось после проекта.
Оценка
Новичок
 
Регистрация: 27.10.2009
Сообщений: 1
Репутация: 10
 
27.10.2009 12:23 #8
Обработка сигнала - при вращении в одну сторону, имеем на двух ногах которые участвуют в опросе валкодера чередование импульсов, грубо - 1,2,1,2,1,2 и т.д. А при вращении в другую -2,1,2,1,2,1 и т.д.
Обычно для подсчета используется табличка "истинности". Очередь импульсов сравнивается с табличкой, в результате знаем в какую сторону крутится ручка.
Оценка
Гуру
 
Регистрация: 13.05.2006
Сообщений: 3,900
Репутация: 1249
1,231 63
62 32
 
29.10.2009 08:58 #9
Цитата:
Очередь импульсов сравнивается с табличкой, в результате знаем в какую сторону крутится ручка
В какую сторону крутится ручка узнаём мгновенно по сдвигу фаз сигналов без всяких табличек. Сдиг сигналов относительно друг друга для чёткого детектирования направления 90 градусов.
Оценка
Специалист
 
Регистрация: 16.07.2009
Сообщений: 1,276
Репутация: 282
271 187
0 0
 
31.10.2009 17:27 #10
Алгоритм программной обработки валкодера - http://datagor.ru/microcontrollers/3...-valkoder.html
Оценка
Ответ
Страница 1 из 2
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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

Быстрый переход
ТМ Электроникс. Электронные компоненты и приборы. Скидки, кэшбэк и бесплатная доставка
Часовой пояс GMT +3, время: 09:45.
Обратная связь РадиоЛоцман Вверх