Управление модельными сервоприводами от LinuxCNC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Управление модельными сервоприводами от LinuxCNC

Сообщение Сергей Саныч »

Есть идея применить сервоприводы постоянного тока с ШИМ-управлением (модельные) в макетном прототипе некоего "окрасочного робота". Высокая точность позиционирования здесь не требуется. Преимущества такого выбора: низкая цена, доступность, высокое быстродействие, простота управления (ШИМ-сигнал уровней ТТЛ). Вопрос в том, можно ли получить от LinuxCNC управляющий ШИМ-сигнал, где ширина импульса пропорциональна заданной координате (углу поворота вала сервомашинки)?
Принцип управления таким сервоприводом. Период импульсов - 20 мс. (3056 просмотров) <a class='original' href='./download/file.php?id=6310&sid=f3c8a7532641973382f12bf0686e74a4&mode=view' target=_blank>Загрузить оригинал (27.7 КБ)</a>
Принцип управления таким сервоприводом. Период импульсов - 20 мс.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Nick »

Так вроде тот же pwmgen дает именно такую модуляцию.
Можешь посмотреть, что он выдает в HAL scope
Чтобы быстро посмотреть, как он работает, вот это в hal:
loadrt pwmgen
addf pwmgen.make-pulses base-thread
addf pwmgen.update servo-thread

setp pwmgen.0.enable 1

вот этим регулируешь значение
halcmd setp pwmgen.0.value 0.7

а вот этот пин смотришь:
pwmgen.0.pwm
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение nkp »

Код: Выделить всё

loadrt pwmgen output_type=0
addf pwmgen.update servo-thread
addf pwmgen.make-pulses base-thread
setp pwmgen.0.enable 1
результат: (другие сигналы смотрел,чтоб проверить работу halscope)
может какие то параметры шим нужно прописать?
чет пока не работает
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Nick »

А что не нравится? Сделай масштаб по больше и по больше семплов, будет ровнее видно.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение nkp »

шим - красный цвет
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Nick »

Скинь свой hal...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение nkp »

"своего" hal нет-я в стандартный просто добавил шим-генератор,чтоб посмотреть как это в емс работает
core_stepper.hal
(2.33 КБ) 1099 скачиваний
standard_pinout.hal
(2.37 КБ) 1058 скачиваний
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Nick »

А значение ему кто будет присваивать? :)
Добавь на график еще pwmgen.0.value
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение nkp »

Спасибо,Ник! Вот здесь с 9 ножки парпорта можно взять шим,
а ползунком регулировать скважность.
Вложения
Sherline3AxisPWMG.tar
(30 КБ) 463 скачивания
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Nick »

Серву уже подключал? Как работает?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение nkp »

Nick писал(а):Серву уже подключал? Как работает?
Это наверно вопрос к ТС ?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Nick »

Точно! Я думал, это он ответил :)
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Сергей Саныч »

Огромное спасибо Nick и nkp за столь активную помощь!
Вообще, приятно удивлен отзывчивостью и доброжелательностью участников этого форума. :)

По сути вопроса. Загрузил конфигурацию, предложенную nkp, получил на ноге порта ШИМ, стал разбираться с параметрами.
И тут дошло до меня, что временнОе разрешение, возможное в EMC, явно не достаточно. Дело в том, что серва требует импульс шириной от 0,5 до 2,5 мсек и весь диапазон перемещений должен укладываться в эти 2 миллисекунды. То есть, чтобы получить дискретность перемещения хотя бы 1%, нужно, чтобы период базовой частоты был не более 20 мкс. Что с имеющимся компьютером (Max Jitter как раз 20 мкс) получить не реально.

А жаль... :(
Чудес не бывает. Бывают фокусы.
billsmith
Опытный
Сообщения: 128
Зарегистрирован: 04 июн 2012, 23:46
Репутация: 5
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение billsmith »

Serg-tmn писал(а):И тут дошло до меня, что временнОе разрешение, возможное в EMC, явно не достаточно. Дело в том, что серва требует импульс шириной от 0,5 до 2,5 мсек и весь диапазон перемещений должен укладываться в эти 2 миллисекунды. То есть, чтобы получить дискретность перемещения хотя бы 1%, нужно, чтобы период базовой частоты был не более 20 мкс. Что с имеющимся компьютером (Max Jitter как раз 20 мкс) получить не реально.
Что-то я сомневаюсь что сама модельная серва сможет точней позиционироваться, неговоря уже за погрешность при нагреве и износе. Ну а если действительно такие супер сервы модельные есть, то можно сделать для неё простой внешний контроллер.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Сергей Саныч »

billsmith писал(а): Что-то я сомневаюсь что сама модельная серва сможет точней позиционироваться, неговоря уже за погрешность при нагреве и износе.
Высокая точность позиционирования в данном случае не нужна. А вот равномерность (плавность) движения - желательна. А так она рывками будет двигаться.
billsmith писал(а): Ну а если действительно такие супер сервы модельные есть, то можно сделать для неё простой внешний контроллер.
Можно. Но изящество пропадает :)
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Serg »

Serg-tmn писал(а):
billsmith писал(а): Ну а если действительно такие супер сервы модельные есть, то можно сделать для неё простой внешний контроллер.
Можно. Но изящество пропадает :)
На каждую серву копеечный восьминогий PIC с железным PWM (pic16f683, даже обвязка не нужна) и можно выбирать любой способ управления, хоть step/dir, хоть координатный.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение 2cme »

Serg-tmn писал(а):Есть идея применить сервоприводы постоянного тока с ШИМ-управлением (модельные) в макетном прототипе некоего "окрасочного робота".
Пожалуйста опишите подробнее вашего "окрасочного робота".
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Сергей Саныч »

2cme писал(а):Пожалуйста опишите подробнее вашего "окрасочного робота".
Пока идея крайне сырая, но в общих чертах так: окрашиваемая деталь закрепляется на платформе, которая может вращаться/наклоняться/двигаться в вертикальном направлении. Распылитель краски закреплен неподвижно и управляется пневмоклапаном. Перемещение детали производится по программе, обеспечивающей равномерное покрытие.
Чудес не бывает. Бывают фокусы.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение 2cme »

Схематично набросайте пожалуйста чертеж (в том виде как вы покрасочного бота представляете, даже если конструкция "сырая"), т.к не совсем ясна схема.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Управление модельными сервоприводами от LinuxCNC

Сообщение Nick »

Serg-tmn писал(а): А вот равномерность (плавность) движения - желательна. А так она рывками будет двигаться.
А как он в итоге вычисляет положение в которое нужно повернуться? Неужели по длине импульса?

А где такую серву купить можно? И что к ней еще подключать надо (какое питание)?
Ответить

Вернуться в «LinuxCNC»