roboforum.ru

Технический форум по робототехнике.

AVR-MT-128_энкодер_продолжение

Re: AVR-MT-128

blindman » 11 май 2010, 12:47

boez писал(а):И АВР такое может быть даже потянет чисто программно, если его аккуратно замучать

Если только все на ассемблере написать, тогда можно штук шесть регистров исключительно под обработку энкодера выделить.Но все равно при считывании положения придется прерывания запрещать, и есть реальный шанс пропуска импульсов

Re: AVR-MT-128

CiSi » 11 май 2010, 18:07

Вроде начинаю понимать. При использовании такой логики как на приведенной схеме (7474N)мне можно использовать мой алгоритм и просто домножать на коэфициент деления?
Тем более можно использовать не одну а несколько таких D-триггеров.
Я правельно понимаю?

Re: AVR-MT-128

blindman » 11 май 2010, 18:27

Какой алгоритм? Какое деление? Ты что, импульсы делить собрался? Зачем тогда энкодер с таким разрешением?

Re: AVR-MT-128

CiSi » 11 май 2010, 18:34

Разве D-триггер не будет в двое медленнай посылать на мк сигнал?

Re: AVR-MT-128

blindman » 11 май 2010, 18:42

Нет. В таком включении он определяет знак разности фаз между квадратурными сигналами.

Re: AVR-MT-128

CiSi » 11 май 2010, 20:07

В паспорте на датчик рекомендуется использовать ИС AM26LS32 и AM26C32, но толком не чего на них найти не могу. Может кто нибудь работал с ними или знает о них что нибудь?

Re: AVR-MT-128

boez » 12 май 2010, 01:09

У меня опять какой-то неправильный гугл, он сходу нашел описание ;) http://focus.ti.com/docs/prod/folders/p ... ls32a.html

Даже в продаже есть такая микруха - меньше полбакса в розницу :)

Re: AVR-MT-128

CiSi » 12 май 2010, 09:29

Да даташит, то на буржуйском. И для чего эта штука? Это же вроде не счетчик?

Re: AVR-MT-128

boez » 12 май 2010, 11:11

Нет, это просто дифференциальный приемник 4-канальный. Сорри, забываю что не все люди умеют читать по-аглицки :) Там датчик передает каждый сигнал по двум проводам в противофазе. Можно просто взять один из этих сигналов, но помехозащищенность будет низкой, а можно применить такую микруху и повысить помехозащищенность, особенно если провода от датчика длинные. В общем, процессу счета это не поможет никак, на выходе все равно будет меандр с той же частотой импульсов.

Мы на прошлой работе применяли датчик ЛИР (кажется ЛИР-120), не заморачиваясь с диф. входами, просто подавали один из сигналов пары на дискретный вход контроллера (там по входу просто резистор и светодиод оптрона развязки), на 3000 оборотов работало без сбоев (датчик кажется 1024 имп/об), выше не надо было. Потом все это подавалось на TMS320F240, у него аппаратный модуль интерфейса энкодера, сразу 16- или 32-битным таймером считает импульсы, с учетом направления, программно вообще ничего делать не надо. С атмегой все намного сложнее, на атмеге я работал только с энкодером, управлялемым рукой (просто такая крутилка), там даже прерывания не нужны были, опросом раз в миллисекунду все делалось. Так что конкретного решения в виде куска кода для работы с быстрыми энкодерами на авр у меня нету, было бы - поделился бы.

Re: AVR-MT-128

CiSi » 12 май 2010, 20:36

А можно просто сделать на логике счетчик и снимать с него данные с помощью мк?

Re: AVR-MT-128

Duhas » 12 май 2010, 20:54

ога, мона, уже в параллельном коде..

Re: AVR-MT-128

CiSi » 12 май 2010, 20:58

А поподробнее?

Re: AVR-MT-128

Duhas » 12 май 2010, 21:11

ну а куда подробнее ? хотя возможно есть счетчики и с параллельным съемом.. а вы как себе представляете действо : поставить счетчик на логике?

Re: AVR-MT-128

CiSi » 12 май 2010, 21:33

принцип действия я представляю себе так: обнуляем счетчик, зпускаем его, после завершения съема данных с датсика счетчиком - опрашиваем счетчик с помощью МК, а там уже проводим дальнейшие операции.

Re: AVR-MT-128

Duhas » 13 май 2010, 07:41

ммм... датчик-энкодер дергает ногами пока ему крутят вал... это ведь понятно?

по скольку дерганья идут на достаточно большой частоте, мы ставим счетчик, который переводит кол-во дерганий в параллельный код... его съем со счетчика производится по параллельной шине, а может есть и по последовательной я не в курсе... т.е. нам нада читать счетчик как можно чаще, чтобы не пропустить события... но читать мы может уже сразу байт... если счетчик 8-ми битный... или более... или можно каскадировать счетчики...


Rambler\'s Top100 Mail.ru counter