roboforum.ru

Технический форум по робототехнике.
Текущее время: 28 фев 2025, 11:18

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 487 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14, 15 ... 33  След.
Автор Сообщение
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 17 фев 2010, 16:40 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
А можно собрать соседним МК инфу - какие 0 и 1 при восходящих и нисходящих сигналах тактировки? Подтяжка к "+" этих линий идёт когда данные не передаются?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 17 фев 2010, 17:26 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Ну и в общем,
четыре явных "пачки" в данных наводят на мысль, что
каждая пачка соответствует одному из четырех датчиков.
Вы бы попробовали подключить один датчик и помахать ему
перед мордой чем-нибудь - снять пяток осциллограмм.

Добавлено спустя 10 минут 42 секунды:
Цитата:
Подтяжка к "+" этих линий идёт когда данные не передаются?

Судя по картинке, нет :)

Добавлено спустя 3 минуты 48 секунд:
Ну и в конце-то концов, вам протокол разобрать надо или название к нему придумать? :)

Добавлено спустя 7 минут 10 секунд:
Короче, сначала нужно понять, кто генерит клоки.
Потом поставить один датчик, махать перед ним тапком,
снимать данные и смотреть на штатное табло...
Выкладывайте картинки - вряд ли там что-то сложное :)

Добавлено спустя 53 секунды:
Частоты, кстати, какие?

Добавлено спустя 18 минут 41 секунду:
yak-40, а можно вас попросить немножко поэкспериментировать?
Хочется понять, в каких углах он чувствует, и какой минимальный объект...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 17 фев 2010, 18:18 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2008, 14:41
Сообщения: 997
Откуда: СПб
прог. языки: C,Python
эта посылка похожа на УСАРТ
одна линия клок вторая TX\RX :oops:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 17 фев 2010, 19:01 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Вообщем почти разобрался. :Yahoo!:
Из 16 импульсов 8 импульсов (1 байт)относятся к одной паре датчиков, 8 к другой. Причём информация с пары датчиков (левых или правых) идёт не от каждого отдельно, а от того у кого показания меньше. То-есть фактически присутствуют два канала, к каждому из которых подключены по два датчика (я надеялся на четыре канала :( )
Информация передаётся простым двоичным кодом, причём 1 единица кода равна 1 см дистанции. Вроде бы отлично,
но и тут всё не так хорошо как хотелось бы. Дело в том, что показания начинаются с 36 см.
(поэтому на осцилограмме создалась иллюзия четырех датчиков) 36+36 = 0010010000100100
Выяснил это подключив тактирующую линию к внешнему прерыванию, а информационную на один из портов ввода. Информацию выводил на ЖК-индикатор с помощью небольшой программы.
Максимальная дистанция 200 см. Датчики работают вполне уверенно, не мешая друг другу (похоже во времени разнесены). Продолжаю экспериментировать...

Добавлено спустя 4 минуты 35 секунд:
Michael_K писал(а):
yak-40, а можно вас попросить немножко поэкспериментировать?
Хочется понять, в каких углах он чувствует, и какой минимальный объект...

Самому интересно :) Но это немного позже, вот разберусь с электроникой, поставлю датчики на косилку, тогда
обязательно всё исследую и результаты выложу.

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 17 фев 2010, 20:14 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Эдак вы его научите высокую траву как стенку чувствовать :)
Получится ленивый косильщик - по-легкому косой помахал,
а в бурьян-камыши лезть наотрез отказывается :))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 17 фев 2010, 23:13 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Michael_K писал(а):
а в бурьян-камыши лезть наотрез отказывается )

Ну на газоне недолжно быть бурьяна/камышей. Да к тому-же это газонокосилка, а не бурьянокосилка :D
А впрочем да, как датчики расположить это вопрос. Думаю направить их вверх под небольшим углом.

Добавлено спустя 3 минуты 17 секунд:
Кстати, причесал тестовую программку, привёл отображение в понятный вид. Теперь можно и с датчиками поэкспериментировать. Заодно определить как их расположить.
Вложение:
pt1.jpg
pt1.jpg [ 389.61 КиБ | Просмотров: 2714 ]

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 17 фев 2010, 23:51 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
красота :good:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 18 фев 2010, 10:09 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Да фиг с ним - 2 сонара на 36-200см в корпусе для внешнего применения всего за 800 рублей это же просто супер!
А информация снималась на растущем фронте или падающем? Какие паузы между передачей информации, не замерял?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 18 фев 2010, 12:51 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
=DeaD= писал(а):
А информация снималась на растущем фронте или падающем? Какие паузы между передачей информации, не замерял?

Да, прерывание настроил на нарастающий фронт, затем пауза в несколько тактов, ну что-бы устаканилось, потом чтение лапки МК. Паузы между пачками не измерял, но где-то несколько раз в секунду.

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 18 фев 2010, 19:33 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
Ну вообще это явно просто SPI по двум проводам (такой например как в PS/2) - его можно смело подключать к SPI контроллера и ловить данные байтами. Разобраться только - кто генерит клок. Если головной контроллер, то SPI мастером, ноги MISO и SCK, слать 2 байта пустышек и смотреть что приходит. Если блок приемника дает такт (или если хочется просто поисследовать пассивно его, подключившись параллельно) - то SPI в режим slave, сигналы на ноги MOSI и SCK, ногу чипселекта подтянуть куда надо. Затем поиграться полярностью и фазой клока, пока не будут приниматься нормально данные.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 18 фев 2010, 20:09 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Ну, дык, я вроде разобрался. :)
Кода получилось шесть строчек в одном прерывании. Какой смысл со СПИ заморачиваться?
Код:
volatile char uz_count;                  // счётчик импульсов с УЗ датчиков
volatile unsigned int uz_data;           // Данные с УЗ датчиков
interrupt [EXT_INT2] void ext_int2_isr(void)
{
  unsigned char i;
  for (i=0; i<5; i++) #asm("nop");  // Пауза что-бы мусор пропустить
  if(PINB.3)uz_data +=1;            // записать бит   
  uz_data*=2;                       // сдвинуть на бит
  uz_count++;                       // посчитать импульсы
  if(uz_count>15)uz_count=0;        // обнулить счётчик
}

Фсё! :D

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Последний раз редактировалось yak-40 19 фев 2010, 10:01, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 18 фев 2010, 20:12 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
А как первый импульс от второго отличить? вдруг сбой?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 18 фев 2010, 20:55 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Ну там между пачками очень большая пауза, и я таймером "uz_count" сбрасываю.

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 18 фев 2010, 21:00 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2008, 14:41
Сообщения: 997
Откуда: СПб
прог. языки: C,Python
а почему бы не применить УСПП ?
на RX контроллера выход данных
на XCK тактирующий сигнал
получим аппаратный приём байтиков
и меньше в прирывании сидим....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: РобоКос (робот - газонокосилка)
СообщениеДобавлено: 18 фев 2010, 21:04 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
yak-40 писал(а):
Ну там между пачками очень большая пауза, и я таймером "uz_count" сбрасываю.

Где? Вроде таймер "uz_count" просто в цикле гоняется?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 487 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14, 15 ... 33  След.

Часовой пояс: UTC + 4 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO