roboforum.ru

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

Универсальный контроллер

Re: Универсальный контроллер

Scorpio » 28 апр 2013, 18:45

Классный ботик! Особенно фары понравились.

Re: Универсальный контроллер

Delirium » 01 май 2013, 01:33

Мне тоже очень понравился сам робот! Требую подробностей, как, из чего (понятно Lego, но...) и для чего строился?)

Re: Универсальный контроллер

Fayras » 01 май 2013, 18:53

да, ботик интересный)
хотелось бы узнать насколько живучи такие конструкторы лего - элементы подвески, шестерни

Re: Универсальный контроллер

Sphynx » 03 май 2013, 15:01

Fayras писал(а):да, ботик интересный)
хотелось бы узнать насколько живучи такие конструкторы лего - элементы подвески, шестерни

Пластик у лего очень качественный, прочный и ни чем не воняет. Главный минус это цена, но и с ней можно бороться. В интернет магазинах бывают скидки до 50% на "прошлогодние" наборы.
elmot писал(а):По правде говоря, бот гораздо интереснее контроллера. :good:
Подробности? Подвеска? мотор-редукторы? h-мосты? Питание?
Предлагаю сменить бт на вайфай сразу же.
[[OR-WRT]]
Проглядел, что лего. Все равно интересно - моторы лего?

Драйвер двигателя вначале собрал на l293b, но эта микросхемка отбирает 0.8-0.9в, и как следствие сильно греется. При питании от аккумулятора считаю что это расточительство, поэтому спаял мост на парах транзисторов С2328+А928.
Питание состоит из 6 аккумуляторов АА : 2.4В на стабилизатор напряжения для микроконтроллера, 4.8 на сервомашинки, 7.2 на двигатели.
В Wi-Fi для "удлинителя" COM порта не вижу смысла, ибо блютус жрет гораздо меньше. Для передачи видео креплю на боте "ведроидфон" с запущенной программкой IPWebCAM.

Немного улучшил "динамику" бота добавив переключаемый редуктор.

Re: Универсальный контроллер

Sphynx » 18 май 2013, 09:37

Навел немного порядка в исходнике, при желании разобраться можно :)
Начальный файл - main.asm. Основной программой является "Сон", обработчиком команд "Интерпретатор". Программу "Сон" можно заменить другой, при соблюдении определенных правил. В файле def.asm расписаны используемые регистры и память. Вкратце: разрешается использовать все регистры кроме r19,r20,r21, использовать ОЗУ начиная с адреса $100.
Интерпретатор "отъедает" не более 1/16 времени ЦП. Кроме того 1000 раз в секунду выполняется "SYSTick" (файл "syslib.asm").
Общий вес прошивки чуть более 4К, так что остается достаточно места для расширения.
MCU2.7b_m16.zip

Re: Универсальный контроллер

blevat » 21 июл 2013, 16:32

доброго дня Sphynx , можно ли воспользоваться вашей программой для управления ботом с компа?

Re: Универсальный контроллер

robovan » 22 июл 2013, 18:19

ух ты:-) джипик

Re: Универсальный контроллер

Sphynx » 23 июл 2013, 14:58

blevat писал(а):доброго дня Sphynx , можно ли воспользоваться вашей программой для управления ботом с компа?

Собственно это и есть основная идея этого контроллера. :o
Помимо контроллера необходимо собрать "обвязку" бота.
Общая схема:
bot.jpg

Программка на Delphi:
prog.jpg

Re: Универсальный контроллер

Myp » 23 июл 2013, 15:31

ты думаешь что скриншот программы может заменить саму программу?

Re: Универсальный контроллер

blevat » 23 июл 2013, 15:56

Sphynx писал(а):
blevat писал(а):доброго дня Sphynx , можно ли воспользоваться вашей программой для управления ботом с компа?

Собственно это и есть основная идея этого контроллера. :o
Помимо контроллера необходимо собрать "обвязку" бота.
Общая схема:
bot.jpg

Программка на Delphi:
prog.jpg

Можете ли вы выложить её для скачивания?

Re: Универсальный контроллер

Sphynx » 26 июл 2013, 20:20

RC.zip
(228.06 КиБ) Скачиваний: 0
Исходник на delphi.

Re: Универсальный контроллер

blevat » 30 июл 2013, 04:08

спасибо

Re: Универсальный контроллер

Sphynx » 15 авг 2013, 23:07

Немного доработал прошивку, добавил новые команды.
MACRO - команда для создания макросов. Можно создать до 16 макросов, длинной до 256 байт. Макросы хранятся в EEPROM и сохраняются после отключения питания.
Параметры:
- CLEAR - удаляет все макросы и подготавливает EEPROM для работы.
- LIST - выводит список макросов.
- NEW - создает новый макрос, следующее слово имя макроса, далее между двойными ковычками сам макрос. Пример: MACRO NEW VA " ADC 0 ;" ; - создает макрос с именем VA, содержимое макроса: ADC 0 ;. Для исполнения этого макроса нужно ввести .VA, в ответ придет результат преобразования ацп с канала 0 . Знак "точка" отделяет имена макросов от обычных команд.
- READ - выводит содержимое макроса. Пример: MACRO READ VA ; - в ответ придет строка ADC 0 ;.
Конфигурация контроллера теперь должна хранится в макросе с именем AUTORUN.

Новая команда TIMEOUT - позволяет отключать контроллер для сохранения энергии.
Параметры команды: число - время в мс (1..65535) до перехода в режим Standby. Если за указанный промежуток времени не поступит команд, то контроллер уснет.
К сожаления просыпаться от USART мега не умеет, поэтому будим ее по внешенму прерыванию. Для этого необходимо добавить резистор 10-20К между пинами 9 (RXD) и 12 (INT1).
Mega16.png
Mega16.png (9.75 КиБ) Просмотров: 2344

Параметры ENABLE DISABLE разрешают/запрещают отключение мк.
Пример: TIMEOUT 1000 ENABLE ; - после этой команды контроллер будет отключаться, если в течении 1с не поступают команды.

Для команды I2C доступны новые параметры: NM (normal mode), FM (fast mode) - 100КГц и 400КГц соответственно.
mcu_3.1A.zip
(6.74 КиБ) Скачиваний: 0


Добавлено спустя 3 минуты 36 секунд:
Подключение микросхемки термометра DS1621.
С печатной платой даже не стал заморачиваться, подключить проще некуда.
Припаял 4 проводочка - VCC, GND, SCL, SDA и засунул ее в термоусадку.
ds1621.png

Для работы с микросхемой создадим 2 макроса: на запуск преобразования и на чтение результата.
Запуск преобразования SC (Start Convert):
MACRO NEW SC "I2C SWWP $90 $EE ;" ;
Чтение результата RT (Read Temperature):
MACRO NEW RT "I2C SWWSWRP $90 $AA $91 ;" ;
Теперь вводим .SC и через пол секунды .RT и получаем в ответ 27.
В сочетании с режимом отключения мк получаем маломощный блютус термометр (энергию пожирает в основном блютус модуль, но в режиме ожидания это ток порядка 2-3 мА .


cron
Rambler\'s Top100 Mail.ru counter