реклама на сайте
подробности

 
 
11 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Система команд сервоконтроллера, обсудим?
_Pasha
сообщение Feb 16 2009, 13:23
Сообщение #1


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Доброго времени суток! "Заболел" я созданием мелкого сервоконтроллера. Очень хочется поговорить о системе команд, поскольку то, что я наблюдаю в openservo, elm-chan и в аппликухах microchip, не нравится. Думаю, может лучше подмножество G-кода огранизовать? Кто из сервостроителей имеет свое мнение на сей счет? Только не надо Siemens и т.п. цитировать - немножко уровень полулюбительский должен остаться. В идеале хочется, чтобы в конце обсуждения появился некий маленький "стандартик" на систему команд и применяемые интерфейсы и протоколы. Или организую RS-274D, если это никому не интересно. 
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 16 2009, 14:40
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(_Pasha @ Feb 16 2009, 21:23) *
Доброго времени суток! "Заболел" я созданием мелкого сервоконтроллера. Очень хочется поговорить о системе команд, поскольку то, что я наблюдаю в openservo, elm-chan и в аппликухах microchip, не нравится.

Вы имеете в виду эти странные Dir & Step? Если речь о них, то я тоже не могу их назвать удобными, т.к. никакой полезной инфой с сервой не обменяешься. Ни конфиги принять/передать, ничего.
Цитата(_Pasha @ Feb 16 2009, 21:23) *
Думаю, может лучше подмножество G-кода огранизовать?

Беглое знакомство с G-кодом говорит, что он скорее предназначен для программирования уже готовой системы, например станка. А серва это лишь периферия ЧПУшного оборудования. Кстати, подобная проблема обсуждалась в моей ветке по приводу, вот только плохо помню, где она. Но там пришли к выводу, что можно (и я реализовал, кроме I2С) сделать два интерфейса: RS-232 и I2C. Первый для сервисного обслуживания, т.е. для работы "на столе" потестировать, настроить, что не исключает подключение по нему и к системе более выского ранга. Второй - как раз ориентирован для работы в системе. Над протоколом I2C, к сожалению пока еще все не думал, так вышло( Но как основу хотел покопать протокол на www.openservo.com . Там тоже серва по I2C управляется.
Цитата(_Pasha @ Feb 16 2009, 21:23) *
очется, чтобы в конце обсуждения появился некий маленький "стандартик" на систему команд и применяемые интерфейсы и протоколы.

Всеми четырьмя лапами за!!!) Все равно это прорабатывать придеться в будущем. Почему бы не заняться сейчас?!
Цитата(_Pasha @ Feb 16 2009, 21:23) *
Или организую RS-274D, если это никому не интересно.

Ну что Вы, интерес есть!

Что касается меня, то я придерживаюсь пока двух интерфейсов, как написал выше.
Интерфейс для RS-232 создан по образу одного из микрочиповских аппноутов. Т.е. примерно это я ввожу в терминалке:
Цитата
$ m 250

Где доллар - приглашение командной строки сервы.
m - задать вручную значение PWM.
250 - непосредственное значение. Все подтверждается ENTERом. Редактирование не возможно. Т.к. программа сервы это не поддерживает.
Все остальные команды в подобном стиле. Например * позвояет посмотреть все текущие настройки сервы (параметры ПИДа, заданной скорости и тд). В общем, все пока примитивненько. Но общими силами может быть и получится что-то? Очень надеюсь на это!!!

Паша, респект!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
evgeny_ch
сообщение Feb 16 2009, 14:55
Сообщение #3


чукчхэшаражогрмонтажник
*****

Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094



Цитата(_Pasha @ Feb 16 2009, 17:23) *
Доброго времени суток! "Заболел" я созданием мелкого сервоконтроллера. Очень хочется поговорить о системе команд, поскольку то, что я наблюдаю в openservo, elm-chan и в аппликухах microchip, не нравится. Думаю, может лучше подмножество G-кода огранизовать? Кто из сервостроителей имеет свое мнение на сей счет?
...
В станках G-код преобразуется (скажем постпроцессором) в команды контроллера.
Долго и нудно описывать, назову группы.
Калибровка привода.
Отображение состояния.
Включение/выкл. функций.
Сброс, запись, чтение, сохранение, ожидание.
Тестовые.
Знач. параметров двигателя, энкодера, регуляторов.
Величина и тип перемещения.
Ввод программы, загр. прогр. в EEPROM, старт программы.
И пр. мелочи. biggrin.gif


--------------------
Quo vadis?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 16 2009, 15:01
Сообщение #4


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(haker_fox @ Feb 16 2009, 18:40) *
Паша, респект!

smile.gif до респекта далеко еще. Думается, надо для начала определить, какая скорость передачи будет считаться нормальной. Вариант "чем больше тем лучше" не нужен совершенно. К чему привязаться? К длительности сервоцикла? Вроде слишком избыточно. Я возможность изменения настроек в процессе выполнения команды ("на лету") никогда не разрешаю ни в одном своем моторном девайсе. Надо поменять - остановился и поменял. Хотя, было один раз - наступил на свои же грабли. Но к серваку то же: никаких настроек на лету. Только команды. А какое должно быть минимальное время между командами ?

Цитата(evgeny_ch @ Feb 16 2009, 18:55) *
В станках G-код преобразуется (скажем постпроцессором) в команды контроллера.

Т.е напрямую G-код на контроллер сервака никогда не поступит? "В команды контроллера" - слишком расплывчатое определение. Интересно, насколько это стандартизовано.
Go to the top of the page
 
+Quote Post
arisov
сообщение Feb 16 2009, 15:08
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455



А зачем всё это? Для полулюбительского уровня мне кажется уже достаточно G-code. Другое дело – интерфейс. Для самодельщиков-ЧПУшников актуально будет управление через USB или ТСР, т.к. LPT «отходит». И ориентироваться надо, на мой взгляд, на самую популярную программу Масh3.
Go to the top of the page
 
+Quote Post
evgeny_ch
сообщение Feb 16 2009, 15:15
Сообщение #6


чукчхэшаражогрмонтажник
*****

Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094



Цитата(_Pasha @ Feb 16 2009, 19:01) *
...
Т.е напрямую G-код на контроллер сервака никогда не поступит? "В команды контроллера" - слишком расплывчатое определение. Интересно, насколько это стандартизовано.
Нет смысла передавать G-код в контроллер, это снизит быстродействие.
Хост (PLC, например) транслирует G-код в команды контроллеров (!) привода.
Насчет стандартов не знаю, я же бывший. biggrin.gif

Сообщение отредактировал evgeny_ch - Feb 16 2009, 15:16


--------------------
Quo vadis?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 16 2009, 15:25
Сообщение #7


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(haker_fox @ Feb 16 2009, 18:40) *
как основу хотел покопать протокол на www.openservo.com

Кстати, я большой противник регистров, их адресов и прочей низкоуровневой шелухи. Только команды. Например, для "тупокрутилок" асинхронных двигателей у меня такое:
Код
Адрес устройства
Размер блока данных
Адрес вызывающего
Команда мастера или статус слейва (слейв - привод)
Опциональные данные (ограничены макс длиной блока - 4байта)
CRC8 типа как у DS18B20

А команды:
Код
0x00 - сводка о состоянии привода (набор параметров программируется)
0x01.. 0x7F пространство команд чтения параметров
0x80 - программируется содержимое, выдаваемое командой 0x00
0x81..0xFE пространство команд записи параметров
0xFF - резерв, какой-нить HELP по поводу того или иного параметра. Например 0xFF 0x00 привод выдаст "GET_BRIEF"

Меняются версии, контроллеры, вместо простенького пульта компьютер... протокол изменять надобности нет.

Цитата(arisov @ Feb 16 2009, 19:08) *
И ориентироваться надо, на мой взгляд, на самую популярную программу Масh3.

Да-да-да. Есть такое подозрение smile.gif Только хоцца и объять необъятное и определить нужный людям уровень универсальности.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 16 2009, 15:27
Сообщение #8


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(arisov @ Feb 16 2009, 23:08) *
А зачем всё это?

Вопрос риторический, ответа не имеет... Ведь и elm-chan когда-то создавался...
Цитата(arisov @ Feb 16 2009, 23:08) *
актуально будет управление через USB или ТСР

