roboforum.ru

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

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

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: AVR-MT-128

Сообщение blindman » 11 май 2010, 12:47

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

Если только все на ассемблере написать, тогда можно штук шесть регистров исключительно под обработку энкодера выделить.Но все равно при считывании положения придется прерывания запрещать, и есть реальный шанс пропуска импульсов
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: AVR-MT-128

Сообщение CiSi » 11 май 2010, 18:07

Вроде начинаю понимать. При использовании такой логики как на приведенной схеме (7474N)мне можно использовать мой алгоритм и просто домножать на коэфициент деления?
Тем более можно использовать не одну а несколько таких D-триггеров.
Я правельно понимаю?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение blindman » 11 май 2010, 18:27

Какой алгоритм? Какое деление? Ты что, импульсы делить собрался? Зачем тогда энкодер с таким разрешением?
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: AVR-MT-128

Сообщение CiSi » 11 май 2010, 18:34

Разве D-триггер не будет в двое медленнай посылать на мк сигнал?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение blindman » 11 май 2010, 18:42

Нет. В таком включении он определяет знак разности фаз между квадратурными сигналами.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: AVR-MT-128

Сообщение CiSi » 11 май 2010, 20:07

В паспорте на датчик рекомендуется использовать ИС AM26LS32 и AM26C32, но толком не чего на них найти не могу. Может кто нибудь работал с ними или знает о них что нибудь?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение boez » 12 май 2010, 01:09

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

Даже в продаже есть такая микруха - меньше полбакса в розницу :)
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: AVR-MT-128

Сообщение CiSi » 12 май 2010, 09:29

Да даташит, то на буржуйском. И для чего эта штука? Это же вроде не счетчик?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение boez » 12 май 2010, 11:11

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

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

Re: AVR-MT-128

Сообщение CiSi » 12 май 2010, 20:36

А можно просто сделать на логике счетчик и снимать с него данные с помощью мк?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение Duhas » 12 май 2010, 20:54

ога, мона, уже в параллельном коде..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: AVR-MT-128

Сообщение CiSi » 12 май 2010, 20:58

А поподробнее?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение Duhas » 12 май 2010, 21:11

ну а куда подробнее ? хотя возможно есть счетчики и с параллельным съемом.. а вы как себе представляете действо : поставить счетчик на логике?
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: AVR-MT-128

Сообщение CiSi » 12 май 2010, 21:33

принцип действия я представляю себе так: обнуляем счетчик, зпускаем его, после завершения съема данных с датсика счетчиком - опрашиваем счетчик с помощью МК, а там уже проводим дальнейшие операции.
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение Duhas » 13 май 2010, 07:41

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

по скольку дерганья идут на достаточно большой частоте, мы ставим счетчик, который переводит кол-во дерганий в параллельный код... его съем со счетчика производится по параллельной шине, а может есть и по последовательной я не в курсе... т.е. нам нада читать счетчик как можно чаще, чтобы не пропустить события... но читать мы может уже сразу байт... если счетчик 8-ми битный... или более... или можно каскадировать счетчики...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron