Технический форум по робототехнике.
blindman » 28 июл 2009, 08:16
Я делал так: запускаю таймер. Настраиваю порт на вывод, конденсаторы разряжаются. Затем перевожу порт на ввод, запоминаю значение таймера. Потом в цикле проверяю биты порта. Если прошло определённое время, в течение которого конденсатор должен зарядиться, если датчик над светлой поверхностью (проверяю по таймеру) - выход из цикла. Если внутри цикла бит порта изменился на 0 (или на 1 - смотря как фототранзисторы включены - "снизу" или "сверху"), значит соответствующий датчик над светлой поверхностью. Здесь главное - экспериментальным путём найти то самое "определённое время" - а оно зависит от датчиков, расстояния до поверхности и от самой поверхности, да и у разных битов одного и того же порта напряжение, которое воспринимается как 0 или 1 вполне может немного отличаться.
Чтобы можно было работать с различными поверхностями, надо ввести автоматическую калибровку датчиков. Выглядит это так: робот устанавливается на линию. Включаются двигатели, чтобы он поворачивался на месте, все датчики при этом должны по очереди пересекать линию. Пока идёт поворот, непрерывно запускается процедура, описанная выше, причём время цикла выбирается достаточно большим, чтобы конденсатор успел зарядиться даже когда датчик над тёмной поверхностью, и для каждого датчика запоминаются максимальное и минимальное время срабатывания.
В приложении заготовка кода для калибровки датчиков, и чтения с учётом калибровки. Предполагается, что подключено до 8 датчиков к выводам порта А.
- Вложения
-
- sensors.zip
- (1.16 КиБ) Скачиваний: 18
VIRUS_V8 » 28 июл 2009, 22:09
blindman, большое спасибо!
nest » 08 сен 2009, 19:08
модуль всё ещё актуален? есть в наличии в продаже ?
нужна документация.
появилась тут мысль интегрировать (пропиарить) такой тип датчика в будущем в одной из статеек...
или подскажите "доступные" аналоги ?
=DeaD= » 08 сен 2009, 22:28
Актуален, в наличии 1 штука у меня и может быть у blindman'а, если он её собрал.
Скоро доделаю шасси на лазерной резке и буду этот модуль прикручивать, а там и на продажу выставим штуки 4 может быть. А документация какая именно нужна?
nest » 08 сен 2009, 22:43
габариты, расположение разъёмов, дырок, если есть.
подошла бы печатка в Eagle, но боюсь мой старый 4.13 не примит новую версию.
Последний раз редактировалось
nest 09 сен 2009, 19:13, всего редактировалось 1 раз.
=DeaD= » 08 сен 2009, 22:58
2nest: Не ленись, скачай свежий игл
viewtopic.php?p=91893#p91893 - вот тут последняя вроде печатка.
nest » 09 сен 2009, 19:14
=DeaD=, так датчик точно будет предлагаться к продаже ?
Duhas » 09 сен 2009, 19:19
имхо будет.. вопрос наверное скорее в именно таком ли виде )
=DeaD= » 09 сен 2009, 19:49
2Duhas: Ну несколько штук минимум будет именно в таком виде. Вопрос скорее в том, когда до него дойдут руки
я думаю сейчас первые наброски с манипулятором закончу и займусь шасси для лайнтрейсинга, кегельринга и мини-сумо, а там и датчик этот освоим
Добавлено спустя 24 секунды:Скорее всего в пределах месяца соберу несколько штук и вышлю сетару, а там сколько почта будет идти.
=DeaD= » 27 сен 2009, 22:35
nest писал(а):=DeaD=, так датчик точно будет предлагаться к продаже ?
Кстати, а ты с какой целью интересовался?
Я тут спаял 3 штуки, думаю вот чего бы такого сделать - запаивать не хочется разъем - мало ли - кому прямой надо, а кому под углом, а кому не надо вообще, а как без него проверить - не знаю
Master » 27 сен 2009, 23:01
Припаять разъем на шлейфе, потом можно будет по-одному проводочку шлейф выпаять.
=DeaD= » 27 сен 2009, 23:09
Как-то не серьезно паянные модули продавать... какой-то Б/У получается
Master » 28 сен 2009, 09:42
Так все равно потом на то место разъем паять, какой-нибудь.
=DeaD= » 28 сен 2009, 09:42
Короче видимо запаяю угловой, кому надо - пусть разогнёт
Алексей » 16 мар 2010, 16:34
Насколько бредовой покажется идея посадить на этот датчик проц поменьше и обмен с главным мозгом сделать по i2c?