LINUX.ORG.RU

Как создать минималистичную сборку для ЧПУ?

 


0

1

Нужно лишь:

  • пустой рабочий стол, без красивостей
  • c иконками двух программ
  • драйвера для всего железа ПО: Arduino IDE UGS Platform Менеджер файлов для LAN Java 8

Идею как делается в общем понимаю, в деталях нет. Прошу подсказать софт и что, где почитать. Не предлагать: возьми Ubuntu и выпили не нужное, - только на чистое ядро.

Сам в винде - опытный пользователь, в Linux абсолютный чайник. Попробовал легкие дистрибутивы — тяжёёёёёлые под такую задачу и тьма не нужных программ. Ещё и не смог побороть проблему с Java на крайнем Mint 0_О.

Если нужно или любопытно для чего, ниже кратко: Для древнего и слабого компьютера посылающего управляющую программу (gcode) на CNC Shild необходима крайне минималистичная сборка Linux. За компьютером работа человека 0,0001% всего времени, а именно загрузить управляющую программу (gcode) в предназначенную для этого программу. Идеальный вариант: стоит выключенный комп, включил питание, загрузилась ОС, на экране управляющая программа готовая к работе. При необходимости сворачиваем, запускаем другую или другое возможное действие - забираем из сети файл для программы.


пустой рабочий стол, без красивостей
Не предлагать: возьми нечто и выпили не нужное,

Как бывший виндузятник понимаю откуда у тебя такие идеи, так вот, в Linux они слава богу пока не актуальны, будет у тебя там лежать какая программа или файл на диске или нет, это ни на что не повлияет, если только они не непосредственно не задействованы в процессе.
То есть можешь спокойно ставить большинство програмамм, пока ты их незапустил их присутствие в системе заметно не будет.

torvn77 ★★★★★
()

Для древнего и слабого компьютера

Параметры компьютера, в частности количество ОЗУ и какие будут УП(прграммы на Gcode), какого они будут объёма?
Единицы мегабайт, две или три сотни мегабайт?

При необходимости сворачиваем, запускаем другую или другое возможное действие - забираем из сети файл для программы.

А сеть какая будет, WiFi или обычная?

torvn77 ★★★★★
()

Если компьютеру меньше десяти лет, то можно, в принципе, любой. Я бы что-нибудь в духе xubuntu воткнул.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

Вообще LinuxCNC базируется на Debian Wheezy, может за то время пока я им не пользовался переползло на jessie или stretch.
Но про пригодность этих двух дистров лучше спрашивать в cnc-club.ru у тех, кто использует это ЧПУ сейчас.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от torvn77

Одноядерный Pentium 1,5Ghz 478 сокет Оперативы 1.5Gb УП создаю на своём компьютере в ArtCAM, затем кормлю этому динозавру в UGS Platform-е (кстати, это чуть более навороченная версия universalgcodesender). С объёмом УП пока затрудняюсь ответить, т.к. только недавно закончил рукотворный фрезер для пенополистиролов, за пару дней пока настраивал так заманался прыгать от одного стола к другому и тянуть шею, поэтому переключился на создание коробки «все в одном» (сильно сказано :-) на деле же комп+UGS+CNC shild). Размеры фигур будут максимум 180мм180мм50мм, высокая точность не нужна +/- 0,5мм. Думаю с Вашим опытом сможете предположить объём УП. Сеть - LAN.

Начал читать по теме, уже думаю - может погорячился «с чистого ядра»? :-) Возможно ли прилепить все что нужно к тому же Tiny Core Linux?

wtsd
() автор топика

Ещё и не смог побороть проблему с Java на крайнем Mint 0_О.

что за супер-мега проблема?!

anonymous
()
Ответ на: комментарий от torvn77

LinuxCNC - крут, но не видел упоминаний про работу с CNC shild. Да, и не хотель бы новое ПО изучать, время бежит, а я со своим проектом двигаюсь шибко медленно, жаль тратить время на изучение нового ПО.

wtsd
() автор топика
Ответ на: комментарий от anonymous

Наверняка решаемая, но не для меня сейчас. UGS работает с Java 8, в Minte 11-тая, пытался по инструкции установить - не даёт…

wtsd
() автор топика
Ответ на: комментарий от wtsd

Возможно ли прилепить все что нужно к тому же Tiny Core Linux?

Разх вы новичёк то эксперементы и оптимизации пока лучше отложить и в любом случае, те кто занимаются оптимизациями и подобным обычно ставят LinuxCNCX на Gentoo, которая уже сама по себе сложна.

Начал читать по теме, уже думаю - может погорячился «с чистого ядра»? :-)

Сделать минимальную установку можно, но не очень то нужно, особенно если взять такой DE, что не будет запускать всякие фоновые программы.

Раздел по LinuxCNC на форуме cnc-club.ru уже нашли?
Если не нашли, то сходите по этой ссылке в понедельник, сейчас там меняют движок форума и сайт временно не работает.

А пока можете сходить на сайт linuxcnc.org и скачать исошник с livedvd с демонстрационной версией программы, она не очень хороша для работы, но чтобы попробовать и познакомится достаточно.
http://www.linuxcnc.org/iso/linuxcnc-2.7.14-wheezy.iso

torvn77 ★★★★★
()
Ответ на: комментарий от wtsd

т.е. собрать на коленке свой дистр всяко быстрее/легче, чем разобраться с установкой требуемой версии java?! OK, больше вопросов нет.

anonymous
()
Ответ на: комментарий от wtsd

Размеры фигур будут максимум 180мм180мм50мм, высокая точность не нужна +/- 0,5мм.

Тогда наверное УП будет в несколько мегабайт и ОЗУ вашего компьютера должно хватить.

torvn77 ★★★★★
()
Ответ на: комментарий от anonymous

чсв кипятит шоколад?.. «кто умеет читать тот имеет массу преимуществ», - почти цитата немца-клиента, но так литературно как он, сказал перевести не смогу.

как пример: torvn77 все понял и дал кучу полезных советов ;-)

wtsd
() автор топика
Ответ на: комментарий от torvn77

Мысль понял, буду изучать. На cnc-club.ru пытался сегодня несколько раз попасть, теперь знаю в чём дело :-) За всю инфу и советы огромное спасибо!

wtsd
() автор топика
Ответ на: комментарий от wtsd

CNC shild

Это ты о этом? http://chinatovari24.ru/i/32850589115.html

В первом приближении можешь считать что LinuxCNC работает со всем что можно подключить через LPT порт по протоколам step/dir или up/down.

Дальше начинается либо сложно(Orange Pi), либо дорого(FPGA).

torvn77 ★★★★★
()
Ответ на: комментарий от anonymous

Попрошу не выражаться :-) Я с консолью-то работаю копипастом. Если кто не понял: видимо на подкорке было предположение, о наличии «подобия конструктора», куда «накидал» всего, что нужно на выходе получил нужную сборку (оно почти так, но не совсем) Сейчас понимаю, что погорячился :-) Пойду путём предложенным torvn77. А вообще, теплом повеяло от скорости и участия. Как будет больше времени, однозначно углублюсь в изучение Linux, - больно тёплое сообщество (y).

wtsd
() автор топика

Пора читать LFS. Идея на три месяца или полгода. И всё равно будешь ставить всё, а потом выпиливать хедеры те же.

Есть предложение (которое ты решил отвергнуть) поиграть с debootstrap для debian (в принципе, без разницы, как душа лежит) и поставить рядом все нужные пакеты, выключая рекомендуемые и опциональные, так ставится явно меньше, чем лежит на установочном диске, но слегка больше разумных пределов. Если таки не deb, то брать alpine, но вряд ли там будет всё, что надо.

Идеальный вариант: стоит выключенный комп, включил питание, загрузилась ОС, на экране управляющая программа готовая к работе.

Для этого надо засунуть скрипт в /etc/rc.local, вызывающий xinit со скриптом, где либо маленький WM с программой в бэкграунде

#!/bin/sh
управляющая программа&
x11vnc по вкусу&
exec openbox

, либо просто эта программа.

При необходимости сворачиваем, запускаем другую или другое возможное действие - забираем из сети файл для программы.

То есть, тебе надо кооп для запила этой самой управляющей программы. Если лоровцы не помогут, могу попробовать вписаться, может, получу бесценный опыт. Но так-то можно заставить брать файл программу ncat с опцией -e и не париться; просто слать файлик с помощью nc и ждать результат.

anonymous
()
Ответ на: комментарий от anonymous

Благодарю. Начал читать LFS после размешения первого сообщения и понял, что погорячился - трех месяцев у меня нет. Я не разработчик ПО, то о чём здесь речь лишь 5% от всей затеи. Пойду путём предложенным torvn77.

wtsd
() автор топика
Ответ на: комментарий от wtsd

Я собирал восьмую openjdk, для неё надо брать восьмую яву от оракла и собирать исходники, добавляя зависимости по дороге. В новых дистрибутивах восьмую яву выпилили, скорее всего.

anonymous
()
Ответ на: комментарий от wtsd

Просто Void почти ничего лишнего не ставит и если есть сомнения, то можно удалить все подозрительное. Ядра при желании новые. Можно собирать из исходников. А дальше минимальные названия пакетов. BSPWM жрет на старте 1 мегабайт памяти, но с клавишами не дружит (sxhkd) и если нужно переключать окна программ можно делать это с помощью панели (polybar), иначе он два окна на один экран поместит. Просто не все панели хорошо друг с другом дружат. Если взять за основу Fluxbox, то лучше взять панель tint2.

anonymous
()
Ответ на: комментарий от wtsd

Ну, впрочем, у тебя вряд ли будет и время потихоньку накропать конфиги для автостарта, попутно собрав свой комплект wm-панелька-прокид файла с минимальной установки дистрибутива (debootstrap), на что я тебе бы дал месяц с учётом не особо вдумчивого чтения документации, так что лучше идти по пути меньшего сопротивления и брать готовые рецепты, да.

Я не разработчик ПО, то о чём здесь речь лишь 5% от всей затеи.

У меня просто опыта нет, вот и думал, что смогу помочь и набрать опыта нахаляву.

anonymous
()
Ответ на: комментарий от anonymous

Есть предложение (которое ты решил отвергнуть) поиграть с debootstrap

прежде чемписать такое надо убедить человека втом, что LinuxCNC и вообще Linux в целом стоят таких усилий, пусть сначала поиграет с liveDVD и решит подходит ему это или нет.

torvn77 ★★★★★
()
Ответ на: комментарий от anonymous

Я собирал восьмую openjdk,

LinuxCNC и java никак не пересекаются, языки LinuxCNC это C, Python и Tcl/Tk.

torvn77 ★★★★★
()
Ответ на: комментарий от anonymous

Я ему надо две программы запускать ярлыками на рабочем столе.

anonymous
()
Ответ на: комментарий от torvn77

Оно самое :-) Пока качается LinuxCNC, изучаю проект. И сразу удар между ног: «Оборудование, которое не работает: USB-устройства…»

wtsd
() автор топика
Ответ на: комментарий от anonymous

Бегло ознакомился, - похоже на то, что нужно. Пошёл изучать глубже. Спасибо!

wtsd
() автор топика
Ответ на: комментарий от wtsd

USB нарушает тайминги и таймауты и по этому для работы в реалтайме непригодно, по нему можно слать команды Gcode в контрллер, но организовывать реалтаймовую петлю управления нельзя.

Ну с твоими хотелками LPT должно более чем хватить.

И я тебе ещё между ног стукну, этот CNC Shild негоден для практической работы ввиду своей малой мощности, на фрезеры надо ставить минимум 48, а лучше 80 вольтовые драйверы на >8A от четырёх до десяти тысяч рублей на ось.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от torvn77

У меня не завод поточной прецизионной металлообработки :-) Для фрезеровки пенополистиролов с точностью +/-0,5мм более чем достаточно.

wtsd
() автор топика
Ответ на: комментарий от wtsd

Это не прецензионная обработка, это суровая обработка МДФ.

Ну ладно, раз тебе этого хватает то ладно, но лучше тогда хоть что-то такое используй https://aliexpress.ru/item/32661316795.html

Правда там есть несколько цветов платы с разной надёжностью и качеством, какая хорошая, а какая полная дрянь не помню.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от torvn77

Неее, ещё месяц ждать посылки или по городу бегать в поисках, а затем изучать/городить новый огород с электроникой… Тут уже железно-электронная часть на 99% закончена, да запихана в системник. Заново что-то городить нет ни желания не времени, дальше нужно двигаться.

wtsd
() автор топика
Ответ на: комментарий от wtsd

Ну ок, но если cnc shield не оправдает твоих ожиданий то не мучай себя новыми расходами, а просто бери нечто более высокого качества.
Ты к стати знаешь что такое пропуск шагов и почему он бывает?

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от torvn77

Видел на видео, но сам за 50 минут работы фрезеровки тогда ещё толком не настроенного станка не столкнулся.

wtsd
() автор топика
Ответ на: комментарий от torvn77

Ты к стати знаешь что такое пропуск шагов и почему он бывает?

Правильно говорить пропуск кадра. Кстати никто не знает LinuxCNC понимает многократно повторяющиеся циклы с использованием макросов в теле цикла?

Wind ★★★
()
Ответ на: комментарий от Wind

За один кадр может быть от нескольких десятков, до нескольких тысяч шагов.

Кстати никто не знает LinuxCNC понимает многократно повторяющиеся циклы с использованием макросов в теле цикла?

Там сейчас по сути в Gcode такой бейсик или если угодно bash понаделан, так что есть и математика, и условия, и if/while.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от torvn77

Там сейчас по сути в Gcode такой бейсик или если угодно bash понаделан, так что есть и математика, и условия, и if/while.

Я это знаю, просто у меня опыт работы на стойках Fanuc, Haas. Даже между ними есть различие, и код написанный для Fanuc не всегда корректно работает в Haas. Вот мне и стало интересно насколько LinuxCNC отстает (или нет) по функционалу в плане продвинутого GM-программирования.

Wind ★★★
()
Последнее исправление: Wind (всего исправлений: 1)
Ответ на: комментарий от Wind

Смотри, вот ЧПУ стоит в x=y=z=0 и скажем получает команду ехать со скоростью vx=10 мм/сек в точку Х=100.
То есть команду F10 G01 X100
Что при этом происходит?
Упрощённо говоря, с частой servo_period она сверяет координаты с ожидаемыми и принимает решение куда ехать дальше.
Ну положим эксцессов небыло, серво период у нас 1 мс, ну значит 1000 раз за секунду stepgen получает команду ехать в точку Х+10(мм/сек)*0.001сек
Но это не всё, stepgen смотрит на пришедшую ему команду и задаётся вопросом, надо ли мне менять скорость чтобы её выполнить, ну положим скорость менять не нужно, ну вот значит он уже скажем раз в 25000нс посылает в драйвер импульс(шаг) который приводит к тому, что драйвер и шаговый мотор смещаются на один микрошаг(микрошаг, а не что ещё!)

Так вот, положим для движения на мотору надо развить усилие больше, чем он способен на заданном токе, напряжении и частоте следования импульсов шагов, тогда что будет, а ничего не будет, он останется там где был и так будет до тех пор, пока требуемое для продолжения движения усилие не будет меньше чем усилие которое развивает мотор.

Ну понятно что хороший драйвер как поймёт это так уйдёт в ошибку и отключит, разомкнёт Estop, но даже в этом случае это будет не всегда и не сразу.

При этом учти, что для разных скоростей, напряжений питания, тока мотора, множителя микрошагов будут разные частоты шагов приводящие к пропуску шагов или аварийной остановке.

В целом менее мощный драйвер будет тебе позволять фрезеровать с меньшей подачей и то, что один станок отработает за 10 мин, другой может отрабатывать сутки.

К стати к спору о преимуществах чата и голосовой связи, я околдо часа, а может и долше печатал талмуд,который полностью повторяет имеющиюся в сети информацию и архивация которого абсолютно безполезна, его надо рассказывать по голосовому чату за 5 мин и после понимания ТС отправлять в утиль.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от torvn77

Спасибо за пояснение, этот момент я упустил, поскольку работаю на промышленных станках и там об этом уже позаботились. 😃

Wind ★★★
()
Ответ на: комментарий от Wind

Ну посмотришь на свою параметрическую программу, поправишь что надо, но мне кажется что с фанука на линуксцнц переход должен быть не сложным, сложным будет обратное, когда лишишся кучи удобных линуксцнцизмов и возможности работать по принципу что надо, то и делаю.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от Wind

К стати если хочешь посмотреть что можно понаделать на кодах LinuxCNC то посмотри как я отрываюсь по полной

  1. Для одного человека делал скрипты автосмены с нисколькими корзинами инструментов, там непосредственно смена не сделана, но она и не важна для понимания что и как там работает.
    https://github.com/torvn77/Duble-Basket-toolchange-for-LinuxCNC
  2. Постпроцессор для гравировки со скоростью зависящей от высоты погружения гравёра.
    (Полное едем быстро, чуть приподнялись медленно)
    https://github.com/torvn77/LinuxCNC_SUDA-ST7080/blob/master/Postprocessors/ArtCAM/Trash/LinuxCNC_Engraver_-1.4.v2.con
START = "O<g01_int> sub"
START   = "[9]O<g01_if1> if [91][91]#<_z> LE #<_z_min>[93] AND [91]#3 LE #<_z_min>[93][93]"
START     = "[9][9]F#<_line_feed> S#<_line_shpindle_speed>"
START   = "[9]O<g01_if1> else"
START     = "[9][9]F#<_if_z_move_feed> S#<_if_z_move_shpindle_speed>"
START   = "[9]O<g01_if1> endif"
START   = "[9][9]G01 X#1 Y#2 Z#3" 
START = "O<g01_int> endsub"

Будь остороже с этим постпроцессором, я не помню почему я отправил его в мусорницу.

torvn77 ★★★★★
()
Ответ на: комментарий от wtsd

эх… я-то как раз прочитал твои тексты

anonymous
()
Ответ на: комментарий от wtsd

Предупреждаю: не связывайся с linuxcnc под любым соусом. Жизнеспособна только ОТДЕЛЬНАЯ железка в которую, так и быть, любой linux отправляет gcode.

У меня ЧПУ крутится на grbl + orange pi с самописной панелью управления на Питоне (все, что находил в свободном доступе - не приспособлено под тачскрин).

anonymous
()
Ответ на: комментарий от gnu_linux

LinuxCNC крайне рекомендую

  • Хочешь увеличить точность - пропуск шагов,
  • Хочешь увеличить скорость подачи - пропуск шагов,
  • Подключил USB мышь - пропуск шагов,
  • Читаешь файл с USB накопителя - пропуск шагов.

Лесом это недоразумение.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.