Реле Tianbo - ресурс 10 млн переключений

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

Страница 1 из 2
Знаток
 
Аватар для salyamkamrad
 
Регистрация: 07.10.2009
Адрес: А кому интересно?
Сообщений: 382
Репутация: 70
62 18
2 2
 
08.10.2009 03:42 #1
Может уважаемые знатоки микроконтроллерной техники подскажут, как организовать опрос валкодера? Например, есть валкодер, на выходах которого при вращении вала появляются прямоугольные импульсы, сдвинутые по фазе в ту или иную сторону в зависимости от направления вращения вала. Ну, заведу я эти сигналы на ножки микроконтроллера, а дальше что с ними делать?
Оценка
Мониторинг и контроль температуры необходимы во многих устройствах и приборах. Сложно найти электронную систему, в которой не присутствовал бы тот или иной температурный датчик. Многие азиатские производители производят датчики, которые не уступают по качеству популярным западным решениям и выгодно отличаются от них по цене. Каждая из компаний обладает большим опытом в производстве микроэлектронных приборов и имеет мощные отделы разработки и контроля качества. Они предлагают не только свои разработки, но также функциональные и Pin-to-Pin-аналоги популярных датчиков западных компаний в конструктивных исполнениях для самых разнообразных областей применения.
Знаток
 
Аватар для salyamkamrad
 
Регистрация: 07.10.2009
Адрес: А кому интересно?
Сообщений: 382
Репутация: 70
62 18
2 2
 
10.10.2009 13:52 #2
Хорошо, поставлю вопрос по другому. Как избавиться от необходимости постоянно опрашивать состояние выходов валкодера? Пока что вижу только один путь, в ходе выполнения программы зашитой в микроконтроллер периодически переходить в подпрограмму опроса состояния выходов валкодера, и при если уровни на них меняются, определить последовательность изменения уровней из чего определим направление вращения вала, а затем считать количество изменений, что будет соответствовать углу поворота (или скорости вращения вала). Но, такой способ сожрет немало ресурсов, отнимая их от выполнения контроллером более важных задач. Если учесть, что мне требуется еще опрос клавиатуры, обращение к АЦП и портам, некоторые математические вычисления,боюсь, у контроллера сил не хватит на все Как же все таки организовать считывания данных с валкодера?
Оценка
Компания Chipown представила высокоскоростной драйвер PN7113 для управления N-канальными транзисторами MOSFET или IGBT, работающими в полумостовой топологии. Микросхема является Pin-to-Pin совместимым аналогом популярных западных драйверов хх2110, хх2113 и хх2112, но при этом имеет существенное преимущество – более доступную цену. В статье приведен детальный разбор сравнительных параметров драйверов PN7113 и хх211x, их электрических характеристик, а также схем включения, цоколевки и описания выводов.
Гуру
 
Регистрация: 13.05.2006
Сообщений: 3,905
Репутация: 1249
1,233 63
62 32
 
10.10.2009 19:45 #3
Цитата:
на выходах которого при вращении вала появляются прямоугольные импульсы, сдвинутые по фазе в ту или иную сторону в зависимости от направления вращения вала
Четыре импульсные последовательности по две взаимоинверсные в каждой фазе. Сдвиг 90 градусов. Обычно. Как-зависит от вашей задачи. Поставьте её себе правильно или заставьте ставящих вам эту задачу привести её к правильной формулировке. А за вас задачу никто не решит.
Оценка
Знаток
 
Аватар для salyamkamrad
 
Регистрация: 07.10.2009
Адрес: А кому интересно?
Сообщений: 382
Репутация: 70
62 18
2 2
 
10.10.2009 20:08 #4
Вот я ее и решаю в данный момент Надумал следующее, вместо того, что бы заводить сигналы с обоих выходов валкодера на ноги микроконтроллера, попытаюсь сначала подать их на вход фазового детектора, который будет определять направление вращения валкодера. С его выхода ноль или единица (в зависимости от направления вращения) будут подаваться на один из выводов порта микроконтроллера. Контроллеру не придется заниматься задачей определения направления вращения, одного зайца я таким образом убиваю наповал Остается только подсчитывать импульсы с одного из выходов валкодера определяя угол поворота или скорость вращения, все, второй заяц мертв! Как считаете, я ничего лишнего или неосуществимого не напридумывал?
Оценка
Гуру
 
Регистрация: 13.05.2006
Сообщений: 3,905
Репутация: 1249
1,233 63
62 32
 
10.10.2009 20:18 #5
Цитата:
я ничего лишнего или неосуществимого не напридумывал
Нет конечно. Подобная задача решается с помощью перываний. MCU и в роли фазового детектора и в роли остального. Программно.
Оценка
Знаток
 
Аватар для salyamkamrad
 
Регистрация: 07.10.2009
Адрес: А кому интересно?
Сообщений: 382
Репутация: 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,905
Репутация: 1249
1,233 63
62 32
 
29.10.2009 08:58 #9
Цитата:
Очередь импульсов сравнивается с табличкой, в результате знаем в какую сторону крутится ручка
В какую сторону крутится ручка узнаём мгновенно по сдвигу фаз сигналов без всяких табличек. Сдиг сигналов относительно друг друга для чёткого детектирования направления 90 градусов.
Оценка
Специалист
 
Регистрация: 16.07.2009
Сообщений: 1,282
Репутация: 282
273 189
0 0
 
31.10.2009 17:27 #10
Алгоритм программной обработки валкодера - http://datagor.ru/microcontrollers/3...-valkoder.html
Оценка
Ответ
Страница 1 из 2
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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

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