Перейти к содержанию
    

8-ми канальный контроллер ЭД для манипулятора

Разыскивается программист микроконтроллеров для одного срочного проекта. Задача состоит в программировании 8-ми канальной системы

управления электродвигателями руки-манипулятора. К сожалению, проект довольно долгое время был доверен одному товарищу,

который в итоге ничего не сделал, и как следствие - все проектные решения уже воплощены в металле. Т.е. писать код придется,

подстраиваясь под задел.

 

Речь идет о контроллере, который исполняет команды вращения валов ЭД в дискретных единицах (шагах) на заданные величины, полученные от СУ верхнего уровня,

контролируя перемещения по обратной связи (инкрементальные энкодеры для одних каналов, потенциометры в других), и возвращая по завершению движения актуальную

траекторную информацию наверх.

 

Если говорить чуть подробнее, то задачу можно разбить на 3:

1. 5 одинаковых каналов, управляющих ЭД постоянного тока через драйвер Purelogic 2080s STEP/DIR/ENABLE, с обратной связью от стандартного A/B энкодера.

Сделаны на процессорах PIC18F2520 (по одной штуки на канал).

2. 3 одинаковых канала, управляющих ЭД с помощью микросхемы драйвера TI DRV8840 и с обратной связью через точный потенциометр (это линейные привода)

АЦП AD7705 и PIC16F690 в канале обратной связи. Для управления стоят те же самые PIC18F2520

3. Над всеми этими канальными процессорами стоит PIC18F4520. Процессоры связаны по SPI и через 8 интов. На мастер повешен UART через USB. По UART

по несложному протоколу приходят команды от устройства управления верхнего уровня на линейные движения по каждому из каналов и возвращаются квитки

о выполнении.

 

Что касается алгоритмов управления (т.е. учета ускорений, торможений, ПИД и прочее) - то мы сейчас хотим вынести их полностью на верхний уровень,

однако что-то в процессе настройки может перекочевать и сюда, к этому надо быть готовым. Соотвественно опыт по разработке СУ ЭД крайне приветсвутется.

 

Более подробное описание, ТЗ и прочее - для заинтересовавшихся по почте [email protected]

 

Срок у нас теперь, к сожалению, довольно жесткий. Месяц на разработку и максимум месяц на доводку (желательно

презентовать работающую систему к 15 апреля). С другой стороны, если есть опыт - то сделать это все реально без особого кранча.

 

Пишите здесь или в почту ваши требования.

 

С уважением, Валентин Гибалов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разыскивается программист микроконтроллеров для одного срочного проекта. Задача состоит в программировании 8-ми канальной системы

 

 

С уважением, Валентин Гибалов.

Находитесь в Москве?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 пиков, зачем? С такой структурой и не окончательно распределенным функционалом за месяц не отладить. ЧПУ на PLC545 под АРМом отлаживали почти пол года....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 пиков, зачем? С такой структурой и не окончательно распределенным функционалом за месяц не отладить. ЧПУ на PLC545 под АРМом отлаживали почти пол года....

а потому что обратные связи по датчикам положения требуют неплохого ресурса микроконтроллера, а если их девять, то вообще сложно завязать на один контроллер. Не совсем понятно зачем для ДПТ ставится драйвер от шаговика (если я правильно понял).

А вобщем, за месяц-полтора работы можно заставить это только дрыгаться.

 

PS ускорения и торможения на верхний уровень вы не вытащите, так как это контура тока, а значит вам нужно будет тащить контур тока "наверх", так не делается - уж очень все будет наворочено и по быстродействию не пройдет.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а потому что обратные связи по датчикам положения требуют неплохого ресурса микроконтроллера, а если их девять, то вообще сложно завязать на один контроллер.
В разы сложнее отлаживать систему на куче контроллеров вместо одного мощного (какого-нить кортекса). А тут ещё такой зверинец - не только их 9, но ещё и 3-х разных типов.... :smile3046:

За месяц написать 3 разных программы для 3-х разных процессоров???

За такое только студент возьмётся :biggrin:

 

PS: Сорри - не сдержался ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... А тут ещё такой зверинец - не только их 9, но ещё и 3-х разных типов.... : За месяц написать 3 разных программы для 3-х разных процессоров???

 

программы для исполнительных приводов по сути две - для серво с энкодером и серво с потенциометрическим датчиком ... и та и другая - это типовые ПИД алгоритмы, коды неоднократно публиковались в инете (думаю поэтому и указанные ТС МК выбраны, хотя, я бы из пиков использовал для этой цели соответствующие мк из семейства dsPIC)... эту часть программ действительно за месяц отладить вполне реально...

основная сложность не в программах для исполнительных серво, а в программе, которую ТС называет верхним уровнем - управление этим комплексом - вот тут в месяц не уложиться (хотя ..., если у ТС есть готовый рабочий алгоритм , то ...)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю что для любого хорошего специалиста ясно, что предложенные условия это самоубийство и пожизненное рабство.

Влезать в чужой проект робота где всё на стадии наладки, и пытатся это всё довести до ума, за фиксированное вознаграждение пропорциональное 2 месяцам работы.

Одно только согласование с прогаммистом который пишет ПО для верхнего уровня чего будет стоить "погоди, я завтра доделаю и дам тебе протокол... Ой, всё не так, давай переделаем,

тебе ведь не сложно ?... Чёрт, у меня ресурсов не хватает ускорения общитывать, давай это перенесём в твой процессор.... Нет, так то же не выйдет, давай вот что сделаем..... "

Топикстартеру нужно что-то менять в условиях.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

думаю топикстартер ПОПАЛ в суперигру и ему нужно в срок выкатить хоть что-нибудь примерно похожее...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

думаю топикстартер ПОПАЛ в суперигру и ему нужно в срок выкатить хоть что-нибудь примерно похожее...

В любом случае надо более конкретно формулировать задачу.

Пример 1:

<<Есть то-то и то-то.(приведена схема) Оно находится вот в таком состоянии.(приведено подробное описание состояния, с фотографиями тех плат которые предстоит программировать)

Через два месяца должно хоть как-то двигаться. >>

 

Пример 2:

<<Есть вот столько шаговых движков с вот такими контроллерами (приведена схема). Есть протокол по которому они должны управляться(приведено описание протокола). Нужно сделать

так, что бы в ответ на команды шаговые двигатели совершали врашение, контроллеры измеряли перемешение и отправляли ответы в соответствии с протоколом. Все остальные неоговорённые ньюансы, т.е. люфты конструкций, помехи по питанию от других устройств, несоответстие команд управления поисанному протоколу на совести Заказчика. Условия приёмки работы :....>>

 

 

Сейчас задача сформулирована в виде "Есть бесконечное поле для творчества. Приходите, места всем хватит, и ещё останется"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Влезать в чужой проект робота где всё на стадии наладки ...

мне кажется ТС до этой стадии еще далеко ...

...Одно только согласование с прогаммистом который пишет ПО для верхнего уровня чего будет стоить ...

а ТС эту задачу отдельно даже не выделяет, то есть она у него идет в общем ряду

Топикстартеру нужно что-то менять в условиях.

эт-т точна!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Процессоры менять на что то с аппаратной поддержкой квадартарного энкодера (QEI по микрочиповски). А шину управления - на CAN. Взять за основу например STM8. А системного архитектора, который это придумал- расстрелять перед строем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Задача безусловно решаемая. Конечно при наличии опыта подобных работ.

2. Идеология распределения задач по процессорам совершенно правильная. Каждый контроллер по одинаковой программе отрабатывает задание на траекторию движения с обратной связью по положению. Обратная связь по току для нормальной работы тут не критична. Судя по установленным драйверам токи до 1.5А. Пытаться сэкономить электричество включая обратную связь по току не нужно.

Встроенное в драйвер ограничение тока не позволит системе сгореть от короткого замыкания на моторе, а обратная связь по положению позволит это увидеть. Головной контроллер выдает только команду на траекторию движения - которую в него загружает хост. Есть такой известный принцип РАЗДЕЛЯЙ И ВЛАСТВУЙ - он и положен в основу этого подхода. Я таким образом сделал больше двух десятков разных кастомных систем (роботы разного типа), и ни разу не пожалел что пошел этим путем. Уверяю он самый простой.

3. Процессор автор выбрал исходя из своего опыта. Что нормально. Квадратурный энкодер реализуется на двух прерываниях, особенно если скорость не велика. Конечно CAN и процессор с встроенным енкодером существенно упрощает задачу и позволяет резко ускорить процесс.

4. Я бы делал на 56F8037 более того, я уже решал на этом процессоре такие задачи, с PID регулятором, и заданием траектории таким образом, чтобы обеспечить нулевое ускорение в точке остановки и старта. (движение описывается полиномом 3-й степени). Есть опыт, когда систему управления надо было установить на электромобиль ( полноразмерный ). На момент начала работы были готовы контроллеры мотор колес, и все. За 8 дней были изготовлены контроллеры на этом процессоре в Тепро запрограммированы, и машина поехала. На 13-й день поехала вторая (фиатдукато). И только благодаря тому, что система была спроектирована также - отдельный контроллер на каждую функцию и CAN шина для соединения с центром. Центр на LPC2368 - сейчас был бы LPC1768.

 

5. Не надо никого РАССТРЕЛИВАТЬ, тем более коллективно, если его идеология отличается от той, что нравится нам. Как то это аморально. Даже в переносном смысле.

6. Я бы взялся, но завален работой по самые уши. И вернусь в Москву не ранее 11 марта.

 

Заказчику:

Готов оказать разумную помощь, как минимум консультационную. Если есть грамотный кодер, то я могу объяснить ему что делать.

Не надо бояться перехода на другую электронику. Ее можно сделать за 10 дней, если это облегчит программирование.

Пишите в личку, если есть желание поговорить. Желательно скайп.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>Находитесь в Москве?

 

Да, Москва

 

>Не совсем понятно зачем для ДПТ ставится драйвер от шаговика (если я правильно понял).

 

Нет, драйвер как раз серво для ДПТ.

 

>вобщем, за месяц-полтора работы можно заставить это только дрыгаться.

 

По поводу сроков: закзадывалось гораздо больше времени (предыдущий программист начал работать в сентябре), однако через 5 месяцев стало ясно, что он только обещаниями кормить умеет.

 

>PS ускорения и торможения на верхний уровень вы не вытащите, так как это контура тока, а значит вам нужно будет тащить контур тока "наверх", так не делается - уж очень все будет наворочено и по быстродействию не пройдет.

 

Согласен с такой оценкой, скорее речь идет о вытаскивании наверх констант. Там довольно серьезное ядро с динамикой и физикой. Тоже не уверен, что это будет работать.

 

>В разы сложнее отлаживать систему на куче контроллеров вместо одного мощного (какого-нить кортекса). А тут ещё такой зверинец - не только их 9, но ещё и 3-х разных типов....

 

 

Ну, если вы готовы обрабатывать прерывания темпом примерно 7000 в секунду, и вести асинхронный обмен по USB одновременно - то да. Мы попытались поделить задачу на элементарные. Откуда такой зверинец - из наличия готовых сниппетов под конкретные процессоры у проггера #1.

 

>Думаю что для любого хорошего специалиста ясно, что предложенные условия это самоубийство и пожизненное рабство.

 

Знаете, сам давно в разработке, и понимаю, что ситуация не хорошая. Но первый раз сталкиваюсь с таким кидаловом со стороны нанятого работника.

 

>Влезать в чужой проект робота где всё на стадии наладки, и пытатся это всё довести до ума, за фиксированное вознаграждение пропорциональное 2 месяцам работы.

Одно только согласование с прогаммистом который пишет ПО для верхнего уровня чего будет стоить "погоди, я завтра доделаю и дам тебе протокол... Ой, всё не так, давай переделаем,

тебе ведь не сложно ?... Чёрт, у меня ресурсов не хватает ускорения общитывать, давай это перенесём в твой процессор.... Нет, так то же не выйдет, давай вот что сделаем..... "

 

Выглядит страшно, однако это было бы в любом случае.

 

 

>Топикстартеру нужно что-то менять в условиях.

 

Что именно? Мне вот по почте предлагают сделать все своими силами (с меня деньги, как я понимаю) за год, а сейчас дать какое-нибудь решение "прикрыть задницу". Это тоже немного смешно.

 

>В любом случае надо более конкретно формулировать задачу.

 

Вы мне в почту напишите. Задача сформулирована довольно конкретно: нужно заставить манипулятор принимать стандартные заданные положения, есть схемы, протоколы... Просто не хочется это все вываливать в паблик.

 

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...