roboforum.ru

Технический форум по робототехнике.

Датчик касания оптический, триангуляция

Re: Датчик касания оптический, триангуляция

ales2k » 13 фев 2016, 18:49

Пока результаты следующие.
Подсветка выключена лазер на максимуме
Край лазера появляется в кадре - махpix вырастает с 6-7 до 22
Срабатывает процедура калибровки, выкл лазер, делаю измерение фона махpix=5, включаю светодиод - он дает ровную засветку всего поля, в результате разница в maxpix на фоне белом и черном 16 и 22.
IMG_20160213_175839.jpg

Далее надо посчитать коэффициенты для лазера. Пока тут остановился.

Вывод: вроде идея рабочая и позволит откалибровать мощность лазера под свойства поверхности.

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

Re: Датчик касания оптический, триангуляция

ales2k » 15 фев 2016, 00:45

К сожалению в выходные было всего пару часов. В результате авто калибровка мощности лазера дает точность в 0,1мм на белом листке и на том же листке покрашенном черным фломастером. Есть ощущение что для черного мощности лазера маловато, надо попробовать покрутить его фокусировку, но это уже не сегодня. И почему то начала влиять внешняя освещенность, хотя не должна.
Мой кусочек кода сделанный на коленке (без усреднения измерений и т.п.):
dataMaxp = ADNS_read(ADNS_MAX_PIX);
dataMinp = ADNS_read(ADNS_MIN_PIX);
if ((dataMaxp>21)&&(calib==0)) //21 уровень на котором делаем калибровку
{ analogWrite(LASER_VCC_PIN,0); // выкл лазер
digitalWrite(6, HIGH);delay(40); //вкл светодиод, задержка на всяк случай
dataMax = ADNS_read(ADNS_MAX_PIX);
dataMin = ADNS_read(ADNS_MIN_PIX);
digitalWrite(6, LOW);//выкл светодиод
int diff=((dataMaxp-dataMinp)-(dataMax-dataMin))*9;//посчитал примерно
if (diff<0) diff=0;
if (diff>174) diff=174;
RegPowLaser=254-174+diff; //чтобы не падал ниже нижнего, итого на белом 100-115 на черном 254
analogWrite(LASER_VCC_PIN,RegPowLaser); //вкл лазер
calib=1;//калибровку закончили
}
За время калибровки голова успевает проехать менее 0,1мм, надо подобрать задержку на вкл светодиода. Фокус у меня в 11мм от стола.

Re: Датчик касания оптический, триангуляция

Dmitry__ » 15 фев 2016, 07:06

Да забудьте вы про засветку, нет ее и никогда она не мешала. В крайнем случае можно анализировать общую яркость и не давать марлину никуда ехать, пока из поля пзс не уберут мегабластер на 100000квт.
Даю установку:
ВСЕМ СПАТь!, вы спокойны, вас ничего не тревожит, засветки нет, в вашей жизнЕ нет шума, если в вашей жизнЕ появляется шум, то вы должны уменьшить площадь дырки диафрагмы и (может быть) поднять мощность лазера (актуально для зеркал и стекол). Внимание, на раз-два-три - проснулись. Как ваше настроение? Вас ничего не тревожит? В вашем датчике есть засветка? Ну и хорошо :D

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

Re: Датчик касания оптический, триангуляция

ales2k » 15 фев 2016, 11:09

Я гитом пока не пользуюсь - только присматриваюсь - некогда разбираться...

Добавлено спустя 7 минут 23 секунды:
О засветке. Надо сделать проверку на старте -> при Pixel_Sum > XXX сразу сваливаться в ошибку.

Re: Датчик касания оптический, триангуляция

ilalexey » 15 фев 2016, 11:28

На сколько мог уследить суть, донором была мышь с видимым спектром?
Почему не ик диапазон?
Сейчас пользуюсь logitech m185, вроде ик. Работает на всём. Видимого спектра вроде не боится.

Re: Датчик касания оптический, триангуляция

ales2k » 15 фев 2016, 11:35

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

Re: Датчик касания оптический, триангуляция

setar » 15 фев 2016, 11:38

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

Re: Датчик касания оптический, триангуляция

ilalexey » 15 фев 2016, 11:57

ales2k писал(а):Мне пока попадались подходящие чипы только от мышей с красным диапазоном. Боюсь другие уже имеют интегрированные микросхемы и управлять ими не выйдет.

Понял. Сейчас гляну что в моей.

Добавлено спустя 2 минуты 59 секунд:
setar писал(а):отлаживать легче.
видно когда лазер начинает менять мощность и где останавливается.
кстати в конечной версии скорее всего будет именно видимый диапазон:
во первых понятно в какой точке ведется замер,
во вторых я придумал интерактив с миганием лазером в аварийных режимах, например если при включении датчика лазер уже находится в поле зрения это авария-ахтунг

Визуально оценивать можно через камеру. Обычные леды для ахтунгов ещё в моде :)

Re: Датчик касания оптический, триангуляция

ales2k » 15 фев 2016, 12:17

Тоже задумался как о аварии сигналить контроллеру. Простой датчик так не умеет.
Или может для этого режима что то в Марлине предусмотрено??? Есть идеи?

Re: Датчик касания оптический, триангуляция

setar » 15 фев 2016, 12:24

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

Re: Датчик касания оптический, триангуляция

ilalexey » 15 фев 2016, 12:35

Ещё каретки сидирумов имеют потенциал. Чипы драйверов лазеров на сегодня расжеваны. Не знаю, как обстоят дела с принимающей матриицей.
Фотки мыши:
Вложения
IMG_0376.JPG
IMG_0375.JPG
IMG_0380.JPG
IMG_0377.JPG

Re: Датчик касания оптический, триангуляция

ales2k » 15 фев 2016, 12:48

Это беспроводная мыша на 2.4Ггц чип радио части из серии NRF24.(когдато делал беспроводные датчики среды на этих чипах)
Про оптический модуль ничего с ходу найти не смог.

Добавлено спустя 5 минут 7 секунд:
Визуально, при аварии можно мигать лазером и светодиодом подсветки тоже.
А насколько долго читается кадр с матрицы, можно ли успевать его анализировать? После калибровки лазера его точка выглядит почти одинаково на любой поверхности, можно попробовать поймать его движение и положение.

P/S А может попробовать встроенный в чип механизм на X перемещение...

Re: Датчик касания оптический, триангуляция

setar » 15 фев 2016, 12:51

долго читается, не чаще 10 раз в секунду
от того и выЁживаемся с параметрами описательными которые датчик выдает быстро.

Re: Датчик касания оптический, триангуляция

ilalexey » 15 фев 2016, 12:51

ales2k писал(а):Про оптический модуль ничего с ходу найти не смог.

Тоже. Гугл по какой-то причине одной единственной находкой на спаркфан послал https://www.sparkfun.com/products/retired/10105
Странно, как он(гугл) связал какой-то номер с именно мышиным модулем.

Re: Датчик касания оптический, триангуляция

Madf » 15 фев 2016, 12:58

Вообще, как правило все матрицы восприимчивы к ИК-а.
Что бы начать юзать его, нужно:

1. ИК - лазер (целая проблема с настройкой будет, только по матрице (глазом не видать);
2. ИК - фильтр (таких маленьких размеров не встречал, можно конечно попробовать вырезать от дискеты кусок, но это грязный фильтр выйдет).

ps: кстати, под солнцем это всё работать не будет (вообще под ним мало что работает из оптики). :D
Последний раз редактировалось Madf 15 фев 2016, 13:59, всего редактировалось 1 раз.


cron
Rambler\'s Top100 Mail.ru counter