Axis enable

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
elephant007
Мастер
Сообщения: 771
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 292
Откуда: Сибирь, Томск
Контактная информация:

Axis enable

Сообщение elephant007 »

Прошу помощи в реализации следующей идеи.
В интерфейсе ЕМС2 есть кнопка "Питание станка(F2)".
axis_enable.jpg (2244 просмотра) <a class='original' href='./download/file.php?id=13587&sid=1823af518b4e0acaa90be26e0c57b81c&mode=view' target=_blank>Загрузить оригинал (39.01 КБ)</a>
Хочу привязать к ней подачу питания на ноги "Enable" драйверов с пина 8 (к примеру) платы опторазвязки.
Если такое уже реализовывалось - киньте ссылочку, плиз, не смог найти...
Аватара пользователя
Lexxa
Мастер
Сообщения: 2682
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 315
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Axis enable

Сообщение Lexxa »

Halui.machine.is-on вроде бы называется пин
:bender:
Аватара пользователя
solo
Мастер
Сообщения: 1348
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 265
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Axis enable

Сообщение solo »

В степ конфиге вроде выбирееш при настройке порта сигнал "Включение усилителей" это по моему и есть этот сигнал
котрый в хел добавить такую строку
net xenable => parport.0.pin-8-out
Последний раз редактировалось solo 09 апр 2013, 09:26, всего редактировалось 1 раз.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1805
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 174
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Axis enable

Сообщение Ворон226 »

solo писал(а):В степ конфиге вроде выбирееш при настройке порта сигнал "Включение усилителей" это по моему и есть этот сигнал
в хел добавить такую строку
net xenable => parport.0.pin-8-out
Тогда уже такую:

net enable <= halui.machine.is-on => parport.0.pin-8-out

что будет означать: подключаем сигнал enable с пина machine.is-on (станок включен) компонента halui на пин LPT-порта parport.0.pin-8-out
Хочешь быть счастливым? Будь им!
Аватара пользователя
elephant007
Мастер
Сообщения: 771
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 292
Откуда: Сибирь, Томск
Контактная информация:

Re: Axis enable

Сообщение elephant007 »

1. Сделал резервную копию "мой станок.hal".
2. Запустил Stepconf, привязал на пин 8 "Включить усилитель"
3. На вкладке "Advanced configuration options" отметил "Include Halui user interface component",
4. В файл "мой станок.hal" добавил строчку net enable <= halui.machine.is-on => parport.0.pin-8-out

При запуске ЕМС2 дебуггер пишет следующее

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

Debug file information:
мой-станок.hal:87: Pin 'parport.0.pin-8-out' does not exist
:thinking:
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 8878
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2783
Откуда: Тюмень
Контактная информация:

Re: Axis enable

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

Попробуй parport.0.pin-08-out
Здесь 8 и 08 - часть имени, не число, а просто текст, а потому не одно и то же
Чудес не бывает. Бывают фокусы.
Аватара пользователя
solo
Мастер
Сообщения: 1348
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 265
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Axis enable

Сообщение solo »

elephant007 писал(а):1. Сделал резервную копию "мой станок.hal".
2. Запустил Stepconf, привязал на пин 8 "Включить усилитель"
3. На вкладке "Advanced configuration options" отметил "Include Halui user interface component",
4. В файл "мой станок.hal" добавил строчку net enable <= halui.machine.is-on => parport.0.pin-8-out

При запуске ЕМС2 дебуггер пишет следующее

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

Debug file information:
мой-станок.hal:87: Pin 'parport.0.pin-8-out' does not exist
:thinking:
Не добавлять строку не нада в хел, степ конфиг сам добавляет строку текс которой я привел
тоесть или в степконфиге задай включить усилитель и все сохраняеш конфигурацию и запускай
+++++
или если без степконфига в хел просто допиши любой из вариантов
(net enable halui.machine.is-on parport.0.pin-8-out)
или
( net xenable => parport.0.pin-8-out)
правда имена соединений надо будет проверить
Аватара пользователя
elephant007
Мастер
Сообщения: 771
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 292
Откуда: Сибирь, Томск
Контактная информация:

Re: Axis enable

Сообщение elephant007 »

А вот так заработало, одно НО. Усилитель к пину привязывать не нужно. Дебуггер ругается, что происходит попытка задействовать уже привязанный пин.
Я могу все выше перечисленное оформить в виде HOW TO.
Скажите, куда сложить.
Аватара пользователя
solo
Мастер
Сообщения: 1348
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 265
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Axis enable

Сообщение solo »

что заработало?
самый простой и верны способ это использовать степконфиг и в нем задать "включение усилителя" это как говорится 100% вариант.
Аватара пользователя
Serg
Мастер
Сообщения: 20967
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 4973
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Axis enable

Сообщение Serg »

elephant007 писал(а):Я могу все выше перечисленное оформить в виде HOW TO.
Скажите, куда сложить.
http://www.cnc-club.ru/wiki
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
elephant007
Мастер
Сообщения: 771
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 292
Откуда: Сибирь, Томск
Контактная информация:

Re: Axis enable

Сообщение elephant007 »

Из документации, приложенной к драйверам DM542, и переписки с Mary из LongMotors, следовало, что расключать нужно клеммы на питание драйвера, 4 на шаговый двигатель и 4 клеммы на плату опторазвязки (pulse и dir). Оставшиеся две клеммы enable трогать категорически не советовалось. ВРоде как-бы и ладно, станок запустился и все крутится. Однако при долгих простоях разогретые шаговики напрягали, да и наличие в ЕМС2 кнопки "Питание станка" как бы намекало.
Сформулировалась задача: как с помощью кнопки "Питание станка" управлять подачей питания на драйвера шаговых двигателей.

Решение.
Добавляется немного проводки. На все имеющиеся в системе драйвера на клемму Еnable+ подается постоянное напряжение +5V. Клеммы Еnable- соединяются с любым свободным пином платы опторазвязки. В моем случае это будет пин 8. На картинке обозначено красным трассером.
разводка шаговиков.jpg (2190 просмотров) <a class='original' href='./download/file.php?id=13623&sid=1823af518b4e0acaa90be26e0c57b81c&mode=view' target=_blank>Загрузить оригинал (148.2 КБ)</a>
Далее нужно настроить работу ЕМС2 таким образом, чтобы при нажатии кнопки "Питание станка" становился активным пин 8.
Сделать это можно двумя способами. Либо через Stepconf, либо ручками править ваш hal-файл. Гуру рекомендуют второй вариант. Во первых, что бы понимать что делаешь, а во-вторых, Stepconf при каждом запуске переписывает существующий hal. Лежит hal в папке, созданной при установке программы (на рабочем столе, если была поставлена галка в Stepconf при первом запуске), называется что-то вроде "мой-станок.hal". Открываем этот файл любым редактором, идем в конец файла и добавляем следующую строчку:
net enable <= halui.machine.is-on => parport.0.pin-08-out
Внимание! pin-08-out это именно нольвосемь, а не восемь или О(буква)восемь.
Файл нужно сохранить и тут же сделать резервную копию. Опять же по соображениям защиты его от покушения со стороны Stepconf.
Если все типтоп то программа запускается без ругани дебаггера. Нажатие кнопки "Питание станка" приводит к подаче питания на шаговые моторы. В моем случае это визуально наблюдается за счет смены цвета статусных светодиодов на драйверах ШД с красного на зеленый.
Благодарю камрадов Serg-tmn, Ворон226 и solo за помощь в решении поставленного вопроса.
Последний раз редактировалось elephant007 09 апр 2013, 18:52, всего редактировалось 2 раза.
Аватара пользователя
elephant007
Мастер
Сообщения: 771
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 292
Откуда: Сибирь, Томск
Контактная информация:

Re: Axis enable

Сообщение elephant007 »

Для полноты картины нужно снимать питание со станка при выходе из программы. при запуске станка питание в любом случае снимается, а при выходе остается вероятность, что станок будет греть Сибирь до следующего запуска. Эта штука как называется?
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4261
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 703
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Axis enable

Сообщение PKM »

При выходе из программы питание станка снимается автоматически. Если мы еще о том же питании.
Аватара пользователя
elephant007
Мастер
Сообщения: 771
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 292
Откуда: Сибирь, Томск
Контактная информация:

Re: Axis enable

Сообщение elephant007 »

нет, состояние пина, на который заводилось питание способом, описанным выше, не меняется. Если при закрытии программы питание подавалось - оно таким и останется. А вот при запуске оно при любом раскладе выключится до тех пор, пока не отожмется кнопка "Питание станка".
Аватара пользователя
Serg
Мастер
Сообщения: 20967
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 4973
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Axis enable

Сообщение Serg »

Перед завершением программы (мы ведь о linuxcnc?) как правило станок выключают... :)

Лично я для выключения станка использую кнопку E-Stop - она у меня всегда под рукой. По простому, поработал со станком и нужно чем-то другим занятся - хлоп оп кнопке и станок выключается.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
elephant007
Мастер
Сообщения: 771
Зарегистрирован: 18 ноя 2012, 13:12
Репутация: 292
Откуда: Сибирь, Томск
Контактная информация:

Re: Axis enable

Сообщение elephant007 »

наверное это правило хорошего тона и так оно и должно быть. Просто кроме отключения питания ШД я бы приурочил парковку станка в максимуме по Z и в нулях по X, Y.
Да и кнопку Е-стоп я пока не прикрутил...
Аватара пользователя
Nick
Мастер
Сообщения: 22731
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Axis enable

Сообщение Nick »

Есть еще такая штука - chargepump - сигнал с какой-то минимальной частотой, который надо подавать на пин lpt, иначе станок вырубается, точнее контроллер драйверов вырубает enable. Но надо, чтобы контроллер умел работать с этим chargepump. Одна из основных фишек проявляется даже не когда ты вырубаешь LinuxCNC, а когда он еще не запущен, или вообще запустил винду, а у тебя шпиндель взял и стартанул внезапно. В общем полезная штука :).
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4261
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 703
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Axis enable

Сообщение PKM »

elephant007 писал(а):нет, состояние пина, на который заводилось питание способом, описанным выше, не меняется. Если при закрытии программы питание подавалось - оно таким и останется
Странно, у меня с 7i43+7i48 питание моторов выключается всегда после закрытия программы. Хотя... скорее всего, это срабатывает watchdog :)

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

Re: Axis enable

Сообщение Nick »

PKM писал(а):Хотя... скорее всего, это срабатывает watchdog
Да что вы говорите :hehehe:.
PKM писал(а):Емнип есть файл shutdown.hal, который выполняется при закрытии программы. Можно попробовать там присваивать состояние пину.
А вот это дело!
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 8878
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2783
Откуда: Тюмень
Контактная информация:

Re: Axis enable

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

У себя я сделал так: на один из выходов LPT подключил детектор импульсной последовательности (здесь его обычно называют chargepump, но это название скорее отражает принцип действия, а не назначение), на его выход через ключ - реле, через которое подал 220В на БП контроллера. Теперь при включении питания компьютера все приводы обесточены. При запуске LinuxCNC начинает работать генератор импульсной последовательности (компонент chargepump), реле срабатывает и подает питание на контроллер. При выходе из LinuxCNC всё так же безболезненно отключается.
Чудес не бывает. Бывают фокусы.
Ответить

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