Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Тогда еще предложения:

Отправлено Oldring 17 сентября 2008 г. 15:21
В ответ на: Самое главное из предложений - избавиться от задержки обработки дребезга, ввиду наличия гистерезиса. Только если все четверти обрабатывать, на один шаг будет несколько срабатываний. Вот что получилось: отправлено Леонид Иванович 17 сентября 2008 г. 15:07

1.

заменить


if(Pin_ENC_F2) n |= EF2; //проверка линии F2
n ^= n >> 1;


на


if( Pin_ENC_F2 )
n ^= 3;


2. Ваш код опять неправильно обрабатывает последовательность 2-1-0-1-2. Как правильно сделать один шаг из четырех я написал ранее.

3. Чтобы ъоть как-то побороть энкодеры с окислами - заменить в моем коде строки


выкинуть глюкавый энкодер;
break;


на


return;


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


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите шесть пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru