roboforum.ru

Технический форум по робототехнике.
Текущее время: 22 апр 2025, 19:54

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Грабли с энкодером
СообщениеДобавлено: 10 дек 2010, 14:56 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Начал недавно делать свой первый энкодер. Все как обычно: диск черно-белый, отражательный оптрон, компаратор. Посмотрел сигналы осциллографом - нормальные вроде. Подал выход энкодера на вход внешних прерываний, настроил срабатывание по фронту и стал тестировать. Тут и нашел грабли. Переключение импульсов имеет дребезг, вместо 13 импульсов за секунду езды я получал более 200. Пришлось ставить RC цепочку. Это помогло. Так что кто будет делать энкодер - предусмотрите фильтр :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Грабли с энкодером
СообщениеДобавлено: 16 дек 2010, 21:53 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Сегодня опытным путем обнаружил еще одни грабли энкодера. У меня энкодер на отражательном оптроне ktir0711. Он хоть и маленький, а площадки ему примерно 3х3 мм нужны. Следовательно чем больше импульсов на оборот нужно получить - тем больше диаметр черно/белого диска. Конструктивные особенности моей механики не позволили сделать большой диаметр, получилось всего 8 импульсов на оборот (диаметр 15 мм). То есть 16 импульсов на оборот будет 30 мм диаметром и т.д. Сегодня пробовал ездить по энкодерам. У меня два мотор-редуктора, танковый принцип. И хоть и редукторы и моторы идентичны - при езде уводит немного вправо (примерно на 5 см на двух метрах). Поэтому я сделал так, чтобы возврат по энкодерам для каждой стороны был независимым. В итоге получилось что робот возвращается не в ту точку, из которой выехал, а рядом. Он подъезжает, а затем доворачивает, чтобы оба энкодера обнулились. Это происходит из-за того, что погрешность энкодера плюс/минус один импульс на оборот. Диаметр колеса у меня 45 мм, значит погрешность около 18 мм!!!. Возврат же по одному энкодеру (любому) приводит к лучшим результатам.

И еще хотелось бы немного пофилософстровать на тему энкодеров. Мне кажется что им, как датчикам, верить сильно нельзя. Энкодер, используемый для учета пройденного пути робота, потенциально опасен. Первая причина - он работает только при 100% сцеплении колеса с поверхностью. Если есть проскальзывание - пиши пропало. Вторая причина - по нему очень сложно определить перемещение, отличное от прямой линии. Пример: есть два заезда, после которых показания энкодеров одинаковы. Но в первом случае робот ехал по дуге (колеса вращались с разной скоростью), а потом крутился вокруг неподвижного колеса. Во втором случае робот сделал полоборота, потом ехал прямо, потом полоборота в другую сторону. Начальная точка одна, показания энкодеров одинаковые, а роботы находятся в разных местах. Даже с энкодерами роботы напоминают слепых котят :) .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Грабли с энкодером
СообщениеДобавлено: 16 дек 2010, 21:59 
Не в сети
Аватара пользователя

Зарегистрирован: 19 янв 2010, 14:51
Сообщения: 979
Откуда: Петрозаводск
прог. языки: C, FBD, Wiring-Processimg,,,LD, SFC, ST...
ФИО: Вадим
Триггер Шмитта...

_________________
Роботы, уже среди нас...
Прошу прощения за аватар, никак схему динамической индикации не могу настроить :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Грабли с энкодером
СообщениеДобавлено: 16 дек 2010, 22:15 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Не улавливаю связи. Триггер Шмитта - устройство с гистерезисом, предназначено для выравнивания фронтов/спадов импульсов. Каждый цифровой порт МК АВР на входе имеет триггер Шмитта. Что вы имели в виду?

Добавлено спустя 5 минут 44 секунды:
Что вместо RC - цепочки можно его использовать? Согласен. И так и сяк можно. Нужно только ввести положительную обратную связь в компаратор. Но из-за однополярного питания ширина гистерезиса вверх и вниз будет не одинаковая.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Грабли с энкодером
СообщениеДобавлено: 17 дек 2010, 11:44 
Не в сети
Аватара пользователя

Зарегистрирован: 28 июл 2009, 10:02
Сообщения: 862
Откуда: Самара
ФИО: Павел Сергеевич
Цитата:
оптроне ktir0711. Он хоть и маленький, а площадки ему примерно 3х3 мм нужны.

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

Я сейчас тоже энкодер пытаюсь сделать только "абсолютный": forum35/topic9189.html

_________________
«Сон разума рождает чудовищ»


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Грабли с энкодером
СообщениеДобавлено: 17 дек 2010, 13:33 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Я слежу за той темой и есть у меня одно замечание. Но оно настолько незначительное, что я не стал о нем писать. Оно касается использования кода Грея. На мой взгляд в данном случае нет никакого преимущества использовать вместо обычного двоичного кода код Грея. Его особенность - значения отличаются друг от друга только на 1 бит. То есть мы знаем как по диску расположены коды. Но и в двоичном коде мы знаем, как они расположены. В любом случае мы знаем какое число из двух должно появиться следующим.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Грабли с энкодером
СообщениеДобавлено: 17 дек 2010, 14:02 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
Radist писал(а):
На мой взгляд в данном случае нет никакого преимущества использовать вместо обычного двоичного кода код Грея. Его особенность - значения отличаются друг от друга только на 1 бит. То есть мы знаем как по диску расположены коды. Но и в двоичном коде мы знаем, как они расположены. В любом случае мы знаем какое число из двух должно появиться следующим.


Преимущество Грея - в однозначности переходов, поскольку на каждом переходе меняется 1 бит. Пример: есть двоичный код:
00
01
10
11
00 <-
01
10
11
В данный момент стоим в позиции 00. А затем повернулись назад, в сторону 11. Два датчика никогда не сработают одновременно, то есть в какой-то момент одному датчику хватит света и он даст 1, а второму еще мало и он дает 0. Получим к примеру 01 - и как понять, это 01 на переходе к 11 или это 01 в другую сторону? А с Греем такого нет. Так что польза грея в том, что не бывает вот таких переходных неопределенностей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Грабли с энкодером
СообщениеДобавлено: 17 дек 2010, 18:29 
Не в сети
Аватара пользователя

Зарегистрирован: 28 июл 2009, 10:02
Сообщения: 862
Откуда: Самара
ФИО: Павел Сергеевич
Цитата:
Сообщение boez » Сегодня, 14:02
Преимущество Грея ... не бывает вот таких переходных неопределенностей.


Это да.
Кстати Radist, а у тебя энкодер с одним датчиком на диск, т.е. инкрементный или с несколькими типа "абсолютный"?
Может у тебя не дребезг был, а как раз переходные режимы, если бинарный код использовался для разметки диска.
Просто я не совсем понимаю как у оптопары может быть "дребезг"?

_________________
«Сон разума рождает чудовищ»


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Грабли с энкодером
СообщениеДобавлено: 17 дек 2010, 20:14 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
У меня один оптрон, инкрементный/декрементный энкодер. А насчет того, что у меня было, я могу только предположить. На осциллографе все было хорошо, на фронтах/спадах я не видел многократных переключений. Но прерывания говорили что они есть. Поэтому я и предположил их. Фильтр их убил. Но что это было на самом деле - мне нечем определить.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 4 часа


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

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


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO