roboforum.ru

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

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

Обсуждение технологии печати на 3D принтерах. Самостоятельное изготовление и приобретение. RepRap и его последователи.

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

Сообщение Dmitry__ » 28 ноя 2015, 09:27

Даааа, сурьезно ты к делу подошел. Вот тебя колбасит от оптодатчиков. Потом покурю пдфки.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение dccharacter » 28 ноя 2015, 09:28

сначала свой датчик допили!
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение Dmitry__ » 28 ноя 2015, 09:42

Ну сегодня/завтра займусь. Но у меня интерес чиста академический, ибо датчик на сдром брушлесике лучче.
Кста, мож интересно тебе будет. Я тут машинки прикупил за копейки (очень много). Стал смотреть поворотный узел и офигел. Там не серва, там катушка и 2 неодимовых магнита. Возврат в нейтраль пружиной. Коленка полная, у меня так не получалось с электромагнитом и пружиной (за вменяемую энергию). Вощем, готовый узел датчика, и теперь я знаю как это надо делать :)
Щаз найду ссылку на машинки.

Добавлено спустя 1 минуту 23 секунды:
Только тсссссс, ссылку никому не давай, а то халва кончится :)
http://rc-go.ru/cat/mini-mashina_1to24_2/?_openstat=bWFya2V0LnlhbmRleC5ydTtMZSBZdSBUb3lzINCg0LDQtNC40L7Rg9C_0YDQsNCy0LvRj9C10LzQsNGPINC80LjQvdC4LdC80LDRiNC40L3QutCwIDE6MjQ7eUxudDJEN1pzQk0tTEdqTEN0OVVJQTs&frommarket=http%3A/market.yandex.ru/partner&ymclid=47884607783130932044002
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение dccharacter » 28 ноя 2015, 09:59

А ты степперы сидиромовские разбирал? Я рыдал...

Добавлено спустя 41 секунду:
Фодко дай лучше ?-)
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение Dmitry__ » 28 ноя 2015, 10:22

Купи их, скоро новый год. Где еще найдешь машинки на радиоуправлении за 250р :)
Моя в шоке, показывал бизнесменам, у них рвались шаблоны, говорили, что упаковочные коробки им обходятся дороже :)
Mini_Z Le_Yu.JPG

Электроника на фотке уже своя :oops: Родная плата другая :)

Добавлено спустя 8 минут 36 секунд:
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение Dmitry__ » 29 ноя 2015, 19:26

dccharacter, чудо не произошло, работает твой вариант, хорошо так работает :)
m48 v2:
Код: Выделить всёРазвернуть
17:57:24.418 : 1 of 10   z: 2.729687
17:57:36.167 : 2 of 10   z: 2.726875
17:57:47.908 : 3 of 10   z: 2.739687
17:57:59.650 : 4 of 10   z: 2.726562
17:58:11.397 : 5 of 10   z: 2.725625
17:58:23.145 : 6 of 10   z: 2.735312
17:58:34.881 : 7 of 10   z: 2.743438
17:58:46.612 : 8 of 10   z: 2.755312
17:58:58.342 : 9 of 10   z: 2.749687
17:59:10.075 : 10 of 10   z: 2.744375
17:59:16.405 : Mean: 2.737656
17:59:16.405 : Standard Deviation: 0.009961

18:01:15.297 : 1 of 10   z: 2.751563
18:01:27.053 : 2 of 10   z: 2.744375
18:01:38.801 : 3 of 10   z: 2.758750
18:01:50.548 : 4 of 10   z: 2.748750
18:02:02.304 : 5 of 10   z: 2.746562
18:02:14.049 : 6 of 10   z: 2.764375
18:02:25.794 : 7 of 10   z: 2.752187
18:02:37.542 : 8 of 10   z: 2.755312
18:02:49.290 : 9 of 10   z: 2.762187
18:03:01.033 : 10 of 10   z: 2.765938
18:03:07.365 : Mean: 2.755000
18:03:07.368 : Standard Deviation: 0.007185

18:04:28.793 : 1 of 10   z: 2.748125
18:04:40.548 : 2 of 10   z: 2.766250
18:04:52.295 : 3 of 10   z: 2.763437
18:05:04.051 : 4 of 10   z: 2.771875
18:05:15.804 : 5 of 10   z: 2.766875
18:05:27.556 : 6 of 10   z: 2.751563
18:05:39.310 : 7 of 10   z: 2.757812
18:05:51.075 : 8 of 10   z: 2.764062
18:06:02.827 : 9 of 10   z: 2.771250
18:06:14.571 : 10 of 10   z: 2.776875
18:06:20.907 : Mean: 2.763813
18:06:20.910 : Standard Deviation: 0.008594

18:11:38.043 : 1 of 10   z: 2.775938
18:11:49.785 : 2 of 10   z: 2.778125
18:12:01.529 : 3 of 10   z: 2.781563
18:12:13.273 : 4 of 10   z: 2.768125
18:12:25.021 : 5 of 10   z: 2.782187
18:12:36.757 : 6 of 10   z: 2.784375
18:12:48.493 : 7 of 10   z: 2.786562
18:13:00.232 : 8 of 10   z: 2.797188
18:13:11.979 : 9 of 10   z: 2.777188
18:13:23.715 : 10 of 10   z: 2.794063
18:13:30.044 : Mean: 2.782531
18:13:30.046 : Standard Deviation: 0.008170



Скорость отработки, опрашивая только Maximum_Pixel, хорошая. По g30 вывожу "0", дальше легким нажатием на стол смотрю реакцию светодиода, все шустро.
Проводить более точные тесты для меня нет смысла. Мне и так все понятно. Надо пилить шуструю пзс.
Чо делаем с этим всем, други? Наверно есть смысл перевести код с дуины на мелкую тиньку.

Добавлено спустя 11 минут 28 секунд:
Блин, шутки ради проверил на стекле, работает, вечер перестает быть томным. :shock:
Ошибка стала больше.
Код: Выделить всёРазвернуть
18:17:17.580 : 1 of 10   z: -4.307188
18:17:29.276 : 2 of 10   z: -4.302187
18:17:40.967 : 3 of 10   z: -4.302813
18:17:52.737 : 4 of 10   z: -4.381563
18:18:04.453 : 5 of 10   z: -4.302813
18:18:16.144 : 6 of 10   z: -4.307188
18:18:27.963 : 7 of 10   z: -4.347813
18:18:39.669 : 8 of 10   z: -4.308750
18:18:51.356 : 9 of 10   z: -4.307500
18:19:03.054 : 10 of 10   z: -4.298438
18:19:09.385 : Mean: -4.316625
18:19:09.388 : Standard Deviation: 0.025365

18:20:03.304 : 1 of 10   z: -4.307813
18:20:14.966 : 2 of 10   z: -4.292188
18:20:26.615 : 3 of 10   z: -4.290312
18:20:38.355 : 4 of 10   z: -4.360000
18:20:50.030 : 5 of 10   z: -4.288437
18:21:01.752 : 6 of 10   z: -4.358750
18:21:13.427 : 7 of 10   z: -4.292812
18:21:25.161 : 8 of 10   z: -4.348750
18:21:36.834 : 9 of 10   z: -4.283125
18:21:48.580 : 10 of 10   z: -4.354688
18:21:54.920 : Mean: -4.317687
18:21:54.923 : Standard Deviation: 0.031586
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение dccharacter » 29 ноя 2015, 21:01

Чо делаем, моделим корпус под компоненты.
Что за объектив наляпан на датчик?

Добавлено спустя 17 минут 24 секунды:
Порог подточи под стекло!
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение Dmitry__ » 29 ноя 2015, 21:22

dccharacter писал(а):Что за объектив наляпан на датчик?

От сидиром, пластиковый корпус не отламывал, отломал только печатные платы с катушками. Слушай, а ведь там тот самый астигматизм, про который так долго говорили. Наверно вносит дополнительные ошибки.
dccharacter писал(а):моделим корпус под компоненты.

Вот это правильно, для меня это полная жесть :oops:
Я лучше поставлю Qt на винХП. Проверю там. А еще повожусь с Digispark Attiny85, правда я там загрузчик убил, через isp с ними работаю.
http://roboparts.ru/products/digispart-attiny85

Кста, можно обьеденить триангуляцию с дифференциальным :) 2 лазера и пзс. Раз в 10 разрешение улучшится. Только юстировать сложно.

Добавлено спустя 8 минут 8 секунд:
dccharacter писал(а):Порог подточи под стекло!

Надо мощу на лазер увеличивать. Можно и через порог, но в автоматич. режиме подобие АРУ работает, могут ошибки появиться.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение dccharacter » 29 ноя 2015, 23:24

Можно автокалибровку прогонять перед измерениями или регулярно
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение dccharacter » 30 ноя 2015, 04:57

Не надо лазер более мощный
Light Level onto IC IRRINC 80 25,000 mW/m2 λ = 639 nm
100 30,000 λ = 875 nm

0.03 mWt/mm^2

Добавлено спустя 4 минуты 38 секунд:
Надо попробовать линзу от сидирома выкинуть и родную поставить
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение Dmitry__ » 30 ноя 2015, 06:10

dccharacter писал(а):Надо попробовать линзу от сидирома выкинуть и родную поставить

Которая коллиматорная? Ну мысль понял, увеличить светосилу. Есть нюансы. Когда подбирал линзу, не хотел ломать корпус пзс, посмотри на входное отверстие матрицы, оно мало. Чтоб весь собранный свет попал на матрицу, надо брать короткофокусную линзу, тогда диафрагма (входное отверстие) не будет обрезать свет. Коллиматорная линза более длиннофокусная, надо убирать крышку пзс.
Кста, интересно, а в пзс есть еще линза? Вообще пинок правильный, что-то у меня с чутьем совсем плохо. при 60 ваттном светодиодном освещении комнаты, совсем не виден фон. И регулировки выдержки не нашел. Буду чесать репу...

Добавлено спустя 4 минуты 45 секунд:
А щаз подумал, на белом фоне там пипец какой передоз. Скоро сцинтилляции в воздухе пойдут :) Мы уже борзеем, и стекло хотим и белый фон. Там диапазон наверно около 10^6.

Добавлено спустя 10 минут 25 секунд:
АРУ нужен. Алгоритм такой:
Даем полную мощность на лазер. Ждем уровень 50 попугаев. При уходе >50, уменьшаем мощность лазера (шим). И ждем ухода пятна за другой край матрицы. Мощность в поле матрицы можно только понижать. За полный ход пятна - устаканится яркость. И сигнал анализировать, который probe_z, чтоб знать что координата перемещается вниз.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение dccharacter » 30 ноя 2015, 07:19

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

Добавлено спустя 50 минут 7 секунд:

Сорри, не смог удержаться
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение Dmitry__ » 30 ноя 2015, 08:46

С длиннофокусной линзой и входным отверстием я тупанул в прошлом сообщении. :oops:
Я хотел сказать, что надо увеличить светосилу бОльшей линзой, фокусное расстояние должно остаться прежним. Вот тут будет мешать маленькое входное отверстие. Сейчас посмотрел пзс от мышки, крышка снимается легко, линзы нет. Чип голый как Саша Грей на работе :D . Похимичу завтра...
А вот с длиннофокусной линзой у меня пока одни вопросы, не работает фантазия. Ведь при увеличении фокусного расстояния надо увеличивать диаметр линзы, чтоб светосила осталась такая же как с короткофокусной (обьект будет дальше). А чтоб светосила стала выше, надо увеличить угол (отношение диаметра линзы к расстоянию до обьекта). Т.е. площадь линзы должна расти хз в какой степени. И в этом случае фокусное расстояние увеличивается? И вопрос про разрешающую способность, она ведь будет уменьшаться?
Вощем тут я начинаю сильно плавать/тупить/лажать/бредить. :)

Добавлено спустя 3 минуты 52 секунды:
dccharacter писал(а):Сорри, не смог удержаться

Натыкался на это видео раньше. Прикола не понял, ибо на слух английский понимаю 10%. Но дура зачетная :D

Добавлено спустя 54 минуты 31 секунду:
Эх, запилил прошивку под тиньку. :)
Sketch uses 988 bytes

Веселуха оптимизации. Чтоб лезло в тиньку. Еще 400 байт уходит если заменить void setup() и void loop() на int main(), но это уже изврат :)
Йа спать...
Код: Выделить всёРазвернуть
Sketch uses 3 142 bytes (10%) of program storage space. Maximum is 30 720 bytes.
Global variables use 513 bytes (25%) of dynamic memory, leaving 1 535 bytes for local variables. Maximum is 2 048 bytes.

заменил "nData |= (digitalRead(m_nIOPin) << i);" на "if(PIND & (1<<7)) nData |= 0x01;   //#define SDIO_PIN   7"
Sketch uses 3 032 bytes (9%) of program storage space. Maximum is 30 720 bytes.
Global variables use 513 bytes (25%) of dynamic memory, leaving 1 535 bytes for local variables. Maximum is 2 048 bytes.

заменил все digitalWrite соотв. #define
Sketch uses 2 734 bytes (8%) of program storage space. Maximum is 30 720 bytes.
Global variables use 513 bytes (25%) of dynamic memory, leaving 1 535 bytes for local variables. Maximum is 2 048 bytes.

без pinMode
Sketch uses 2 472 bytes (8%) of program storage space. Maximum is 30 720 bytes.
Global variables use 513 bytes (25%) of dynamic memory, leaving 1 535 bytes for local variables. Maximum is 2 048 bytes.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

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

Сообщение dccharacter » 30 ноя 2015, 19:31

Плату теперь надо пилить с тинькой, датчиком и источником тока (ой, фак, а это же теперь хрен повесигь на разъем концевика, надо питание отдельно тащить с серво-выхода. а раз тащить с серво выхода, надо еще добавлять в прошивку чтение PPM импульсов, чтобы включать лазер по команде выброса щупа)

Добавлено спустя 1 минуту 24 секунды:
А дай еще расстояния примерные от линзы до ПЗС, от стола до линзы в момент срабатывания и базу (лазер-пзс)
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

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

Сообщение Dmitry__ » 30 ноя 2015, 20:42

Момент срабатывания: 16 мм. от стола до нижней поверхности платы мышки (до пзс не померить, там все на соплях).
База:
30 мм. от линзы лазера до центра пзс.
Центр линзы лазера до стола 10мм. Но его надо делать в уровень пзс. Так было проще говнять клеем.
Если надо более точные данные, то надо отрывать плату от принтера.

dccharacter писал(а):Плату теперь надо пилить с тинькой

У меня сейчас так: дуина нано с вкл. флагом Test - генерит данные для визуализации (фокусировка системы), штатный светодиод отрабатывает порог. rs232 на комп на скорости 230400. Работает очень медленно. Можно закомментить флаг Test, будет полный аналог тиньки:
Тинька с откл. флагом Test обрабатывает только порог, работает быстро. С флагом Test тоже компилится и лезет в тиньку, но не изучал куда уходит rs232. Доступная макс. скорость 115200. В тиньке bootloader 2кб. Программно реализован usb загрузчик совместимый с ide arduino :shock: Из 8кб. - 2кб. = 6кб пользователя.
Каждый раз дергаюсь перевести все под чистый GCC, но останавливает будущая сложность для простых юзеров. А пиар наше фсе :)

Добавлено спустя 5 минут 30 секунд:
Да, в тиньке привлекает возможность работать вообще без навесных деталей (для isp). Для usb bootloader надо 4 детальки. Т.е. потом можно просто приклеивать тиньку к пзс и все...

Добавлено спустя 3 минуты 4 секунды:
Digispark USB:
https://s3.amazonaws.com/digistump-reso ... ematic.pdf
http://digistump.com/products/1
Нашел их у нас по 220р.
https://robom.ru/product/arduino/digisp ... 5-usb.html
Про ибеи молчу...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Пред.След.

Вернуться в 3D печать

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 11