Определение плоскостных координат

sergin
Offline
Зарегистрирован: 26.08.2014

Уважаемые члены сообщества "ардуино".

На плоскости 140 на 150 см требуется определять координаты попадания теннисного мячика.

Думал о том какими датчиками  и как это можно сделать.

Посколько ультразвук не подходит , инфра тоже не подходит - эти есть в наличии и проверено,

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

отсутствия.

Может ли кто-нибудь подтвердить возможность их применения в данном проекте.

Стол деревянный 140 на 150 см (повторюсь), желательная точность +- 1см.

Какое возможное быстродействие? Бегает ещё одна программа.

Или же есть другой способ определения точки удара на плоскости?

Заранее всем спасибо за участие.

vvadim
Offline
Зарегистрирован: 23.05.2012

210 тензодатчиков

Datak
Offline
Зарегистрирован: 09.10.2014

Несколько микрофонов, или, скорее, пьезодатчиков - по кромке стола, а может и под ним, с обратной стороны.

Место удара определять по разности времени запаздывания звука для разных датчиков.

Кстати, если примерно прикинуть - точность получается не такая уж низкая. Но, конечно, это только мысли - для реальной оценки нужен эксперимент. :)

sergin
Offline
Зарегистрирован: 26.08.2014

Datak пишет:

Несколько микрофонов, или, скорее, пьезодатчиков - по кромке стола, а может и под ним, с обратной стороны.

Место удара определять по разности времени запаздывания звука для разных датчиков.

Кстати, если примерно прикинуть - точность получается не такая уж низкая. Но, конечно, это только мысли - для реальной оценки нужен эксперимент. :)

Именно этот способ я и предполагаю, но вопрос в количестве датчиков - 2 должно хватать для расчёта

точки, но какова будет точность , а если больше - то как это отразится на скорости расчёта?

И сколько  I/O надо будет предусмотреть?

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

sergin пишет:

Datak пишет:

Несколько микрофонов, или, скорее, пьезодатчиков - по кромке стола, а может и под ним, с обратной стороны.

Место удара определять по разности времени запаздывания звука для разных датчиков.

Кстати, если примерно прикинуть - точность получается не такая уж низкая. Но, конечно, это только мысли - для реальной оценки нужен эксперимент. :)

Именно этот способ я и предполагаю, но вопрос в количестве датчиков - 2 должно хватать для расчёта

точки, но какова будет точность , а если больше - то как это отразится на скорости расчёта?

И сколько  I/O надо будет предусмотреть?

Насчет 2 не уверен, а вот 4 - должно работать.

 

P.S. подумалось.... А материал стола уже определен? Может быть лучше использовать пять пьезо датчиков (по угоам и в центре).

Datak
Offline
Зарегистрирован: 09.10.2014

sergin пишет:
2 должно хватать для расчёта точки, но какова будет точность , а если больше - то как это отразится на скорости расчёта?

Да кто ж так сразу определит - говорю же, пробовать надо.

Тут дело скорее не в скорости расчёта, а в скорости опроса датчиков - точность, по-моему, больше зависит от этого. А обсчитать результаты измерений - с этим ардуина справится, я уверен. Почти. :)

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

Datak
Offline
Зарегистрирован: 09.10.2014

Gippopotam пишет:
P.S. подумалось.... А материал стола уже определен? Может быть лучше использовать пять пьезо датчиков (по угоам и в центре).

Думаю, что определён - судя по размерам, это вполне стандартный пинг-понговый стол. Точнее, половина стола. :) 

И да, такое расположение датчиков - по углам и в центре - мне вполне нравится.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

Datak пишет:

Gippopotam пишет:
P.S. подумалось.... А материал стола уже определен? Может быть лучше использовать пять пьезо датчиков (по угоам и в центре).

Думаю, что определён - судя по размерам, это вполне стандартный пинг-понговый стол. Точнее, половина стола. :) 

И да, такое расположение датчиков - по углам и в центре - мне вполне нравится.

Тогда пьезо не пойдут - стол тяжелый а шарик легуий - пьезо не будут реагировать.

sergin
Offline
Зарегистрирован: 26.08.2014

Тогда очень кратко предысторию.

Тренер попросил меня, как единственно как-то разбирающегося в электронике, соорудить ему на тренировочном столе для детей

9 рандомайзных подсветок по квадратам. Что я и сотворил на УНО, задействовав 10 выходов.

Теперь идёт речь , чтобы добавить индикацию попаданий в квадрат. Вот... Сижу думаю...

Gippopotam пишет:

Насчет 2 не уверен, а вот 4 - должно работать.

Вот - чем больше , тем лучше , но ограничен входами. А по осям Х и У разве не рачитывается?

Datak пишет:

sergin пишет:
2 должно хватать для расчёта точки, но какова будет точность , а если больше - то как это отразится на скорости расчёта?

Да кто ж так сразу определит - говорю же, пробовать надо.

Тут дело скорее не в скорости расчёта, а в скорости опроса датчиков - точность, по-моему, больше зависит от этого. А обсчитать результаты измерений - с этим ардуина справится, я уверен. Почти. :)

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

Было б что пробовать - пробовал бы - потыркать проводочки. Но я даже не знаю что использовать

в этом случае. По опросу датчиков - наткнулся как раз на такую траблу по опросу нескольких инфра -

тормозило.

Datak
Offline
Зарегистрирован: 09.10.2014

Интересная задача, мне понравилось. :)

Но пока кроме стука и звука ничего в голову не приходит. Надо пробовать, больше нечего сказать.

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

Насчёт "тормозило" - это надо задачи выбирать ардуине по силам. Ну и, конечно, программировать правильно. :)

Насчёт "инфра" - я вообще, если честно, не понял. Что за датчики, и как ими измерять?
Да и ультразвуком, тоже не понял как - эхо от шарика ловить? По-моему, маловат он для этого.

 

А датчиков на плоскости, как ни крути, понадобится всё же три, как минимум. Точность будет выше в разы, по сравнению с двумя.

sergin
Offline
Зарегистрирован: 26.08.2014

Datak пишет:

Интересная задача, мне понравилось. :)

Но пока кроме стука и звука ничего в голову не приходит. Надо пробовать, больше нечего сказать.

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

Рад , что подкинул неординарную задачку :)

Действительно , после прикидок ( ультра- и инфралокация не проходит из-за нелинейной траектории

полёта мяча) осталась только определение места удара. Вопрос звучал изначально - чем?

Потому как ничего под рукой нет, а надо б что-то заказать.

Datak пишет:

Насчёт "тормозило" - это надо задачи выбирать ардуине по силам. Ну и, конечно, программировать правильно. :)

Насчёт "инфра" - я вообще, если честно, не понял. Что за датчики, и как ими измерять?
Да и ультразвуком, тоже не понял как - эхо от шарика ловить? По-моему, маловат он для этого.

Инфра был в другом проекте. И ультра - тоже - дальномеры.

Datak пишет:

А датчиков на плоскости, как ни крути, понадобится всё же три, как минимум. Точность будет выше в разы, по сравнению с двумя.

Ну три  - не пять, уже хорошо.

Спасибо за участие.

 

 

 

Jek
Offline
Зарегистрирован: 05.01.2014

А почему не взять за основу резистивные или емкостные  тачскрины....

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а у меня другой вопрос. нафига разрешение 1см если просто 9 зон нужно отслеживать?

так чисто хотелка получается от автора. почему бы и нет

sergin
Offline
Зарегистрирован: 26.08.2014

Jek пишет:

А почему не взять за основу резистивные или емкостные  тачскрины....

Можно какой-нибудь пример 140 на 150 см ?

jeka_tm пишет:

а у меня другой вопрос. нафига разрешение 1см если просто 9 зон нужно отслеживать?

так чисто хотелка получается от автора. почему бы и нет

Никакой хотелки - зоны расчерчены 1 см полосой, а разрешение получается +-1.

Тренер сказал - буду думать.

russo
Offline
Зарегистрирован: 20.11.2014

В игровых автоматах используют тачскрины на мониторах где нужно кидать шарики и сбивать "плохих дядей". 

Или атомат по пополнению баланса. 

В общем тачскрин тут нужен большой.

Datak
Offline
Зарегистрирован: 09.10.2014

От тачскрина пополнения баланса шарик будет плохо отскакивать. :)

-------

sergin пишет:
осталась только определение места удара. Вопрос звучал изначально - чем?

Потому как ничего под рукой нет, а надо б что-то заказать.

Не надо заказывать, предлагаю другое предложение. :)