TCP, пожалуй, тяжеловато да и монстрообразно для привода. Хотя при современном спектер недорогих армов вполне. Но речь идет об интерфейсе не системы ЧПУ, где эти интерфесы как раз, а о серве. Где можно применить дешевый AVR или PIC, но поднять USB или TCP на их бортах дело тяжелое, да и зачем?
Цитата(arisov @ Feb 16 2009, 23:08) *
т.к. LPT «отходит».

Есть еще RS-232. И дешевые конвертилки RS-232<->USB. Поэтому (ИМХО) RS-232 забывать не стоит)


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
arisov
сообщение Feb 16 2009, 15:29
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455



А какой смысл применения своих команд, если это никакой прогой не будет поддерживаться? Возможно это пригодиться только единицам.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 16 2009, 15:35
Сообщение #10


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



TCP не надо: поголовно никто ставить не будет, а в качестве опции - вот, мосты всяческие ETHERNET<->RS-485. А потом, возможно, придется двигаться в сторону RTP (все равно рано или поздно к этому придут) - это уж точно ни в какой  АВР не влезет smile.gif
Go to the top of the page
 
+Quote Post
arisov
сообщение Feb 16 2009, 15:36
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455



Цитата(haker_fox @ Feb 16 2009, 18:27) *
Есть еще RS-232. И дешевые конвертилки RS-232<->USB. Поэтому (ИМХО) RS-232 забывать не стоит)

Дешёвые конвертилки на FT232 почему «отваливаются» с сервоконтроллером, при чём не только у меня. biggrin.gif
http://kazus.ru/forum/topics/14286.html

И здесь http://forum.rcdesign.ru/f41/thread40981-5.html#post1037070 начиная с сообщения №165
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 16 2009, 15:41
Сообщение #12


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(arisov @ Feb 16 2009, 23:29) *
А какой смысл применения своих команд, если это никакой прогой не будет поддерживаться? Возможно это пригодиться только единицам.

А как быть с физическим интерфейсом? Или он не будет особой роли играть, главное команды? Этот уровень, я тоже сейчас до шел до этого, нужно пытаться делать совместимым с чем-нибудь стандартным, но не особо навороченным, возможно со своими подмножествами.

Как все-таки по поводу Rs-232 для подключения к кому, чтобы можно было из терминалки с приводом пообщаться? Ведь не всегда под рукой будет спецсофт, да стойка ЧПУ, а вот комп с примитивным терминалом обычно есть... (ИМХО). Да и для матлаба такой интерфейс, наверно больше подходит. Я вот сейчас пытаюсь в матлаб со своего привода данные гнать, для моделирования... RS-232 в этом деле как раз кстати: простота, куча примеров в инете... и тп.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
arisov
сообщение Feb 16 2009, 15:44
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455



Цитата(haker_fox @ Feb 16 2009, 18:41) *
...Как все-таки по поводу Rs-232 для подключения к кому, чтобы можно было из терминалки с приводом пообщаться?...

Если уж с терминальной программой «отваливается», то чё уж тогда говорить о непосредственном управлении.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Feb 16 2009, 15:47
Сообщение #14


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(arisov @ Feb 16 2009, 23:36) *
Дешёвые конвертилки на FT232 почему «отваливаются» с сервоконтроллером, при чём не только у меня. biggrin.gif
http://kazus.ru/forum/topics/14286.html

И здесь http://forum.rcdesign.ru/f41/thread40981-5.html#post1037070 начиная с сообщения №165

Бегло прочел. Там говорят что нужен оптрон. Так в моем приводе силовая L298 уже оптронами отделена от цифры... Может быть поэтому ничего не отваливается, правда я долго не тестировал. Кстати, тут много споров было по поводу оптронов. Может быть ответ тут, в этой ветке?)

Цитата(arisov @ Feb 16 2009, 23:44) *
Если уж с терминальной программой «отваливается», то чё уж тогда говорить о непосредственном управлении.

Так я и не предлагаю RS-232 для непосредственного управлениея unsure.gif Ну а "отваливание" нужно решать. Интерефейс-то из за этого игнорироваться не должен rolleyes.gif


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
arisov
сообщение Feb 16 2009, 15:47
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 157
Регистрация: 17-02-07
Из: Ульяновск
Пользователь №: 25 455



Вот Screen из Mach.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

11 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 20:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01497 секунд с 7
ELECTRONIX ©2004-2016