LINUX.ORG.RU

Пилим потихонечку станочек с ЧПУ

 , ,


10

5

Потихоньку, полегоньку моделим оное в OpenSCAD'е, так как blender для более или менее серьезного када я так и не осилил (вечно лень мышку доставать, в блендере на тачпаде не разбежишься). На скриншоте виден общий вид конструкции (верх и середина портала), низ портала с креплением столика еще только предстоит моделить.
Заодно вышла хорошая апробация возможностей OpenSCAD на более или менее сложной конструкции. Хотя кодом моделить субъективно приятнее, всплыли и бесят некоторые особенности openscad'а, например невозможность внутри if() { } присвоить переменную, да и львиную долю кода приходится делать в емаксе, благо нашелся openscad-mode (openscad так и не умеет подсветку синтаксиса)
Но в общем, терпимо, и самое главное - при грамотном подходе, перекроить конструкцию под другие запчасти - только поменять с десяток переменных в начале.

Собственно, это пока более или менее тестовый вариант, ибо шаговики будут весьма унылыми, которые я купил за пару баксов/штука у китайцев когда-то давно, но для отладки кода прошивки мк пойдет, ибо с нуля пишу человеческий gcode парсер.
Максимум на что я буду его использовать - фрезеровать печатные платы, чтобы не возиться с химией.

В виде ходовых винтов - М4, 4мм высокие гайки забиваются в пазы в боках кострукции с натягом и там и остаются. Концевики все сугубо оптические.

Почему прошу делаю с нуля, а не перекраиваю прошивки репрапа? Да потому, что все имеющиеся на reprap вики прошивки оказались либо смердящим УГ, форкнутым от Sprinter/Marlin (arduino как бы уже является показателем качества кода, увы). Исключением из этого месива был teacup, но и он оказался прибит гвоздями к avrкам.

Мой тестовый вариант будет бегать на stm32vldiscovery, которая валялась без дела (хотя переносимости ради, я проверил, что вся эта машинерия собирается и взлетает еще и на msp430 и avr).
К последнему я жутким костылем присобачил нечто напоминающее последлевательный порт поверх stlink'а.


Все отмоделенное я печатаю из PLA, который на проверку оказался намного дубовее ABS, и по алюминиевым направляющим катается только так.
Фотографии уже распечатанных и частично собранных кусков тут

>>> Просмотр (1920x1080, 260 Kb)

★★★★★

Проверено: DoctorSinus ()
Последнее исправление: AiFiLTr0 (всего исправлений: 1)

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

Gramozeka ★★
()

Эхх... ох уж это программное проектирование, ну ладно если тебе это удобней чем FreeCAD то да. По мне лучше нормальный интерфейс для параллельного порта и linuxcnc)))

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

Сейчас параллельного порта днем с огнем не сыщешь уже. Да и крутить rt часть на хосте как-то не комильфо. Да и пинов там маловато.

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

Даже не задавался этим вопросом, но без накатывания -rt патчей на ядро, я б делать этого не стал. Хотя, подозреваю что нормально. Енип там 100кГц максимум, сколько шаговики держат (мои по крайней мере), так что может оно и нормально будет.
Но учитывая, что LPT давно труп, пинов в нем мало, а на мелком внешнем мк запилить гарантированный rt - раз плюнуть - это мой выбор. И нечего некрофилию разводить.

AiFiLTr0 ★★★★★
() автор топика

Наработки опубликовать не забудь под какой-нибудь годной openhw лицензией :3

cryptohedge
()

Крут-крут. Для себя платы будешь фрезировать, или под заказ?

ЗЫ. Опечатку исправь в «Почему прошу делаю с нуля» .

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

Для дома, для семьи (с)
а поправить уже не могу.

AiFiLTr0 ★★★★★
() автор топика

Ой мать моя волшебница... Круто конечно, но я прям в ужасаюсь Вашему уму и упорству...

t500s ★★
()

Ничего из топика не понял, но раз гуру хвалят, то и я присоединюсь: ОП, молодчина, что ты делаешь - это всё реально круто.

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

Меня тоже волнует эта тема(хотя если покупать материнку то там парр порт есть, есть PCI- параллельный порт)

По описаниям linuxcnc поддерживает ещё RS232 и вроде как Ethernet(но я не пробовал) , USB там в стадии разработки... хотя о каком RT можно говорить для USB ?

Вопрос в том что есть Mesa платы и в них по идеее может быть USB подключение, но я туда не копал(времени пока нет)

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

rs232 это скорее всего шлет gcode контроллеру точно так же. ethernet тоже скорее всего так же пашет.
От USB очень сложно получить реалтайм, ибо это сильно асинхронная штука, по сути проц ложит URBшки в память, контроллер их разбирает, и складывает ответы. Очень много факторов могут вызвать факап. Если работать на isochronos трансферах можно конечно получить неплохие результаты, но надо чтобы на этом рут хабе ничего не сидело, что может помешать.
Так что думаю, что usb там не в сырую драйвит движки, а есть контроллер который буферизует gcode/другие команды.

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

Меня больше Ethernet радует, представь если роутеры можно было перепрошивать на контроллеры ЧПУ))

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

Ну а как ты это сделаешь? роутер это обычный такой SoC, на котором крутится обычный такой линукс. Чтобы можно было юзать для управления ЧПУ, к нему надо как-то подцепить все это хозяйство. GPIO там мало, да и опять с rt частью в ядре придется заниматься. Так что единственный выход - в усб впердолить какой-нить мк, который будет хавать и буферизовать gcode. Собственно, так давно делают, для репрапов вебморд как собак нерезанных, octoprint и иже с ним.

AiFiLTr0 ★★★★★
() автор топика

Классно. Только не забывай, что 90% людей на этой Земле полные дебилы, и осилить твой станок не смогут.

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

если осилит - фрезерование печатных плат, чтобы с химией не возиться, ну и сверление оных тоже автоматически. Больше опытный экземпляр.

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

фрезерование печатных плат, чтобы с химией не возиться

по мне гадость та ещё, мелкие дорожки не делаются, плата выглядит как давно , т.к. нет никакой маски и рисунка, в простейшем случае просто оконтуривается дорожки и всё. сковыривается медь в иногда бывает что-то похожее на «недотравы» , мне в FabLab плату сделали... и как говорится , меня не впечатлила эта технология.

роутер это обычный такой SoC, на котором крутится обычный такой линукс. Чтобы можно было юзать для управления ЧПУ, к нему надо как-то подцепить все это хозяйство. GPIO там мало, да и опять с rt частью в ядре придется заниматься.

А туда нельзя прошить обычный линукс без иксов? Я себе представлял в мокрых мечтах, значит стоит перепрошитый роутер на нем крутится linuxcnc сервер, по 3 Ethernet выводам он дает команды для шаговиков, а уже усилки и питание шаговиков находятся ближе к ним. А по 4 проводу он дает данные чтобы AXIS клиент отрисовывал у тебя на не реалтайм компе нормальный гуй.

DR_SL ★★★★★
()
Последнее исправление: DR_SL (всего исправлений: 1)

Очень интересно что за ноутбук на фото, очень похож на мой N55SF, но на фото есть кнопки, коих у меня нет

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

там и так линукс без иксов.
man openwrt
Только это... я б взял роутер с 1 eth + 1 usb, к нему бы подцепил по усб твою машинерию, а уже на нем linuxcnc сервер твой, либо тупо въеб уй

AiFiLTr0 ★★★★★
() автор топика

В составе http://www.linuxcnc.org/ есть утилита, rs274 в пакетном или интерактивном режиме разбирающая g-код на команды вида:

18 N0140 SET_FEED_RATE(16.0000)
19 N0140 SET_SPINDLE_SPEED(3500.0000)
20 N0140 START_SPINDLE_CLOCKWISE()
21 N0150 COMMENT(«MILLING AN ENCLOSED POCKET»)
22 N0155 STRAIGHT_TRAVERSE(0.0000, 0.0000, 2.1000, 0.0000, 0.0000, 0.0000)
23 N0160 STRAIGHT_TRAVERSE(0.0000, 3.9150, 2.1000, 0.0000, 0.0000, 0.0000)
24 N0170 STRAIGHT_TRAVERSE(0.0000, 3.9150, 2.1000, 0.0000, 0.0000, 0.0000)
25 N0180 COMMENT(«start left circle zigzag»)
26 N0180 STRAIGHT_FEED(0.0000, 3.9150, 1.6875, 0.0000, 0.0000, 0.0000)
27 N0190 STRAIGHT_FEED(4.0000, 3.9150, 1.6875, 0.0000, 0.0000, 0.0000)

IMXO, используя её в качестве препроцессора проще будет получить полный/всеядный интерпретатор g-кода. (сам смотрел на неё когда думал о написании симулятора обработки к FreeCADу)

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

когда думал о написании симулятора обработки к FreeCADу

Там что-то подобное пишут в CAM модуле но они нигде не писали что нужно чтобы это собрать, раньше такая штука говорят была в Heeeks CAM

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

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

int gcode_leds(int argc, char** argv)
{
	int i,state;
	if (argc==1)
		gcode_respondf("W1: G:green B:blue L:spindel\n");
	for (i=1;i<argc;i++) {
		state = atoi(&argv[i][1]);
		switch (argv[i][0])
		{
		case 'G':
			GPIO_WriteBit(GPIOC, GPIO_Pin_9, state);
			break;
		case 'B':
			GPIO_WriteBit(GPIOC, GPIO_Pin_8, state);
			break;
		case 'L':
			GPIO_WriteBit(GPIOC, GPIO_Pin_6, state);
			break;
		default:
			gcode_error();
		}
	}
	gcode_ok();
}
GCODE_ADD(W1, gcode_leds);

что сильно упрощает навешивание фунционала.

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

Мы как-то пробовали так делать, разной краской и резистом. Вони было... Но так нормально 40W CO2 и не срезало краску.

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

Ну мне это кажется лишним, gcode и так примитивен.

компенсация размеров инструмента, циклы, подпрограммы, переменные, арифметика?..
Если реализовывать не десяток команд, используемых большинством CAM, а весь стандарт - то это наверно хоть и не сложно, но довольно муторно.
Утилита rs274 правда тоже не всё поддерживает(полярные координаты, скажем).

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

Ну мне оно не шибко нужно, лишь бы парсило выхлоп slic3r/skeinforge/cam.py. Если встанет необходимость, тогда уже прикручу парсинг выхлопа rs274.

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

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

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

угу, ну у меня 28BYJ-48, обмотки замыкаются таким паттерном:

const char lookup[8][4] = {
	{1,0,0,0},
	{1,1,0,0},
	{0,1,0,0},
	{0,1,1,0},
	{0,0,1,0},
	{0,0,1,1},
	{0,0,0,1},
	{1,0,0,1}
};
с экспериментально подобранным минимальным временем удержания состояния, меньше которого оно тупо дергается и стоит на месте.

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

Классный скрин! Линух в деле - это всегда приятно посмотреть.

А то как же надоели лор, да обои показывать.

+100500

Igorrr ★★★★
()

Я гарантирую, что пройдет год, и автор устанет описывать геометрию через код. Тогда он начнет понимать, что ему нужны параметрические CAD-ы, да только пощупать их не сможет, потому что нет достойных в опенсорчном мире, а покупать проинженеры да униграфиксы дюже дорого.

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

Ставлю чирик, что Фильтрыч сам напишет, если устанет описывать геометрию через код.

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

всё думаю на досуге запилить что нибудь на скале. но куда не погляжу, всё есть (осталось, как гриться, сп****** и принесть). пусть иногда и часто криво работает, но начинать конкурирующий проект как то не спортивно уж совсем.

а вот вы говорите нет даже на пощупать чего то. или на пощупать есть, но качество оставляет желать лучшего?

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

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

Это же получается максимальное допустимое ускорение, а не максимальная скорость вращения?
у всех ШД которые я видел максимальная скорость, на которой он может тронуться, много меньше скорости, до которой его можно раскрутить постепенно.

Хотя если я правильно понял, 10 оборотов в секунду для этого ШД действительно потолок:
http://robocraft.ru/files/datasheet/28BYJ-48.pdf

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

Ну пощупайте FreeCAD. Вроде параметричекий и даже русифицирован. Но там вплоть до какой-то вресии чтобы сделать копирование объектов (например, отверстий) приходилось вручную скрит на питоне писать. Ну и параметризованность остается под большим сомнением, ибо в настоящих параметризованных кадах задается объект и размножается в виде «массива». Он меняется - меняются и все объекты, сходящие в «массив». Параметры «массива» можно менять (шаг, угол, поворот). А во freeCAD получается, что объект копируется как копи-паст, и втыкается в дерево модели с абсолютными значениями. Это уже не параметризованность, а неое подобие.

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

обмотки замыкаются таким паттерном:

то есть без микрошага?
Двигатели с 64 шагами на оборот наверняка более подвержены резонансам, чем с 200 шагами/оборот.

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

как раз с микрошагом, насколько я понимаю все это хозяйство. по результатам проведенных тестов могу с полной уверенностью сказать: ШГ (Шаговик Гавно), и хрен его знает, когда мне приедут из китая хорошие, годные NEMA14....

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

«{1,0,0,0},
{1,1,0,0},
{0,1,0,0},
{0,1,1,0},»

это полушаг, теоретически максимальный момент достигается именно в полушаговом режиме, но размер полушага у этого двигателя - 360.0/(64*2)=2.8125°, то есть больше, чем у большинства ШД полный шаг ( 360.0/(200)=1.8° ), причём даже у двигателей с 200 шагами/оборот люди сталкиваются с резонансом и в полушаговом режиме, хотя гораздо реже, чем на полном шаге. На 1/4 шага(0.45°) резонанс кажется уже почти гарантированно не проявляется, и дальше шаги дробят уже из других соображений.

Anonymous ★★★★★
()

Здоровско. А что предполагается использовать в качестве «сверлилки» ? Обычный коллекторный моторчик с цанговым патроном ? Где фрезы под печатные платы брать ?

Давно хотеть себе 3д-принтер, но времени разбираться во всех хитросплетениях процесса покупки комплектующих нету. Где можно купить готовый типовой набор для новичка за относительно разумные деньги?

Платить штуку баксов и выше за нехитрый по сути набор деталек не хочется. Хочется дешево и сердито :)

Burbaka ★★
()

Насчет сверлилки — увидел на фото :) Что за моторчик?

Драйвер для шаговиков на дарлингтоновских сборках ?

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

Здоровско. А что предполагается использовать в качестве «сверлилки» ? Обычный коллекторный моторчик с цанговым патроном ? Где фрезы под печатные платы брать ?

Обычный DC движок с цангой, который за 7 баксов взял на алиэкспрессе. Не протянет - в след. ревизии наш ДПМ воткну. Фрезы/сверла - aliexpress.com

Давно хотеть себе 3д-принтер, но времени разбираться во всех хитросплетениях процесса покупки комплектующих нету. Где можно купить готовый типовой набор для новичка за относительно разумные деньги?

Я взял солидудл, 2е поколение за 700 баксов с доставкой. в итоге долго с матами дорабатывал (см. мой бложек). Следующий принтер буду собирать сам.

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