Spider 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба всем привет! Такая ситуация, есть резистивный тачскрин, снимаю координаты с него при помощи меги и ацп 10 бит. Вроде всё ничего, но вот если держать стилус неподвижно, координаты всё равно немного "дрожат" в разные стороны. Я вроде и усреднял уже выборку, а всё равно. Подскажите как вообще с этим борятся? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kompot 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба всем привет! Такая ситуация, есть резистивный тачскрин, снимаю координаты с него при помощи меги и ацп 10 бит. Вроде всё ничего, но вот если держать стилус неподвижно, координаты всё равно немного "дрожат" в разные стороны. Я вроде и усреднял уже выборку, а всё равно. Подскажите как вообще с этим борятся? Внутренний АЦП Меги очень плох. Поэтому для начала убедитесь, что это не он является источником дрожания. Далее, резистивный тачскрин сам по себе наверняка чувствителен к наводкам - может, это они и есть. Удачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Spider 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба А как предлагаете убедится что не АЦП шумит? Ну если взять сторонний драйвер Тачскрина для USB и прицепить в этот же тачскрин, то не дрожит. А там всего 1 микруха и никакой обвязки. Как они борются с помехами? Софтовые фильтра? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
YAM 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Своеобразный фильтр. Когда координата нажатия уже ясна просто расширяете зону нечувствительности при измении координат... Когда точка нажатия выйдет за эту зону и стабилизируется более менее, повторяем процеруру... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Spider 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Что-то мне кажется в таком случае если вести "кривую" то она будет "рывками". Или нет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Если есть нормальный контроллер, то измерьте у него время переключения между замерами X и Y. Или самостоятельно увеличьте. И смотрите за динамикой дерганья координаты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
domowoj 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба А зачем вам 10 разрядов, оставьте 8 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Spider 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба А зачем вам 10 разрядов, оставьте 8 Да как бы кадр за тачскрином 1024х600 и с 8мю битами ваще всё печально, из 256 точек активны тока 150-180 в лучшем случае, ну и чё получается? :) Если есть нормальный контроллер, то измерьте у него время переключения между замерами X и Y. Или самостоятельно увеличьте. И смотрите за динамикой дерганья координаты. О! Ваши посты я уже приметил, этим сейчас и занимаюсь :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 (изменено) · Жалоба У меня тоже 10 разрядов. Усредняю по 128 измерениям. Время переключения 250 микросекунд. Наружу выдаю 9 разрядов. Дергается младший, довольно медленно. На мой взгляд - и должен - по причине того, что держать стилус в одной точке с одной силой нажатия - нереально. А у вас наверняка экран в неудобном положении. Кстати, еще влияет крепление экрана. Внешняя рамка чуток сильнее прижимает и поехало. На самом деле усреднять можно и по 16 значениям, но мне лень было делать устранение дребезга по отжатию. Изменено 5 декабря, 2010 пользователем DpInRock Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Spider 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Я ещё не знаю какой у меня интервал вежду X и Y, но узнаю... Экран у меня на столе лежит перед клавой, уж куда удобнее :) Я просто ориентируюсь на его же поведение но с eGalax микросхемой. Щас занимаюсь всем выше предложенным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Еще деталь. На встроенных пулапах у меня получалось плохо. Повесил 5.1k дополнительно. Существенно увеличилось быстродействие. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
skripach 5 5 декабря, 2010 Опубликовано 5 декабря, 2010 · Жалоба Вставлю 5 копеек. :) После фиксирования факта нажатия измеряю один раз, через 10 мс ещё один раз, сравниваю два результата, если отличаются более чем на 10 значений, то снова измеряю 2 раза с интервалом 10 мс, иначе усредняю эти два значения - результат. Крестик на экране дергается максимум на 1-2 пикселя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 7 декабря, 2010 Опубликовано 7 декабря, 2010 · Жалоба Скрипач оказался очень прав. Рекомендую следущее. Сравнивать координаты с предыдущими, и если разница больше порога, то наружу не выдавать. Усреднение по всего 8 выборакам. Работает крайне быстро. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kompot 0 7 декабря, 2010 Опубликовано 7 декабря, 2010 · Жалоба А как предлагаете убедится что не АЦП шумит? Возьмите любой опорник 2.5 Вольт, за ним RC фильтр и меряйте его, набирая статистику по шумам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Spider 0 8 декабря, 2010 Опубликовано 8 декабря, 2010 · Жалоба Спасибо всем откликнувшимся! Сижу, как сказали выше "собираю статистику" с разных методов. Вот читаю значит я Атмеловский AN - http://www.atmel.com/dyn/resources/prod_do...nts/doc8091.pdf и на 4ой странице предлагают измерить Rtouch, так сказать, для фиксации факта нажатия вообще. решил попробовать и опять не получилось. на сколько я понял, нужно выставить некое напряжение на одном из электродов вертикали, при этом противоположный подвесить в Z, и установить землю на одном из электродов горизонтали, опять же противоположный установить в Z. Теперь измеряем поочерёдно с противоположных концов (там где Z) напряжения Z1 и Z2 и на основе этих величин и X вычисляем Rtouch = (Z2/Z1-2)*X. Получается эдакий делитель, и при абстракции, что точка касания к TouchScreen бесконечно мала Z1 и Z2 должны быть равны, али нет (FIX ME)? ну в любом случае по этому способу у меня не получется ничего. Z1 и Z2 всегда разные, а после вычисления Rt она разная по всех точках экрана, как бы одинаково я к нему не прикасался. Что я не так понимаю и делаю? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться