roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 07:06

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




Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Универсальный контроллер
СообщениеДобавлено: 20 апр 2013, 18:01 
Не в сети

Зарегистрирован: 13 окт 2012, 13:44
Сообщения: 13
Хочу представить свой "универсальный контроллер" (не хватило фантазии обозвать по-другому). Данный проект образовался спонтанно и развивался в течении нескольких месяцев, так-что получился достаточно объемным. Описать его полностью я не смогу, так-как некоторый функции подзабылись :crazy:
Контроллер позволяет с помощью ПК управлять различными устройствами, и на момент написания статьи это:
- восьми битный порт ввода-вывода;
- восьми канальный 10бит АЦП;
- 2 ШИМ контроллера;
- 2 двигателя постоянного тока;
- 6 сервомашинок;
- шина I2C;
Управление осуществляется по COM-порту, подачей специальных команд. За разбор команд отвечает простейший интерпретатор.
Немного о формате команд. Воспринимаются только заглавные символы. Все слова обязательно должны быть разделены пробелами с обоих сторон !(на данный момент пробелами считаются: $0D, $0A, ' ', ','). Количество пробелов подряд не ограничено. Команды могут иметь неограниченное число параметров. Окончанием команды считается символ ';'.
Собственно список доступных команд и их описание.
USART - команда для настройки соединения с ПК. В качестве параметра задается скорость соединения. Пример: USART BR_9600 ; установит скорость обмена 9600 бит;
PORT - команда для работы с восьмибитным портом. Параметры: "число", DDR, OR, AND, RD. Пример: PORT 255 ; выведет в порт 255. PORT DDR $FF $AA RD установит все выводы на выход, выведет $AA, и произведет чтение вернув число (в данном случае 170).
ADC - команда для работы с АЦП. Параметры: "число", AREF, IREF. Пример: ADC IREF 0 1 2 3 ; - установит внутренний ИОН, и выведет 4 результата преобразования с каналов 0, 1, 2, 3 соответственно.
PWM - команда для работы с ШИМ. Параметры: "число", А, В, ENABLE, DISABLE. Пример: PWM ENABLE A 10 B 93 ; - разрешает работу ШИМ и установит для канала А 10% заполнение, для канала В 93% заполнение.
MOTOR - команда для работы с двигателями постоянного тока (с поддержкой НЧ программного 8уровневого ШИМ). Параметры: "число", MR, ML, ENABLE, DISABLE. Пример: MOTOR ENABLE MR -8 ML 4 ; разрешает работу двигателей, установит для правого максимальную мощность "назад", для левого половину мощности "вперед".
SERVO - команда для работы с сервомашинками. Параметры: "число", ENABLE, DISABLE. Пример: SERVO ENABLE 0 50 1 90 2 30 ; разрешает работу сервомашинок, установит для 0, 1, 2 угол 50, 90, 30 градусов соответственно.
I2C - команда для работы с шиной I2C. Принцип работы будет понятен на примере работы с микросхемой at24c16 (адрес на шине $A0). I2C SWWWWWWWP $A0 $00 $05 1 2 3 4 ; запишет в микросхему 4 байта ($01,$02,$03,$04) начиная с адреса $0005. I2C SWWWSWRRRRP $A0 $00 $05 $A1 ; выведет 4 байта прочитанные с адреса $0005.
Хватит команд, есть еще несколько, но они менее полезны.
Контроллер основан на МК ATMega16, работающим на частоте 7.3728MHz.
После прошивки контроллер выглядит так:
Вложение:
Mega16.png
Mega16.png [ 23.49 КиБ | Просмотров: 4595 ]

Собственно прошивка
Вложение:
mcu2.7b.hex [11.74 КиБ]
Скачиваний: 324

Прошивка протестирована на боте управляемого с ПК, но буковку 'b' я пока не убираю :crazy:


Последний раз редактировалось Sphynx 22 апр 2013, 19:17, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 20 апр 2013, 18:39 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

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

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 20 апр 2013, 22:37 
Не в сети
Аватара пользователя

Зарегистрирован: 16 май 2009, 12:50
Сообщения: 1530
Откуда: Россия
прог. языки: Java, C
Может он не знает о существовании ORFA?

_________________
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 21 апр 2013, 15:11 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 21 апр 2013, 17:16 
Не в сети

Зарегистрирован: 13 окт 2012, 13:44
Сообщения: 13
Минимальный комплект для начала работы:
http://roboforum.ru/download/file.php?mode=view&id=27939 - простая программка для работы с COM портом, написаная на Delphi.
Макетная плата (Mega16 + 24c16), преобразователь USB2COM (FT232RL) он же программатор для PonyProg.


Вложения:
IMG_20130421_202156.jpg
IMG_20130421_202156.jpg [ 691.58 КиБ | Просмотров: 4879 ]
Project1.zip [203.92 КиБ]
Скачиваний: 0


Последний раз редактировалось Sphynx 22 апр 2013, 16:52, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 21 апр 2013, 17:20 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

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

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 21 апр 2013, 17:35 
Не в сети

Зарегистрирован: 13 окт 2012, 13:44
Сообщения: 13
Изначально контроллер создавался для радиолюбительских целей, однако добавив работу с сервомашинками и дигателями, удалось собрать своего первого робота в кратчайшие сроки.
Фактически весь алгоритм поведения схемы задается программой на ПК, и это, я считаю, очень удобно.
Прошивка писалась на ассемблере, и состоит из нескольких десятков файлов. Даже я не всегда могу вспомнить что и зачем, так какой смысл выкладывать исходник ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 21 апр 2013, 19:06 
Не в сети
Аватара пользователя

Зарегистрирован: 16 май 2009, 12:50
Сообщения: 1530
Откуда: Россия
прог. языки: Java, C
Так какой смысл выкладывать фото? Здесь явно не форум фотолюбителей.

_________________
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 21 апр 2013, 19:19 
Не в сети
Аватара пользователя

Зарегистрирован: 26 июл 2012, 18:40
Сообщения: 263
Откуда: Екатеринбург
Grem, +1
И редактируй размеры фоток перед заливкой, хотя без исходников от них смысла нет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 21 апр 2013, 19:32 
Не в сети

Зарегистрирован: 13 окт 2012, 13:44
Сообщения: 13
У меня появилось чувство, что я приехал "таксовать" в чужой район :)
Фото выложил лишь для того чтобы подтвердить реальность сборки.
А размер изображения действительно великоват, извиняюсь :pardon:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 21 апр 2013, 20:17 
Не в сети

Зарегистрирован: 04 фев 2012, 00:07
Сообщения: 13
http://www.youtube.com/watch?v=dcf_WOzyc9k


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 22 апр 2013, 11:59 
Не в сети
Аватара пользователя

Зарегистрирован: 05 фев 2008, 15:33
Сообщения: 2687
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович
Молодец! Что дальше будешь делать со всем этим?

_________________
Никто кроме нас!!!
4Robots.ru - Все для роботов!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 22 апр 2013, 17:19 
Не в сети
Аватара пользователя

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

Понимаете в чем фишка - на этом форуме 4 года назад был реализован Open Source проект [[ORFA]], в котором вроде сделано всё и даже чуть больше, чем вы реализовали в своём проекте, кроме того контроллеры в проекте ORFA позволяют одновременно рулить большим количеством сервоприводов (до 32) с плавным их движением, совместимы с набором команд SSC-32, на одном из контроллеров реализованы сдвоенные энкодеры и подсчет кликов с них. Прошивка ORFA модульная и позволяет встраивать в неё новые команды не сильно нарушая работу предыдущих модулей, если не используются те же самые железные блоки контроллера.

Вот по всему этому сообщество и недоумевает, зачем повторять то, что уже сделано вместо развития уже имеющегося? :)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 22 апр 2013, 17:51 
Не в сети

Зарегистрирован: 13 окт 2012, 13:44
Сообщения: 13
Без сомнения вы правы, но такая логика не идеальна. Зачем существует Windows, ведь есть же Linux с открытым исходником ? Я не пытаюсь конкурировать с проектом ORFA, считайте это альтернативным решением проблемы со своими плюсами и минусами.
При подключении блютус модуля контроллер способен выполнять все вышеописанное, но по беспроводному каналу.
Вложение:
IMG_20130422_204046.jpg
IMG_20130422_204046.jpg [ 791.96 КиБ | Просмотров: 4605 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный контроллер
СообщениеДобавлено: 22 апр 2013, 18:54 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
пока совершенно непонятно, зачем вы это всё выложили. если это для повторения кем-то, то лучше пока забудьте. без схемы, нормально разведённой печатки и открытых исходников плюсы будут не раньше, чем вы сделаете что-то лучше, чем уже существующее. обижайтесь или не обижайтесь, но ваш проект пока мягко говоря слабоват и больше похож на "я только начал изучать микроконтроллеры и вот моя первая поделка". а если "недавно начал осваивать микроконтроллеры, смотрите какую я для себя штуку уже умею делать", так молодец и удачи вам в дальнейшем изучении.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу 1, 2, 3  След.

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


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

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


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

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