June 5th, 2015

компьютеры

Surface Pro 3 приехал

Перьевой ввод -- отвал башки. Настолько точный, что вообще от бумаги не отличается. Теперь я все нужные чертежи прямо на нём могу делать (и делаю).

Самое большое, кстати, преимущество такого электронного рисования -- это наличие кнопаря undo :) Он на обычном карандаше тоже, конечно, есть, но работает не так хорошо :)

В-общем, то, ради чего я его покупал, себя полностью оправдало.

Неудобств заметил пока только два -- логиниться надо с Майкрософтовским аккаунтом, так что планшет при просыпании спрашивает не 4-значный код, а, блин, полновесный пароль от аккаунта (а у меня, как сисадмина, он многосимвольный как длиннокот). Но, скорее всего, это настраивается.

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

Это есть в приложениях, использующих интерфейс Метро, но в обычных -- кукиш.
техника

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

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

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

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, человек, хорошо разбирающийся в электронике, консультировал меня по вопросам контроллера шаговиков и самих шаговых двигателей.

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