Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

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

 
Опции темы

Подключение инкрементального энкодера к AVR

Непрочитано 29.06.2011, 15:55  
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  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Подключение инкрементального энкодера к AVR

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

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

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

А там, где может быть туева хуча оборотов - зачем именно диапазон 0..14399? Может, проще в мкм перевести?
Godzilla82 вне форума  
Непрочитано 01.07.2011, 12:30  
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, время: 02:30.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.