roboforum.ru

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

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

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

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

Сообщение Scorpio » 28 апр 2013, 18:45

Классный ботик! Особенно фары понравились.
Аватара пользователя
Scorpio
 
Сообщения: 2681
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

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

Сообщение Delirium » 01 май 2013, 01:33

Мне тоже очень понравился сам робот! Требую подробностей, как, из чего (понятно Lego, но...) и для чего строился?)
Аватара пользователя
Delirium
 
Сообщения: 23
Зарегистрирован: 07 ноя 2011, 12:10
Откуда: СПб
Skype: anotherrain
прог. языки: C, C++, Delphy

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

Сообщение Fayras » 01 май 2013, 18:53

да, ботик интересный)
хотелось бы узнать насколько живучи такие конструкторы лего - элементы подвески, шестерни
Fayras
 
Сообщения: 118
Зарегистрирован: 15 дек 2010, 16:43
Откуда: Тверь
прог. языки: С++

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.

Немного улучшил "динамику" бота добавив переключаемый редуктор.
Sphynx
 
Сообщения: 13
Зарегистрирован: 13 окт 2012, 13:44

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
Sphynx
 
Сообщения: 13
Зарегистрирован: 13 окт 2012, 13:44

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

Сообщение blevat » 21 июл 2013, 16:32

доброго дня Sphynx , можно ли воспользоваться вашей программой для управления ботом с компа?
blevat
 
Сообщения: 10
Зарегистрирован: 21 июл 2013, 16:12
Откуда: Minsk

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

Сообщение robovan » 22 июл 2013, 18:19

ух ты:-) джипик
Самое важное в жизни- найти человека , который смотрит на мир, так же как и ты:)
Аватара пользователя
robovan
 
Сообщения: 1536
Зарегистрирован: 04 сен 2012, 00:39
Откуда: Украина
ФИО: Владимир

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

Сообщение Sphynx » 23 июл 2013, 14:58

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

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

Программка на Delphi:
prog.jpg
Sphynx
 
Сообщения: 13
Зарегистрирован: 13 окт 2012, 13:44

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

Сообщение Myp » 23 июл 2013, 15:31

ты думаешь что скриншот программы может заменить саму программу?
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

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

Сообщение blevat » 23 июл 2013, 15:56

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

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

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

Можете ли вы выложить её для скачивания?
blevat
 
Сообщения: 10
Зарегистрирован: 21 июл 2013, 16:12
Откуда: Minsk

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

Сообщение Sphynx » 26 июл 2013, 20:20

RC.zip
(228.06 КиБ) Скачиваний: 0
Исходник на delphi.
Sphynx
 
Сообщения: 13
Зарегистрирован: 13 окт 2012, 13:44

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

Сообщение blevat » 30 июл 2013, 04:08

спасибо
blevat
 
Сообщения: 10
Зарегистрирован: 21 июл 2013, 16:12
Откуда: Minsk

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 КиБ) Просмотров: 2024

Параметры 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 мА .
Sphynx
 
Сообщения: 13
Зарегистрирован: 13 окт 2012, 13:44

Пред.

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

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

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