roboforum.ru

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

Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Правила форума
Правила раздела OpenRobotics

Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение =DeaD= » 27 фев 2009, 22:21

Постановка задачи:
1. Контроль 28 сервоприводов;
2. Наличие 8 портов GPIO для подключения датчиков и т.п.
3. Разумеется наличие RoboBus'а;

Типичное применение - шагающий робот (квадропод, хексапод, бипед и т.п.).

Особенность - поддержка значительных токов на питание сервоприводов.

Начал рисовать схемку (можно пока не качать, это мне файлик, чтобы не тащить на флешке :)), подключение сервоприводов будем делать прямое к отдельному МК работающему на 5В на 16МГц. Этот МК будет целиком занят управлением сервоприводами. (изначально планировались регистры как в SSC-32)

Добавлено спустя 5 минут 27 секунд:
PPS: Есть еще мысль питать регистры от 5В, чтобы они на сервы выдавали приятные 5В, а не обычные наши 3.3В, чтобы 100% на всех сервах работало.
Вложения
OR-main-servo.rar
(57.11 КиБ) Скачиваний: 66
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение FireFly » 27 фев 2009, 22:24

мысль здравая :)
Домашняя робототехника - RoboZone.SU
горючее...- пиво... много... :)
Аватара пользователя
FireFly
 
Сообщения: 1576
Зарегистрирован: 19 июн 2005, 18:27
Откуда: Камышин

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение =DeaD= » 28 фев 2009, 01:41

чего-то уже вырисовывается, правда пришлось уйти от форм-фактора, оставил только отверстия совместимые, чтобы можно было сверху всякие звуковые карты или экранчики цеплять :)
Вложения
OR-AVR-M32-S.rar
(57.12 КиБ) Скачиваний: 55
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение avr123.nm.ru » 28 фев 2009, 02:46

Интересный вариант. А секвенсор движений будете писать ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение blindman » 28 фев 2009, 09:26

Мне такая схема не нравится.

  • При определенном соотношении длительностей импульсов возможны ситуации, когда процессор будет находиться в прерывании 1000 тактов и больше. Как минимум это ограничивает скорость обмена по уарту
  • Необходимо при программировании следить, чтобы прерывания не запрещались на длительное время. Возможны ситуации, когда запретить прерывания необходимо - это скажется на точности формирования интервалов, особенно если учитывать низкую тактовую частоту процессора
В том виде, как сделан оригинальный SSC-32, эти ограничения несущественны. Но мне хочется от такого контроллера большего. Возможно будут подключаться датчики, различные модули и т.п. В результате окажется, что модуль не сможет качественно выполнять свою основную задачу - формирование точных временных интервалов. Посему предлагаю использовать схему со счетчиками-дешифраторами или сдвиговыми регистрами. Недостатков у такой схемы вижу два:
  1. будут недоступны ШИМ-выходы МК
  2. несколько меньшее разрешение
Второй недостаток наверняка будет и у SSC-32 при тактовой 7 МГц.

Добавлено спустя 5 минут 21 секунду:
Решение со счетчиками мною опробовано, показало свою эффективность. Вот такой модуль у меня есть:
P1020332_2.jpg
P1020332_2.jpg (28.51 КиБ) Просмотров: 4975


Добавлено спустя 5 минут 30 секунд:
Насчет питания регистров - абсолютно правильная мысль

Добавлено спустя 3 часа 8 минут 34 секунды:
Вот схема подключения счетчиков 4017 к меге32
Вложения
servo.pdf
(39.49 КиБ) Скачиваний: 74
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение =DeaD= » 28 фев 2009, 09:58

avr123.nm.ru писал(а):Интересный вариант. А секвенсор движений будете писать ?

Пока еще не знаем, может готовый где достанем, зачем всё самим то писать? :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение blindman » 28 фев 2009, 11:21

Наверно можно заюзать готовый от того же SSC-32, возможно слегка модифицировав ту часть что на стороне МК работает
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение =DeaD= » 28 фев 2009, 14:42

Следующий релиз (принято решение вместо регистров ставить 2 МК, количество серв управляемых идеально ограничиваем до 28). Схема не завершена еще.
Вложения
OR-main-servo.rar
(57.53 КиБ) Скачиваний: 35
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение blindman » 28 фев 2009, 14:47

Я думал, мы договорились, что будет 30 а не 28?

Добавлено спустя 2 минуты 39 секунд:
Так как сейчас нарисовано - получается только 26, еще 2 ноги надо для общения между МК
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение Сергей » 28 фев 2009, 16:47

И какая будет система управления этими сервами? Какая точность будет?

Добавлено спустя 1 минуту 50 секунд:
И что с током у нас будет? 52А на все сервы, с учетом того что всего 2А на каждую серву будет, дорожки выдержат?
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение blindman » 28 фев 2009, 16:58

Разрешение будет 1мкс. Стабильность длительности не будет зависеть от того, что там пользователь за программу написал, как он с прерываниями работает и т.п.

По току - сейчас определяемся с габаритами платы, будет ясно
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение =DeaD= » 28 фев 2009, 17:05

Сергей писал(а):И что с током у нас будет? 52А на все сервы, с учетом того что всего 2А на каждую серву будет, дорожки выдержат?

дорожки будут снизу платы и без маски - можно будет хоть 3мм высотой напаять "горку", в этом изделии "выдержать" должны разъемы, а они как известно не более 1А на 3-пиновый, и не более 15А на клеммник приличных размеров (чтобы не был с голову робота).
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение Сергей » 28 фев 2009, 17:08

Тогда можно сделать несколько клеммников. А насчет трехпиновых разъемов - если делают сервы под 5А с таким разъемом, значит все ок :)

Кстати, так как вы получите разрешение 1мкс при 26 сервах? просто любопытно
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение EdGull » 28 фев 2009, 17:09

мы в брумбота автомобильные ставим от сигнализации
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Разработка Open Robotics: Контроллер под сервы, SMD-вариант

Сообщение blindman » 28 фев 2009, 17:22

Сергей писал(а):Кстати, так как вы получите разрешение 1мкс при 26 сервах? просто любопытно

Для того и стоит выделенный МК с16 МГц кварцем :)
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

След.

Вернуться в Разработка модулей

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

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