Сегодня экспериментировал. Купил в магазине два микрофона по 10 р., и два пьезоизлучателя - обычные бипкалки для будильников, ЗП-3, по 5 р.

Насчёт пьезоизлучателей сомневался, тем более, вон, Gippopotam тоже сказал, что не почувствуют они. Оказалось, зря. Чувствуют настолько хорошо, что с микрофонами даже пробовать не стал.

К тому же, пьезоизлучатели совсем "не слышат" посторонние звуки, и плохо слышат мягкие удары по столу, например ладонью. Зато на резкие удары шарика реагируют очень хорошо.

Хотел паять усилители на ОУ - не понадобилось. Уровень сигнала, по осциллографу - сотни милливольт, а при сильном ударе - до нескольких вольт. Боюсь даже спалить входы ардуины, т. к. без щупа осциллографа напряжение, наверное, будет ещё больше. Надо бы прилепить какие-нибудь ограничители.

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

Эксперимент выглядел так:

К столу (обычному, не теннисному) прицепил прищепками два излучателя, по углам. Ну и, к каждому излучателю по щупу осциллографа. Вот и вся схема.

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

Из хороших новостей - всё. :)

Теперь о плохом. Сигнал с датчиков, хоть и "качественный", но имеет достаточно сложную форму, которая сильно зависит от места удара шарика. И если "на глаз" место начала щелчка определить легко, то это не значит, что ардуина так же легко с этим справится.

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

Так что, скорее всего, придётся сделать что-то наподобие "запоминающего осциллографа" на ардуине, чтобы поймав и уверенно определив щелчок шарика, можно было немного вернуться назад, и проанализировать сигнал перед моментом срабатывания.

Такие вот результаты предварительных исследований. :)

auct
Offline
Зарегистрирован: 14.12.2014

Datak Спасибо за эксперимент, 
а как подключить пьезоэлементы в учебнике по Ардуино написано http://www.arduino.cc/en/Tutorial/Knock

sergin
Offline
Зарегистрирован: 26.08.2014

Datak пишет:

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

Так что, скорее всего, придётся сделать что-то наподобие "запоминающего осциллографа" на ардуине, чтобы поймав и уверенно определив щелчок шарика, можно было немного вернуться назад, и проанализировать сигнал перед моментом срабатывания.

Такие вот результаты предварительных исследований. :)

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

Спросил совета у старшего сына - он вообще предложил не париться, а запустить OPENCV библиотеку, поставить одну камеру и отслеживать точку удара. Но, по его мнению, ардуино не потянет расчёт, а распбери пи потянет.

ЗЫ.

Datak пишет:

"Хотел паять усилители на ОУ - не понадобилось. Уровень сигнала, по осциллографу - сотни милливольт, а при сильном ударе - до нескольких вольт. Боюсь даже спалить входы ардуины, т. к. без щупа осциллографа напряжение, наверное, будет ещё больше. Надо бы прилепить какие-нибудь ограничители."

Встречно-параллельные  диоды (или светодиоды) решат эту проблему легко.

 

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

Datak пишет:

Насчёт пьезоизлучателей сомневался, тем более, вон, Gippopotam тоже сказал, что не почувствуют они. Оказалось, зря. Чувствуют настолько хорошо, что с микрофонами даже пробовать не стал.

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

Я сейчас делаю Drum Kit - пробовал разные материалы для "барабанов". Кстати, избытки напряжения (это совет из того-же Drum Kit) убираются пятивольтовым стабилитроном.

В принципе, по девять пьезо на каждую половину стола могут дать более реальную картину. А уж по 16 - так и вообще можно к точности в пару см. приблизится...

auct
Offline
Зарегистрирован: 14.12.2014

Gippopotam пишет:

В принципе, по девять пьезо на каждую половину стола могут дать более реальную картину. А уж по 16 - так и вообще можно к точности в пару см. приблизится...

В интерактивных тирах считают удар по 4 датчикам до миллиметров. 9 и тем более 16 датчиков обсчитывать сложно.

auct
Offline
Зарегистрирован: 14.12.2014

Gippopotam пишет:

В принципе, по девять пьезо на каждую половину стола могут дать более реальную картину. А уж по 16 - так и вообще можно к точности в пару см. приблизится...

В интерактивных тирах считают удар по 4 датчикам до миллиметров. 9 и тем более 16 датчиков обсчитывать сложно.