Делаю робота на ATmega8, нужна консультация

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
Angell1
Родился
Сообщения: 11
Зарегистрирован: Ср окт 10, 2007 06:12:30

Делаю робота на ATmega8, нужна консультация

Сообщение Angell1 »

В общем проект таков: шаси от китайской машинки на радиоуправлении. 6-8 (еще не определился) ик датчиков расстояния, ATmega8, и пара драйверов для двигателей. Цель этой мега штуки просто ездить беспорядочно не сталкиваясь со стенами, мебелью и т.д. Конструктивно на каждом бампере находится по три датчика, один "смотрит" вперед, два по бокам по отношению к первому на 45% контролируют преграду слева и справа. Прикинул схемку (упрощенный вариант) и алгоритм.
Безымянный.png
(18.04 КБ) 542 скачивания

Алгоритм таков:
1Посалаем на РВ0 импульсы с частотой 36кГц длительностью (еще не придумал)
2Опрашиваем датчик РD0
3Записываем результат в регистр (какой - нибудь)
4Если содержимое регистра равно числу x то движемся ват так - то.
5Посылаем на РВ1 импульсы и т.д. по кругу
Датчики собраны на TSOP, вопрос собственно такой? Получу ли я желаемый результат с таким алгоритмом? Может стоит его доработать? или в корне изменить подход?
Заранее прошу особо не пинать, с ATmega занимаюсь уже 5 лет с перерывом 4,5 года (женился, 2е детей, свой сервисный центр открыл, времени не было) :))
Реклама
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Делаю робота на ATmega8, нужна консультация

Сообщение Мастер Ломастер »

имхо, посылать имульсы 36 кГц на ИК-светодиоды надо одновременно на все, а сигналы со всех приемников завести на 1 порт и считывать одновременно, анализируя затем побитно или побайтно - это уж как понравится.
битва с дураками проиграна, победители торжествуют. слава победителям!
Реклама
Аватара пользователя
Angell1
Родился
Сообщения: 11
Зарегистрирован: Ср окт 10, 2007 06:12:30

Re: Делаю робота на ATmega8, нужна консультация

Сообщение Angell1 »

Я с начала думал заводить сигнал на все светодиоды одновременно, а не будут остальные светодиоды засвечивать нужный TSOP? вот и решил включать их по порядку. так сказать увеличить точность позиционирования :)) Меня сейчас больше волнует процесс организации этих 36кГц, нарыл свои старые записи и очучение как будто не я их писал :cry: ИМХО повторение - мать ученья.
Аватара пользователя
Angell1
Родился
Сообщения: 11
Зарегистрирован: Ср окт 10, 2007 06:12:30

Re: Делаю робота на ATmega8, нужна консультация

Сообщение Angell1 »

вопрос по счетчику. Использую Timer/Counter1 регистр TCCR1A вообще не трогал, в TCCR1B записал 0b00000001. счетчик считает по тактам. пишу:
ldi temp, 0
out TCNT1H, temp
out TCNT1L, temp
и ничего не сбрасывается :( как считали так и продолжаем считать. В чем трабл? или AVR Studio 4 у меня тупит?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Angell1
Родился
Сообщения: 11
Зарегистрирован: Ср окт 10, 2007 06:12:30

Re: Делаю робота на ATmega8, нужна консультация

Сообщение Angell1 »

Все, проблема решена, поставил версию 4.19 и тот - же код заработал как надо
Реклама
Аватара пользователя
Angell1
Родился
Сообщения: 11
Зарегистрирован: Ср окт 10, 2007 06:12:30

Re: Делаю робота на ATmega8, нужна консультация

Сообщение Angell1 »

После небольшого перерыва:) процесс снова пошел:) фото платы, на момент написания поста уже почти все спаяно.
Вложения
scan робот.jpg
(240.75 КБ) 429 скачиваний
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»