Страница 1 из 3
LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 15:30
dberegovoy
Управляю ЧПУ через LPT порт с ноута (Linux CNC EMC2.64).
Хотелось бы быть застрахованым от неожиданного выключения света.
Какие есть варианты, кроме мощного ИБП?
Хотелось бы малой кровью реализовать следующее.
Ноут видя пропадание света, жмет Е-стоп, делает снимок экрана и сохраняет его на рабочий стол.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 16:03
shalek
dberegovoy писал(а):Хотелось бы малой кровью реализовать следующее.
Ноут видя пропадание света, жмет Е-стоп, делает снимок экрана и сохраняет его на рабочий стол.
А шпиндель в это время крутится и дорезает до дыма. Он, в отличие от остального, при пропадании света еще некоторое время будет вращаться от инвертора.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 16:30
megagad
dberegovoy писал(а):Ноут видя пропадание света, жмет Е-стоп, делает снимок экрана и сохраняет его на рабочий стол.
Вешаем последовательно с Е-стопом релюху, питающуюся от напруги драйверов, во воремя отключения света он размыкает контакт и ноут получает "Е-стоп" и стопорит программу. далее запоминаем где встали и после подачи пускаем с данной строки.
shalek писал(а): Он, в отличие от остального, при пропадании света еще некоторое время будет вращаться от инвертора.
А разве в частотнике нет "торомозного резистора", на который, при отключении света коммутируются все обмотки? Хотя - при отключении питания там генерация тормозится и всё "лишнее" сливается на разрядные резисторы. Должно славится.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 16:35
shalek
megagad писал(а):А разве в частотнике нет "торомозного резистора"
У меня в параметрах частотника вбито торможение 3 сек, но при принудительном обесточивании (проверял) шпиндель еще секунд 10-15 вращается пока частотник не потухнет. По-моему электролиты держат. И вращается не на выбеге, а нормально. Внешнего тормозного резистора нет, хотя кажется и с ним та же песня будет.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 17:19
torvn77
megagad писал(а):Вешаем последовательно с Е-стопом релюху, питающуюся от напруги драйверов, во воремя отключения света он размыкает контакт и ноут получает "Е-стоп" и стопорит программу. далее запоминаем где встали и после подачи пускаем с данной строки.
У этого способа есть недостаток,сначала обесточатся драйверы и только потом будет подан сигнал E-Stop,да и дальнейшей автоматизации не будет.
ИМХО обмотку релюшки,т.е вход детектора напряжения надо запитывать прямо от сети,ну может через понижающий трансформатор.
Но тогда не будет ли правильнее поставить выпрямитель и интегрирующею RC цепочку со стабилитроном и подать напряжение с этого прямо на входной пин Месы?
Сам же запуск в проекте мне видится так,сигнал с упомянутого пина запускает команду MDI,которая запускает пользовательский М-код,который как я понял создаётся как питоновый скрипт.
И вот тут я не знаю,можно так или нет.
Из этого M кода можно вызывать внешние команды или нельзя?
Если да ,то делаете вызов программы делающей скриншот а после его выполнения форсированную синхронизацию буфферов через sync && sync && sync
Ну а потом может в тойже строке вызвать команду паузы M1
Ну впрочем принцип я объяснил,далее сами нафантазируйте как и чего ещё можно понаделать.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 17:23
shalek
torvn77 писал(а):У этого способа есть недостаток,сначала обесточатся драйверы и только потом будет подан сигнал E-Stop.
ИМХО обмотку релюшки,т.е вход детектора напряжения надо запитывать прямо от сети,ну может через понижающий трансформатор.
Но тогда не будет ли правильнее поставить выпрямитель и интегрирующею RC цепочку со стабилитроном и подать напряжение с этого прямо на входной пин Месы?
Сам же запуск в проекте мне видится так,сигнал с упомянутого пина запускает команду MDI,которая запускает пользовательский М-код,который как я понял есть создаётся как питоновый скрипт.
И вот тут я не знаю,можно так или нет.
Из этого M кода можно вызывать внешние команды или нельзя?
Если да ,то делаете вызов программы делающей скриншот а после его выполнения форсированную синхронизацию буфферов через sync && sync && sync
Ну а потом может в тойже строке вызвать команду паузы M1
Ну впрочем принцип я объяснил,далее сами нафантазируйте как и чего ещё можно понаделать.
Чем такой огород городить, так лучше кабель от какой-нибудь нормальной больницы провести. У них в розетке питание не пропадает. Или с электриками перетереть. Хоть предупредят об отключении.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 17:24
dberegovoy
megagad писал(а):Вешаем последовательно с Е-стопом релюху, питающуюся от напруги драйверов, во воремя отключения света он размыкает контакт и ноут получает "Е-стоп" и стопорит программу. далее запоминаем где встали и после подачи пускаем с данной строки.
Спасибо.
А как бы еще скриншет получичить. Нотик с ЛПТ, т.е. древний, батарея долго не держит.
По поводу шпинделя у меня пока не частотник, а фрезер Крес. Менять не собираюсь пока не умрет, когда умрет тогда и менять на 2,2кВт китайца (из-за размера цанг)
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 17:43
torvn77
Как то забыл что ТС с LPT работает,ну да и на LPT хоть и мало входных пинов.но они всё же есть.
Остальное не очень уж и сложно сделать.
В любом случае по факту пропадания напряжения должны происходить до того,как обесточаться драйверы станка и соответсвенно собьются координаты.
Так как
)Напряжение срабатывания релюшки может оказаться меньшим,чем напряжение при котором драйвер пропустит шаги(т.е остановится)
)Время,за которое релюшка сработает будет увеличивать ошибку,так как софтина будет продолжать считать перемещение и после фактической остановки мотора.
)Время пока моторы будут двигаться за счёт запаса энергии в ёмкостях БП и драйвера и так не большое,
поэтому датчик должен быть по возможности срабатывать и передавать информацию как можно раньше.
dberegovoy писал(а):А как бы еще скриншет получичить.
Я тут ранее написал как это можно попробовать сделать,если что не понятно,то спрашивайте
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 17:52
megagad
torvn77 писал(а):В любом случае по факту пропадания напряжения должны происходить до того,как обесточаться драйверы станка и соответсвенно собьются координаты.
А зачем. Хотите чтоб "сразу рубало" - вешаем реле на питающие 220В.
ИБП таки нужен будет. Включать релюху ДО ИБП - факт пропадания напруги увидит ноут и тормознёт станок, даже самого "слабого" ИБП с головой хватит на минуту-две прожить станку(шпиндель в ризетку напрямую). По "скрину положения" - а разве в ЕМЦ не выводится номер строки? Больше и не нужно. Или вам надо "удалённо"? Тогда смотреть в ветке по ЕМЦ - спрашивать, ведёт ли оно лог, и пишет ли в него номер строки при экстренном останове.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 18:25
dberegovoy
torvn77 писал(а):Я тут ранее написал как это можно попробовать сделать,если что не понятно,то спрашивайте
Если честно, то ничего не понял.
megagad писал(а):По "скрину положения" - а разве в ЕМЦ не выводится номер строки? Больше и не нужно. Или вам надо "удалённо"? Тогда смотреть в ветке по ЕМЦ - спрашивать, ведёт ли оно лог, и пишет ли в него номер строки при экстренном останове.
Номер строки выводится, если стоять рядом или в течении 15 мин (пока нотик не выключился) подойти то можно посмотреть. А к примеру если на ночь запустил и ночью выключили свет.
Лог файл - здравая мысль, если ведет или знать как заставить вести то и не нужен скриншет.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 19:11
torvn77
Хорошо.
Для начала рисунок:
По нему есть вопросы?
Что стало понятным и что осталось не ясным?
Детектор можно собирать из старого блока питания роутера/свича или подобного устройства.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 19:23
dberegovoy
спасибо
по "железу" как раз и было все понятно.
не понятно как заставить сделать скриншет (обработать событие), или где ЕМС хранит лог.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 19:30
shalek
dberegovoy писал(а):не понятно как заставить сделать скриншет (обработать событие)
Видеокамеру прикрутите еще.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 19:45
torvn77
Значит в hal добавляешь команду net перебрасывающею сигнал ...
А чёрт,забыл что консоль MDI во время работы блокируется...
Значит сигнал надо перебрасывать в два места:
Первое инверсный сигнал с входного пина LPT порта командой net подключаешь к пину halui.program.pause чтобы программа при пропадании электричества вставала на паузу.
Прямой сигнал с этого же пина подключаешь к пину halui.program.resume,чтобы при возобновленный электричества до выключения ПК программа запустилась обратно.
Может имеет смысл использовать hal компонент
debounce
Второе место:
Тебе надо будет сделать свой компонент hal на питоне.
Прототип компонента можно посмотреть в этом посте:
Re: EMC2 и неровная поверхность гравировки #224
Ну конечно он решает другую задачу и 90% кода надо выкинуть,но посмотреть что и как делается там можно.
Ну значит подаёшь на вход компонента сигнал c LPT,ну а в нём делаешь условие и при его выполнении делаешь вызов внешней программы для делания скришотов.
И после выполнения всех действий не забудь отсинхронизировать буфферы файловой системы командой sync && sync && sync
А то погибнет скриншот в кеше записи.что делать будешь?
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 19:58
Сергей Саныч
А приличный ИБП полностью снимет эту проблему.
Если проблема с емкостью аккумуляторов, можно подключить один-два автомобильных.
Надо только оценить реальную потребляемую мощность всего станка.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 20:04
torvn77
"Приличный" это ИБП с двойным преобразованием?
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 20:07
Serg
Серьёзно вы тут наворотили...
ИБП, который минут 10 будет "держать" комп и весь станок кроме шпинделя стоит примерно 2500 руб...
10 минут вполне достаточно чтоб автоматом остановить выполнение УП и "уехать" на безопасную высоту или даже в HOME.
Примерно за 4000 руб, можно купить ИБП, который позволит запитать весь станок со шпинделем и минут пять "поковырять в носу", потом нажать стоп, завершить УП, выключить шпиндель, сделать скриншоты, записать их на флешку, да и ещё много чего успеть сделать...
P.S. По опыту станок на шаговиках с китайским полуторакиловаттным шпинделем питаясь только от ИБП мощностью 1200VA спокойно работал примерно 18 минут (до конца УП) и ИБП даже не начал сигналить о низком заряде батарей.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 20:12
torvn77
dberegovoy писал(а):Лог файл - здравая мысль, если ведет или знать как заставить вести то и не нужен скриншет.
Есть
Predefined Named Parameters среди которых есть и такой: #<_line>
И как и правильно заметила одна гадина,его можно помещать в создаваемый из самой УП лог
Logging и далее ниже по тексту.
Размещаться лог будет в одном каталоге с конфигами.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 20:56
Сергей Саныч
torvn77 писал(а):"Приличный" это ИБП с двойным преобразованием?
Зачем такая роскошь? Приличный - это чтоб мощность держал достаточное время без перегрева.
Re: LinuxCNC + ноутбук + отключение света.
Добавлено: 03 янв 2015, 22:30
dberegovoy
torvn77 писал(а):Есть Predefined Named Parameters среди которых есть и такой: #<_line>
И как и правильно заметила одна гадина,его можно помещать в создаваемый из самой УП лог Logging и далее ниже по тексту.
Размещаться лог будет в одном каталоге с конфигами
вставленный в Г-код (LOGOPEN,filename.txt) таки создает файл, но пустой.
#<_line> - Sequence number. If running a G-Code file, this returns the current line number
С этим параметром не разобрался, куда вставлять, с английским не ахти, только понял что он возвращает номер текущей строки. Т.е. даже если получится разобраться как ее записать в лог файл, то прийдется после каждой строки ставить? Это не выход.
ИБП - выход, тем более друган обещал на работе посмотреть с мертвыми АКБ, как раз то что мне нужно, но есть желание разобраться в поставленной задаче.