Калибровка сенсорного экрана.
Калибровка сенсорного экрана.
Нужен совет. Требуется откалибровать сенсорный экран.
Итак, имеется графический LCD 128x64 на него налеплена резитивная сенсорная панель.
Мега 16, ацп 8 бит. На данный момент калибровка заключается в линейной подгонке координат сенсорного экрана к реальному.
В общем при касании под местом касания рисуется пиксель.
Появилась проблема, что при проведении пером вправо вниз (диагональ) пиксели начиная с середины экрана "убегают" то есть рисуются дальше (правее ниже) места касания. до середины (примерно) все четко под пером.
В связи с этим вопрос как калибруются сенсорные панели по 5 точкам, непонятен алгоритм.
на данный момент: меряем верх лево (x1,y1) и низ право (x2,y2)
далее любое касание будет как
(координата_X - x1 ) / ( (x2-x1) / 128)
(координата_Y -y1 ) / ( (y2-y1) / 64)
Итак, имеется графический LCD 128x64 на него налеплена резитивная сенсорная панель.
Мега 16, ацп 8 бит. На данный момент калибровка заключается в линейной подгонке координат сенсорного экрана к реальному.
В общем при касании под местом касания рисуется пиксель.
Появилась проблема, что при проведении пером вправо вниз (диагональ) пиксели начиная с середины экрана "убегают" то есть рисуются дальше (правее ниже) места касания. до середины (примерно) все четко под пером.
В связи с этим вопрос как калибруются сенсорные панели по 5 точкам, непонятен алгоритм.
на данный момент: меряем верх лево (x1,y1) и низ право (x2,y2)
далее любое касание будет как
(координата_X - x1 ) / ( (x2-x1) / 128)
(координата_Y -y1 ) / ( (y2-y1) / 64)
в спорах рождается ИСТИНА [AND] flud.
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Калибровка сенсорного экрана.
при калибровке на экране рисуется точка, в которую нужно попасть пером, таким образом запоминаются "крайние" значения АЦП.
Промежуточные значения вычисляются по линейному закону, как Вы и говорите. также можно ввести промежуточное значение в центре экрана, получив интерполяцию не к прямой, а к двум отрезкам (возможно лежащим на одной прямой). надеюсь понятно пояснил
не мастер, уж простите.
Промежуточные значения вычисляются по линейному закону, как Вы и говорите. также можно ввести промежуточное значение в центре экрана, получив интерполяцию не к прямой, а к двум отрезкам (возможно лежащим на одной прямой). надеюсь понятно пояснил
Ставим плюсы: )
Re: Калибровка сенсорного экрана.
Да, это понятно. Идея хорошая, запишем.
Тогда такой вопрос, раз сама панель линейна:
Всетаки что то там нелинейное есть может ацп врет на близких к 5в напряжениях? хотелось бы узнать в чем дело.
Тогда такой вопрос, раз сама панель линейна:
Всетаки что то там нелинейное есть может ацп врет на близких к 5в напряжениях? хотелось бы узнать в чем дело.
в спорах рождается ИСТИНА [AND] flud.
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
Re: Калибровка сенсорного экрана.
Так может оно все таки логарифмическое тоже бывает?
Кстати при калибровке крайние значения АЦП не определяются, в том то и дело. Мы давим не в самый угол экрана, а чуть ближе к центру.
Кстати при калибровке крайние значения АЦП не определяются, в том то и дело. Мы давим не в самый угол экрана, а чуть ближе к центру.
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Re: Калибровка сенсорного экрана.
А какой ток бегает в цепи? Насколько помню, из-за этого может быть нелинейность.
Оптимизм х (Опыт + Знания) = const
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
Re: Калибровка сенсорного экрана.
Кстати, поди демс подключил 330омный экран напрямую на питание) Он там обуглиться должен 
Re: Калибровка сенсорного экрана.
Подключен к мк напрямую, ножками ставится ноль и единичка.
в спорах рождается ИСТИНА [AND] flud.
Re: Калибровка сенсорного экрана.
вот диаграмма смещений, напрашивается линейная зависимость.
измерял проходом по диагонали.
измерял проходом по диагонали.
- Вложения
-
- 123321123.gif
- оно же, скрином чтобы долго не скачивать.
- (10.61 КБ) 830 скачиваний
-
- Книга1.xls
- (15 КБ) 194 скачивания
в спорах рождается ИСТИНА [AND] flud.
Re: Калибровка сенсорного экрана.
и еще более точно
- Вложения
-
- Книга1.xls
- (23.5 КБ) 273 скачивания
-
- 123321123.gif
- скрин
- (11.23 КБ) 710 скачиваний
в спорах рождается ИСТИНА [AND] flud.
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Калибровка сенсорного экрана.
что то сильно значения скачут. Может усреднение результатов АЦП попробовать? будет медленнее, но надежнее.
кстати графики получены мультиметром или это уже результат обработки сигналов с помощью микроконтроллера? если мультиметром, то то не стоит доверять, сопротивление контактов может повлиять на результат.
в первый раз слышу. зачем так усложнять сенсор? там же резистивная пленка равномерно нанесена.
кстати графики получены мультиметром или это уже результат обработки сигналов с помощью микроконтроллера? если мультиметром, то то не стоит доверять, сопротивление контактов может повлиять на результат.
WildCat писал(а):Так может оно все таки логарифмическое тоже бывает?
Ставим плюсы: )
Re: Калибровка сенсорного экрана.
Нет, это все с МК, усреднение есть 4 замера, если расхождение между замерами ацп более чем на 10 единиц то результат не считается нажатием. Значения в принципе скакать немного могут, потому что попасть в квадрат размером пиксель на пиксель нереально, и к тому же был всего 1 проход по всем значениям, 1 раз то есть.
Но важен тот факт что ошибка проявляется к концу - на значениях ацп 150-200 а это где то 4-5 вольт. И имеет линейную зависимость.
Может просто с некоторых значений вводить поправочный коэффициент? по графику вроде бы линейно "уплывает".
Может просто с некоторых значений вводить поправочный коэффициент? по графику вроде бы линейно "уплывает".
в спорах рождается ИСТИНА [AND] flud.
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Калибровка сенсорного экрана.
сейчас на свежую голову подумал, в конце (ближе к краю стеклышка) невозможно нажать в край (не повредив тачскрин), ибо стекло не пластик, сильно не прогнешь, получается ближе к краям тачскрина на самом деле нажмается не та точка, где сейчас перо, а чуть ближе к центру. пока в голову не приходит как с этим бороться. Вы какую точность ожидаете от тачскрина 128х64?
Ставим плюсы: )
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
Re: Калибровка сенсорного экрана.
Попиксельную как раз. Чтоб можно было в каждый пиксел экрана ткнуть и включить.
Re: Калибровка сенсорного экрана.
да лан пиксельную
, хоть бы в пятак (5*5) попасть. Размеры тач скрина больше размеров экрана где то на пол сантиметра по всем краям.
В левом верхнем углу экрана все позиционируется на краях нормально, в правом нижнем уплывает, да и вообще плывет после четверти заметно.
В левом верхнем углу экрана все позиционируется на краях нормально, в правом нижнем уплывает, да и вообще плывет после четверти заметно.
в спорах рождается ИСТИНА [AND] flud.
Re: Калибровка сенсорного экрана.
В общем дело было и не в том 
Как оказалось была банальная погрешность вычисления: то есть также написанный код но подругому сгруппированный работает отлично. Пишется так:
X_pix=ceil(((АЦП_X - x1)*128)/(x2-x1))
Y_pix=ceil(((АЦП_Y - y1)*64)/(y2-y1))
где х1 y1 значения ацп касания (0;0) пикселя
а x2 y2 значения ацп касания (128;64) пикселя (главная диагональ)
Как оказалось была банальная погрешность вычисления: то есть также написанный код но подругому сгруппированный работает отлично. Пишется так:
X_pix=ceil(((АЦП_X - x1)*128)/(x2-x1))
Y_pix=ceil(((АЦП_Y - y1)*64)/(y2-y1))
где х1 y1 значения ацп касания (0;0) пикселя
а x2 y2 значения ацп касания (128;64) пикселя (главная диагональ)
в спорах рождается ИСТИНА [AND] flud.
Re: Калибровка сенсорного экрана.
не стоит забывать про переполнение
http://stackoverflow.com/questions/7916 ... cation-why
xpr=128;
ypr=64;
xpr=ceil(((tochpad[0]-x1)*xpr)/(x2-x1));
ypr=ceil((tochpad[1]-y1)*ypr/((y2-y1)));
http://stackoverflow.com/questions/7916 ... cation-why
xpr=128;
ypr=64;
xpr=ceil(((tochpad[0]-x1)*xpr)/(x2-x1));
ypr=ceil((tochpad[1]-y1)*ypr/((y2-y1)));
в спорах рождается ИСТИНА [AND] flud.
Re: Калибровка сенсорного экрана.
доброго времени суток !
а вы немоглибы посоветовать как написать на асме тоже самое только с другими размерами экрана
у меня применяется контролер тачпада ADS7846 ?
xpr=320;
ypr=240;
xpr=ceil(((tochpad[0]-x1)*xpr)/(x2-x1));
ypr=ceil((tochpad[1]-y1)*ypr/((y2-y1)));
а вы немоглибы посоветовать как написать на асме тоже самое только с другими размерами экрана
у меня применяется контролер тачпада ADS7846 ?
xpr=320;
ypr=240;
xpr=ceil(((tochpad[0]-x1)*xpr)/(x2-x1));
ypr=ceil((tochpad[1]-y1)*ypr/((y2-y1)));
Со стены ты видишь руки не пугайся это глюки
- Spider
- Опытный кот
- Сообщения: 732
- Зарегистрирован: Чт дек 29, 2005 07:29:25
- Откуда: Омск
- Контактная информация:
Re: Калибровка сенсорного экрана.
Простите если не в тему
Это читали: http://www.atmel.com/dyn/resources/prod ... oc8091.pdf ?
Это читали: http://www.atmel.com/dyn/resources/prod ... oc8091.pdf ?
Re: Калибровка сенсорного экрана.
Да читал
там про принцыпы чтения и вычисления координат
а у меня чтение координат, запись этих координат уже написаны
я не знаю как на ассемблере эту математику представить и что потом делать с полученными данными
на С видел примеры, (но пока только учу С) и многое непонятно основываюсь сугубо на интуицию
там про принцыпы чтения и вычисления координат
а у меня чтение координат, запись этих координат уже написаны
я не знаю как на ассемблере эту математику представить и что потом делать с полученными данными
на С видел примеры, (но пока только учу С) и многое непонятно основываюсь сугубо на интуицию
Со стены ты видишь руки не пугайся это глюки
- Spider
- Опытный кот
- Сообщения: 732
- Зарегистрирован: Чт дек 29, 2005 07:29:25
- Откуда: Омск
- Контактная информация:
Re: Калибровка сенсорного экрана.
Там же есть и расчёт калибровок. Я по их алгоритму делал, работает пока...