Не запускается детектор препятствий
- Войдите на сайт для отправки комментариев
Втр, 17/07/2018 - 03:47
Здравствуйте, подключил детектор тремя проводами VCC,GD,OUT и пытаюсь запустить на Arduino Mega следующим кодом:
nt irObstaclePin = 9; int Obstacle = HIGH; void setup() { pinMode(irObstaclePin, INPUT); Serial.begin(9600); } void loop() { Obstacle = digitalRead(irObstaclePin); if (Obstacle == LOW) { Serial.println("OBSTACLE!!, OBSTACLE!!"); } else { Serial.println("clear"); } delay(200); }
Ни индикатор питания, ни индикатор движения на детекторе не загораются, но при инициализации библиотеки Servo в setup() на выбранном пине servo.attach(9), загорается индикатор питания. В какую сторону копать?
Начать с того, что выложить схему подключения.
1. На фотоприемник оденьте термоусадку 5мм и обверните её люминиевым скотчем аккуратно (это не трудно). Существенно уменьшится засветка фотодиода от рядом стоящего излучателя.
Ну и схему конечно..
P.S. Посмотрел схему датчика .. выбросьте эту какашку. у него ОУ включен по схеме компаратора, это тут не надо ни разу.
Посмотрел схему датчика .. выбросьте эту какашку. у него ОУ включен по схеме компаратора, это тут не надо ни разу.
Выбросить это не сложно, а вот про ОУ и компоратор в двух словах можно, для чайников?
Посмотрел схему датчика .. выбросьте эту какашку. у него ОУ включен по схеме компаратора, это тут не надо ни разу.
Выбросить это не сложно, а вот про ОУ и компоратор в двух словах можно, для чайников?
https://ru.wikipedia.org/wiki/Заглавная_страница
Не смогли не пройти мимо?
А чего там пояснять-то, хоть для чайников хоть для кофейников или даже и вовсе самоваров?
Вы прежде чем покупать эту китайскую поделку, даташит, схему - смотрели? Кстати, магазин - классный, оценил. На многое есть схемы, которые у китайцев практически отсутствуют как понятие за очень редким исключением.
Там два подстроечника, один из которых регулирует ток светодиода, а второй выставляет опорный уровень сигнала ОУ, включенному по схеме компаратора, типа на "дальность". К сожалению только "типа" поскольку уровень сигнала тут сильно зависит от отражательной способности поверхности, незаэкранированный приемник ловит свет от светодиода напрямую и высокое выходное сопротивление части "диод-резистор" (и микротоки в ней - существенные изменения из-за изменения питающего напряжения в частности) не позволяет нормально проводить сравнение .. в общем это "пол-потолок-палец", а не датчик. И настраивать Вы его тупо - замучаетесь: подсел аккумулятор - перенастройка; подкрутили осветитель - перенастраиваем заново .. в общем с таким датчиком отвертку далеко не прячьте:
А чего там пояснять-то, хоть для чайников хоть для кофейников или даже и вовсе самоваров?
Вы прежде чем покупать эту китайскую поделку, даташит, схему - смотрели? Кстати, магазин - классный, оценил. На многое есть схемы, которые у китайцев практически отсутствуют как понятие за очень редким исключением.
Там два подстроечника, один из которых регулирует ток светодиода, а второй выставляет опорный уровень сигнала ОУ, включенному по схеме компаратора, типа на "дальность". К сожалению только "типа" поскольку уровень сигнала тут сильно зависит от отражательной способности поверхности, незаэкранированный приемник ловит свет от светодиода напрямую и высокое выходное сопротивление части "диод-резистор" (и микротоки в ней - существенные изменения из-за изменения питающего напряжения в частности) не позволяет нормально проводить сравнение .. в общем это "пол-потолок-палец", а не датчик. И настраивать Вы его тупо - замучаетесь: подсел аккумулятор - перенастройка; подкрутили осветитель - перенастраиваем заново .. в общем с таким датчиком отвертку далеко не прячьте:
Спасибо за ответ, даташиты для меня "темный лес" я больше по разработке ПО, взял что попалось на глаза)) Ну что же, будем вникать, будем жечь, будем крутить, будем ломать. И если не тяжело, можете подсказать? Мне нужно детектировать лист бумаги перед датчиком сантиметров за 20? Какой для этих целий наиболее подходящий?
Самодельный. :)
Если хотите превратить эту какашку в прибор, то:
1. Сделайте изоляцию приемника от передатчика, как уже писал выше;
2. Отпаяйте LM293 (сдвоенный компаратор) от платы (и можете выбросить, скорее все одно пожгете нафиг);
3. Замерьте сопротивление от фотодиода на землю, оно должно быть в районе 470-750 кОм. Если там в пределах 8-20кОм - тоже "на выброс" отпаиваем.
4. Подстроечник фотодиода замените на около 100-200кОм. Он - пригодится.
5. Ограничительный резистор светодиода измерить и убедиться что он на 120-150 ом (20-25мА тока светодиода. Ножка дуньки больше не держит, нежелательно). Подстроечник светодиода заменить на 1-2кОм (за глаза).
6. Заклеиваем плату (дабы не закоротило чего) скотчем, бумажкой и т.п. кроме мест подпайки деталей с платы.
7. Приклеиваем на неё ОУ LM358 или любой другой (тоже сдвоенный) и далее ручками разводим примерно такую схему от фододиода (кликабельно):
В этой схеме диодный резистор - можно по подбирать по чувствительности вашего фотодиода. Важно получить от него около нуля в темновом режиме и как можно больше при освещении светодиодом. На макетке собрать небольшой "стенд" и погонять с разными номиналами .. делов-то.
Тут, первый ОУ включен в режиме повторителя сигнала и не увеличивает выход, зато развязывает микротоки диода от последующей схемы. Второй ОУ - включен неинвертирующим усилителем с регулируемым к-том усиления. Вот он и будет регулировать отдачу и чувствительность датчика.
При правильной сборке, на токах светодиода 15-20мА можете получить дальность срабатывания от белого листа бумаги около 5 метров .. выкрутив резистор на ноль (как у первого ОУ - выход соединен проводом с "-") получите снова "повторитель", т.е. к-т усиления = 1. На выходе получите чистое напряжение с диода.
И да, подключать его лучше к АЦП, и измерять им напругу. Так точнее и правильнее. Максимальное усиление тут около 10. Далее резистор коротит и/или второй ОУ самовозбуждается, впрочем этого более чем достаточно.
Если эту плату выбросить, то всё можно ужать примерно так:
Тут только подстроечник усиления (второго ОУ). Регулировка яркости светодиода - через добавочный резистор, расположенный на контакте у самой платы (как раз один хвостик болтается - не подключен резистор за ненадобностью боковых датчиков - предсказателей в этом заезде)
Спасибо. Выбросить ее не проблема, а у вас на картинке не ультразвуковой дальномер? Я так понимаю, поскольку ультразвук не зависит от освещения, то это преимущество перед ИК? Будет ли отражение от листа бумаги?
Он самый, но для иных целей. Обнаруживать противника перед собой и тормозить вовремя. Лучше или хуже - решать только Вам, по задаче. Узв. Датчики практически начинают работать от 3см и тянут до 5м. Требуют правильное ПО (замер по прерыванию или по захвату таймера). Замер через pulseIn() достаточно "дорог" по времени и не очень точен.
От них можно получить точность до 2мм, и они да, не зависят от освещенности, отражательной способности препятствия, но сильно зависят от направленности отраженного эха. Плоские поверхности обладают стеллс эффектом отправляя эхо в сторону от узв. датчика, если расположены не перпендикулярно. Ещё плохо ловят "ворсистые" поверхности, например моего кота этот датчик не видит в упор (дальше 10-15см!)
Чем лист бумаги не противник? Только задача чуть проще, дальномер находится внутри механизма, соответственно ни освещенность не изменится ни ворсистые котаны не появятся, но при приближении к листу бамаги на 20 см, нужно подать сигнал сервомашинке, приближение к листу будет не перпендикулярно, а под небольшим углом. Вот про освещение я и не подумал, использовать ИК оказалось не самой лучшей идеей.
1. Всё будет зависеть от этого самого угла. Диаграмма направленности у него достаточно широкая, так что небольшие углы до 20* съест нормально.
2. Там есть ещё один "нюанс": скорость работы. Эхо от свистка может "гулять" какое-то время, особенно в "закрытом объеме". Так что измерять придется выдерживая паузы не менее 30мсек (5м).
В остальном HCSR-04 - хороший датчик.
Понятно, спасибо. Попробую ультразвук.