Технический форум по робототехнике.
ales2k » 13 фев 2016, 18:49
Пока результаты следующие.
Подсветка выключена лазер на максимуме
Край лазера появляется в кадре - махpix вырастает с 6-7 до 22
Срабатывает процедура калибровки, выкл лазер, делаю измерение фона махpix=5, включаю светодиод - он дает ровную засветку всего поля, в результате разница в maxpix на фоне белом и черном 16 и 22.
Далее надо посчитать коэффициенты для лазера. Пока тут остановился.
Вывод: вроде идея рабочая и позволит откалибровать мощность лазера под свойства поверхности.
P S Возможно все будет намного хуже при сильной засветке стола...
P P S Но тогда будет нужна и большая мощность лазера - так что тоже нормально...
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мм от стола.
Dmitry__ » 15 фев 2016, 07:06
Да забудьте вы про засветку, нет ее и никогда она не мешала. В крайнем случае можно анализировать общую яркость и не давать марлину никуда ехать, пока из поля пзс не уберут мегабластер на 100000квт.
Даю установку:
ВСЕМ СПАТь!, вы спокойны, вас ничего не тревожит, засветки нет, в вашей жизнЕ нет шума, если в вашей жизнЕ появляется шум, то вы должны уменьшить площадь дырки диафрагмы и (может быть) поднять мощность лазера (актуально для зеркал и стекол). Внимание, на раз-два-три - проснулись. Как ваше настроение? Вас ничего не тревожит? В вашем датчике есть засветка? Ну и хорошо
А я, други мои, за выходные смог только немного адаптировать свой код под ваши эти гиты, передавайте превед коллективному разуму. Если бы не реформаторы, то родил бы конечную версию датчика...
ales2k » 15 фев 2016, 11:09
Я гитом пока не пользуюсь - только присматриваюсь - некогда разбираться...
Добавлено спустя 7 минут 23 секунды:
О засветке. Надо сделать проверку на старте -> при Pixel_Sum > XXX сразу сваливаться в ошибку.
ilalexey » 15 фев 2016, 11:28
На сколько мог уследить суть, донором была мышь с видимым спектром?
Почему не ик диапазон?
Сейчас пользуюсь logitech m185, вроде ик. Работает на всём. Видимого спектра вроде не боится.
ales2k » 15 фев 2016, 11:35
Мне пока попадались подходящие чипы только от мышей с красным диапазоном. Боюсь другие уже имеют интегрированные микросхемы и управлять ими не выйдет.
setar » 15 фев 2016, 11:38
отлаживать легче.
видно когда лазер начинает менять мощность и где останавливается.
кстати в конечной версии скорее всего будет именно видимый диапазон:
во первых понятно в какой точке ведется замер,
во вторых я придумал интерактив с миганием лазером в аварийных режимах, например если при включении датчика лазер уже находится в поле зрения это авария-ахтунг
ilalexey » 15 фев 2016, 11:57
ales2k писал(а):Мне пока попадались подходящие чипы только от мышей с красным диапазоном. Боюсь другие уже имеют интегрированные микросхемы и управлять ими не выйдет.
Понял. Сейчас гляну что в моей.
Добавлено спустя 2 минуты 59 секунд:setar писал(а):отлаживать легче.
видно когда лазер начинает менять мощность и где останавливается.
кстати в конечной версии скорее всего будет именно видимый диапазон:
во первых понятно в какой точке ведется замер,
во вторых я придумал интерактив с миганием лазером в аварийных режимах, например если при включении датчика лазер уже находится в поле зрения это авария-ахтунг
Визуально оценивать можно через камеру. Обычные леды для ахтунгов ещё в моде

ales2k » 15 фев 2016, 12:17
Тоже задумался как о аварии сигналить контроллеру. Простой датчик так не умеет.
Или может для этого режима что то в Марлине предусмотрено??? Есть идеи?
setar » 15 фев 2016, 12:24
можно просто посылать срабатывание постоянное, голова будет постоянно отбрасываться назад.
но визуальная индикация тоже не помешает
ales2k » 15 фев 2016, 12:48
Это беспроводная мыша на 2.4Ггц чип радио части из серии NRF24.(когдато делал беспроводные датчики среды на этих чипах)
Про оптический модуль ничего с ходу найти не смог.
Добавлено спустя 5 минут 7 секунд:
Визуально, при аварии можно мигать лазером и светодиодом подсветки тоже.
А насколько долго читается кадр с матрицы, можно ли успевать его анализировать? После калибровки лазера его точка выглядит почти одинаково на любой поверхности, можно попробовать поймать его движение и положение.
P/S А может попробовать встроенный в чип механизм на X перемещение...
setar » 15 фев 2016, 12:51
долго читается, не чаще 10 раз в секунду
от того и выЁживаемся с параметрами описательными которые датчик выдает быстро.
ilalexey » 15 фев 2016, 12:51
ales2k писал(а):Про оптический модуль ничего с ходу найти не смог.
Тоже. Гугл по какой-то причине одной единственной находкой на спаркфан послал
https://www.sparkfun.com/products/retired/10105Странно, как он(гугл) связал какой-то номер с именно мышиным модулем.
Madf » 15 фев 2016, 12:58
Вообще, как правило все матрицы восприимчивы к ИК-а.
Что бы начать юзать его, нужно:
1. ИК - лазер (целая проблема с настройкой будет, только по матрице (глазом не видать);
2. ИК - фильтр (таких маленьких размеров не встречал, можно конечно попробовать вырезать от дискеты кусок, но это грязный фильтр выйдет).
ps: кстати, под солнцем это всё работать не будет (вообще под ним мало что работает из оптики).

Последний раз редактировалось
Madf 15 фев 2016, 13:59, всего редактировалось 1 раз.