roboforum.ru

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

Муравьи

Наше хобби — конструировать и программировать.
Демонстрация готовых роботов и устройств построенных своими руками.

Re: Муравьи

Сообщение avr123.nm.ru » 12 июл 2009, 17:22

в симуляторе пробовал ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Муравьи

Сообщение Lockdog » 12 июл 2009, 17:28

Ну в протеусе идёт сигнал, но не знаю как там частоту померить
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение avr123.nm.ru » 12 июл 2009, 17:36

Можно на осиллографе в паузе посчитать или точней в GRAPH вывести и позырить. Вот как это сделать - http://proteus123.narod.ru

А можно счетчик универсальный подключить и запустить например 10 сек симуляции ( через меню Дебаг ) и посмотреть сколько он насчитает, затем поделить на 10. Можно и 1 сек посимулировать.

Прицепи архив с проектом пожалуйста.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Муравьи

Сообщение Lockdog » 12 июл 2009, 17:52

Вот проект. там два иходника, мега8 - передатчик, а мега16 - приёмник. Передатчик подключен, как на схеме nest'a. А TSOP подключен ногой OUT к RX меги16.
Вложения
1.rar
(97.05 КиБ) Скачиваний: 15
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение Lockdog » 13 июл 2009, 18:47

Так. Вроде частоту нужную генерирует. Проверял так: если тсоп принимает нужную частоту (на выходе лог. "0"), тогда загорается светодиод. Но вот по усарту общаться не хочет. Отсылаю один символ, но мк его не принимает((
Делал по тому же принципу: отсылал с меги8 один символ (putchar), а мега16 по уарту должна принимать (getchar) и если символ тот же, который и был отослан то должен загореться светодиод. Но не получается((
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение nest » 13 июл 2009, 19:00

Lockdog, ну ... где то что то ты не инициализировал или в коде наврал :)

я по другому поводу хотел:
каким "умом" награждать подобных мелюзавых роботов ?
ну там пожрать и побегать за солцем - как то скучно ...
Lockdog, у тебя какие в этом отношении планы с Муравьём ?
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: Муравьи

Сообщение Lockdog » 13 июл 2009, 23:49

авр123 куда-то пропал)
ну вообще серьёзно не думал, что конкретно будут делать. Хочу сверху поставить помимо передатчиков ещё фоторезистор, чтобы они например искали вместе самое тёмное или самое светлое место или например если у одного робота на фоторезистор не падает свет, то он опрашивает других роботов - на свету ли они, если да, то значит он едет к остальным, если нет, то один направлается на поиски света и потом "зовёт" остальных. Хочу попробовать, чтобы они ровно друг за другом ехали. Тут я ещё не придумал как бы энкодер поставить.

Добавлено спустя 2 часа 37 минут 19 секунд:
Странная вещь возникает, тсоп срабатывает, даже если на него фонариком посветить... :o хотя он должен принимать поочерёдно команды:
Код: Выделить всёРазвернуть
while (getchar() == 'G');
while (getchar() == 'E');
while (getchar() == 'T');

Как можно проверить, в чём проблема?
И ещё, как очистить буфер уарта?
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение Сергей » 14 июл 2009, 00:03

Может всетаки нужно вместо == поставить != ?
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Муравьи

Сообщение Lockdog » 14 июл 2009, 00:20

Так тоже попробовал, вообще не работает. Решил попроще начать:
Код: Выделить всёРазвернуть
 putchar('G');
if (getchar() == 'G')
{
PORTB.0=0xFF;
}

не работает.(((
Когда соединяю RX и TX напрямую, то всё работает.
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение nest » 14 июл 2009, 00:36

ТСОП включен по даташиту ?
какая скорость ?
сколькими вольтами питается ТСОП ?
про фонарик - не понятно. так не бывает.ТСОП отдельно проверял ?
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: Муравьи

Сообщение Lockdog » 14 июл 2009, 00:41

Ага, с кондёром и резисторами. скорость 9600. питается, как и МК от 5В. Про фонарик это видимо глюк какой-то был, перепрошил, больше не повторяется. Отдельно проверял, если идёт сигнал 30 кГц, то на тсопе лог. "0", если нет, то лог. "1".
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение avr123.nm.ru » 14 июл 2009, 00:56

Lockdog писал(а): Отдельно проверял, если идёт сигнал 30 кГц, то на тсопе лог. "0", если нет, то лог. "1".

Поэтому и не работает наверно. Я ж написал что в схеме nest'а поменть хорошо бы после его поста. А по версии изложеной на "бредни электроникс" работало бы :D

Как работает UART USART AVR расписано ПОДРОБНО и с примерами в задаче-упражнении 4 учебного курса по AVR - http://avr123.nm.ru/z4.htm

И скорость UART я бы снизил для начала до 2400 например.

А можно наверно выход с TSOP на звук карту записать и позырить че там выходит. А на второй канал выход TXD забодяжить.

=============

ИМХО на муравьев надо 2 МК ! Иначе гиморно будет.
Последний раз редактировалось avr123.nm.ru 14 июл 2009, 01:12, всего редактировалось 1 раз.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Муравьи

Сообщение Lockdog » 14 июл 2009, 01:12

avr123.nm.ru, в том как вы пишите присутствует мало логики:
Логику включения ИК диода лучше б изменить - а то чтоб не светил без передачи надо будет ШИМ еще вкл-выкл. Т.е. получается один ключ pnp к +5 вольтам питает ШИМ-ом через резисторы аноды всех ИК излучателей.

Я ж написал что в схеме nest'а поменть хорошо бы после его поста. А по версии изложеной на "бредни электроникс" работало бы

Как тут что разобрать? Можно хотя бы с запятыми определиться? :D
Усарт у меня данные нормально передаёт - писал же выше, что подключал напрямую, поэтому лишний раз меня на курс отсылать не нужно.
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение avr123.nm.ru » 14 июл 2009, 01:15

За USART я спокоен - ОН АППАРАТНЫЙ и чеб ему не правильно передавать то ??????????

Я ж пишу АНАЛИЗИРУЙ ВЫХОД С TSOP !

Про запятые ... nest нарисовал схему, я написал что светимость светодиода надо бы инвертировать по времени ... че тут не понятно ? Вы хоть потрудитесь - нарисуйте на бумажке то что я написал.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Муравьи

Сообщение Lockdog » 14 июл 2009, 01:16

Скорость снижал, не помогает.
Схемку полёта вашей мысли можно хотя бы в пейнте увидеть?)))
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Пред.След.

Вернуться в Наши проекты

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

Сейчас этот форум просматривают: GoGo.Ru [Bot] и гости: 6