3D печатный яйцебот всего за $15. Рецепт приготовления

    Всем привет!

    image

    Пасха заканчивается и тема печати различных узоров на яйцах становится чуть менее актуальной, но от этого не становится менее актуальным яйцебот, нужный всем и всегда круглый год :)

    Для тех кто не в курсе яйцебот — это машина, которая обычным фломастером умеет рисовать на любых сферических объектах: яйцах, теннисных шариках, ёлочных игрушках. Концепт механизма придумал дизайнер Bruce Shapiro в далеком 1990-м году, а не так давно знаменитая компания Evil Mad Scientist Laboratories выпустила в свободную продажу свою версию под названием The EggBot. Надо отдать должное Evil Mad Scientist Laboratories свой проект сделала открытым и разрешает пользоваться программным обеспечением для других яйцеботов даже в коммерческих проектах.

    Вот такие произведения искусства получаются на выходе:

    image


    Простые картинки можно рисовать в любом векторном редакторе, а сложные геометрические объекты можно создать, например, на питоне.

    Вот пример такой программы:
    # Generate a 3200 x 800 geometrical pattern for Eggbot plotting
    # See http://www.egg-bot.com/ for info on the Eggbot
    #
    # Dan Newman, 2 January 2011
    # dan dot newman at mtbaldy dot us
    # Public domain (http://creativecommons.org/licenses/publicdomain/)
    
    HEIGHT = float( 800.0 )
    WIDTH = float( 3200.0 )
    
    scale = WIDTH / ( 16.0 * 3 )  # 16 horizontal repeats
    epsilon = float(1.0e-5)
    
    # Relative moves for drawing the vertical elements
    DOWN  = [[0.0, scale], [scale, 2*scale], [0.0, scale], [-scale, 2*scale]]
    UP    = [[0.0, -scale], [scale, -2*scale], [0.0, -scale], [-scale, -2*scale]]
    
    # How to switch to going up when you stop going down after DOWN[i]
    DU_switch = [scale, -scale, -scale, scale]
    
    # Relative moves for drawing the horizontal elements (L2R = left-to-right)
    L2R = [[scale, 0.0], [2*scale, scale], [scale, 0.0], [2*scale, -scale]]
    R2L = [[-scale, 0.0], [-2*scale, scale], [-scale, 0.0], [-2*scale, -scale]]
    
    # How to switch to R2L after stopping in L2R at index i
    LR_switch = [scale, -scale, -scale, scale]
    
    # Compute the intersection of two lines
    # See eggbot_hatch.py for complete details
    
    def intersect( P1, P2, P3, P4 ):
    
    	'''
    	Determine if two line segments defined by the four points P1 & P2 and
    	P3 & P4 intersect.  If they do intersect, then return the fractional
    	point of intersection "sa" along the first line at which the
    	intersection occurs.
    	'''
    
    	# Precompute these values -- note that we're basically shifting from
    	#
    	#		P = P1 + s (P2 - P1)
    	#
    	# to
    	#
    	# 		P = P1 + s D
    	#
    	# where D is a direction vector.  The solution remains the same of
    	# course.  We'll just be computing D once for each line rather than
    	# computing it a couple of times.
    
    	D21x = P2[0] - P1[0]
    	D21y = P2[1] - P1[1]
    	D43x = P4[0] - P3[0]
    	D43y = P4[1] - P3[1]
    
    	# Denominator
    	d = D21x * D43y - D21y * D43x
    
    	# Return now if the denominator is zero
    	if d == 0:
    		return float( -1 )
    
    	# For our purposes, the first line segment given
    	# by P1 & P2 is the LONG hatch line running through
    	# the entire drawing.  And, P3 & P4 describe the
    	# usually much shorter line segment from a polygon.
    	# As such, we compute sb first as it's more likely
    	# to indicate "no intersection".  That is, sa is
    	# more likely to indicate an intersection with a
    	# much a long line containing P3 & P4.
    
    	nb = ( P1[1] - P3[1] ) * D21x - ( P1[0] - P3[0] ) * D21y
    
    	# Could first check if abs(nb) > abs(d) or if
    	# the signs differ.
    	sb = float( nb ) / float( d )
    	if ( sb < 0 ) or ( sb > 1 ):
    		return float( -1 )
    
    	na = ( P1[1] - P3[1] ) * D43x -  ( P1[0] - P3[0] ) * D43y
    	sa = float( na ) / float( d )
    	if ( sa < 0 ) or ( sa > 1 ):
    		return float( -1 )
    
    	return sa
    
    # Determine whether a line segment needs to be clipped to
    # fit within the drawing page
    
    def clip( x1, y1, x2, y2 ):
    	if ( x1 >= 0.0 ) and ( x1 <= WIDTH ) and ( x2 >= 0.0 ) and ( x2 <= WIDTH ) and \
    			( y1 >= 0.0 ) and ( y1 <= HEIGHT ) and ( y2 >= 0.0 ) and ( y2 <= HEIGHT ):
    		return float( -1.0 )
    
    	if ( x1 < 0.0 ) or ( x2 < 0.0 ):
    		s = intersect( [x1, y1], [x2, y2], [0.0, 0.0], [0.0, HEIGHT] )
    		if ( s > 0.0 ):
    			return s
    
    	if ( x1 > WIDTH ) or ( x2 > WIDTH ):
    		# We allow going an extra pixel across in case there is drawing error
    		s = intersect( [x1, y1], [x2, y2], [WIDTH+1.0, 0.0], [WIDTH+1.0, HEIGHT] )
    		if ( s > 0.0 ):
    			return s
    
    	if ( y1 < 0.0 ) or ( y2 < 0.0 ):
    		s = intersect( [x1, y1], [x2, y2], [0.0, 0.0], [WIDTH, 0.0] )
    		if ( s > 0.0 ):
    			return s
    
    	if ( y1 > HEIGHT ) or ( y2 > HEIGHT ):
    		s = intersect( [x1, y1], [x2, y2], [0.0, HEIGHT], [WIDTH, HEIGHT] )
    		if ( s > 0.0 ):
    			return s
    
    	return float( -1.0 )
    
    # Plot a collection of line segments
    
    def plot( points, color='black' ):
    
    	# First line segment
    	s = clip( points[0][0], points[0][1], points[1][0], points[1][1] )
    	if ( s < 0.0 ):
    		p = 'M %f,%f' % ( points[0][0], points[0][1] )
    	else:
    		p = 'M %f,%f' % ( points[0][0] + s * ( points[1][0] - points[0][0] ),
    						  points[0][1] + s * ( points[1][1] - points[0][1] ) )
    	x0 = points[1][0]
    	y0 = points[1][1]
    	p += ' L %f,%f' % ( x0, y0 )
    
    	# Intermediate line segments
    	for i in range(2, len( points ) - 1):
    		x0 = points[i][0]
    		y0 = points[i][1]
    		p += ' L %f,%f' % ( x0, y0 )
    
    	# Final line segment
    	x = points[-1][0]
    	y = points[-1][1]
    	s = clip( x0, y0, x, y )
    	if ( s < 0.0 ):
    		p += ' L %f,%f' % ( x, y )
    	else:
    		p += ' L %f,%f' % ( x0 + s * ( x - x0 ), y0 + s * ( y - y0 ) )
    
    	print '<path stroke="%s" stroke-width="1" fill="none" d="%s"/>' % ( color, p )
    
    # Draw the vertical elements
    
    def vertical( x, y, color, down, up ):
    
    	if ( y > ( scale + epsilon ) ):
    		i = len( down ) - 1
    		while ( y > ( scale + epsilon) ):
    			x -= down[i][0]
    			y -= down[i][1]
    			i -= 1
    			if ( i < 0 ):
    				i = len( down ) - 1
    	else:
    		i = -1
    
    	points = [[x, y]]
    	while ( y < ( HEIGHT - epsilon ) ):
    		i += 1
    		if ( i >= len( down ) ):
    			i = 0
    		x += down[i][0]
    		y += down[i][1]
    		points.append( [x, y] )
    
    	plot( points, color )
    
    	x += DU_switch[i]
    	points = [[x, y]]
    	while ( y > epsilon ):
    		x += up[i][0]
    		y += up[i][1]
    		points.append( [x, y] )
    		i -= 1
    		if ( i < 0 ):
    			i = len( up ) - 1
    
    	plot( points, color )
    
    # Draw the horizontal elements
    
    def horizontal( x, y, color, l2r, r2l ):
    
    	if ( x > ( scale + epsilon ) ):
    		i = len( l2r ) - 1
    		while ( x > ( scale + epsilon ) ):
    			x -= l2r[i][0]
    			y -= l2r[i][1]
    			i -= 1
    			if ( i < 0 ):
    				i = len( l2r ) - 1
    	else:
    		i = -1
    
    	points = [[x, y]]
    	while ( x < ( WIDTH - epsilon ) ):
    		i += 1
    		if ( i >= len( l2r ) ):
    			i = 0
    		x += l2r[i][0]
    		y += l2r[i][1]
    		points.append( [x, y] )
    
    	plot( points, color )
    
    	y += LR_switch[i]
    	points = [[x, y]]
    	while ( x > epsilon ):
    		x += r2l[i][0]
    		y += r2l[i][1]
    		points.append( [x, y] )
    		i -= 1
    		if ( i < 0 ):
    			i = len( r2l ) - 1
    
    	plot( points, color )
    
    print '<svg xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="%d" height="%d">' % ( int( WIDTH ), int( HEIGHT ) )
    print '<g inkscape:groupmode="layer" inkscape:label="1 - vertical">'
    
    Color = 'green'
    x1 = 0.0
    y1 = 0.0
    x2 = 1.5 * scale
    y2 = 1.5 * scale
    while ( x1 < ( WIDTH - epsilon ) ):
    	vertical( x1, y1, 'green', DOWN, UP )
    	if ( x2 < ( WIDTH - epsilon ) ):
    		vertical( x2, y2, 'green', DOWN, UP )
    	x1 += 3 * scale
    	x2 += 3 * scale
    
    print '</g>'
    print '<g inkscape:groupmode="layer" inkscape:label="2 - horizontal">'
    
    x1 = 0.0
    y1 = 0.0
    x2 = 1.5 * scale
    y2 = 1.5 * scale
    while ( y1 < ( HEIGHT - epsilon ) ):
    	horizontal( x1, y1, 'blue', L2R, R2L)
    	if ( y2 < ( HEIGHT - epsilon ) ):
    		horizontal( x2, y2, 'blue', L2R, R2L)
    	y1 += 3 * scale
    	y2 += 3 * scale
    
    print '</g>'
    print '<g inkscape:groupmode="layer" inkscape:label="3 - border">'
    print '<path stroke="black" stroke-width="1" fill="none" d="M 0,0 l %d,0"/>' % ( int( WIDTH ) )
    print '<path stroke="black" stroke-width="1" fill="none" d="M 0,%d l %d,0"/>' % ( int( HEIGHT ), int( WIDTH ) )
    print '</g>'
    print '</svg>'


    А вот получившееся изображение уже на яйце:

    image


    Энтузиасты создают даже картинки со стробоскопическим эффектом при вращении:



    При создании своего яйцебота я не ставил перед собой цели уложиться в $15, но так уж вышло :). Для сравнения оригинальный Eggbot Pro стоит $325, что дороже на порядок. Основная стоимость любого яйцебота — шаговые двигатели. Я использовал самые доступные — 28BYJ-48-12V, отсюда и итоговый ценник в 15 баксов.

    Итак для приготовления моего яйцебота вам понадобится:

    1. 110 грамм пластика ABS или PLA. Черные детали я печатал ABS-ом, желтые PLA. Уж больно PLA красив при печати на стекле :)
    2. Электроника в ассортименте:

    • 1 x Китайская Arduino UNO c Aliexpress с кабелем для компа за 250 руб.
    • 2 x 28BYJ-48-12V Шаговый двигатель + ULN2003 Драйвер шагового двигателя за 100 руб.
    • 1 x SG90 Микро серво двигателььза 100 руб.
    • 1 x 12V Блок питания (можно и не покупать если есть).

    3. То что не можем напечатать, но можем купить почти в любом хозяйственном магазине:

    • пружина.
    • болты, винты, гайки, шайбы.
    • резиновая прокладка (можно и напечатать, если у вас есть Flex).
    • подшипник 608.

    Пластик засовываем в 3Д принтер и печатаем детали, модели которых я заботливо поместил сюда.

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

    Тем кто еще не приобрел 3Д принтер, но очень хочет приготовить своего яйцебота я могу напечатать все детали и отправить почтой. Обращайтесь в личку, все будет в лучшем виде! Я гарантирую это!

    После печати можно приступить к сборке. Сборка устройства выглядит примерно так:

    image

    Для того, чтобы у вас все получилось я потратил много времени и подготовил инструкцию по сборке и подключению электроники в картинках. Скачать инструкцию можно тут.

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

    image

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

    1. Скачиваем и распаковываем прошивку отсюда.
    2. Загружаем Arduino IDE, устанавливаем и запускаем.
    3. Подключаем яйцебота к компьютеру, выбираем в Arduino IDE модель платы и COM порт.
    4. Открываем файл Eggduino.ino из папки с прошивкой и загружаем ее в Arduino.

    В качестве управляющей программы используется всем известный Inkscape с плагином, написанным Evil Mad Scientist Laboratories. Плагин позволяет настраивать яйцебота, управлять им вручную и отправлять картинки на печать. Я заботливо добавил плагин в Inkscape и поместил готовый архив тут.

    Если у вас уже есть Inkscape, но нет плагина, то взять его отдельно можно тут.

    Скачиваем, устанавливаем и запускаем Inkscape. Идем в меню с плагинами, ищем там подменю EggBot. Открываем плагин, настраиваем высоту поднятия фломастера и печатаем на яйце все что угодно.

    Если у вас Inkscape при попытке управления ботом выдаёт ошибку «Failed to connect to EggBot», то не отчаивайтесь. Проблему можно легко решить. Посмотрите в списке подключенного оборудования, то как называется ваша плата. Затем в файле ebb_serial.py плагина для Inkscape замените в строке 52 текст «USB-SERIAL CH340» на ваше название.

    Еще я собрал и выложил небольшую коллекцию с примерами. Посмотреть ее можно тут.

    В итоге яйцебот должен работать так:


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

    Спасибо за внимание!
    Метки:
    Поделиться публикацией
    Похожие публикации
    Комментарии 61
    • 0
      Поразительной заразительности музычка: The Wasteland Wailers — «Let’s Go Shopping».
      • 0
        О, да. Музычка великолепна!
      • +10
        Приятно когда идея не просто подана в виде «а я вот так умею» — а реально для людей все расписано. Подача материала, буквально идеальна. Здорово! Подписался))
        • +2
          Спасибо! Позже будут ещё более интереснее проекты.
          • 0
            Спасибо за описание, но вот единственный вопрос, пружинку 15x20мм где бы взять? (
            • 0
              Вот в этом наборе есть подходящая.
              Еще пружинку можно скрутить из старой струны от гитары.

              А вообще я хочу сделать эту деталь печатной.
              • 0
                Хочу поблагодарить вас за проделанную работу, хочу собрать эту штуковину, детали распечатаю, с али закажу мелочь, есть ещё затык с очень мелкими винтиками на 2-3 мм… их не продают в магазинах… на али только искать. Посмотрел инструкцию по сборке — она шикарна!!! Спасибо огроменное!!!
        • +1

          Meklon хотеть.

          • +1
            Первое полезное применение 3D принтера в быту которое я вижу!
            • +1
              На кикстартер или индиго и по 60 американских рублей будет улетать как пирожки в обеденное время.
              • 0
                Да, я бы взял пару штук, детям будет интереснее такое. 3Д принтер их не впечатлил, долго и нудно, а тут живенько так, а потом об лоб друг другу разбивать :)
              • 0

                Стробоскопического эффекта не будет без соответствующего освещения. Т.к. нет щелей, как в зоотропе.

                • 0
                  Думаю вместо щелей подойдет и 25 кадров в секунду — частота съемки камеры. :)
              • –12
                Всюду обман. Я делал One Piece Spherebot. Расскажу впечатления, возникающие, если под рукой нет «рояля в кустах»:
                1) Это, значит, надо ардуину покупать? Ок, оригинал стоит 30-40у.е. и для посещения локального магазина надо прогуливать работу. Пиратский клон будет ехать месяц. Похожая ситуация и с моторами, и с сервой, и даже с подшипником. Те запчасти, что указаны в BOM, поменять ни на что нельзя, дизайн — он не гибкий. Что делать тем, у кого в кармане случайно не завалялось комплекта для сборки?
                2) Подключаем клон ардуины к компу и, внезапно, нужны драйвера которых нигде нет (утрировано) и которые неизвестно кто коряво написал. Электроника окажется с перепутанными проводами, а прошивка напичкана костылями для конкретной модели микроконтроллера (и зачем вообще тогда городить ардуину?).
                3) 3Д-печать. Все части, которые подвержены варпингу, будут изогнуты. Все детали с отверстиями — не подойдут буквально на 0.5мм. Все детали с нависаниями сфэйлят, все отверстия для болтов (саморезов) треснут при первой сборке.
                4) Яйцо проскальзывает в держателе (а еще оно не сферично, «меридиан» прямой не нарисуешь), правая полуось шатается в подшипнике, т.к. на ней есть резьба, база между подшипниками слишком мала (и то хорошо, если их два). В крайних положениях ось Y и маркер упираются в конструкцию, портя рисунок.
                5) Связь с ботом будет глючить. Успешно выполняются только очень небольшие файлы с G-кодами. Все программы для коммуникации требуют «плясок с бубном»: то им Java подавай, то Qt, то Python не той версии. А меж тем, ради подобных сырых проектов как-то не хочется угробить драгоценный основной комп. Поэтому, как правило, используется какой-нибудь древний ноут, на котором все эти десятки вложенных виртуальных машин дико тормозят (отдельный привет последним версиям Inkscape и Arduino IDE в контексте обратной совместимости). Разрабы считают, наверное, что чтобы рулить 8-битным МК на скорости 57600бод нужен восьмиядерный проц, 16ГБ оперативы и игровая видяха.
                Из-за всего этого каждая разукраска превращается в увлекательнейший квест. А красивое видео можно отснять и после десятка тренировок.
                • +10
                  > 1) Это, значит, надо ардуину покупать? Ок, оригинал стоит 30-40у.е. и для посещения локального магазина надо прогуливать работу. Пиратский клон будет ехать месяц.

                  Почему вы клоны называете пиратскими? Проект Arduino — опен сорсный. На сайте выложена вся документация по изготовлению ардуин. При желании вы можете сами выпускать свою Arduino совместимую плату и никто вас не будет считать пиратом. А китайские клоны очень даже качественные и даже есть китайские бренды, специализирующиеся на этом. В моем проекте используется китайская Arduino UNO за 2.5 бакса. Не хотите ждать месяц, купите на Авито, предложений полно и почти по китайской цене. Да и в чем проблема подождать месяц то? :)

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

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

                  > Что делать тем, у кого в кармане случайно не завалялось комплекта для сборки?
                  Заказать по отдельности в китае. На гитхабе я разместил полный список того, что нужно со ссылками где это можно заказать. А винтики шпунтики все продаются в любом хоз. маге, например в Леруа Мерлен, который работает до поздна.

                  > 2) Подключаем клон ардуины к компу и, внезапно, нужны драйвера которых нигде нет (утрировано) и которые неизвестно кто коряво написал. Электроника окажется с перепутанными проводами, а прошивка напичкана костылями для конкретной модели микроконтроллера (и зачем вообще тогда городить ардуину?).

                  Ну это что-то из области фантастики. Подавляющее большинство китайских ардуино UNO идут с чипом CH340G. Драйвер под этот чип устанавливается один раз и любая китайская ардуина UNO будет с ним работать.

                  > 3) 3Д-печать. Все части, которые подвержены варпингу, будут изогнуты. Все детали с отверстиями — не подойдут буквально на 0.5мм. Все детали с нависаниями сфэйлят, все отверстия для болтов (саморезов) треснут при первой сборке.

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

                  > 4) Яйцо проскальзывает в держателе (а еще оно не сферично, «меридиан» прямой не нарисуешь), правая полуось шатается в подшипнике, т.к. на ней есть резьба, база между подшипниками слишком мала (и то хорошо, если их два). В крайних положениях ось Y и маркер упираются в конструкцию, портя рисунок.

                  Ну это проблемы конкретно вашей конструкции. Резьбы на оси у меня нет.

                  > 5) Связь с ботом будет глючить. Успешно выполняются только очень небольшие файлы с G-кодами. Все программы для коммуникации требуют «плясок с бубном»: то им Java подавай, то Qt, то Python не той версии. А меж тем, ради подобных сырых проектов как-то не хочется угробить драгоценный основной комп. Поэтому, как правило, используется какой-нибудь древний ноут, на котором все эти десятки вложенных виртуальных машин дико тормозят (отдельный привет последним версиям Inkscape и Arduino IDE в контексте обратной совместимости). Разрабы считают, наверное, что чтобы рулить 8-битным МК на скорости 57600бод нужен восьмиядерный проц, 16ГБ оперативы и игровая видяха.

                  Что-то ничего подобного не замечал за Inkscape. Комп не угроблен. Лишнего софта на компе не появилось. Питон с Inkscape в комплекте идет. А Arduino IDE преспокойно запускается на древнем EEE PC.

                  В первую очередь это DIY проект. Возможно просто проекты типа «сделай сам» это не ваше.
                  • –12
                    Вообразите ужас — в финском городке в населением в 100к не бывает простых хозмагов с трешовыми подшипниками и шаговыми двигателями. Надо идти в фирму и заказывать фирменные, а цены включают НДС, зарплату работников и стоимость доставки со склада. Поэтому для меня удобнее всего доставать компоненты из устаревшего научного оборудования, а заказать в Китае — это не DIY, это покупка готового набора. Если что-то в наборе не подходит — опять ждать месяц и надеяться не попасть не растаможку. Дорога ложка к обеду, а EggBot — к Пасхе.
                    Отсутствие проблем с печатью на Вашем принтере — это такой же частный случай, как наличие проблем на моем принтере. Во многих случаях модели с Thingiverse у меня вообще не работают, а разбираться в чужом творчестве выходит сильно дольше, чем с нуля создать в Inventor. Но Ваши файлы хотя бы выглядят хорошо.
                    Пиратская ардуина — это такая плата, которая может выпалить порт и блок питания компа, бывало уже. Просто непротравленная дорожка по питанию. Может быть поэтому бывают платы с FDTI 30у.е., а бывают по 3 у.е с CH340. Или вот, в этот раз дешевое Nano сдохло при первом включении. Поскольку больше в наличии их не было, пришлось экстренно снимать Sanguinololu с принтера, и долго выяснять почему Marlin в нее залить можно, а Spherebot — нельзя.
                    Весь проект Arduino плох как раз тем, за что его любят народные массы — он снижает порог вхождения в электронику для тыжпрограммистов.
                    • +10

                      Уезжайте нахрен оттуда в Пермь — там всё есть.

                      • +2
                        > Вообразите ужас — в финском городке в населением в 100к не бывает простых хозмагов с трешовыми подшипниками и шаговыми двигателями. Надо идти в фирму и заказывать фирменные, а цены включают НДС, зарплату работников и стоимость доставки со склада. Поэтому для меня удобнее всего доставать компоненты из устаревшего научного оборудования, а заказать в Китае — это не DIY, это покупка готового набора. Если что-то в наборе не подходит — опять ждать месяц и надеяться не попасть не растаможку. Дорога ложка к обеду, а EggBot — к Пасхе.

                        Я не предлагал вам в хозмаге покупать шаговые двигатели. Перечитайте внимательно. Речь шла о болтиках, винтиках и шурупчиках. Если в финском хозмаге этого нет, то я вам сочувствую :) Никто не мешает вам скачать файлы моделей и модифицировать их под то, что наковыряли из старого оборудования.

                        > Пиратская ардуина — это такая плата, которая может выпалить порт и блок питания компа, бывало уже. Просто непротравленная дорожка по питанию. Может быть поэтому бывают платы с FDTI 30у.е., а бывают по 3 у.е с CH340.

                        Сжечь порт ардуиной — это очень постараться надо. А вот ардуину портом очень легко. Но это в 99% кривость собственных рук, а не качество ардуины.

                        > Весь проект Arduino плох как раз тем, за что его любят народные массы — он снижает порог вхождения в электронику для тыжпрограммистов.

                        Этим то ардуина и хороша. Вы наверное подумали, что это проект по электронике или по программированию, но это не так. Это проект по 3д печати. О чём собственно и написано в заголовке статьи.

                        • +2
                          Весь проект Arduino плох как раз тем, за что его любят народные массы — он снижает порог вхождения в электронику для тыжпрограммистов.


                          Так сделайте свой, со встроенным vi и на фортране, с максимально высоким порогом вхождения для трупрограмистов. И наслаждайтесь там одиночеством. Проблема с «пиратскими» платами сама отпадёт.
                          • 0
                            Вы не поняли сути холивара. Я узрел, что ардуино очень популярен среди тех, кто боится, не может или не хочет паять и травить платы. Это плохо. Очень прискорбно видеть, как множество народа с радостными лицами используют униполярные шаговики с редукторами и управляет ими через сборки дарлингтонов. Таким трупрограммистам не следует доверять серьезные проекты, иначе получаются «грузовые лифты под управлением ардуино».
                            • +2
                              А что, если я и не собираюсь всерьёз заниматься железнячными проектами, не хочу работать проектировщиком и уж тем более не интересуюсь грузовыми лифтами, а просто хочу собрать вот эту прикольную штучку? Более того, я бы её и купить мог, стой она не $325, а хотя бы $60.
                              Разумеется, я не собираюсь организовывать на дому химлабораторию с вытяжкой для травления плат, две недели потом осваивая техпроцесс, не хочу покупать паяльную станцию (есть только советский паяльник с толстенным жалом и без терморегулятора).
                              Подозреваю, что таких как я большинство — кто не желает собирать что-то слишком сложное, а хочет прибор задёшево и без особых усилий. И вот тут Arduino подходит идеально. Это же просто универсальный конструктор: просто бери и собирай, от самопального 3D-принтера до модельки лунохода, от анализатора концентрации CO2 до мигающего светодиодного куба.
                              • +1
                                Жесть, не стоит доверять серьёзные проекты?
                                Лирическое отступление:
                                Я учился на машиностроителя. При расчёте узла, например редуктора, закладывается запас прочности, в зависимости от того, где он будет работать. Берётся максимальная расчётная нагрузка и умножается на коэффициент(во всяком случае так было в советской школе). Если редуктор стоит на станке, условно, то коэффициент равен 3, если механизм ответственный, например привод автомобиля, то 5. Если с механизмом непосредственно работают люди(как раз пассажирский лифт) -10.
                                И в связи с этим мой вопрос:
                                Достаточно-ли, по Вашему мнению, пятикратного запаса прочности для такого ответственного механизма, как принтер по яйцам? И не следует-ли там предусмотреть дублирующих систем безопасности?
                                • 0
                                  Расскажите, где в ардуино встроен такой пятикратный множитель? Если применить 5 параллельных ардуин — запас достаточен.
                                  По механике: ни в одном из eggbot-ов не видел страховки от выпадания яцйа. Оно может разбиться и запачкать что-либо.
                                • 0
                                  Не поверю, что средний человек вытравит и спаяет плату надежней, чем Ардуино, сделанную в заводских условиях, с соблюдением техпроцессов. В лифт такую точно не надо ставить.
                              • 0
                                всегда подозревал, что в европах что-то нечисто. Кстати, пасха уже прошла, так что можно выписывать потихоньку все из китая, пусть даже и пиратская.
                                И что-то подозрительно вам не везет. Я на монтажке один раз вообще питание по USB закоротил — ничего не выгорело, комп жив и здоров
                                • 0

                                  По стандарту usb должен выдерживать замыкание любых контактов.

                                  • 0
                                    Замыкание словил по 12В от БП компа, порт после этого не работает, это факт. Это была как раз плата, изготовленная на заводе, с соблюдением тех.процессов, но, видимо, не всех. Там была недотравлена медь между дорожками питания и земли, которые какой-то умник разместил рядом. Под слоем маски и шелкографии обнаружить было невозможно. Плату собственного изготовления всегда можно изучить под микроскопом.
                                    • 0

                                      Ну, а теперь расскажите как вы закоротили 12 вольт бп компа с помощью ардуины, питаемой по усб. Или у вам пробрался враг полный идиот и стал питать ваше поделие от бп компа? И виноват в этом, по-вашему, не этот дебил, а ардуино? Конгениально! У вашего модуля бредогенерации не хватает модуля редактуры. Вероятно тру говнокодер писал…

                              • +1
                                в сети есть множество видео Louis C.K., одно из них называется «Generation of Spoiled Idiots». можно его посмотреть (фрагмент про самолёт) и узнать себя. касается всех перечисленных пяти пунктов.
                                • 0
                                  клон будет ехать месяц

                                  Попробуйте планировать жизнь на месяц вперед, хотя бы в таких мелочах.
                                  Подсказка: через год снова будет пасха. Она не внезапно случится, заранее известно когда. Можно заказать комплектуху за несколько месяцев заранее.
                                  • 0
                                    Навеяло анекдот про маленькую серенькую птичку с коронной фразой «Ага! Я так и знала!»
                                  • –2
                                    -
                                    • +1
                                      Для детей на Lego Mindstorms:
                                      https://www.robocamp.eu/egg-designer-for-mindstorms-ev3/

                                      правда конструкцию пришлось в некоторых местах укрепить посильнее.
                                      • 0
                                        Да, видел этот проект. Тоже с ребенком будем собирать и испытывать этот агрегат.
                                      • 0

                                        Огромное спасибо за этот пост. Все просто, доступно и прямо веет хорошим настроением! Это очень круто, что вы есть.
                                        Попробую собрать корпус из ПВА и палок. :)

                                        • 0
                                          Попробуйте. Потом напишите, что получилось.
                                        • 0
                                          а как решается проблема что яйца бывают разного размера?
                                          • 0
                                            1. Вылет оси регулируется при помощи крепежного винта. 2. Фломастер, также можно закрепить на любой высоте. 3. Можно рисовать, как на яйцеобразных, так и на шарообразных объектах за счет предусмотренной регулировки смещения центра вращения держателя маркера относительно центра вращения объекта.
                                            • Я не об этом, я про замкнутые геометрические рисунки, как нанести его чтобы линии сошлись в итоге?
                                              • 0
                                                Ну тут особой проблемы нет. Несмотря на то, что у яиц может быть разный диаметр вся длина его поверхности проходит перед маркером за один полный поворот шагового двигателя на 360 градусов. В приложенной сборке Inkscape есть шаблон, длина которого соответствует одному полному обороту.
                                                • А все, я понял. Они же в принципе бесшовные получаются и просто масштабируются за счет шаговика.
                                                  Спасибо!
                                          • 0
                                            Восхитительный пример качественного OS-проекта. Продуманный дизайн, хорошая реализация, замечательная документация. И много качественных рендеров и фото!

                                            Спасибо вам за проделанную работу. Пусть таких проектов будет больше, в них хочется участвовать и привносить.

                                            И вопрос: в подобных девайсах на приводе фломастера часто используется серва. Вы сразу поставили шаговик или были тесты с сервами? Есть ощущение, что с ней было бы проще и, возможно, дешевле (хотя, куда уже дешевле).
                                            • 0
                                              > И вопрос: в подобных девайсах на приводе фломастера часто используется серва. Вы сразу поставили шаговик или были тесты с сервами? Есть ощущение, что с ней было бы проще и, возможно, дешевле (хотя, куда уже дешевле).
                                              Там серва и используется — SG90. Шаговики только на осях.
                                              • 0
                                                Я имел ввиду ось (Y наверное, если продольная — X). Там, где нет циклической передачи (и угол перемещения укладывается в доступный диапазон сервы), кажется более простым использовать серву
                                                • 0
                                                  Понял. Надо подумать над этим.
                                            • +1
                                              Provlax, спасибо! За такими статьями я ежедневно захожу на geektimes!
                                              • –1
                                                cтатья действительно замечательная, а как вы отделяете статьи для труГениев от подобной, чтоб можно было дома паяльником с мегаЖалом собрать? ну или поделитесь своими закладками, мне было бы интересно, спасибо
                                              • 0

                                                На удивление хороший материал. Спасибо.

                                                • +1
                                                  и проект и инструкция супер
                                                  • 0
                                                    Впечатляет!
                                                    • 0
                                                      Это очень круто, большой респект, вы меня подтолкнули все таки купить 3д-принтер %)
                                                      • 0
                                                        На алиэкспрессе полно моделей в пределах 12-15 тыр. с почти мгновенной доставкой из РФ.
                                                      • 0
                                                        Интересная штука! Полагаю, хорошо будет в open source проекте выкладывать модели деталей не только в STL, но и в DXF.
                                                        • 0
                                                          DXF просто нету. Основную часть деталей проектировал в tinkercad, оно не умеет никаких DXF ))
                                                        • 0
                                                          честно? я бы купил себе такой )
                                                          • 0
                                                            Если нужны пластиковые детали, напишите в личку, я вам их распечатаю.
                                                          • +1
                                                            image
                                                            • 0
                                                              Инструкция великолепна, каким софтом вы её делали?

                                                              Хочется инструкции по составлению таких понятных инструкций.
                                                              • 0
                                                                Рендерил картинки в Autodesk Fusion 360, а верстал уже в Adobe Illustrator. Времени на инструкцию убил вагон, гораздо больше чем на проектирование печать, сборку и тестовые испытания.
                                                              • 0
                                                                Замечательный девайс! Спасибо за работу!

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