BEAM робот

Обсуждаем цифровые устройства...
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

BEAM робот

Сообщение WildCat »

Доброго времени суток! Я ищу схему простого робота на микроконтроллере (BEAM робот - кно знает, тот поможет) Чтобы по квартире катался, врезался в собак :evil: и объезжал стороной кошек :P (шучу). И чтобы лампочками :idea: моргал.
Аватара пользователя
Serega
Говорящий с текстолитом
Сообщения: 1529
Зарегистрирован: Пн авг 22, 2005 21:02:22
Откуда: Питер

Сообщение Serega »

У нас концепция такая: нету схемы - разработай сам. 8)
Давай подумаем, че и как. Какая предполагается механика, какие датчики, движки и т.д.?
Лучше быть первым в деревне, чем вторым в Риме
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

предполагается два движка (левый и правый), датчики врезания (2 кнопки на борту), датчики света (для поиска зарядки - надо какую-то фильтрацию сделать, может инфракрасный модулированный сигнал? а то будет на каждую ламчоку кидаться), а для декоративности всякие светодиоды, пищалку. Кстати, а как можно заставить робота воспроизводить звуки? Вариант с магнитофоном отпадает :))) а про ISD микрушки я знаю. Но они не катят, имхо там нет выбора нужного фрагмента, а они идут по порядку. Прошивку уж как-нить додумаю (кошаку местному идея понравилась, а он на СИ хорошо кодит)
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

про звук - я имел в виду то, что он должен кататься и бурчать себе под нос :evil: , а когда врезается в стены - материться :shock:
Аватара пользователя
Serega
Говорящий с текстолитом
Сообщения: 1529
Зарегистрирован: Пн авг 22, 2005 21:02:22
Откуда: Питер

Сообщение Serega »

Мля, чувак, клевая идея!!! :)))
Короч, не, все проще.
Во-первых, ИСДшки могут играть произвольный кусок, если ими управлять с контроллера. НО! Исдки могут воспроизводить звук, только собою же и записанный. Извне загрузить в нее нельзя. Это, по-моему, не есть хорошо. Поэтому, предлагаю использовать просто внешнюю флешку. Какую-нить AT45DBxxx. Она подключается к контроллеру, контроллер - к компу. Из компа загружается.
Звук можно выводить либо через ЦАП (самое простое - подключить на несколько выводов контроллера резистивную матрицу) или проще - выводить в виде ШИМ-сигнала.
Лучше быть первым в деревне, чем вторым в Риме
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

С флешкой идея не катит, т.к. громоздить еще и ЦАП. А заливку на ИСДшку я имел в виду с аналогого входа. Т.е. один раз записал и оставил. С помощью микрофона перезаписал (сам же и сматюгнулся :))
Аватара пользователя
Serega
Говорящий с текстолитом
Сообщения: 1529
Зарегистрирован: Пн авг 22, 2005 21:02:22
Откуда: Питер

Сообщение Serega »

Ну короче, читаем тогда даташиту по ИСДешке и врубаемся как подружить ее с контроллером :)
Лучше быть первым в деревне, чем вторым в Риме
Аватара пользователя
moLCHec
Мявтор!
Сообщения: 825
Зарегистрирован: Вс дек 18, 2005 20:04:42
Откуда: Свердловская обл.
Контактная информация:

Сообщение moLCHec »

посмотри журналы "Радио" №2 и№12 за 2002 год в каком-то из нах на котроллере сомоходный матершинник. запись речи как раз на той микрухе, контроллер вроде AT90S2313 давно смотрел не помню уж. Но это то что тебе нужно. и про запись речи там по русски и неплохо написано.
Настоящий кот всегда либо голоден,
либо невыспался ...
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

У меня с "Радио" проблема - я беру в библиотеке журналы. А там для меня уже специально :) откладывают свежие номера. Я их самый первый читаю. Но вот за 2002 год - не найду. Хочу на барахолке диск купить с журналами за 10 лет, но никак собраться и поехать не могу.
А так ни у кого нету даташитов?
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

Я тут ссылку нашел, посмотрите:
http://www.rtcs.ru/news_detail.asp?id=87
Может, поможете разобраться? А то, если честно я ни фига не понимаю про управление от контроллера.
Аватара пользователя
Serega
Говорящий с текстолитом
Сообщения: 1529
Зарегистрирован: Пн авг 22, 2005 21:02:22
Откуда: Питер

Сообщение Serega »

Ну то что ты дал - это, грубо говоря, перевод даташита.
Смысел в том, что ИСДшка подключается к контроллеру по интерфейсу SPI (Serial Peripheral Interface) - последовательный интерфейс (трехпроводной).
Провода:
MISO - master input, slave output - вход ведущего, выход ведомого
MOSI - master output, slave input - выход ведущего, вход ведомого
SCK - serial clock - тактирующий сигнал

Master - это, в данном случае, контроллер,
Slave - ИСДшка

В контроллерах с аппаратным SPI (все серии АВРок) общение по этому интерфейсу происходит просто и непринужденно: загружаем в регистр контроллера то, чего хотим передать, запускаем передачу - оно передается на подключенное устройство. Одновременно, в этот же регистр задвигается информация с устройства (если оно что-то нам хочет сказать). Ее можно читать, можно не читать - по обстоятельствам.

Далее: смотрим список кодов команд управления ИСДшкой, загружаем в регистр код команды, отправляем на ИСДшку - она ее тут же выполняет :)
Вот и вся премудрость
Лучше быть первым в деревне, чем вторым в Риме
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

Это я опять.
Вот насчет программатора: можно ведь программировать контроллер в отдельном разъеме, а можно прямо в плате. Так там есть ведь подводные камни перепрошивки? Например, на входных/выходных цепях что-то замыкает сигнал на землю и т.п. И для прошивки на плате нужен любой 5-штырьковый разъем. А как стандарт, нужен IDC6. Никто не знает его распиновки для программатора 5 проводков?
Аватара пользователя
Serega
Говорящий с текстолитом
Сообщения: 1529
Зарегистрирован: Пн авг 22, 2005 21:02:22
Откуда: Питер

Сообщение Serega »

Человек. Вообще-то кроме форума на нашем сайте есть еще много всего полезного и интересного. В том числе - раздел "обучалка". Там очень подробно написано, как программить контролеры и чем
Лучше быть первым в деревне, чем вторым в Риме
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

Пасиба! Но про разъем сказано, что он используется только во время прошивки. А распиновки там, нет, только нумерация выводов. Я искал названия всех тычков :) И чем отличиется AT90S2313 от AT90S3213-10PI? В разных схемах по разному, но разводка вроде бы одна и таже, прошивки тоже... Ну, непонятно, в общем :cry:
Аватара пользователя
Serega
Говорящий с текстолитом
Сообщения: 1529
Зарегистрирован: Пн авг 22, 2005 21:02:22
Откуда: Питер

Сообщение Serega »

Последние цифры и буквы указывают на тип корпуса и максимальную частоту.
10PI - тип корпуса DIP, частота - 10 МГц
еще бывают 10SI - корпус SOIC,
и т.д.
Лучше быть первым в деревне, чем вторым в Риме
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

Теперь понял. И все-таки, уж надоел, но что такое "подтягивающие" резисторы, которые подключают программно?
Аватара пользователя
Serega
Говорящий с текстолитом
Сообщения: 1529
Зарегистрирован: Пн авг 22, 2005 21:02:22
Откуда: Питер

Сообщение Serega »

Кого подключают программно? Куда подключают???
"Подтягивающими", обычно называются резисторы, включенные между сигнальным проводом и шиной питания: "плюсом" или "минусом". В цифровой технике нужны для того, чтобы назначить логический уровень при отсутствии сигнала.
Лучше быть первым в деревне, чем вторым в Риме
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

Про резисторы понял, а вот кусок исходного кода одной из прошивок:

Код: Выделить всё

DDRB  = 0xff;  // назначаем все линии порта B на выход
  PORTB = 0x00;  // и устанавливаем на них низкий уровень

  DDRD  = 0x00;  // назначаем все линии порта D на вход
  PORTD = 0xff;  // подключаем внутренние "подтягивающие" резисторы


То есть программно устанавливаются необходимые уровни вместо настоящих резисторов?
Аватара пользователя
Serega
Говорящий с текстолитом
Сообщения: 1529
Зарегистрирован: Пн авг 22, 2005 21:02:22
Откуда: Питер

Сообщение Serega »

ГЫ :)
Не, тут имеется в виду логический "ноль". Его еще зовут "низкий уровень". Соответственно, единицу зовут "высокий уровень". Мы прописываем в PortB число 0x00 - то есть, назначаем всем каналам порта значение "0"
Лучше быть первым в деревне, чем вторым в Риме
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

Значит, это просто задается значение? А резюки тут ни при чем. Ну ладно. А ты не знаешь, как генерить звук на лапке контроллера? Чтобы пищалку подрубил, а он сигналил (с целью диагностики ошибок)? Если просто изменять состояние лапки, делать задержку для получения нужного тона и циклить программу , то она будет виснуть. Есть тут выход?
Ответить

Вернуться в «Цифровая техника»