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

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

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

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

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

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

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

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

Сообщение от Godzilla82 Посмотреть сообщение
PHP код:
 
unsigned int send_to_pc
(unsigned int count)
{
return 
count 14400;

Так не выйдет... Не все так просто, иначе бы я не задавал вопрос.
Это если координата растет и не превышает макс. для данной переменной, так выйдет. Мой алгоритм описан выше немножко иначе, но на асме выйдет одно и тоже: если больше 14400, вычесть 14400.
Но представь след ситуацию. Текущая координата 0. Проворачиваем дачтик на 1 шаг в противоположную сторону. Счетчик по факту 16 бит. Потому значение получаем 65535. Берем остаток от деления на 14400 (или соотв. число раз вычитаем) и... р-тат далек от желаемого.... А должен быть 14399. Или координата 65535 и затем увеличилась на 1.
Реклама:

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

Тогда такой вопрос. Вот ось, к которой подключён энкодер.
Она произвольно может крутиться или от и до. Например, не более 10 оборотов?
Godzilla82 вне форума  
Непрочитано 30.06.2011, 13:41   #73
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Подключение инкрементального энкодера к AVR

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

Там, где от нулевого положения +/- 2 оборота - просто считать два байта знаковым типом (int). Ну и брать остаток от деления.

А там, где может быть туева хуча оборотов - зачем именно диапазон 0..14399? Может, проще в мкм перевести?
Godzilla82 вне форума  
Непрочитано 01.07.2011, 12:30   #75
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Подключение инкрементального энкодера к AVR

Сообщение от Godzilla82 Посмотреть сообщение
Там, где от нулевого положения +/- 2 оборота - просто считать два байта знаковым типом (int). Ну и брать остаток от деления.

А там, где может быть туева хуча оборотов - зачем именно диапазон 0..14399? Может, проще в мкм перевести?
По 1ому: можно и вращаться не вокруг 0, а вокруг ок. 32тыс (65тыс/2).

2ое: в градусы. Не хочу - иначе с вещественными числами в контроллере играться надо, а это затратно по времени.
pasipaka вне форума  
Закрытая тема

Закладки


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

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

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

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


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


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