Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 24.06.2011, 13:18   #61
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Подключение инкрементального энкодера к AVR

Сообщение от georgnsk Посмотреть сообщение
Посмотри даташит на SN75175, это диф. приемник с линии, там в типовой схеме всё есть, использую их на плазме, а там помех УЖАС!.., работают нормально.
Я пакет SN75176 (трансивер) купил.... Да, он имеет 1 приемник, но и в 2 раза меньше. Да и драйвер есть, если вдруг где что передать нужно.
Реклама:
pasipaka вне форума  
Непрочитано 24.06.2011, 22:48   #62
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,443
Сказал спасибо: 99
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Подключение инкрементального энкодера к AVR

Это точно... Чукча не читатель, чукча - писатель

До сих пор нет условий задачи. То есть, требуемая точность, быстродействие.

Я подозреваю, что это студент-двоечник, которому надо сделать всё готовое, чтобы он ваше блюдечко преподнёс преподу и получил оценку в зачётку.

А теперь по делу:
Есть станок, движется там планшет или ещё что. С какой скоростью? Сколько оборотов при этом делает вал с энкодером?

Софтварный энкодер без проблем обсчитывает 100 - 200 кГц (событий).
Есть энкодеры где только A,B и Z. Для задачи достаточно только A и B.

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

Дифференциальный выход нужен только в условях сильных помех. Имхо, в большинстве случаев достаточно обычного экранированного кабеля.

100 - 200 кГц - это уже выше механического дребезга. Хотя МК с аппаратным квадратурным интерфейсом может быть полезен.

Софтварный алгоритм для двухбайтного счётчика выполняется за 30-40 тактов, ну плюс ещё тактов 20 на вход в прерывание. Итого, при частоте 16 МГц получаем частоту обсчёта 400 кГц. Это без особых ухищрений.

Для новичка это будет проще всего.

P.S. Боюсь, только, что не в коня корм.
Godzilla82 вне форума  
Непрочитано 25.06.2011, 00:45   #63
turn
Частый гость
 
Регистрация: 16.04.2011
Сообщений: 36
Сказал спасибо: 5
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
turn на пути к лучшему
По умолчанию Re: Подключение инкрементального энкодера к AVR

Сообщение от umkamaks Посмотреть сообщение
.. я студент, и мне нужна .. энкодер с МК ...
Студент, не е%и мозги ни себе, ни людям с АВР-ами .. в STM32 уже встроена аппаратная поддержка и инкрементального энкодера, и апппаратный ШИМа для BLDC мотора. на сайте у Дихальта разжевывается на русском один такой пример, есть несколько апнотов - было бы желание. Проц ~$2, демоборд - $12.
turn вне форума  
Непрочитано 25.06.2011, 02:01   #64
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,443
Сказал спасибо: 99
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Подключение инкрементального энкодера к AVR

Сообщение от turn Посмотреть сообщение
в STM32 уже встроена аппаратная поддержка...
Я бы не советовал новичкам использовать STM8. Для него пока ещё очень сырой софт. Да и документация оставляет желать лучшего.
Godzilla82 вне форума  
Непрочитано 25.06.2011, 15:22   #65
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Подключение инкрементального энкодера к AVR

Сообщение от Godzilla82 Посмотреть сообщение
Это точно... Чукча не читатель, чукча - писатель
....

Дифференциальный выход нужен только в условях сильных помех. Имхо, в большинстве случаев достаточно обычного экранированного кабеля.

100 - 200 кГц - это уже выше механического дребезга. Хотя МК с аппаратным квадратурным интерфейсом может быть полезен.

Софтварный алгоритм для двухбайтного счётчика выполняется за 30-40 тактов, ну плюс ещё тактов 20 на вход в прерывание. Итого, при частоте 16 МГц получаем частоту обсчёта 400 кГц. Это без особых ухищрений.

Для новичка это будет проще всего.

P.S. Боюсь, только, что не в коня корм.
Это вы мягкое с теплым намешали?... Чего то вы так радикально...
О дифф. сигнале вопрос подымал я. А у меня имплуьсы могут до 1 МГц достигать. Но пока на таких скоростях не катаю.

З.Ы.
Сорри, если влез со своими вопросами.
pasipaka вне форума  
Непрочитано 25.06.2011, 17:48   #66
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Подключение инкрементального энкодера к AVR

Немного вопрос в сторону:
если число импульсов на оборот датчика кратно степени 2, то диапазон значений прекрасно ограничиивается маской и побитный умножением: например, дачтик с 4096 имп/на оборот (2^12степени).
Для хранения значений берем слово (16 бит). Значения должны вертется от 0 и до этого максимума, потому эффективно ограничение реализуется так:
Koord&=0b0000111111111111

А вот если датчик дает некратное степени 2 число импульсов, например 14400.
Как тогда эффективно ограничить???
Если движемся в плюс, то при превышении максимума, его же вычитаваем.
А если в минус (при условии, что переменная слово 16бит) при переходе с 0 в FFFF тоже вычитать соотв. значение (52136) ? Раково как-то и не красиво.

А может есть какие более изящные алгоритмы??? По каким словокомбинациям гуглить? А то не нахожу....
pasipaka вне форума  
Непрочитано 25.06.2011, 19:34   #67
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,443
Сказал спасибо: 99
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Подключение инкрементального энкодера к AVR

Сообщение от pasipaka Посмотреть сообщение
З.Ы.
Сорри, если влез со своими вопросами.
Наверное, я немного запутался. Ответ адресовывался топикстартеру. Т.З. от него не было, и о мегагерцах можно было только догадываться. При таких скоростях - конечно, только аппаратный декодер и дифф. сигнал.
Godzilla82 вне форума  
Непрочитано 25.06.2011, 19:38   #68
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,443
Сказал спасибо: 99
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Подключение инкрементального энкодера к AVR

Сообщение от pasipaka Посмотреть сообщение
Как тогда эффективно ограничить???
Если движемся в плюс, то при превышении максимума, его же вычитаваем.
А если в минус (при условии, что переменная слово 16бит) при переходе с 0 в FFFF тоже вычитать соотв. значение (52136) ? Раково как-то и не красиво.
Не совсем понял, о чём речь. Если аппаратный квадратурный декодер - то он потребуется 16-ти битный. Иначе дрожание на границе перехода приведёт к сбою общего счёта. Будет с частотой 1 МГц перещёлкиваться с 0 на 255. Забибикаетесь программно приплюсовывать это число.

Программный - так там мегагерц сложновато будет сделать. Вот 16 бит и 200 кГц - без проблем.
Godzilla82 вне форума  
Непрочитано 29.06.2011, 14:49   #69
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Подключение инкрементального энкодера к AVR

1 МГц - там аппаратно. Это линейный датчик с разрешением 0,1 микрона.

А касательно ограничений - это софтверно, для углового энкодера. Кой-какие эксперименты провожу. Имею 14400 импульсов на оборот. А затем эту координату угла шлю в ПК. Но хочу, чтобы ПК получал только числа в диапазоне от 0 до 14399. Потому есть ли какой лаконичный алгоритм такого ограничения? Дабы не ставить множества условий и вычитаний...
pasipaka вне форума  
Непрочитано 29.06.2011, 15:17   #70
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,443
Сказал спасибо: 99
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Подключение инкрементального энкодера к AVR

Сообщение от pasipaka Посмотреть сообщение
Но хочу, чтобы ПК получал только числа в диапазоне от 0 до 14399.
PHP код:
 
unsigned int send_to_pc
(unsigned int count)
{
return 
count 14400;

Godzilla82 вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Глюк" AVR таймера от кварца 32768 Гц alexgap Коллекция глюков 23 16.09.2013 07:29


Часовой пояс GMT +4, время: 01:41.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot