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

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

Re: AVR-MT-128_ прием данных с PC

Сообщение megaMike » 13 сен 2010, 09:47

Угу, она и должна... getchar
возвращается только когда получит очередной байт, а ежели его нет, так и висим )

Значит нужно использовать прерывания для ввода-вывода...
или как вариант - ввод-вывод оставить основным потоком, а логику программы запустить в фоне, например тактируя ее прерывниями таймера...
megaMike
 
Сообщения: 20
Зарегистрирован: 28 авг 2010, 02:20
Откуда: Москва
прог. языки: С, С++, Lua, ActionScript

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

Сообщение CiSi » 27 ноя 2010, 17:40

Продоржаю тему подключения энкодера ЛИР к контроллеру.
Немного истории: предидущее подключение энкодера было "прямым", датчик напрямую подключался к контроллеру и сигналы считались от прерывания (счетчик был реверсивным), однако счет был неверным так как в датчике наблюдался дребизг.
параметры:
мах. частота вращения вала на который закреплен датчик: 5000 об/мин
датчик: 2500 имп. на оборот
частота работы мк: 16МГц

Что хочется сделать теперь:
1. Избавиться от дребизга и осуществить реверс
2. Использовать Для счета таймер/счетчик
3. Исбользовать в качестве контроллера Xmega c частотой работы в 32МГц, так как помимо счета надо выполнять еще и другие операции.

==================================
начнем с пункта №1.
Для избежания дребизга планируется использовать оптопары, то есть каждый сигнал канала будет проходить через свою оптопару. Кто что об этом думает? Как лучше избавиться от дребезга? Аппаратно или программно?

Реверс планирую осушествить добаврением к схеме двух корпусов логики триггера и элемента "И". схема приведенная blindman неработает (точнее работает но неправильно, forum2/topic7998-15.html )
Изображение
янемного ее переделал:
Изображение
Жду коментариев, предложений?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

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

Сообщение Duhas » 27 ноя 2010, 18:03

я бы начал с Хмеги... а там и остальное проясниться

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

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

Сообщение CiSi » 27 ноя 2010, 18:28

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

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

Сообщение Duhas » 27 ноя 2010, 19:37

я сам так делал. тоже были глюки..

ЛИР-ы вроде неплохи по качеству... мой с дифф выходом судя по осциллографу делает все правильно и дребезга там не видно..

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

Пред.

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

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

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