nlothik (nlothik) wrote,
nlothik
nlothik

Categories:

ЧПУятор, день пятый

Хотел написать -- финальный, но до настоящего финала ещё далеко. Тем не менее, ЧПУятор построен и даже работает! Может быть, завтра подвешу видео с холостым запуском.

Сделать там оставалось совсем мало.

1. Прикрепить шаговые моторы к ШВП:


На моё счастье винты, которыми шаговики штатно крепятся, оказались М3. У меня таких винтов -- как у дурака фантиков. Это же стандартный винт для установки приводов оптических дисков, дисководов, 2.5-дюймовых жёстких дисков. Так что никуда ехать не пришлось.

2. Провода аккуратненько скобочками присобачить к станине -- не болтаться же им:


3. Подцепить все провода к контроллеру шаговых моторов (слева, на трёх Тосиба TB6560AHQ), а сам контроллер -- к блоку питания.


В роли блока питания выступает, кстати, обычный компьютерный, слегка мною модифицированный (закорочен на землю контакт Power Good, чтобы работал без материнской платы). Хотя можно и было бы купить что-то более индустриальное. Вот, например.

Теперь о софте.

"Нативный" язык программирования станков с ЧПУ -- RS-274, более известный, как G-code. Наиболее близкая вещь к этому языку в мире обычных компьютеров -- это ассемблер. То-есть, это достаточно низкоуровневый язык. Вот так, например, выглядит небольшая программа на G-code:

; установить единицы измерения дюймы
G20
; переместить фрезу в точку с координатами 1.0, 2.0
G1 X1.0 Y2.0
; включить вращение фрезы
M3
; опустить фрезу со скоростью 2 дюйма в минуту
G1 Z0 F2.0
; резать из текущей точки в точку 2.0, 4.0
G1 X2.0 Y4.0 F2.0
; поднять фрезу
G0 Z-5.0
; выключить фрезу
M5
; конец программы
M30

Запрограммировать изготовление какой-нибудь достаточно простой детали на G-code вполне можно. Ключевой момент -- "простой детали". Как только начинается что-то достаточно сложное, сразу начинается использование других инструментов. Типа, "а почему мы пишем на Си-шарп, ведь на ассемблере будет работать быстрее?" Быстрее, да. Но вот к тому времени, как ты на ассемблере нарисуешь то, что я нарисую на Си-шарп, программа на Си-шарп уже успеет отработать двести раз.

Поэтому токари-фрезеровщики обычно не пишут G-code самостоятельно. G-code генерируется специализированными программами, называемыми CAD/CAM. Например, Autodesk (это те, кто сделали Автокад) Inventor. Коммерческие программы CAD/CAM довольно дороги -- тот же самый Inventor стоит 2 500 долларов в год. В ГОД, КАРЛ!

У меня, конечно, нет таких денег на этот проект. Но есть навалом бесплатного софта, зачастую -- весьма неплохого. Например, я уже давно люблю и использую программу SketchUp. В SketchUp можно установить штепсель SketchUcam, который может генерировать G-code.

Возможно, что G-code, генерируемый этим штепселем, не такой добротный, как генерируемый коммерческим пакетом. Но для моих целей -- предостаточно хорош.

Затем полученное скармливается интерпретатору G-code. В случае коммерческого станка в роли интерпретатора выступает сам станок. В моём же случае интерпретацией кода занимается компьютер под Линуксом и программой LinuxCNC. Он подцепляется к контроллеру через параллельный порт и переводит команды ЧПУ в сигналы управления индивидуальными шаговыми двигателями.

Помимо LinuxCNC есть и другие программы-интерпретаторы G-code. Например, Mach3 под Винду (что характерно -- продаётся за деньги). Я попробовал её настроить -- НЕ СМОГ, японский бог! Какая-то она вся вусмерть косая, непонятно, какой специалист по антиюзабилити её писал. LinuxCNC прост, понятен, и логичен.

А некоторые (не буду показывать пальцем, но это dibr) не посчитали, что написание своего интерпретатора команд -- это слишком сложно :) Его самописная программа работает под DOS. Я сначала хотел пойти тем же путём, только на базе Arduino. Но потом решил, что не надо изобретать велосипед.

Может быть, на выходных получится чего-нибудь вырезать! Для начала возьму что-нибудь помягче -- например, кусок пенополиуретана :) Чтобы фрезу случайно не поломать, она дорогая... Только для начала нужно будет хорошенько откалибровать станок. Что-то я так и не смог толком понять, что за шаг такой у меня на ШВП -- ни в дюймах, ни в миллиметрах не получается прям круглых цифр. Ближе всего это к 5mm на один оборот, или около 5.08 оборота на дюйм. Но -- самую малость меньше, чем 5 миллиметров (4.97). 33 оборота шаговика -- и миллиметр ошибки уже набежал.

Хотелось бы отдельно поблагодарить следующих людей: dibr, идейный вдохновитель, показывающий у себя в ЖЖ всякие прикольные, сделанные им на его самопальном ЧПУяторе, штуки, dimon_w, человек, хорошо разбирающийся в электронике, консультировал меня по вопросам контроллера шаговиков и самих шаговых двигателей.

Ну, не последний раз пишу на эту тему. Надо ещё будет как минимум почесать репу на предмет того, как, например, закреплять на столе то, что режу....
Tags: cnc, хобби
Subscribe

  • Русская, что ли

    Ехал из офиса, проезжал через небольшой городок, увидел интересный номерной знак. Впрочем, конечно, возможно, что это “а-ха”,…

  • Сломал

    История из серии “дурная голова рукам покоя не даёт”. Началось всё просто — я решил поменять на лисапеде шины. Ибо старые уже…

  • Кибержульё и азбука Морзе

    Забавное будет нынче сочетание тегов — “73” и “жулики”. Кибержульё использует словарь с азбукой Морзе чтобы прятать…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments