Страница 1 из 2

Axis enable

Добавлено: 08 апр 2013, 16:57
elephant007
Прошу помощи в реализации следующей идеи.
В интерфейсе ЕМС2 есть кнопка "Питание станка(F2)".
axis_enable.jpg (3186 просмотров) <a class='original' href='./download/file.php?id=13587&mode=view' target=_blank>Загрузить оригинал (39.01 КБ)</a>
Хочу привязать к ней подачу питания на ноги "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
:thinking:

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
:thinking:
Не добавлять строку не нада в хел, степ конфиг сам добавляет строку текс которой я привел
тоесть или в степконфиге задай включить усилитель и все сохраняеш конфигурацию и запускай
+++++
или если без степконфига в хел просто допиши любой из вариантов
(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. На картинке обозначено красным трассером.
разводка шаговиков.jpg (3132 просмотра) <a class='original' href='./download/file.php?id=13623&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 за помощь в решении поставленного вопроса.

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
Да что вы говорите :hehehe:.
PKM писал(а):Емнип есть файл shutdown.hal, который выполняется при закрытии программы. Можно попробовать там присваивать состояние пину.
А вот это дело!

Re: Axis enable

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