Пересчитать числа, нарезать на удобные 8 бит и сбросить по СОМ достаточно просто. Как я понял G-кодами просто обзывают Gerber (RS247). Его еще и плоттеры поддерживают.
Компас-3Д оказался просто Г! Значит базовым будет ArtCam, а пока тренируюсь с *.gbr из-под Layout.
Дружественные программы.
Сообщений 31 страница 60 из 60
Поделиться312008-03-15 10:07:49
Поделиться322008-03-15 10:30:49
Пересчитать числа, нарезать на удобные 8 бит и сбросить по СОМ достаточно просто. Как я понял G-кодами просто обзывают Gerber (RS247). Его еще и плоттеры поддерживают.
Просто то просто, но для этого надо досконально разобраться в форматах.
А простому пользователю это надо?
Поделиться332008-03-15 12:44:34
Это понятно, но это для "продвинутого пользователя" как минимум.
Обычному юзеру, мне например, подавай что попроще,
Для "обычных юзеров" уже есть куча конвертеров, позволяющих разобраться с нулями и плюсами/минусам.
Да хоть тот же CAD2CAM.
Сверление осуществляется построчно, дойдя до последней дырки в конце строки, станок сверлит дырки, начиная с последней в конце следующей в начало, т.е. исключается лишний пробег.
В том же OrCAD есть утилита Gerber Tool - она тоже моментально автоматом рассчитывает наименьшую длину пробега при сверлении и выдаёт на выход уже оптимизированный файл. Для старых пикадов подобные утилиты тоже были. Во всех новых наверное это уже встроено, но я пикад не люблю, поэтому не проверял.
Имхо эта оптимизация - больше проблема CADа в котором работает юзер. Но уж если CAD кривой, то да, оптимизатор нужен. Или ждать подольше.
Поделиться342008-03-15 12:48:33
Как я понял G-кодами просто обзывают Gerber (RS247). Его еще и плоттеры поддерживают.
G-коды - это часть гербера, а не наоборот.
Фотоплоттеры скорее всего поддерживают, а вот обычные - не факт. Им .plt достаточно.
Поделиться352008-03-15 13:16:54
Теже милиметры только точность не тысячные а сотые! Программе обслуживающей станок остается зная кол. шаг/мм станка расчитать эти шаги. Сложно? По моему нет.
В CADe, формирующем гербер, обычно есть возможность выбора - от 2.3 до 3.5 - т.е. можно менять единицы измерения.
Человек знающий программирование на компе сможет написать програмку переводящую числа из текстового файла в шестнадцатиричные? Сможет. А загрузить это число в микроконтроллер и выдать соответствующее кол-во импульсов мы точно сможем.
Это даже не обязательно - микроконтроллер тоже справится. Хотя очень желательно для увеличения скорости.
Я для проверки на основе 16F628 решил сделать автономный контроллер (управляет движками через степ дир).
В одну из ячеек ЕЕПРОМ пика при программировании заносим величину перемещения по оси конкретного станка. Это есть минимальный шаг перемещения. Далее при включении питания пика он считывает это значение и помещает его в один регистров ОЗУ(потом к нему обращаться будет быстрее). Допустим у нас 200шагов на 1мм. Минимальный шаг - 1мм/200 = 0.005мм.
То есть при программировании заносим в ячейку значение 5. Фактически - это величина перемещения в микронах.
Нужно переместиться по оси например на 250мм. Считаем. 250/0.005 = 50000 шагов. 2 байта это 2 в 16 степени = 65536.
При таком раскладе (2 байта на хранение перемещения) при минимальном шаге 5 микрон можно перекрыть расстояние в 65536*5=327680 микрон=327,68мм что на мой взгляд достаточно. Если вдруг у кого-то рабочее поле окажется больше, то тогда уже двумя байтами не отделаешься
Далее. Сгенерил с конкретной платы екселоновский файл сверловки. Формат - метрический 2.3. Для наглядности координаты оставил абсолютными.
Начинается он так
M48
METRIC,TZ
FMT,1
ICI,OFF
%
T0
X5080Y3810
X11430Y3810
X26670Y3810
X31750Y3810
В реальности первое отверстие имеет координаты Х-5.08мм, У-3.81мм.
Второе соответственно Х-11.43мм, У-3.81мм ну и т.д..
А мы что видим? Правильно! Значение в микронах!!!
Минимальная дискретность перемещения в микронах для конкретного станка нам известна(она зашита в ЕЕПРОМ пика при программировании), дистанцию читаем из файла. Далее тупо делим дистанцию из файла на минимальное перемещение и получаем количество импульсов, которое нужно подать на двигатель, дабы переместиться на нужное расстояние.
Что-то типа такого:
//В начале выполнения программы (там, где инициализируем регистры и настраиваем порты) считываем из ЕЕПРОМ пика минимальное значение перемещения и присваиваем его переменной MinMove.
long X,Y,Z; //Выделяем 3 2-х байтных регистра для хранения данных считанных из внешней ЕЕПРОМ по I2C.
long MovX,MovY,MovZ; // Тут будем хранить кол-во импульсов, которое нужно подать на движки.
void readEEPROM (); //Читаем очередные 18 байт(или сколько там нужно) из внешней ЕЕПРОМ и помещаем значения координат в X,Y,Z.
void CalcImp(X,Y,Z);
//Примитивнейшая подпрограмма преобразования координат в кол-во импульсов.
//Входные данные - координаты, выходные - импульсы.
void CalcImp (long X, long Y, long Z) {
MovX = X/MinMove;
MovY = Y/MinMove;
MovZ = Z/MinMove;
}
Остатком от деления пренебрегаем Ибо он будет меньше чем минимальная дистанция перемещения и на такую величину мы один фиг никак не переместимся.
Далее обычные 3 цикла по выдаче импульсов на движки. В качестве счётчика цикла - значение Mov*.
После этого опять читаем из внешней ЕЕПРОМ и так по кругу.
В связи с тем, что паять возможности пока не имею - отлаживаю в протеусе. Движки крутятся без проблем, а вот ЕЕПРОМ читать пока не получается. С записью разобрался, а читать - никак. Как только разберусь с чтением - автономный контролер сможет сверлить по программе екселоновского файла из ЕЕПРОМ. Прошу прощения за офтопик, но если кто работал в этой прграмме с ЕЕПРОМ, отзовитесь пожалуйста, помогите решить проблему.
Отредактировано koolhatcker (2008-03-15 13:20:19)
Поделиться362008-03-15 14:31:40
Пересчитать числа, нарезать на удобные 8 бит и сбросить по СОМ достаточно просто. Как я понял G-кодами просто обзывают Gerber (RS247). Его еще и плоттеры поддерживают.
Вот гербер от Layout (*.GBR) (RS-274)
%FSLAX32Y32*%
%MOMM*%
%LNKUPFERSEITE2*%
G71*
G01*
%ADD10C, 0.20*%
%ADD11C, 2.00*%
%ADD12C, 1.05*%
%ADD13C, 0.00*%
%ADD14C, 1.20*%
%ADD15C, 0.80*%
%ADD16C, 1.00*%
%ADD17C, 2.20*%
%ADD18C, 0.70*%
%ADD19C, 0.90*%
%ADD20C, 0.50*%
%ADD21C, 2.50*%
%ADD22C, 2.40*%
%ADD23C, 2.00*%
%ADD24C, 1.70*%
%ADD25C, 1.50*%
%ADD26C, 4.00*%
%ADD27C, 1.80*%
%ADD28C, 3.70*%
%ADD29C, 3.50*%
%ADD30C, 2.70*%
%ADD31C, 3.00*%
%ADD32C, 0.22*%
%LPD*%
G54D10*
X20000Y0D02*
X0Y0D01*
X0Y20000D01*
X20000Y20000D01*
X20000Y0D01*
X16825Y10793D02*
G54D11*
D03*
X16825Y11555D02*
G54D11*
D03*
X18286Y16000D02*
G54D11*
Вот Гербер от Artcam (*.ger)
#R4000
#R4100
#R49000061A8
#MJob Start. Load Matl
#L0.000 0.000 -0.236 2.953 2.970-0.018
#R4101
#R4001
#M1:90.0 градус V-Bit 6.000 мм dia. <15000 R.P.M>
#R4A00000001
#F20
#P9
#A0.00004 0.00004 -0.25787
#C0.00004 0.00004 0.23622
#B0.00337 0.00004 0.23622
#B2.95331 0.00004 0.23622
#B2.95331 0.00266 0.23622
#B2.95331 0.00790 0.23622
#B2.94997 0.00790 0.23622
#B0.00004 0.00790 0.23622
#B0.00004 0.01052 0.23622
#B0.00004 0.01575 0.23622
А вот G-cod (*.tap)
T1M6
G17
G0Z6.550
G0X0.000Y0.000S15000M3
G0X0.001Y0.001Z6.550
G1Z-6.000F240.0
G1X0.086F510.0
X75.014
Y0.068
Y0.201
X74.929
X0.001
Y0.267
Y0.400
X0.086
X75.014
Y0.467
Y0.600
думаю разница видна "невооруженным" глазом. Не выфрезеровать Гербером от Layout 3D.
Поделиться372008-03-15 15:23:13
Дальнейший анализ файлов показал их полную схожесть а в некоторых случаях и полную едентичность(*.tap и *.cnc например) т.е. большая часть форматов является вариацией на тему G-cod. Отличаются только шапками, оконцовками и присутствием или отсутствием пробелов типа
X.,...Z.,... или X.,... Z.,...
Очень хотелось бы знать с каким форматом файлов работает Роман для создания поддержки G-coda...
Это даже не обязательно - микроконтроллер тоже справится. Хотя очень желательно для увеличения скорости.
Я для проверки на основе 16F628 решил сделать автономный контроллер (управляет движками через степ дир).
Я согласен, справится. Но текстовый файл это текстовый файл, довольно сложно его засунуть в ПИК и научить понимать, гораздо проще это сделать на компе а уже числа перенести в ПИК.
Я для проверки на основе 16F628 решил сделать автономный контроллер
Я тоже в протеусе моторчики кручу. Вы на чем пишите? Я на асме. Сделайте новую ветку, давайте для начала сваяем контроллер на пик для VRI а там и до автомата доберемся
Поделиться382008-03-15 15:24:58
Мерс нам не построить, а Оку - запросто! Вот и прикидываем компоновку.
Подготовку файла для ЕЕПРОМ и настройки я бы оставил программе. Она считает точнее и ошибка не накапливается. Сброс в память и чтение по 3*2 байта. В первом ssrr rldd - скорость+резерв+право/лево+ось. Второй nnnn nnnn - число шагов. Получается в 24с65 влезет 256/(3*2)=чуть ли не 42к строк текста входного файла.
Проги для ПИКов лучше сразу писать под int RC 4MHz. Asm с чтением из ЕЕПРОМ могу сбросить, но реальный от своего дверного звонка. Могу просто конспект по чтению 24хх.
Получается, что основной транскодер (plt) я уже имею. Если ArtCam выдает, то стоит добавить *.tap. Тип файла пусть прога сама узнает, на то там и расширение.
Поделиться392008-03-15 15:49:02
Получается, что основной транскодер (plt) я уже имею. Если ArtCam выдает, то стоит добавить *.tap. Тип файла пусть прога сама узнает, на то там и расширение.
Вы открывали плт в блокноте? Попробуйте. Не получится. Во вторых, плт это протерный формат, он для 2D резки и фрезеровки за один проход (поверте мне я работаю в наружней рекламе, у нас четаре проттера) Там отсутствуют координаты по Z. Просто команда опустить или поднять инструмент. И сила прижима (электромагнит). Даже в Artcame этот формат назавается 2D HPGL (*.plt).
Поделиться402008-03-15 16:12:04
с блокнота всю писанину и начал. Увидел координаты окружности в "плюшках" и возрадовался Станок и прогу пока в 2D с карандашиком в цанге шпинделя и гоняю. А вот формат для 3D, наверное, после установки ArtCam будет проще выбрать. Т.е. зацепиться за одну из наиболее удобных версий кода.
Отредактировано bolt (2008-03-15 16:13:55)
Поделиться412008-03-15 16:19:16
Сори, чото я среди ночи гнать начал. ПЛТ это вобще графический формат, а расчетом УП для плотера занимается его собственная прога.
Проги для ПИКов лучше сразу писать под int RC 4MHz.
Вы предлагаете RC генератор на 4MHz? Только XT и только 20MHz. Предполагается в будущем введение ШИМ. При 4MHz мне удалось получить максимальную частоту шим 2.5KHz а это не приемлемо, а если учесть другие выполняемые задачи... Блин сколько у Вас сейчас время?
Поделиться422008-03-15 16:44:55
Вы предлагаете RC генератор на 4MHz? Только XT и только 20MHz
Вообще то серьезным разработчикам для контроллеров частоты 100 мГц не хватает
Поделиться432008-03-15 17:02:51
Нам для начала 20 хватит. Имеется ввиду внутренняя тактовая частота процессора
Отредактировано life (2008-03-15 17:04:17)
Поделиться442008-03-15 17:33:45
Нам для начала 20 хватит. Имеется ввиду внутренняя тактовая частота процессора
Ясно что хватит, если не затачивать контроллер под 30 тысяч шагов и микрошаг 1/256
Поделиться452008-03-15 17:53:37
На самом деле двадцать само-то. Машинный цикл - четыре такта генератора, уже пять, команда выполняется за один мц, команды перехода за два. Программа со всеми циклами организации передачи данных, организации шим, опрос клавиатуры, обработки прерываний и т.д. вот и вся арифметика. Почему Вас не удивляет что при работе Вашего станка комп тормозит по конски при своих ***ГГц ? А МК это маленький комп со своим ПО.
Чо Вы издеваетесь...
Поделиться462008-03-15 18:28:01
Дальнейший анализ файлов показал их полную схожесть а в некоторых случаях и полную едентичность(*.tap и *.cnc например) т.е. большая часть форматов является вариацией на тему G-cod. Отличаются только шапками, оконцовками и присутствием или отсутствием пробелов типа
X.,...Z.,... или X.,... Z.,...
Из распространённого - Ещё знаки "+" могут присутствовать/отсутствовать.
Я согласен, справится. Но текстовый файл это текстовый файл, довольно сложно его засунуть в ПИК и научить понимать, гораздо проще это сделать на компе а уже числа перенести в ПИК.
Да, числа переносить проще. Но возникают другие вопросы.
Сможете сделать на компьютере программу-конвертер например из
X5080Y3810
X11430Y3810
X26670Y3810
в
13D8 0EE2
2CA6 0EE2
682E 0EE2
?
Я тоже в протеусе моторчики кручу. Вы на чем пишите? Я на асме. Сделайте новую ветку, давайте для начала сваяем контроллер на пик для VRI а там и до автомата доберемся
Я пишу на HT-PICC. Иногда конечно же использую ассемблерные вставки.
Сделайте новую ветку, давайте для начала сваяем контроллер на пик для VRI а там и до автомата доберемся
Ветку создал. Схема контроллера, шаговые двигатели » Контроллер станка с ЧПУ на PIC с возможностью автономной работы.
Предлагаю преместиться туда. На дальнейшие сообщения по этой теме в этой ветке буду отвечать в новой ветке.
Поделиться472008-03-15 18:36:08
Чо Вы издеваетесь...
ДА я не издеваюсь, просто вчера был "день числа ПИ", вот я и остановится не могу, расПИ....
Поделиться482008-03-15 22:10:21
Вы предлагаете RC генератор на 4MHz
Да, тот самый встроенный во все современные ПИКи, в крайнем случае можно навесить внешний. Тика в 1мкс вполне хватит для решения всех наших задач. А они исключительно просты. Нужно выдать заданное кол-во импульсов с заданной частотой и шириной шага (ШИМ). Что-то измерять и отрабатывать здесь не нужно.
Поделиться492008-03-15 22:26:55
Тика в 1мкс вполне хватит для решения всех наших задач. А они исключительно просты. Нужно выдать заданное кол-во импульсов с заданной частотой и шириной шага (ШИМ).
И куда такой ШИМ подавать? Если на ключи двигателей, то
Что-то измерять и отрабатывать здесь не нужно.
измерять и отрабатывать как раз придётся.
Поделиться502008-03-16 04:27:18
на ключи ШД все подаем, на это уйдет 4мкс, оставшиеся 1..10мс проверяем конечники, кнопки, режем шаги и тп.
В принципе, успеем еще температуры всех двигателей измерить и напряжение питания (~4*50mks).
Поделиться512008-05-10 23:36:19
Всем доброго дня, появился конвертор , позволяющий перегонять монохромные bmp файлы в формат Excellon 3.3 (*.drl) , эта прога скорее всего будет удобна людям занимающимися выжиганием методом Point to Point, фыходной файл совместим с прораммой vri-cnc. Файл картинки подготавливаем методом Трудоголика , описанным на форуме. В поле "коэфициент" нужно ввести плотность точек на см, выставленную при создании bmp-шника , скачать можно здесь : http://slil.ru/25775551
Поделиться522008-05-10 23:45:57
эта прога скорее всего будет удобна людям занимающимися выжиганием методом Point to Point
Спасибо! Не только для выжигания, можно и методом сверления, сделаю жене дуршлаг с дырками в виде своей фотографии.
Поделиться532008-05-12 19:38:11
В поле "коэфициент" нужно ввести плотность точек на см, выставленную при создании bmp-шника
Артём,а можно для "особо одарённых" более подробно,а то у меня всё время "штрих-коды" получаются!
Поделиться542008-05-13 01:02:54
можно для "особо одарённых" более подробно
Можно, этот конвертор изначально предназначался для перегонки монохромного (черно-белого )bmp файла в формат drl для облегчения переноса на автономный станок для выжигания методом Point to Point (так как формат drl меньше весит чем анологичный dfx и есть возможность переноса на дискете) . Файл подготавливается методом Трудоголика , скачать можно сдесь http://www.slil.ru/upload/25782408 (извиняюсь, не нашел ссылки на данный файл на форуме) . При подготовке размера рисунка , есть такой параметр как "разрешение", именно это цифровое значение и надо вводить в поле "коэфициент". При нажатии кнопки "Открыть" выбираем подготовленный монохромный файл рисунка . В поле "размер" будет отображаться размер рисунка в масштабе 1 пиксел = 1 мм (по умолчанию установлен именно такой масштаб). При вводе величины цифрового значения разрешения в поле "Коэфициент" и нажатии кнопки "Установить" будет произведена подгонка (установлен масштаб) выходнова файла drl под размер файла bmp. При нажатии кнопки "Просмотр" можно просмотреть bmp файл (введенное разрешение файла на отображение не влияет, так как файл отображается в пиксельном масштабе 1:1). При нажатии кнопки "Сохранить" bmp файл будет переконвертирован в файл drl с указанным вами именем в директорию которую вы укажите
Отредактировано Артём (2008-05-13 02:06:08)
Поделиться552008-05-13 01:24:19
http://www.slil.ru/upload/25782408
Чёт у меня ссылка не пошла...
Поделиться562008-05-13 01:27:12
Чет сайт глючит, воспользуйтесь этой ссылкой : http://slil.ru/25782640
Поделиться572008-11-03 19:51:33
Чет сайт глючит, воспользуйтесь этой ссылкой : http://slil.ru/25782640
Чёт у меня ссылка не пошла
Поделиться582008-11-03 23:35:03
одних G-кодов мало
Вы не совсем правы... Дело в том что для полной обратотки плат может и Ж-код довольно обёмный, но вот для обработки деталей типа плита, корпусных делатей Ж-кода в полне достаточно с головой! Просто старые ж-коды были дополнены и поправлены сейчас одних функций- Ж более 300 который поджерживают остовные производители типа Сименс Фанук и т. д... Просто смотря для чего и как пристосабливать тот или иной код, Вообще Ж - код является стандартом для ЧПУ...
Поделиться592008-11-03 23:38:05
Чёт у меня ссылка не пошла
Дело в том, что сайт "слил.ру" держит файл тока 1 месяц, потом подтирает файлы , чтобы скачать файл с файлообменника, воспользуйтесь ссылочкой http://www.cncfiles.sk6.ru/download.php?id=22 , при регистарации введите логин и пароль , как на этот форум , ID файла 22, работает с файлом *.bmp чено-белым.
Поделиться602008-11-04 23:07:24
Вы не совсем правы...
Речь идет о М и D кодах, которые присутствуют в любом файле, но не относятся к Ж кодам