Технический форум по робототехнике.
realsystem » 20 апр 2009, 13:24
Вот мучаюсь снова с ИК бампером. Нужна помощь, советы. Ситуация такая: бампер собрал, как-бы работает. Но сразу при включении питания на выходе тсопа низкий уровень, как будто на него сразу идет ик сигнал, но физически на него ничего не идет(ик диод заизолирован тубусом). И далее если поднести руку к бамперу, то он начинает работает так как надо. Т.е. как бы включается его нормальная работа от первого срабатывания. Почему так получается? Как бороться?
Тсоп висит на прерывании, ИК диод управляется по таймеру(37кГц правильные). Схема во вложении.
- Вложения
-
=DeaD= » 20 апр 2009, 13:27
А если ТСОП отцепить от МК? Если сделать ему изолированное питание? Такая же фигня?
EdGull » 20 апр 2009, 13:28
телефон с Irda или нотебук рядом есть?
realsystem » 20 апр 2009, 13:35
=DeaD= писал(а):А если ТСОП отцепить от МК? Если сделать ему изолированное питание? Такая же фигня?
Не пробовал, питание идет от компа(АТХ импульсник) 12В, может в этом дело? От компа идет на 7805 на основной плате, с него на МК и проводом на плату бампера, где есть один кондюк.
Добавлено спустя 1 минуту 24 секунды:EdGull писал(а):телефон с Irda или нотебук рядом есть?
Нету ничего, в том то и дело что источники ИК отсутствуют кроме ИК диода рядом с ТСОПом, но этот диод заизолирован, и после первого нахождения препятствия бампером всё прекрасно работает на расстояние 30-40см.
=DeaD= » 20 апр 2009, 13:37
Отделить питание ТСОПа RC или LC фильтром. И отцепить от МК для проверки.
realsystem » 20 апр 2009, 23:10
Попробовал ИК бампер отдельно от МК. При включении питания на его выходе 4.6В, т.е. ИК сигнала нет, хотя ИК диод при этом излучает с правильной частотой, но т.к. он отделен тубусом луч не попадает на ТСОП. Таким образом бампер при старте работает нормально. Но при подключении к МК ТСОП срабатывает сразу, на его выходе 3.8В.
При этом заметил такую ситуацию. МК на ком порт выводит стартовые сообщения только после перепрошивки его, а после выкл/вкл питания на ком порту нет ничего. Как это объяснить? Происходит случайно. Иногда всё нормально.
Настройка прерываний:
- Код: Выделить всё • Развернуть
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Any change
// INT1: On
// INT1 Mode: Any change
GICR|=0xC0;
MCUCR=0x05;
GIFR=0xC0;
Проверка сигнала с ТСОПа:
- Код: Выделить всё • Развернуть
// External Interrupt 1 service routine
interrupt [EXT_INT1] void ext_int1_isr(void)
{
printf("1\n\r");
}
realsystem » 21 апр 2009, 13:22
Еще у кого-нить мысли на этот счет есть?
realsystem » 22 апр 2009, 15:37
Народ!!! Мучаюсь с бампером уже который день, дайте чтоль советов. Сборка всего агрегата колесного из-за этого простаивает.
galex1981 » 22 апр 2009, 15:47
ИМХО, похоже никто не встечался с такой проблемой.Попробуй просто отсеять ошибочный результат и все тут (считать что это какая то наводка)
=DeaD= » 22 апр 2009, 15:50
Поставь резистор с ТСОПа на МК не 200 ом, а, скажем, 200кОм
Добавлено спустя 51 секунду:Чтобы МК на ТСОП не мог повлиять вообще
и померь чего будет на выходе с ТСОПа при этом, а что на входе МК
вдрух у тебя МК как выход в это время?
yak-40 » 22 апр 2009, 18:49
1. запитать ТСОП через резистор 100 ом, и поставить на его питание отдельный электролит 4,7 мкф.
2. убрать R3.
3. выход ТСОП-а подать непосредственно на ногу МК
4. не включать подтягивающий резистор
У меня так работает
realsystem » 22 апр 2009, 22:44
Ничего не понимаю, сделал как выше сказали - ничего не поменялось. Может можно как-то программно отсечь начальное срабатывание ТСОПа?
=DeaD= » 22 апр 2009, 22:50
2realsystem: в смысле даже через резистор 200кОм МК влияет на ТСОП?
realsystem » 22 апр 2009, 22:58
Нет, я сделал то что написал yak-40
А что значит "МК влияет на ТСОП"? Я ж в коде нигде не включаю подтягивающий резистор внутренний. Не совсем понял.
хмм, 200кОм нет под рукой, проверил на 10кОм, всё также
=DeaD= » 22 апр 2009, 23:02
Я так понимаю что ТСОП без МК работает нормально, а цепляешь к МК и начинается - так?
Если да, то я предлагаю защитить выход ТСОПа от МК резистором большого номинала. тогда подтягивающий резистор будет значительно сильнее. резистор 10к не поможет в защите, надо хотя-бы 50-100к