Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
23.04.2010, 19:35
|
#1
|
Временная регистрация
Регистрация: 31.01.2009
Сообщений: 63
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 13 сообщении(ях)
|
Подключение инкрементального энкодера к AVR
Уважаемые инженеры, любители и начинающие программисты, я студент, и мне нужна Ваша помощь!
Мне необходимо разработать девайс индикации перемещения суппорта станка.
Исходные данные:
--Датчик ОС по положению - инкрементальный энкодер 1024 имп/об, 6 сигнальных выхода (А, А, В, В и z ,z);
--Микроконтроллер AVR - на мое усмотрение;
--LCD дисплей - на мое усмотрение;
--шаг винта 10 мм\об.
Проблемы с которыми я столкнулся:
-- не могу подружить энкодер с МК.
Кто сталкивался с такой задачей? Может дадите полезные советы, а еще лучше кусок схемной или программной реализации! буду очень благодарен!
|
|
|
|
23.04.2010, 19:44
|
#2
|
Прописка
Регистрация: 25.10.2008
Сообщений: 125
Сказал спасибо: 1
Сказали Спасибо 36 раз(а) в 26 сообщении(ях)
|
Re: подключение инкрементального энкодера к AVR
В начале нужно найти у энкодера выводы, которые размыкаются при вращении ручки (обычно 2 из 3-х, последний замыкается на корпус). Затем подключаем найденные выводы к входам МК подтянутым дополнительными резисторами (2...20 кОм) к +5В, параллельно входам МК ставим по конденсатору емкостью около 0,1 мкФ.
В качесте входов МК можно выбрать любой, но мне больше импонируют входы внешних прерываний.
Пишем программу для МК, в которой:
а) либо с определенным интервалом считываем состояния входов;
б) либо ждем события на входе внешнего прерывания.
Далее сравниваем что сработало и либо увеличиваем значение некоторой переменной, либо ее уменьшаем.
PS Надеюсь такое приближение к логике работы Вам поможет больше чем готовая схема и кусок кода.
|
|
|
|
23.04.2010, 20:03
|
#3
|
Временная регистрация
Регистрация: 31.01.2009
Сообщений: 63
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 13 сообщении(ях)
|
Re: подключение инкрементального энкодера к AVR
Сообщение от Aleksashka1
|
В начале нужно найти у энкодера выводы, которые размыкаются при вращении ручки (обычно 2 из 3-х, последний замыкается на корпус). Затем подключаем найденные выводы к входам МК подтянутым дополнительными резисторами (2...20 кОм) к +5В, параллельно входам МК ставим по конденсатору емкостью около 0,1 мкФ.
В качесте входов МК можно выбрать любой, но мне больше импонируют входы внешних прерываний.
Пишем программу для МК, в которой:
а) либо с определенным интервалом считываем состояния входов;
б) либо ждем события на входе внешнего прерывания.
Далее сравниваем что сработало и либо увеличиваем значение некоторой переменной, либо ее уменьшаем.
PS Надеюсь такое приближение к логике работы Вам поможет больше чем готовая схема и кусок кода.
|
На сколько я понимаю канал А и В - это квадратичные сигналы сдвинутые относительно друг друга на 90 гр, которые в зависимости от вращения энкодера показывает направление вращения,если первый сигнал с канала А то в одну сторону, если с канала В то в другую, а канал Z - нуль метка энкодера, которая показывает что энкодер сделал оборот, я думаю что нульметку тоже необходимо заводить на МК! или может я чего то не понимаю?
Ваш вариант подключения подойдет в бытовом применении, таких как регулировка звука, света, и др., вообщем там где точность в принципе не важна, а в моем случае нужно отслеживать вплоть до микрон.
P.S разобрал стойку NC 200, проследил по монтажной схеме выходы с энкодера, они идут на приемник КР559ИП11, а потом на МК, и все 3 сигнала заходят на МК, так что отказываться от стробирующего сигнала не стоит.
Последний раз редактировалось umkamaks; 23.04.2010 в 20:13.
|
|
|
|
23.04.2010, 20:08
|
#4
|
Вид на жительство
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
|
Re: подключение инкрементального энкодера к AVR
боюсь, что пред-предыдущий пост ошибочен.
с помощью дифференциальных приёмников из А, неА получаем фазу А.
Аналогично фазы В и Z. А далее как советовал
Aleksashka1,
Лично я А и В завёл бы на два D триггера и логический вентиль, что бы получить два сигнала: шаг и направление.
на прерывание заводить шаг и Z (сигнал нулевого положения-формируется при каждом полном обороте )
оборотов много - надо предусмотреть датчики начального и конечного положения суппорта.
Последний раз редактировалось vsky; 23.04.2010 в 20:18.
|
|
|
|
23.04.2010, 20:11
|
#5
|
Вид на жительство
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
|
Re: подключение инкрементального энкодера к AVR
сорри, опередили.
а ещё лучше взять PIC18F2431(4431) ![Улыбка](images/smilies/icon_smile.gif)
на микрочипе есть пример его использования
|
|
|
|
23.04.2010, 20:22
|
#6
|
Временная регистрация
Регистрация: 31.01.2009
Сообщений: 63
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 13 сообщении(ях)
|
Re: подключение инкрементального энкодера к AVR
Сообщение от vsky
|
сорри, опередили.
а ещё лучше взять PIC18F2431(4431) ![Улыбка](images/smilies/icon_smile.gif)
на микрочипе есть пример его использования
|
а по подробней можно? плаваю в общих фразах, мне бы по конкретнее! А то все равно что говорить с иностранцем зная несколько рабочих фраз!
может имеете ссылку на какой нить ресурс, что бы по подробнее разобраться!
|
|
|
|
23.04.2010, 20:31
|
#7
|
Вид на жительство
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
|
Re: подключение инкрементального энкодера к AVR
|
|
|
|
23.04.2010, 20:38
|
#8
|
Временная регистрация
Регистрация: 31.01.2009
Сообщений: 63
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 13 сообщении(ях)
|
Re: подключение инкрементального энкодера к AVR
а Z куда заводить и что с ним делать?
|
|
|
|
23.04.2010, 20:38
|
#9
|
Вид на жительство
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
|
Re: подключение инкрементального энкодера к AVR
Сообщение от umkamaks
|
мне бы по конкретнее!
|
![Идея!](images/smilies/icon_idea.gif)
если допустимо перейти на PIC, то посмотрите вот это:
|
|
|
|
23.04.2010, 20:42
|
#10
|
Вид на жительство
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
|
Re: подключение инкрементального энкодера к AVR
Сообщение от umkamaks
|
а Z куда заводить и что с ним делать?
|
по этому сигналу (можно не вешать на прерывание, если аппаратно будете формировать сигналы шаг и направление) Вы будете сбрасывать программный счётчик положения (0...1023)
но этот счётчик работает только в пределах одного оборота, считайте 10мм хода суппорта
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:01.
|
|