Страница 1 из 2
Axis enable
Добавлено: 08 апр 2013, 16:57
elephant007
Прошу помощи в реализации следующей идеи.
В интерфейсе ЕМС2 есть кнопка "Питание станка(F2)".
Хочу привязать к ней подачу питания на ноги "Enable" драйверов с пина 8 (к примеру) платы опторазвязки.
Если такое уже реализовывалось - киньте ссылочку, плиз, не смог найти...
Re: Axis enable
Добавлено: 08 апр 2013, 17:24
Lexxa
Halui.machine.is-on вроде бы называется пин
Re: Axis enable
Добавлено: 08 апр 2013, 18:10
solo
В степ конфиге вроде выбирееш при настройке порта сигнал "Включение усилителей" это по моему и есть этот сигнал
котрый в хел добавить такую строку
net xenable => parport.0.pin-8-out
Re: Axis enable
Добавлено: 08 апр 2013, 22:01
Ворон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
Re: Axis enable
Добавлено: 09 апр 2013, 09:33
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

Re: Axis enable
Добавлено: 09 апр 2013, 09:42
Сергей Саныч
Попробуй parport.0.pin-08-out
Здесь 8 и 08 - часть имени, не число, а просто текст, а потому не одно и то же
Re: Axis enable
Добавлено: 09 апр 2013, 10:18
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

Не добавлять строку не нада в хел, степ конфиг сам добавляет строку текс которой я привел
тоесть или в степконфиге задай включить усилитель и все сохраняеш конфигурацию и запускай
+++++
или если без степконфига в хел просто допиши любой из вариантов
(net enable halui.machine.is-on parport.0.pin-8-out)
или
( net xenable => parport.0.pin-8-out)
правда имена соединений надо будет проверить
Re: Axis enable
Добавлено: 09 апр 2013, 10:32
elephant007
А вот так заработало, одно НО. Усилитель к пину привязывать не нужно. Дебуггер ругается, что происходит попытка задействовать уже привязанный пин.
Я могу все выше перечисленное оформить в виде HOW TO.
Скажите, куда сложить.
Re: Axis enable
Добавлено: 09 апр 2013, 11:02
solo
что заработало?
самый простой и верны способ это использовать степконфиг и в нем задать "включение усилителя" это как говорится 100% вариант.
Re: Axis enable
Добавлено: 09 апр 2013, 12:39
Serg
elephant007 писал(а):Я могу все выше перечисленное оформить в виде HOW TO.
Скажите, куда сложить.
http://www.cnc-club.ru/wiki
Re: Axis enable
Добавлено: 09 апр 2013, 16:26
elephant007
Из документации, приложенной к драйверам DM542, и переписки с Mary из LongMotors, следовало, что расключать нужно клеммы на питание драйвера, 4 на шаговый двигатель и 4 клеммы на плату опторазвязки (pulse и dir). Оставшиеся две клеммы enable трогать категорически не советовалось. ВРоде как-бы и ладно, станок запустился и все крутится. Однако при долгих простоях разогретые шаговики напрягали, да и наличие в ЕМС2 кнопки "Питание станка" как бы намекало.
Сформулировалась задача: как с помощью кнопки "Питание станка" управлять подачей питания на драйвера шаговых двигателей.
Решение.
Добавляется немного проводки. На все имеющиеся в системе драйвера на клемму Еnable+ подается постоянное напряжение +5V. Клеммы Еnable- соединяются с любым свободным пином платы опторазвязки. В моем случае это будет пин 8. На картинке обозначено красным трассером.
Далее нужно настроить работу ЕМС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 за помощь в решении поставленного вопроса.
Re: Axis enable
Добавлено: 09 апр 2013, 16:45
elephant007
Для полноты картины нужно снимать питание со станка при выходе из программы. при запуске станка питание в любом случае снимается, а при выходе остается вероятность, что станок будет греть Сибирь до следующего запуска. Эта штука как называется?
Re: Axis enable
Добавлено: 09 апр 2013, 17:27
PKM
При выходе из программы питание станка снимается автоматически. Если мы еще о том же питании.
Re: Axis enable
Добавлено: 09 апр 2013, 18:33
elephant007
нет, состояние пина, на который заводилось питание способом, описанным выше, не меняется. Если при закрытии программы питание подавалось - оно таким и останется. А вот при запуске оно при любом раскладе выключится до тех пор, пока не отожмется кнопка "Питание станка".
Re: Axis enable
Добавлено: 09 апр 2013, 18:48
Serg
Перед завершением программы (мы ведь о linuxcnc?) как правило станок выключают...
Лично я для выключения станка использую кнопку E-Stop - она у меня всегда под рукой. По простому, поработал со станком и нужно чем-то другим занятся - хлоп оп кнопке и станок выключается.
Re: Axis enable
Добавлено: 09 апр 2013, 18:58
elephant007
наверное это правило хорошего тона и так оно и должно быть. Просто кроме отключения питания ШД я бы приурочил парковку станка в максимуме по Z и в нулях по X, Y.
Да и кнопку Е-стоп я пока не прикрутил...
Re: Axis enable
Добавлено: 09 апр 2013, 19:13
Nick
Есть еще такая штука - chargepump - сигнал с какой-то минимальной частотой, который надо подавать на пин lpt, иначе станок вырубается, точнее контроллер драйверов вырубает enable. Но надо, чтобы контроллер умел работать с этим chargepump. Одна из основных фишек проявляется даже не когда ты вырубаешь LinuxCNC, а когда он еще не запущен, или вообще запустил винду, а у тебя шпиндель взял и стартанул внезапно. В общем полезная штука

.
Re: Axis enable
Добавлено: 09 апр 2013, 20:30
PKM
elephant007 писал(а):нет, состояние пина, на который заводилось питание способом, описанным выше, не меняется. Если при закрытии программы питание подавалось - оно таким и останется
Странно, у меня с 7i43+7i48 питание моторов выключается всегда после закрытия программы. Хотя... скорее всего, это срабатывает watchdog
Емнип есть файл shutdown.hal, который выполняется при закрытии программы. Можно попробовать там присваивать состояние пину.
Re: Axis enable
Добавлено: 09 апр 2013, 20:43
Nick
PKM писал(а):Хотя... скорее всего, это срабатывает watchdog
Да что вы говорите

.
PKM писал(а):Емнип есть файл shutdown.hal, который выполняется при закрытии программы. Можно попробовать там присваивать состояние пину.
А вот это дело!
Re: Axis enable
Добавлено: 10 апр 2013, 07:06
Сергей Саныч
У себя я сделал так: на один из выходов LPT подключил детектор импульсной последовательности (здесь его обычно называют chargepump, но это название скорее отражает принцип действия, а не назначение), на его выход через ключ - реле, через которое подал 220В на БП контроллера. Теперь при включении питания компьютера все приводы обесточены. При запуске LinuxCNC начинает работать генератор импульсной последовательности (компонент chargepump), реле срабатывает и подает питание на контроллер. При выходе из LinuxCNC всё так же безболезненно отключается.