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

не встречался ли кому простой самодельный сервоконтроллер?

Рекомендуемые сообщения

в принципе интересует интеллектуальная часть, как используются сигналы step\dir в связке с энкодерами

интересуют алгоритмы управления ДПТ на основе показаний энкодера.

 

это интересно для переделывания старого чпу агрегата под возможность работы с современным софтом в режиме step\dir

от агрегата осталась механика и коллекторные электромоторы. ящик с процессором отсутствует.

 

можно конечно все электромоторы выбросить и поставить ШД, но хочется подумать и о других вариантах.

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


Ссылка на сообщение

в принципе интересует интеллектуальная часть

Ммм... Основная и главная интеллектуальная часть у Вас на плечах..:) А если серьезно - вы хоть механизм как-то обрисуйте...потребные моменты.. точность...ваш уровень в электронике...

Моя (к примеру) интеллектуальная часть - не дружит с телепатией... Хотя, конечно, практически полезный ответ об алгоритме связи ДПТ с энкодерами - объема форума может не хватить...

Попробуйте начать вот с этого...http://www.chipmaker.ru/topic/86538/page__fromsearch__1 Топикстартера можете и спросить, если что непонятно...

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


Ссылка на сообщение

с программированием МК знаком немного, Н мост для управления моторами нужной мощности тоже соберу.

механизм - будет настольный фрезер.

точность - магнитные энкодеры 4000 точек на оборот. тобишь если эмулировать ШД с шагом 1,8 градуса, получается минимум по 20 отсчётов энкодера на одну команду step.

 

простейший вариант который приходитв голову это по поступлении сигнала step включать мотор до тех пор пока не поступит 20 отсчётов от энкодера. можно даже сделать разгон и торможение.

но это всё просто в случае если сигнал step идёт не чаще раза в секунду, а мотор крутится в холостую, всё просто и понятно, особенно для одного мотора.

 

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

тоесть на всё про всё есть 20 тиков энкодера, за это время надо включить мотор, определить скорость, корректировать ШИМ в + или - и получить последний 20 тик не раньше и не позже расчётного времени.

 

и ещё наверно неплохо иметь какой-то буфер, чтобы прогнозировать длинные движения и реверсы,

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


Ссылка на сообщение

Сам об этом подумывал, но задачи конкретной (у меня, денежной :) ) нет. Хотя тема интересная. Но непростая.

В простейшем случае это, ИМХО, должно выглядеть примерно так:

Два реверсивных счётчика, один считает импульсы энкодера, другой считает "step" (с учётом "dir"). Выходы счётчиков подключены к схеме сравнения, а к выходу схемы сравнения подключен ЦАП. Выход ЦАП подключен к выходному усилителю, сюда же подмешиваем сигнал токового датчика. Всё это можно реализовать на микроконтроллере.

 

, всё просто и понятно, особенно для одного мотора.

 

однако если сразу 3 оси, да ещё каждая из них под разной нагрузкой,

Вы что, собрались делать один контроллер для трёх осей. :shok:

Может всё таки каждой оси по контроллеру? :)

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


Ссылка на сообщение

На самом деле придется применять нехилую математику. Насколько помню по остаткам ВУЗовского курса систем автоматического управления, дело обстоит так. Есть контур системы управления, естественно, замкнутый (с обратной связью). Каждое звено системы, как механическое, так и электрическое, описывается формулами, показывающее зависимость выходного сигнала звена от входного. Как правило, эти формулы содержат интегралы и дифференциалы. Так как контур замкнутый, а система должна стремиться к равновесию, сумма сигналов по контуру равна нулю. Следовательно, система управления должна по пришедшему по каналу обратной связи сигналу сгенерировать управляющее воздействие, учитывающее прохождение (изменение при прохождении) сигнала по всем звеньям контура. В результате получается, что надо на каждом дискретном отсчете решать здоровенную систему дифуравнений.

 

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

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


Ссылка на сообщение

На самом деле придется применять нехилую математику.

По крайней мере иметь понятия о Теории Автоматического Управления.

И даже если применить математику по максимуму, всё равно придётся подстраивать в реале.

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


Ссылка на сообщение
И даже если применить математику по максимуму, всё равно придётся подстраивать в реале.

 

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

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


Ссылка на сообщение
Дата: (изменено)

Вы что, собрались делать один контроллер для трёх осей.

а в чём принципиальные ограничения?

 

yapsc прям то что надо... жалко только на пике

даже не знаю, стоит ли заморачиваться или просто сделать по инструкции.

Изменено пользователем gruzdev_f

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


Ссылка на сообщение

У меня есть схемы аналогового сервоконтроллера понимающего step-dir.

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

Если кому интересно я выложу подборку схем и печатных плат

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


Ссылка на сообщение
Дата: (изменено)

а в чём принципиальные ограничения?

 

yapsc прям то что надо... жалко только на пике

Мужики, поверьте.. вы собрались изобретать велосипед... Это можно, но сначала надо прилично знать существующие ЧПУ... Количество граблей, на которые наступите - просто неимоверное...

Для иллюстрации - энкодер на 4000 имп/об сожрет ресурсы любого обычного микоропроцессора... Шаг у шаговиков 1.8 в чистом виде не практически не применяется никогда - используется деление на микрошаги. У меня в одной штучке (ось) используется 18й пик с PLL на 50мгц - выход на КОНТРОЛЛЕР шаговика с делением 16 - и ему там тяжело.. Без энкодера (даже нормального- на 600-1024 имп) - он еще почти удваивает потребную производительность... Какие там 3 оси на один проц !!! А Вам еще потребуется синхронизировать все три оси - аппаратный интерполятор... контролировать скорость, ускорение, статические, динамические ошибки... Можно, конечно, подобрать в конце концов проц (и это будет не детский PIC).. Но вы готовы вместо делания станка начать заново( процесс на годы) изобретать ЧПУ? Поверьте, даже просто отхарактеризовать(настроить) готовы современный сервопривод - это уже наука...

Путь проще - есть у Вас станок с моторами - поищите к ним готовый привод с цифровым управлением... Хотите делать заново - берите шаговики и цепляйте их через Mach (или что подобное) к компу хотя бы 1ггц... Так Вы хоть основные принципы и проблемы поймете...

PS. Поверьте, писал не критики ради - ваше время жалко... Полазьте по форуму - тут огромное количество инфы по самодельным и промышленным ЧПУ...

Изменено пользователем alex56

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


Ссылка на сообщение

Если кому интересно я выложу

Было бы любопытно посмотреть.

 

Количество граблей, на которые наступите - просто неимоверное...

Несомненно.

 

процесс на годы

Смотря какова задача. Некоторым нравится сам процесс. :)

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


Ссылка на сообщение
Дата: (изменено)

Gleb_1, а где можно купить или заказать сами платы ? Я не имею в виду готовые, только платы. Остальное я сам сделал бы. Я давно ищу эти платы и безуспешно. Даже у мадьяр, их уже давно нету.

Изменено пользователем chkmatulla

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


Ссылка на сообщение

Как альтернативу могу предложить собрать контроллер UHU. Наберите в google UHU и найдёте всё, что нужно. Если что будет не понятно, спрашивайте. Постараюсь помочь.

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


Ссылка на сообщение

Для иллюстрации - энкодер на 4000 имп/об сожрет ресурсы любого обычного микоропроцессора.

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

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


Ссылка на сообщение

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

Много он там ее делает... Инкремент-декремент.. Способ круче - вытащить вообще обработку из проца во внешний обвес... Тока еще ж эти данные использовать нужно.. контроль позиции,расчет скорости-ускорения.. интерполяция, еще куча всякой математики на управление... - и все в реалтайме.. На 1500 об/мин 4000имп дадут 100кгц.. Сколько тактовую предполагаете у проца ? На 50мгц в вашем рапоряжении, если не ошибаюсь, будет 500 тактов проца на все про все.. Даже в асме - нечего ловить..А иначе - на фига такое разрешение...

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


Ссылка на сообщение
Дата: (изменено)

chkmatulla

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

 

alex56 вы усложняете

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

Автор пишет

это интересно для переделывания старого чпу агрегата под возможность работы с современным софтом в режиме step\dir

Все сделает софт выдавая step-dir. Автору нужно крутить двигатель с обратной связью и все.

Изменено пользователем Gleb_1

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


Ссылка на сообщение

в принципе интересует интеллектуальная часть, как используются сигналы step\dir в связке с энкодерами

интересуют алгоритмы управления ДПТ на основе показаний энкодера.

 

Серва Чена. Сила - никакущая, конечно. Потом чуть улучшили в UHU

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


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу


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

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.