Reprap 세모 3D 프린터 만들기

andysheep의 이미지

3D 프린터를 만들 때 꼭 지켜야할 것 한가지.

전자 부품과 소자는 반드시 데이터 시트를 구해 성능 시험을 두서너 번은 해야 한다.

싼게 비지떡이라고 알리 익스프레스에서 헐값에 전자 부품을 사면 언제 고장날지 모른다는 사실
운임보다 물건 값이 싸니 판매자에게 반품처리를 할 수 있어도 돈이 더 들어간다.

작년에 E3D V6 열끝의 온도 저항 (Thermistor)가 부러져서 $20 이상 주고 영국서 사기 귀찮아서
국내 최대 (?) 전자 부품 판매 업체서 20 kOhm 온도 저항을 10개 샀다. 개당 몇백원이니 10개씩만 판다.

몇일 전 갑자기 아두이노 메가 보드가 고장이 났다.
다행히 한 만듬이 한테 아두이노 메가 보드를 얻어 붙여보니 꼬마 직박구리가 잘 동작.
그런데 Marlin 펌웨어 올리고 PID 값 맞추기하는데 온도가 들쭉날쭉해서 몇시간을 쏟았지만
열끝 온도가 10도 이상 바뀌니 인쇄 품질이 기준 미달.

100 kOhm 온도 저항을 붙이기 20 kOhm의 저항값을 멀티미터로 재어보니 데이타 시트에
나온 값의 절반에 머무르는 것이다. 뭔가 이상하다 생각이 들어 다른 20 kOhm 저항을
재보고, 멀티미터를 바꿔서 재봐도 7.5 kOhm 근처가 나오네.

데이터 시트 표에 10 kOhm 짜리 저항들은 7 kOhm 을 가지고 있네.
젠장. 20 kOhm인줄 믿고 10 kOhm 저항을 삽질해서 온도 테이플 만들어 여태껏 사용해 온 것이다.

20 kOhm 사고나서 열끝에 붙이기 전 멀티 미터로 저항값을 재지 않은 이유가 뭘까?
맹목적인 판매 업체에 대한 믿음이 작용했음이다.

싼게 비지떡은 진실이다.

상업 목적으로 만든 3D 프린터를 쓰려면 고장나면 운용을 못하는 핵심 부품과 소자를 두서너 개씩
미리 사놓아야 한다.

상업용 3D 프린터는 제조사들의 무상 보증 기간도 아주 짧다. 일반 개인용은 보통 구입 후 1년 까지지만
상업용으로 사면 1000 시간에서 2-3달로 보증 기간이 준다.

꼬마 직박구리로 1년 넘게 5 kg PLA를 찍는 동안 고장난 부품들이다.

온도 저항 (Thermistor):
열끝을 가끔 수리하는 중에 온도 저항이 끊어지기 쉽다.

아두이노 메가 (Arduino Mega 2560): RAMPS 1.4 쉴드보다 더 쉽게 고장이 난다고 알려져 있다.
중국서 직접 사면 개당 $11에서 $15이니 얼마나 싼가.
USB 칩이 나가는 경우에는 칩만 $5 주고 사서 바꿀 수는 있다.
Voltage regulator 인 AMS1117이 나가도 바꿀 수 있다.

Mariln 펌웨어가 지원하는 100 kOhm 것을 여러개 사놓거나 100 kOhm 온도 저항을 10개 사서
따로 온도 표 만들고, PID 값맞추기해서 쓰면 된다.

PLA 플라스틱 부품들:

크기가 작고 힘이나 진동을 계속 받는 3D 프린터로 찍어 만든 부품은 5-6개월 지나면 뿌러지거나
금이 간다.

세모 모델의 막대 끝 (rod end) 12개:

조립식 유격 발생을 줄이는 방법

쇠구슬을 냉동실에 10에서 20분 동안 넣어둔다.
컵에 뜨거운 물을 준비한다.
플라스틱 막대 끝 여러 개를 컵에 넣어 데우고 같은 수의 쇠구슬을 냉동실에서 꺼낸다.
쇠구슬을 막대 끝에 가볍게 눌러 넣는다.

Hot and cold assembly technique that produces tight fitting. A builder suggests that it reduces developing extra space of the press in procedure.

Put all metal balls in freeze compartment of the refrigirator for ten to twenty minutes.
Prepare hot water in a cup where you will put the plasic rod end
Put couple plastic rod ends in the cup to warm up and take out equal number of metal balls from the refrigirator
Gently press one metal ball into a rod end

완제품으로 나오는 플라스틱 막대 끝은 Igus로 한국 Igus에 주문하면 10일 정도 걸린다.

3mm 볼트로 막대 끝을 고정하는 쇠 막대 끝은 중국의 3D 프린터 부품 업체들에서 eBay나
관련 사이트에서 구할 수 있다.


2016/10

RepRapPro Fisher 고쳐 Steel Fisher 이름지은 3D 프린터 만듬

현재 내구성 시험 중으로 미친 듯이 모델 찍고 있음.
내구성 통과하면 2대 더만들어 3D 농장 생산 기계로 사용 예정.

사양:

제어보드: Duet
- 32bit ARM 프로세서
- 이더넷 네트워크 카드 포트, 마이크로 USB 포트
- 전원: 12V - 24V
- Nema 17 스테퍼 모터 드라이버 4개

틀: 두께 5mm 아래 철판, 위 철판
옆판은 두께 3 mm
레이져 절단용 AutoCAD 호환 DXF 파일들
http://www.thingiverse.com/thing:1397050
열끝: 노즐 지름 0.4 mm

https://www.youtube.com/watch?feature=player_embedded&v=p7gqpopH3gU

https://www.youtube.com/watch?feature=player_embedded&v=7wIEAol9Q74

B’Struder: Universal Bowden 1.75mm Extruder
http://www.thingiverse.com/thing:711401

2016/8 꼬마 직박구리 3D 프린터

전용 받침대
열끝 온도 센서 바꿈
실험용으로 LCD 컨트롤러 붙임
필라멘트 안내 장치

금속과 컨트롤러, 전기 장치 및 부품 빼고는 전부 다 바꿨음.

2015/6 꼬마 직박구리

드디어 시간당 2000원 선에서 부품 찍는 일을 시작했습니다.
정밀도는 0.00 mm에서 0.2 mm 사이로 필라멘트나 모델에 따라 조금씩 변합니다.

아래는 첫번째 주문 받은 코셀 미니 키트. 한 통에 1kg 짜리 PLA 필라멘트 반 정도 썼네요.
(1515 코셀 미니 키트는 부품 다 합쳐서 250g 근처지요.)

끝멈춤 부품 6개, 찍기 판 받침대 3개는 직접 설계한 거고,
바닥 틀 꼭지 (bottom vertex frame)는 부품 두개로 스테퍼 모터 붙일때 생기는 어려움을 없앴습니다.

그동안 코셀 미니 운용하며 경험하고 배운 것들 간단히 정리해서 올리고 Reprap 삼디 프린터 관련한 내용은 앞으로 http://forums.reprap.org/ 한국 게시판에 올릴 생각입니다. --

이름은 Kossel Mini

바닥 넓이는 약 400 mm x 40
0 mm, 높이는 600 mm 입니다.
바닥과 지붕은 정삼각형이고, 각 꼭지점에 600 mm 알루미늄 막대가 들어가고,
이 막대를 축으로 스테퍼 모터가 움직이는 벨트에 연결된 열총을 X, Y, Z축으로 움직여
PLA나 ABS 다발을 녹여 3차원 물체를 찍습니다.

예상비용은 30만원선. 과연 가능할까? 50만원 썼음.

원래 Kossel Mini 부품 안내서 (Bill of Materials)에는
알루미늄 프레임으로 - 알루미늄 막대를 Aluminium extrusion으로 부름 - 일본 미츠미나 OpenBeam사의 1515을 쓰고, 이것에 맞는 선형 이동장치를 이용합니다.
1515는 가로x세로 크기가 15 mm인 알루미늄 막대인데 한국에서는 알루미늄 프로파일로 불리고,
문제는 국내 알루미늄 막대 생산업체는 2020 이상부터만 만들어요.

1515 알루미늄 프로파일을 길이 600 mm 세개, 240 mm 9개를 미츠미에서 사도 5만원 정도 나옵니다.
여기에 선형 이동장치 (linear rail and carriage)는 길이 400 mm 한개에 4만원, 총 3개가 필요하니
12만원. 외국서 사면 배송비와 관부과세 18%가 붙어 22만원에서 25만원이 들어갑니다.

1515 알루미늄 프로파일 대신 국내에서 쉽게 구하는 2020을 사고, 선형 이동장치를 직접 만들면
5만원 근처에 할수 있겠다는 생각이 들었습니다. 2020짜리 알루미늄 프로파일은 지역에 있는
한 공장에 직접 찾아가 만원 정도 주고 샀습니다.

15 mm에서 20 mm로 프레임 크기가 커져서 부품 안내서에서 사용한 M3 볼트와 나사 1/3 정도를
더큰 볼트와 나사로 바꾸는데 약간 시행착오가 있었습니다. M3대신 M5 볼트 - 두께가 5 mm - 길이는
10 mm 짜리가 딱 맞더군요.

(참고로 2020 알루미늄 막대에 맞는 틀 부품 6개를 $30 주고 미국 판매자 한테서 추가로 구입을 했습니다.)

위 이미지에서 맨 윗부분에 해당하는 틀 조립에 성공.

꼭 있어야하는 계측기:
새부리 캘리퍼 (Vernier Caliper) - 0.05 mm 단위

머리 꼭지 틀 (Top vertex frame)에 들어가는 부품:
5x M5x10 cap screw
5x M5 nut
1x M3x25 screw
4x M3 washer
2x F623ZZ Flanged Bearing

공구:
4mm 알렌 렌치 (Allen wrench)

머리는 꼭지 틀 (vertex frame) 세개와 240 mm 알루미늄 막대 세개로 이루어짐.

가로보기 (Reference)

KOSSEL MINI BUILD GUIDE BY BLOMKER INDUSTRIES
http://blomker.com/Kossel_Mini_Assembly_Guide_V1.0.pdf

Forums: 
neuron의 이미지

탭 헨들이랑 탭도 있어야하는군요;;
진행하시면서 강좌 업데이트 하실건가요?

andysheep의 이미지

@neuron

예. 끝이 어떻게 되든 다 올리려고 합니다.

꼭지 틀 (Vertex frame) 다듬기

9개 알루미늄 막대를 조립하기 전에 6개 꼭지 틀 길을 잡아줘야 합니다.
아마 이 작업이 가장 주의를 기울여야하고 사용하는 공구도 많다고 봅니다.

제가 산 2020 알루미늄 프로파일이 실제로 캘리퍼로 재보니 20.25 mm로 0.25 mm가 더 커서,
2020 용 꼭지 틀 6개 구멍에 넣기 위해서 0.3 mm 정도 폭을 넓혔습니다.

공구 (Tools):
새부리 캘리퍼 (Vernier caliper): 0.05 mm unit
망치 (Hammer): 작은 것, 중간 것 (small, medium size)
작은 사각 줄 (Small square file): 폭이 8mm 이하면 2020용으로 적당함
작업대 바이스 (Bench vise)
씨 클램프 (C clamp)
길이 15 cm 이상, 지름 6 mm 정도의 볼트나 쇠봉: 꼭지 틀에 알루미늄 막대 넣고나서 빼낼때 씀
작업 칼 (Utility knife):
직각 자 또는 (정밀 직각자): 꼭지 틀에 알루미늄 막대 넣을 때 수직을 재는데 씀
Precision engineering square
나무 망치 또는 네모난 나무 조각: 알루미늄 막대를 쳐서 넣고 뺄때 망치로 인한 우그러짐을 막아줌.

꼭지 틀은 받침에 쓰이는 두꺼운 3 개,
머리에 쓰이는 얇은 3개임.

새부리 캘리퍼로 꼭지 틀의 네모난 구멍의 크기를 재고 사용하는 알루미늄 막대 크기와 같으면,
예를 들어 알루미늄 막대 크기가 20.00 mm 이고, 꼭지틀 네모 구멍 크기가 20.00 mm면
사각 줄로 구멍 안쪽 갈아 20.10 mm나 20.05 mm 정도로 넓힙니다.

그다음 아래와 같이 작업대 또는 책상에 꼭지 틀을 바로 놓은 뒤 알루미늄 막대 240 mm 짜리 한개를 꺼내
꼭지 틀 위에 놓고 직각자로 수직을 맞춘 뒤 나무 망치를 쓰거나 평평한 나무 조각을 알루미늄 막대 위에 대고
적당한 힘으로 여러번 칩니다. 수직이 맞아 똑바로 들어가서 자리가 잡히면 그다음 부터는 좀더 세게 쳐서 꼭지틀
바닥까지 알루미늄 막대가 들어가도록 합니다.

꼭지틀 바닥까지 알루미늄 막대를 넣음

받침용 꼭지 틀은 두껍기 때문에 바이스나 씨 클램프에 단단히 고정시킨 후 알루미늄 막대를 쇠봉이나 긴 볼터 앞에
작은 나무 토막을 대고 쳐서 빼냅니다.

아주 꽉 낄때 알루미늄 막대를 계속 쳐넣으면 플라스틱 꼭지가 아래처럼 일부 깨질 수 있으니 주의 하세요.

알루미늄 막대 넣고 뺀 작업후 길이 잡힌 머리 꼭지 틀

가로보기:
T3P3 Kossel Mini Kit
Assembly Instructions
Chapter 1 – Printed Parts Preparation http://www.think3dprint3d.com/

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

바이스가 참 예쁘게 생겼습니다...
결코 취미가 아니신듯 합니다.
공방까지 갖추신듯하네요;

알루미늄 2020이라 하시길레 위키도 뒤져보고, 구글검색도 해보고 해서 2020이 합금 명칭이 아닌 20x20이라는걸 겨우 알았습니다;;
저도 3d 프린터를 한번 만들어봐야지 하고 있는데, 기성품을 사자니 비싸고, 만들자니 아무 지식도 없어 군침만 흘리고 있는 상태인데
andysheep님의 강좌?를 보니 호랑이 기운이 샘솟을려고 합니다.
(하지만 extruder kit이랑 필라멘트까지 더하면...)

스테퍼 모터와 드라이버 선정이 궁금한데 다음편이나 다다음편즈음 올라오겠지요? =)

andysheep의 이미지

@neuron

월 만원짜리 화재/도난 보험들은 작업실이 있어요. ^^ 아마 보통 사람이 3D 프린터 제작하려면 10만원 정도 기본 공구랑 바이스 같은 장비를 사야할 겁니다. 고물상이나 헌 자재점에 이용하며 시장 값보다 1/3 정도에 기본 수공구는 장만할 수 있다고 봐요. 망치나 클램프, 바이스 같은 건 몇천원에 사서 적당히 청소해 쓰면 됩니다.

3D 프린터용 필라멘트 한 다발에 몇만원 하니까 비싸지요. 전 ABS랑 PLA 필라멘트 기계 (Filament Extruder) 만들어서 원재료 몇 kg 단위로 사서 필리멘트 필요한만큼 만들어 쓸 생각입니다. 사출기도 직접 만들면 제작비 10만원 이하로 할 수 있어요. 이것도 제작과정은 올려야지요.

스테퍼 모터는 http://reprap.org/wiki/Kossel#Bill_of_Materials 에 있는 Kysan NEMA17 샀습니다.
구입은 http://www.tridprinting.com/에서 다른 부품들과 함께 했습니다.

오픈 소스 3D 프린터 바닥에서는 중국의 Aliexpress란 업체가 외국에서도 알려져 있는데, 저도 여기서 RAMPS 1.4 키트를 $35 주고 샀어요. 문제는 판매자 배송비 부담으로 사면 주문부터 받기까지 3주에서 한달 정도 마냥 기다려야 합니다. 이 업체서 무료배송으로 3D 프린터 관련 전자부품 사면 미국보다 거의 절반값에 살 수 있더군요. 그래도 처음 만드는 3D 프린터라서 질보다는 가격으로 부품들을 사모았습니다.

--

제작 순서가 원래 가로보기에 나오는 문서들과는 약간 틀립니다.
나중에 시간나면 정리를 하지요.

받침대 (Base assembly)에 NEMA 17 스테퍼 모터 하나가 붙는 꼭지 틀 3개와
알루미늄 막대 240 mm 짜리 6개가 들어갑니다.

부품:
NEMA17 스테퍼 모터 (Stepper Motor) x1
GT2 알루미늄 이빨 16개 풀리 (Aluminium 16 Teeth Pulley) x1
셋 스쿠루 (Set Screw - 풀리 키트 사면 풀리 한개에 두개씩 줌) x2
2020 받침 꼭지 틀 (Base vertex frame for 2020 Aluminium extrusion) x1
M3x10 캡 스쿠루 (cap screw) x4
원래 제작 안내서에는 M3x8, 지름이 3 mm, 스쿠루 길이가 8 mm인 것을 쓰는데
저는 두께 1 mm 고무판으로 만든 진동 흡수판을 써서 스쿠루 길이 10 mm를 썼어요.
진동 흡수 판 (vibration damper)은 선택 사항임.

공구:
1.5 mm 알렌 렌치
2.5 mm 알렌 렌치
작은 사각 줄
작은 둥근 줄
대붙이형 직각자 (Engineering square): 80 mm x 125 mm가 좋음
공구점에서 무늬만 국산인 BLUEBIRD란 상표 제품은 만오천원 정도면 살 수 있어요.
(일제는 몇배 비쌈)

이 작업에 쓰는 공구들이랑 M3x10 스크루 - 사각 줄, 둥근 줄 (다이아몬드 코팅), 2.5 mm 알렌 렌치

GT2 풀리, 셋 스크루 2개, 1.5 mm 알렌 렌치

풀리를 스테퍼 모터 축에 끼운 후 직각자를 대고 셋 스크루로 풀리를 고정하기 전에 끝을 정확히 맞춥니다.

스테퍼 모터를 붙이기 전에 꼭지 틀에서 모터와 알루미늄 막대 4 개가 닿는 면과 스쿠루 구멍을 사각 줄과
둥근 줄로 다듬습니다. 눈에 보이는 플라스틱 조각은 밀어내고, 사각 줄로 몇번 밀면 울퉁불퉁한 곳을 깍아서
접촉면이 일정하게 합니다.

M3x10 스크루 네개를 끼워보고 수직과 머리 수평을 확인.

방금 위에서 사용한 네개 스크루를 붙이고자 하는 스테퍼 모터 스크루 구멍에 끝까지 손으로 돌려 끼워서
쓰레드 상태 및 깊이 확인. 들어간 깊이가 모두 같은지 확인하려면 캘리퍼로 스크루 길이를 머리부터 끝까지 재고,
아래 이미지와 같이 스크루 끼운 뒤 캘리퍼로 스쿠루 머리부터 모터 면까지 거리를 잽니다.
스크루 길이에서 이 거리 값을 빼면 들어간 깊이가 나옵니다.

꼭지 틀에 M3 스크루 네개를 (고무 충격판도) 끼우고, 스테퍼 모터를 축이 위로 향하게 놓습니다.

아래처럼 스테퍼 모터 스크루 구멍 위치에 맞춰 꼭지 틀을 올려 놓고, 두손의 손가락 - 엄지, 검지, 중지 - 또는 한 손의 엄지와 검지를 써서 스크루 네개를 한번에 조금씩 모터 구멍에 돌려 끼웁니다. 이 작업에서 제일 시간이 많이 걸리고, 어려운 부분입니다. 손가락 만으로 돌려 스크루 네개 모두 머리가 플라스틱 면에 1 mm정도 까지 들어가야 잘맞은 상태입니다. 만약 스크루 하나가 다른 세개와 비슷한 깊이로 들어가지 않을 때는 원인을 찾아서 해결해야 합니다. 이런 경우를 두번 겪었는데 꼭지 틀의 스크루 구멍 하나를 둥근 줄로 조금 더 넓게 갈아냈습니다.

스크루 네개가 모두 머리가 플라스틱 면에 닿는 깊이까지 들어갔으면 2.5 mm 알렌 렌치의 둥근 육각 머리를 써서 스크루가 더이상 들어가지 않을 때까지 몇번에 걸쳐 조금씩 조여줍니다.

스테퍼 모터 붙이기가 끝났으면 여러 방향에서 꼭지 틀과 스테퍼 모터 조립 상태를 눈과 손으로 확인합니다.




다른 두 꼭지 틀에 스테퍼 모터를 같은 방법으로 답니다.

꼭지 틀 세개에 스테퍼 모터 붙이기가 모두 끝난 모습

스테퍼 모터 3개 붙이기가 끝나면 제일 쉬운 작업인 M5x10 스크루와 M5 나사를 2020 알루미늄 막대 붙임 구멍 10개에 끼워넣기를 하는데, 다음에 올리지요.

참고로 1515 알루미늄 프로파일 쓰는 꼭지 틀과 2020 짜리 비교 사진 올립니다.
Kossel Mini 조립 플라스틱 부품을 이베이에서 샀는데, 끝마무리와 완성도가 개인이 찍어 파는 것 보다는 뛰어납니다.

선택 사항은 충격 흡수판 (vibration damper) 만들기

Astrosyn이란 회사에서 NEMA 17 충격 흡수판을 만들어 팝니다.
http://astrosyn.com/shopimages/technicaldatasheets/MY17RMDAMP%20Technical%20Datasheet.pdf

http://www.tridprinting.com/Electronics/#Stepper-Motor-Dampers 에서는
개당 $7씩 파네요.

완제품이라 폼도 나고 충격 흡수 기능은 당연히 있는데 물건 값이 싸더라도 배송비가 걸리지요.
딱딱한 플라스틱과 금속 모터 몸통 사이에 충격을 흡수하는 얇은 고무판이나 실리콘을 넣어써도 됩니다.

두께 1 mm 짜리 가로 x 세로가 300 mm x 300 mm 짜리 고무판을 공구상에 있는 재료상에서 삽니다.

NEMA 17 스테퍼 모터의 몸통 크기는 가로와 세로가 42 mm x 42 mm 이니, 이 크기에 맞게
고무판을 잘라 정사각형 네개를 만듭니다. 저는 그냥 대충 가위로 잘랐어요.

모터 축이 나오는 가운데 원이랑, 네개 볼트 구멍 위치만 잘라내는 방법은
두께 0.5 mm 정도의 포장지나 문구점에서 파는 도화지를 42 mm x 42 mm로 자릅니다.
그다음 이 정사각형에 대각선 두개를 자를 대고 그어, 원을 그릴 중심을 찾은 뒤
콤파스나 캘리퍼로 모터 축을 감싼 튀어난 부분의 지름을 재고, 이 값보다 몇 mm 더크게
지름을 만들어 정사각형 가운데 그립니다.

구멍 위치는 모터에서 하나만 정해 몸통 끝이나 축에서 거리를 잰 뒤, 종이 정사각형에
네곳에 표시를 합니다.

종이 정사각형 가운데 원을 작업용 칼로 오려내고, 고무 정사각형 네개에 한번씩 올려놓고
원을 오려내고, 스크루 구멍 위치를 표시하는데 씁니다.

지름 3 mm 원 구멍을 고무판에 만드는 건 힘드니, 가위나 작업용 칼로 적당한 크기로 도려냅니다.

스테퍼 모터를 붙이기 전에 고무 충격 흡수판을 올려서 스크루 구멍 위치를 확인합니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

부품:
스테퍼 모터 붙은 꼭지 틀 x3
M5x10 스크루 x30
M5 너트 x30
240 mm 알루미늄 프로파일 x6

한 꼭지 틀에 들어가는 부품:
M5x10 스크루 x10
M5x10 너트 x10
240 mm 알루미늄 프로파일 x2

공구:
4 mm 둥근 머리 알렌 렌치
길이 15 cm 이상 직각자나 대붙이 직각자

꼭지 틀에 알루미늄 프로파일 붙이는 원리는 M5 너트를 가운데 홈으로 넣고, M5x10 스크루를 조이면
스크루가 너트 안으로 들어가며 알루미늄 프로파일을 꽉 뭅니다.

풀린 상태

조인 상태

꼭지 틀에 있는 10개의 구멍에 M5x10 스크루와 M5 너트를 느슨하게 설치합니다.

아래처럼 꼭지 틀에 240 mm 알루미늄 프로파일 2대를 붙입니다.

알루미늄 프로파일을 밀어 넣을 때 너트는 위와 아래가 바닥과 수평이 되도록 합니다.

스테퍼 모터, 알루미늄 프로파일이 붙은 받침 꼭지 틀 3개를 아래처럼 정 삼각형으로
평평한 면 위에 놓습니다.

세 꼭지 틀 모두를 조금씩 밀어 알루미늄 프로파일 2대가 마주보는 꼭지 틀 M5 볼트에 들어가도록
합니다.

세 꼭지 틀이 240 mm 알루미늄 프로파일 6대로 결합되고 나면 4 mm 알렌 렌치의 둥근 머리를
이용해 24개 M5x10 스크루를 하나씩 돌려가며 조여 받침대를 단단히 만듭니다.

받침대가 단단하다고 느껴지면 직각자로 세 변을 이루는 알루미늄 프로파일들의 수직을 직각자로
확인합니다. 위와 아래 알루미늄 받침대와 직각자가 만나는 면에 틈이 없으면 수직이 잘맞은 상태입니다.

받침대 수직 확인이 끝나면 머리를 위에 올려놓고, 두 몸틀 사이에 수직을 확인합니다.
직각자로 옆 면의 수직 확인

눈으로 받침대와 머리의 일치 상태 확인

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

일산 직각자가 직각이 잘나오더군요.
가격이 여섯자리 숫자였던걸로 기억합니다.

세모 반듯하게 구동부?가 완성되었네요.
퇴근하시고 저녁시간대에 저렇게 만드시는건지요?

andysheep의 이미지

@neuron

어제는 아침부터 비가 와서 집에서 쉬면서 하루 종일 Kossel Mini 조립일 했습니다.
보통 때는 일주일에 대여섯 시간 정도 쓴듯 합니다. 2020 알루미늄 막대에 맞는 스크루가 M5x10
이라는 걸 찾는데 몇주 걸렸지요.

--

부품:
구슬 관절 (Traxxas Ball joint) x12
봉 끝 (Traxxas Rod End) x12
고정 스크루 (Set Screw) M4x20 x12
길이 180mm, 내경 4mm, 탄소 봉 (Carbon Tube) x6

아래 부품들은 밀기 봉 본드로 굳힐 때만 사용함
M5x10 캡 스크루 x12
M5 너트 x12
240mm 알루미늄 막대 x6
600mm 알루미늄 막대 x1

소모품:
조립 안내서에는 천천히 굳는 에폭시 접착제 (Slow setting epoxy glue)라고 써있는데,
유명한 돼지표 p.v.c 강력 접착제 한통을 700원 주고 샀음.
납작한 나무 조각
가로x세로 20 mm 크기 정도의 포장지 조각

공구:
긴 코 집개 (Long nose plier)
M4 (0.7 pitch) 탭 (tap)
씨 클램프 (C Clamp) x2
대붙이 직각자
새부리 캘리퍼

가로보기 문서:
Kossel_Mini_Assembly_Guide_V1.0.pdf

포장지 조각, 긴코 집개, M4 탭, 씨 클램프, 대붙이 직각자

구슬 관절들과 봉 끝들. 구슬 관절은 크기가 완두콩알 보다 작습니다.

조립 안내서에는 구슬 관절을 봉 끝에 넣는 방법이 빠져 있어서 고안을 했습니다.
씨 클램프 아래 구슬 관절과 봉 끝, 나무 판을 올려두고, 씨 클램프 손잡이를 돌려서 누르면
구슬 관절이 봉 끝에 들어가면서 나무가 약간 들어갑니다. 망치로 박기에는 부품들이 너무 약해 보입니다.

12개 봉 끝에 구슬 관절을 모두 넣음

M4x20 고정 스크루

봉 끝 안에 M4 고정 스크루가 들어가는 홈을 M4 (0.7) 탭으로 만들어야 합니다.
M4 탭을 봉 끝에 손으로 넣고 돌려 자리가 잡힐 때까지 아래처럼 수직 수평을 유지할 수 있게 했습니다.

M4 탭으로 12 봉 끝에 스크루 홈을 만들고, 봉 끝 한개씩 손으로 집어 M4x20 고정 스크루를
10mm 깊이로 끼워 넣습니다. 손가락으로 끼워 넣어 2/3 정도 들어가면 남은 몇 mm는 스크루에
포장지를 감고 긴코 집개로 눌러 10 mm까지 들어가게 돌립니다.
남은 스크루 길이는 새부리 캘리퍼 깊이자로 재서 10mm 일때 멈춥니다.

여기서 봉 끝에 들어가는 M4 스크루 길이를 꼭 10 mm로 맞출 필요는 없습니다. 스크루가 단단하게
봉 끝에 고정시키는 것이 제일 중요합니다.

안 지름이 4mm인 탄소 봉 6개, 길이가 모두 180mm인지 확인합니다.

탄소 봉 하나에 봉 끝 두개를 붙여, 6개 밀기봉의 길이 확인합니다.
여기서 길이 차이가 생기는 밀기 봉이 생기면 사포나 줄 또는 절단기로 탄소 봉을 다듬어 길이를
조절합니다.

밀기 봉 길이 확인 후 부품들 분해

바닥이 평평한 책상이나 작업대 또는 테이블에 600 mm 알루미늄 막대를 놓고, 나무 토막 위에
씨 클램프로 물어 고정시킵니다.

밀기 봉 6개 작업 시간은 30분 안쪽 입니다. 한개 만드는데 5-6분, 접착제가 굳는 시간은 사용하는 접착제 마드 틀리니 몇시간에서 하루 사이입니다.

말기 봉 한개씩 만들어 고정시킵니다.
탄소 봉 x1
봉 끝 x2
240 mm 알루미늄 막대 x1

몇분 이내에 굳는 접착제 사용은 피합니다.
제가 사용한 돼지표 접착제는 굳음 시간이 60분 정도 걸린다고 하는데, 조립 가이드에 따라 24시간
동안 240 mm 알루미늄 막대에 고정을 시켰습니다.

봉 끝 한개를 집어 스크루에 고루 접착제를 바르고 탄소 봉에 끝까지 집어 넣습니다.
봉 끝의 다른 한쪽에 봉 끝 하나에 접착제를 발라 집어 넣습니다.
정확히 봉끝의 수평, 수직을 만드는 방법은
240 mm 알루미늄 막대 오른 쪽에 M5x10 스크루와 나사를 끼워 넣습니다.
이 알루미늄 막대에 가운데 홈에 밀기 봉을 올려놓고 왼쪽에서 오른 쪽으로 밀어 M5 나사가 600 mm 알루미늄 막대에
닿게 합니다. 그다음 4mm 알렌 렌치로 M5x10 스크루를 조여, 봉 끝이 스크루 머리와 알루미늄 막대 사이에 눌리게
합니다.

밀기 봉의 왼쪽 끝 봉끝은 손으로 M5x10 스크루와 M5 볼트로 넣어 봉끝에 약간 압력을 가한 뒤 스크루를 조여
고정시킵니다.

주의 사항은 두 봉끝과 탄소 봉이 알루미늄 막대와 닿는 부분의 사이가 눈으로 자세히 봐서 곧은지 확인을 합니다.
여기서 두 봉끝이 서로 뒤틀리거나 너무 세게 압력을 가해 탄소 봉이 휘이면 나중에 물체 찍을 때 오차가 커집니다.

나머지 5개 밀기 봉도 위와 같이 해서 240 mm 알루미늄 막대 5개에 고정시키고, 한두시간 지난 후에는 접착제가 완전히 굳을 동안 놓을 곳에 옮겨둡니다.

접착제가 다 굳은 6개 밀기 봉 길이 확인.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

작업속도가 엄청나시네요.
블로그?에 잠깐 들렀었습니다.
전부 영어라서 눈 몇차례 비비고, 한숨 몇번 쉰다음 즐겨찾기 등록했습니다.
천천히 탐독하겠습니다 :)

andysheep의 이미지

@neuron

블로그는 동기부여 수단으로 중요한 프로젝트나 물건 만들때는 일기 형태로 쓰기 시작을 했습니다.
대부분 사진이지요.

취미든 필요든지 오픈 소스 하드웨어하는 이들은 공통점이 가진 건 시간과 찾으면 방법이 있다라는
자세더군요. 돈주고 기성품 사서 쓰지 뭔 짓이냐고 보통 사람들은 보지만, 시장에 팔리는 제품의
1/5에서 1/10 비용으로 기계 만들때 성취감이 짜릿하더군요. 그래서 계속 깊이 파고 들고 있습니다.

--

Kossel Mini 모델에서 사용한 리니어 레일 (linear rail)이 사진과 규격인데요.

다른 방법은 V (groove) bearing 쓰기
V 바퀴 (wheel) 쓰기
Din rail에 V bearing 쓰기가 나와있네요.
규격에 맞는 Din rail 사서 자르고, T 너트 여러개로 알루미늄 막대에 고정, V bearing 몇개 쓰면 싸게 리니어 레일 대체할 수 있다고 봅니다.

제가 고안한 방법

어제 L 블럭 가공해서 파는 신진 에스엠에 가서 세개 주문하고 왔습니다.

700원짜리 돼지표 접착제를 쓴 밀기 봉의 내구성에 약간 걱정이 듭니다.
봉 끝과 탄소 봉 이음새에 한번더 금속 에폭시를 입힐까 생각을 해보고요.
NEMA 17 스테퍼 모터를 다음 주에 전원공급기랑 전선, 부품들 사서 RAMPS 1.4에 붙여 동작 시험먼저 해볼까, 기타 등등.

남은 3D 프린터 플라스틱 부품들
오른 쪽에서 두번째 열의 세개가 리니어 레일에 블럭에 붙어 스테퍼 모터에 각각 연결된 타이밍 벨트로 움직이는 부품입니다.
여기에 밀기봉 두개씩 붙습니다.
왼쪽 맨 아래의 별 모양으로 생긴 부품이 Effector로 세 기둥에 연결된 밀기 봉 6개가 붙어서, 물체를 찍을 때 X, Y, Z 축으로
움직이도록 합니다.

Mini Delta Robot

Delta (삼각) 모델인 Kossel Mini로 결정하기 전에 푸르사를 살펴봤어요.

Prusa Mendel

Prusa i3로 최신 버젼에 속합니다.

푸르사 모델의 단점은 XY 면, 물체를 찍는 판 전체를 움직여서 X 위치를 정합니다. 때문에 판을 지지하는 틀을 고정하는 부품에 잦은 동으로 사이가 벌어져 (backlash) 사용 시간이 지나면서 오차가 커진다고 합니다. Prusa 사용자들은 이런 단점을 덮어두고 쓰더군요.
그리고 Z축은 스테퍼 모터 2개로 움직이기 때문에 모터 중 하나가 고장나거나, 벨트가 늘어지면 3D 프린터를 고쳐야 합니다.

또한가지 단점은 Z축 이동은 볼트 봉을 회전시켜 움직이니까 찍는 속도가 벨트를 써서 직선 운동하는 Delta형 보다 느립니다.

합판이나 볼트 봉의 재료가 가지는 가공 오차 한계도 크지요.
레이져로 합판을 정확히 잘라서 틀로 써도, 나무는 페인트나 화학물질을 발라 방수를 하지 않으면 습도에 따라 크기가 늘어났다 줄었다 합니다. 그럼 볼트랑 나사의 조임 사이가 떠요.

알루미늄 프로파일 (aluminium extrusion)은 보통 철재보다 10배 정도 비쌉니다. 2020 알루미늄 프로파일을 미터당 3,000원에 사는데, 비슷한 두께의 철봉은 6미터에 7천원이면 사지요. 철재 파는 업체는 대부분 6미터 단위로 팝니다. 이런 철봉이나 철 막대는 정밀도가 떨어지니 표면 가공을 따로해야 하는데, 배보다 배꼽이 더 큽니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

델타 타입은 사출기를 고정시키는 평행봉?과 특이한 형태의 베어링,
그리고 제작시 120도라는 일반적이면서도 저같은 초보자에게 힘든 각도가 가장 큰 장애물입니다.

3D 로 제작된 부품들과 베어링을 가까운 곳에서 구할 수 있다면 저도 당장 도전해보고픕니다.

andysheep의 이미지

@neuron

가까운 곳을 찾으신다면 한국 미츠미 쇼핑몰 이용하면 1515 알루미늄 프로파일부터
베어링, 스크루, 너트까지 거의 다 구할 수 있습니다. 가격이 비쌉니다.

옆나라 중국의 Aliexpress에서 무료 배송 옵션으로 3D 프린터 관련 전자 부품,
기계 부품, 소재 사면 비용을 많이 줄일 수 있는데, 단점은 배송 기간이 20일에서 한달
중간에 배송 상태 조회를 못합니다. EMS나 UPS 배송을 신청하면 더 빨리 받지만 $25에서
$30 이상 나가지요.

전 배송 대행 업체를 통해서 미국서 물건 구입은 여러 쇼핑몰에서 직접하고, 물건 여러개
한꺼번에 묶어서 한국으로 보내고 있습니다.

3D 프린터 플라스틱 키트는 1515용은 eBay에서는 $40 근처, 일반 3D 프린터 업체에서
$50 근처에 팔고 있습니다.

Kossel Mini 3D 프린터 키트 제일 싼 것이 $370였는데 운임은 $60,
관부가세 18% 붙으니 45만원 정도 나왔습니다.

디바이스마트에서 파는 3D 프린터 부품과 재료는 외국의 두배 가격, 아주 제한적이지요.

주변에 공장 자동화 설비나 기계 제작 분야에 일하는 이를 알고 계시면 아마도 국내에서
Kossel Mini 제작 관련 부품은 모두 구할 수 있을거라 봅니다. 그런데 이런 3D 프린터 고수는
어디에 숨어있는지...

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

L 블럭 세개를 공장에 주문해서 5일 만에 받았는데 두께를 재어보니 한개는 0.1 mm 두껍게 나오고, 다른 건 2 mm 길더군요.
플락스틱 제작 오차가 0.03 mm인 3D 프린터를 만들고 있는데 부품 오차가 규격보다 3배 넘게 나오면 완성품에 오차가 생길건 뻔합니다.

이래 저래 10일 정도 걸려 기계 공작소에서 볼트 구멍 뚫은 L 블럭 세개 만드는데 4만원 정도 들어갔는데 완성도와 정밀도 부분에서 기대치에 못미쳐서 제 방식은 버리고, 가장 편한 리니어 레일쪽으로 갈려고 합니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

익명 사용자의 이미지

전 나무로 cnc 를 만들었읍니다
3d cnc 입니다
제일 큰문제가 스핀들모터입니다
일단 3만냥짜리 2만 rpm 정도 하는것
달앗는데 소비전력도 그렇고 제일 큰문제가
척경이 4밀리가 한계라서 엔드밀을 물리지 못하고 있읍니다
혹시 추천할만한 드릴이나 저렴한 스핀들있으면 부탁합니다

익명 사용자의 이미지

현재 달려있는거는 일반 초고속 드릴입니다

andysheep의 이미지


전 CNC는 다루어 본적은 없는데요.
잠깐 찾아보니 Spindle motor는 300W 넘는 건 20만원 이상이네요.

소형 목공용 라우터를 Spindle motor 대신 쓸수가 있는 구조라면
괜찮을 거라 봅니다. 제가 본 Bosch사 1000W, 속도 조정되는 모델은 Endmill은 최대 6 mm 까지 사용할 수 있더군요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

익명 사용자의 이미지

10시간 풀로 작업으로 한달 돌렸읍니다
500w 이상 올라가면 저 집에서 쫒겨납니다
감사합니다 ㅠㅠ

andysheep의 이미지

길이 400 mm 짜리 리니어 레일 (Linear rail) - LM Guide와 LM block - 세 벌을 지난 주에 165,000원 주고 샀습니다.
티 너트는 개당 150원씩 M3 스크루나 볼트에 맞는 걸로 60개 사는데 9,000원 들었습니다.


오늘 전체적인 몸틀 만들기를 거의 끝냈습니다. 타이밍 벨트 걸고 남은 몇가지 부품만 붙이면 기계적인 부분은 다 끝납니다.

시간이 나는데로 진행 과정 정리해서 올리지요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

제작 설명서에는 빠져있는 조립시 주의해야할 점 몇개가 숨어있더군요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지


RAMPS 1.4 키트를 두달 전인가 Aliexpress에서 $35에 샀습니다.

RAPMS 1.4 키트:
- Arduino Mega 2560 R3 x1
- RAMPS (RepRap Arduino Mega Pololu Shield) 1.4 Controller x1
- A4988 Stepper motor driver module x5
- Heat sink (방열판) for A4988 x5
- RAPMS 1.4 2004 LCD control module x1
- LCD cable
- USB cable

끝멈춤 스위치 (Endstop switch) x4

Missing parts:
전원기 (Power supply) x1
전선, 접속개들 (Wires, connectors)
Heater cartridge

Kossel_Mini_Assembly_Guide_V1.0.pd, p180
전자 부품 연결 다이어그램

외국서 주문한 부품들 받는데 다시 2주에서 3주 기다려야 합니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

요즘 andysheep님의 자작 로그를 몇번씩 살펴보면서 엄청난 갈등에 휘둘리고 있습니다.
스텝모터 드라이버를 구하느니, 가지고 있는 irfp460 16개랑 캐퍼시터 몇개로 ramp 회로도를 본따서 직접 드라이버를 만들까 하는 유혹도 들고
알리ㅂㅂ나 타오ㅂㅇ에서 배송할까 하는 유혹도 들고..

조만간 사고를 한번 쳐야겠습니다 :)

익명 사용자의 이미지

계속 연재 하시군요
나무cnc 만든 사람입니다
만든지는 1년 정도 되구요
저번에 모터 찾다가 초경 엔드밀로 사요하면 무난해서 사용하고 있읍니다
그리고
혹시
제스펙은 3d플그램+콘트롤러+음성인식 모두 자작인데요
이거 만든지 1년정도 됩니다
물론 소형화가 목적입니다
아직 나모델이라 테스트조금 더하고 소형화들어가서 상품화 할려고 합니다
로봇이야 마니 나왔지만 음성인식 cnc는 없는지라 상품화해서 gpl 등에 업고 광고를 할까 생각중입니다
혹시 특허를 누가 내어 놓았으면 gpl상표 배포가 안되는지 궁금합니다

andysheep의 이미지

@neuron

부품 구매 전에 연락 주세요.
기계쪽 부품은 한번에 다 구할 수 있게 판매자랑 부품 목록 알려드리지요.

저는 Hotend랑 부품 몇개 외국에 주문해서 2주에서 3주 또 기다려야 합니다.
그전에 필라멘트 뽑개 (Filament extruder) 부품 사서 만들까 말까 궁리중이네요.

http://www.deltaprinter.co.za/filamentextruder/index.html

@익명 사용자

특허 출원 업체나 변리사 통해서 관련 특허 검색 해보세요.
기술 특허는 아이디어나 기능은 똑같아도 구현 절차만 틀리면 특허 낼 수 있고,
이런 방식으로 업체들이 특허 피한다고 알고 있습니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

익명 사용자의 이미지

비슷한게 무진장 나왔어 포기하였읍니다
정말 세상에는 날아다니는분들이 많다는것만 깨닳았읍니다
변리사 이런분들 만난적이 있읍니다
백단위로 생각하시든데
특허낼 형편도 안되구
특출난게 없읍니다
대부분 오픈소스에서 배운것이라 욕심도 없구요
감사합니다^^*

andysheep의 이미지

세 축 (Vertical frame assembly) 달기

부품:

600mm 알루미늄 막대 x3

공구:

나무 토막과 작은 망치(나무 망치)
작은 쇠줄 또는 지름 5mm 정도의 드라이버
M5 스크루 육각머리에 맞는 알렌 렌치
헤어 드라이

받침대의 한 꼭지틀에서 알렌 렌치로 M5 스크루 두개를 풀고 너트를 빼냅니다.
알루미늄 막대를 곧게 받침대의 꼭지틀에 맞추고 맨 위에 나무 토막을 대고 망치로 살살 칩니다.
너무 빡빡하다 싶으면 헤어 드라이를 미지근한 온도에 놓고 몇분 정도 꼭지틀 플라스틱을 데웁니다.
주의할 점은 뜨거운 온도에 놓고 몇분 바람을 씌우면 PLA로 만든 꼭지틀이 고무처럼 물렁물렁해집니다.

알루미늄 막대 끝이 꼭지틀 바닥까지 나오면 나머지 알루미늄 막대 두개를 받침 꼭지틀에 위 방법대로
박습니다.

그다음 꼭지틀 하나마다 다시 M5 스크루 두개와 M5 너트 두개를 끼우고 적당히 조입니다.

끝막개 조립 (Endstop Assembly)

부품:

끝막개 x1
M3x8 스크루 x1
T 너트 (2020 알루미늄 프로파일용) x1

M3 스크루에 맞는 2020용 T 너트 수십개를 개당 150원씩 주고 샀습니다.
이유는 M5 너트를 쓰려면 알루미늄 막대에 붙이는 플라스틱 부품 모두에 난 M3 구멍을
탭이랑 드릴로 갈아서 5mm 지름으로 늘려야 하는 작업을 하기 싫었습니다.

공구:

십자 드라이버
작은 쇠줄

T 너트에 걸리는 부분을 쇠줄로 갈아냅니다.

조립이 끝난 여섯개 끝막개

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

0.1" (2.54mm) Crimp Connector Housing이라 불리는 점퍼 스위치만한 플라스틱에 암 (female) 핀 두개를
넣고 전선 두개를 붙여야 합니다. 이 작업이 필요한 횟수가 5번 정도 입니다.
끝멈춤 스위치 4개, 온도 저항 (thermistor) 한개.

엘레파츠에서는
점퍼케이블용 터미널 (Terminal-2653)
점퍼케이블용 2P 커넥터 (CH254-S-2P)

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

시간이 꽤 흘렀는데 프린터 진행상황이 궁금합니다.
블로그에 들렀었는데 요즘은 다른 일을 하시느라 많이 바쁘신 것 같습니다.
열정과 작업 환경이 부럽습니다.

ramps 호환 mks base를 어찌해서 구하긴 했습니다만
바이폴라 스테퍼모터는 국내 판매처 찾기가 참 힘드네요
코셀 조립용 플라스틱 부품이랑 제어보드, 카본 파이프까지 구해놨는데 모터에서 숨이 턱 막힙니다.

끝멈춤 여닫게(endstop switch)는 누군가 고맙게 버려주신 고장난 레이저 프린터에서 적출했고,
밀기봉의 끝은 쇠구슬+낛시줄로 해결해보려 합니다.
물론 타이밍벨트(이녀석은 좋은 우리말이 생각나지 않네요.)역시 낛시줄로 묶어보려 합니다.

시간날때마다 RepRap wiki랑 github에서 Marlin firmware를 뒤적거리면서
ramps를 어떻게 설정하는지 공부하고 있습니다.
코셀 조립 가이드에 나와있는 내용과
http://letsmakerobots.com/content/kossel-mini-calibration
에서 Ladvien이라는 양반이 쓴 글을 참고하고 있는데, 영 어렵네요 :(

andysheep의 이미지


한 두달 잊고 지냈어요. 몇주 전부터 전기쪽 기본 공구들이랑 재료 사모으기 시작했습니다.
잘하면 neuron님이 저보다 빨리 3D 프린터 만들겠다는 생각도 해봅니다.
이번 주에 400W짜리 ATX 전원공급장치 개조해서 RAMPS 1.4 보드에 물릴 목표입니다.
12V 전원공급장치 알아보니까 출력 큰거는 수십만원씩 하네요.
두달 전인가 집 근처 컴퓨터 수리점에 가서 헌 ATX 전원공급장치 만오천원 주고 샀습니다.

저는 NEMA 17 스테퍼 모터 4개 tridprinting에서 (http://www.tridprinting.com/Electronics/)
샀어요.

부품이나 재료에 관해 정보 필요하시면 메일주세요. 물건사는 쪽은
도움을 드릴 수가 있어요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

작업일: 2015/1/30

점퍼케이블용 터미널 (Terminal-2653)
점퍼케이블용 2P 커넥터 (CH254-S-2P)

조립 키트를 사면 아래 이미지처럼 2-Pin 커넥터 통에 전선 두가닥이 붙여 나오는가 봐요.

산 크림퍼 (Crimper)가 AWG 22까지만 지원해서 AWG 26 전선을 터미널에 붙이는데 약간 삽질을 했습니다.
전선 길이는 X축 스위치에는 70cm, Y축과 Z축 스위치는 110cm로 잘랐습니다.
이유는 X축 아래에 RAMPS 1.4 보드를 붙이기로 정했기 때문에요.

X, Y, Z축 정함

AWG 26 전선을 2.54mm 2-Pin 커넥터 통에 끼우는 터미널에 붙임.

끝멈춤 스위치 C 터미날에 검은 전선 붙임
끝멈춤 스위치 NC 터미날에 빨간 전선 붙임

2-Pin 커넥터가 달린 끝멈춤 스위치 동작 시험

끝멈춤 스위치가 열린 상태에서 저항은 0.7 Ohm

끝멈춤 스위치가 닫힌 상태 - 스위치가 눌리면 - 저항은 무한 Ohm, 접촉이 떨어짐

세 끝멈춤 스위치가 모두 동작하고 X, Y, Z축 막대에 하나씩 설치.
M3x12 스크루 2개를 알렌키나 십자 드라이버로 끝멈춤 플라스틱에 스위치를 담.

꼬리말:
이틀전 고물상에서 구한 철 앵글 빔으로 공구들이랑 부품, 기타 재료 놓을 보관대를 어제 만들어서 정리를 했습니다.
철 앵글 빔은 총 20kg, 1kg에 천원씩 샀습니다.
맨 위칸에 놓인 장비는 말로만 듣던 오실로스코프, 이번에 큰마음 먹고 1993년도 Tektronix TDS 310를 이베이에서
샀습니다. 19만원 정도 줬어요. Tektronix 프로브는 새것은 개당 20만원 근처, 싸구려 Hantek용 프로브 두개 물건너서
구입했습니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

블로그에 자랑? 해놓으신거 보고 여기서 또 봐도 그저 부러울 따름입니다 =)
작업실은 (외국애들 따라하면 shop?) 추위와 눈 때문에 집에서 작업하시는거 같네요.

요며칠 mks base 기판이랑 컴퓨터랑 연결해서 시리얼 콘솔 띄워놓고 만지작 거리고 있는데
attiny나 msp430으로 불켜고 모터돌릴때랑은 느낌이 사뭇 다르군요.
햇병아리 아마추어가 보기에 프로들은 노는 수준도 다르구나 하는 생각도 들구요.

질문 하나.
끝멈춤 여닫게 (endstop switch)의 금속 부분은 일부러 제거하신건가요?
질문 둘.
펌웨어가 marlin이랑 repetier 두 종류인 것 같던데 어떤걸 쓰실지 궁금합니다.

andysheep의 이미지

작업실 실내온도 20도로 유지하려면 겨울철 난방비가 백만원 이상 나올것 같아서
아예 전자쪽 작업은 아파트 방에서 하기로 작정하고 공구 거의 다 옮겼어요.

> 끝멈춤 여닫게 (endstop switch)의 금속 부분은 일부러 제거하신건가요?
tridprinting에서 금속막대 없는 끝멈춤 여닫게만 팔더군요.
어떤 곳은 금속막대 붙은 제품 팔기도 합니다.

> 펌웨어가 marlin이랑 repetier 두 종류인 것 같던데 어떤걸 쓰실지 궁금합니다.
아직 정하지 않았습니다. 성능보다는 사용자 환경 설정이나 보정에 관해 설명이 잘되어있는 걸
선택할 생각이고요. 대충 RAMPS 1.4를 살펴보니까 치명적인 약점이 Arduino Mega가 CPU가 8 비트라 Kossel Mini의
장점인 고속 출력은 하지 못한다네요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

다행히 일요일 밤 12시 전에 12V 전용 전원 공급기를 만들었습니다.

컴퓨터용 ATX 전원 공급기를 개조하는 방법은 인터넷에 흔해서 과정은 생략합니다.
RAMPS 1.4 컨트롤러는 12V로 16A를 쓴다고 합니다.
소비 전력이 192W 입니다.

Reprap 위키에서는 12V 전원 공급기를 사거나 ATX 전원 공급기를 개조할때
출력이 250W 이상인 것을 권합니다.

ATX 전원 공급기는 +12V 전류가 총 20A 이상인 걸 선택하라고 하네요.

저는 헌 450W ATX 전원 공급기를 12,000원 주고 컴퓨터 가게에서 샀습니다.
케이스에 써있는 사양에 +12V1가 14A, +12V2가 16A, 최대 전류가 30A입니다.

진짜 싸구려라 그런지 전원 스위치가 없어서 달았고, 자동차용 블레이드 퓨즈 장치를
12V 선에 달았습니다.

작동 시험
전압만 확인해 봤습니다.

전기 차단기 달린 소켓
고물상에서 천원주고 산 15A짜리 전기 차단기 (Circuit breaker) 달고, 한구 짜리 소켓에 접지선까지
연결했습니다.

부탄 가스 인두기

수축 튜브에 쓸려고 사두었다가 어제 처음 사용해봤는데 성능이 좋아서
소개를 합니다. 태광전자정밀산업사가 만들었군요. 다른 제품보다 가격이 조금더 싸서
샀습니다.

팁 보호 플라스틱 뚜껑

인두 팁을 손으로 돌려 빼면 열풍기가 됩니다.

부탄 가스량 조절 스위치

재충전용 부탄은 수퍼나 가게에서 파는 일반 부탄 캔 사서 주입하면 되요. 집근처 수퍼에서 천원주고 한통 사서 시험해봤더니
잘들어 가더군요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지


로드 (load)를 걸고 실제 동작 시험을 했어요.
10W 10 ohm 저항은 11.58V, 1.17A
55W 12V 전조등 (headlight bulb)은 10.09V @ 3.75A.

55W 로드 걸어도 12V는 나와야 하는데 2V나 떨어져서
이 PSU (전력 공급 장치, Power Supply Unit) 어디가 문제인지 원인을 찾는데
하루 보냈습니다.

+5V 선길 (rail)에 1A 정도의 로드를 따로 걸어줘야 PSU가 +12V를 안정적으로 공급한다는
정보를 듣고, 10W 10 ohm 저항 두개를 병렬로 연결해 +5V 선길에서 빨간 선과 검은 선 (ground)에
붙였습니다.

그다음 로드 시험 결과 55W 12V 전조등은 12.01V가 나왔습니다.
마지막으로 55W 12V 전조등 2개를 병렬로 연결해서 12V 정도 출력하면 마무리 할려고 했는데,
전조등 2개 연결하고 키니까 PSU가 먹통이 되더군요.

퓨즈는 멀쩡한데 PSU가 돌지 않으니 황당해서 또다시 원인 찾기 시작했지요.
Reprap 포럼이랑 irc에 들어가 정보를 구했더니 이런 저가 ATX PSU는
초기 전류를 많이 먹는 전조등같은 장치를 붙이면 과전류 회로가 작동해
선다는 것입니다.

http://reprap.org/wiki/Choosing_a_Power_Supply_for_your_RepRap#What_to_look_for_in_an_ATX_PSU_for_your_RepRap_project의 ATX PSU 문서에 나온 개조 사항 몇개를 저는 빼놨더군요.

- PSU를 켜는 PS_ON (녹색 선)과 접지(ground)사이에 47 ohm을 설치.
- +3.3V 감지 선 두개를 붙임

그래서 몇년 전에 사서 연습으로 개조해놓았던 PSU를 고치기 시작. 이유는 검은 PSU보다 두배정도
통이 커서 일하기가 편했습니다.

무늬만 국산인 만 몇천원 짜리 중국산 ATX PSU
열판은 따로 장비를 만들을 계획이라 +12V@20A는 충분하다고 봤습니다.
https://butterflyofdream.files.wordpress.com/2015/02/cdsc_0033.jpg?w=640&h=953

기판에 붙어있는 250V@5A 퓨즈 떼어냄

퓨즈 나갔을 때 교체를 쉽게 하려고 퓨즈 홀더를 붙였습니다.

10W 10 ohm 저항 두개로 1A 로드 만들어 +5V 선길에 붙임

47 ohm 저항이 없어서 100 ohm 저항 두개로 50 ohm 만듬

전에 설치한 전원 스위치 녹색 선에 50 ohm 저항 붙이고 수축 튜브로 마무리

+3.3V 감지 선 붙이기
나머지 오렌지 선은 전부 잘라냈습니다.

간단한 동작 시험
+12.31V가 나옴

+5V 출력 +5.15V 나옴

오늘 아침에 (2/04) 일가기 전에 +12V 전원 AWG 16 전선 두개로 케이블 만들어 붙였습니다.



Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

1/4w 저항인줄 알았는데, 파워서플라이 케이스가 상당히 큰가보네요.
병렬연결에서 만에 하나 저항 하나가 타버리면 굉장히 위험하지 않을까요?

저는 24V짜리 역으로 연결했다가 화학실험과 물리실험을 병행한 적이 있어서,
12V 넘어가면 손이 오그라드는지라 그냥 조용히 SMPS 구입해야겠습니다;;

andysheep의 이미지


SMD 저항값 계산기
http://www.hobby-hour.com/electronics/smdcalc.php

S1, S2가 감지 저항 (Resistor)인데 R100으로 써있습니다.

Stepstick (A4988 칩쓰는) 드라이버 위키 페이지에 따르면
스테퍼 모터에 들어가는 전류 설정은
A = VREF / (8 x RS)
RS는 감지저항 값

VREF 측정은 멀티미터로 동그란 가변저항 머리를 접지 핀에 대면 나옵니다.

전류 보정 작업은 RAMPS 1.4 보드에 RAMPS14_test.zip의 아두이노 시험 코드를
USB 케이블로 연결한 후 아두이노 IDE로 컴파일해 올립니다.

그다음 +12V 전원 케이블을 RAPMS 1.4 보드의 5A 전원 단자에 연결
보정 하고자하는 스테퍼모터를 드라이버 위 4개 핀에 연결.
드라이버 동그란 가변 저항을 반시계 반향으로 끝까지 돌려 놓습니다.
PSU 전원 스위치를 켜면 RAPMS 1.4 보드에 LED 불 몇개가 깜박이기 시작하는데
스테퍼 모터 전류 공급이 바닥인 상태로 움직임이 없어요.

세라믹 드라이버나 일반 소형 드라이버로 가변 저항 머리를 시계 방향으로
조금씩 돌리면서 멀티미터로 VREF를 잽니다.

위 공식에서 전류를 1A로 놓으면 VREF는 0.8V (800mV)가 나오는데
irc랑 Reprap 문서 찾아보니 NEMA 17 모터는 1A가 적당한 값이라고 해요.
참고로 제가 쓰는 NEMA 17모터는 Kysan이 제조사인데 데이타 문서에는
4.2V, 1.5A가 최대 값으로 나와있습니다.

한 30분 정도 스테퍼 모터를 돌리며 온도를 측정해 미지근한 정도면 되는 듯 합니다.
몇분 사이에 온도가 올라가면 전류 사용량이 많아서 전류 값을 내려야 하고요.

@neuron

1A 이상 올라가면 위험하지요.
그동안 선생님의 댓글이 격려가 되었습니다.
고맙고요, 아마 다른 3개 스테퍼 모터 잘동작하면 이번 주말까지 코셀 미니 3D 프린터
조립 및 보정 작업까지 다 끝낼 듯 합니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

아이고 저는 후학에 말단 엔드유저입니다.
제 댓글이 andysheep님께 좋은 방향으로 자극이 되었다니 감사할 따름입니다.
댓글 중간의 과분한 호칭은 수정을 부탁드립니다 ㅠㅠ

마트에 스텐레스 봉으로된 간이 건조대가 있길레
밀기봉으로 쓸 속셈으로 가격도 안보고 덜렁 들고 나왔는데
집에와서 뜯고보니 직진성도 별로이고, 휙휙 잘 휘어지네요.
주변에서 좀 흔하게 볼 수 있는 재료들 중에서 한번 더 찾아보고,
정 안되면 사놓은 탄소봉으로 만들어야겠습니다.

그리고 저는 설 지나야 모터와 나머지 부품들을 모을 수 있을 것 같습니다.
Delta3DP MK-II부터는 andysheep님이 알려주신 사이트에서 각종 부품들을 한방에 , 편하게 구매해야겠습니다.
나름 유리멘탈인데 부품구하기가 어려우니 자작의지가 짜꾸 뭉그러집니다.

andysheep의 이미지


스테퍼 모터 4개 전류값 보정 시험
한시간 넘게 프린터 돌렸습니다.
각 모터당 소비 전류가 1.0A 되도록 VREF를 0.8V 근처에 맞추고
돌리는 동안 모터의 온도 상승 확인
http://youtu.be/EtkYuU-6HF8

어제 2/7일 토요일 작업 내용입니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

권순선의 이미지

대단합니다. 다 완성되면 꼭 인증샷 부탁드립니다~

neuron의 이미지

40초쯤 등장한, 흔들리는 effector에(로봇에) 위협받는 데비안 팽귄이 인상적입니다 :)
왠지 SciFi 소설에 등장하는, 인간(32비트)이 개발한 로봇 혹은 인공지능(8비트)에 위협받는 인류를 보는 듯한 괴상망측한 상상이 드네요.

Hotend는 J-Head는 아닌 것 같고, E3D 몇번째 버전을 쓰시는지요?

andysheep의 이미지

X, Y, Z축 스테퍼 모터

보드 열 식혀주는 12V 팬

보드에 연결된 장치들:
12V 열 발생기
Hotend 온도 센서
Hotend 12V 팬
스테퍼 모터 4개
끝멈춤 스위치 4개

Effector 장치
- E3D V6 Hotend
- 자동 수평 조절 장치
- 12V 팬
- 온도 센서
- 12V 카트리지 발열기 (heater)

@권순선

동영상 올려야지요.

@neuron

돌이켜 보면 그냥 $50 주고 1515짜리 알루미늄 프로파일이랑 J-Head hotend 샀으면 정말 쉽게
프로젝트를 진행했을 텐데란 아쉬움이 듭니다.

들어간 비용을 간략히 정리해보면
선형 이동 장치를 제일 비싼 리니어 레일 (linear rail 또는 LM block)을 써서 155,000원
2020 알루미늄 프로파일을 써서 프린터 부품을 두번해서 총 70,000원 정도 나감
NEMA 17 스테퍼 모터 3개, 5.2:1 비의 기어달린 NEMA 17 스테퍼 모터 100,000원
기계 관련 부품 및 재료 100,000원
RAMPS 1.4 컨트롤러 키트, 40,000원
E3D V6 Hotend 60,000원

외국서 물건 구입에 들어간 운임: 5만원 정도

총 비용이 60만원 근처 나오네요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

가로보기한 제작 설명서와 프린트 키트는 지름 170 mm인 둥근 유리 판을 쓰는데 작년 11월에 둥근 유리판 보다
좀더 면적이 큰 육각 판을 만들어 놨습니다.

아래는 인증 사진이라 해야겠네요.


Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

스테퍼 모터 4개에 전부 고무판을 대서 그런지 움직일때 진동이 거의 없고
굉장히 조용하네요. 특히 뽑개는 달팽이 기어가는 속력보다 더 느리게 돌더군요.

자세한 펌웨어 설치 과정은 주말에 정리해서 올리겠습니다.
오늘부터는 밤에 두다리 쭉펴고 자야겠어요.

Pronterface 3D 프린터 제어, 조정 프로그램 설치에 필요한 꾸러미들

$sudo apt-get install python-serial python-wxgtk2.8 python-pyglet

데비안은 아직 Pronterface 꾸러미가 안정판에는 나와있지 않네요.
아래 사이트 가서 zip파일 받아풀고 파이썬 실행 파일 그냥 실행하면 됩니다.
https://github.com/kliment/Printrun

Marlin 펌웨어는 지금까지 가로보기해온 제작 설명서 만든 회사 사이트 파일 내려받아
Marlin_delta2의 Configuration.h파일 조금 수정하고 아두이노 IDE에서
아두이노 메가로 올렸습니다.
http://www.blomker.com/KosselMini_Windows.zip

그리고 정밀 보정하기 전에 기본 기능 시험들을 했어요.
-처음 위치로 돌아가기 (homing)
-끝멈춤 스위치 상태 표시
-뽑개 (extruder) 시계 방향, 반시계 방향 회전
-열총 (Hotend) 온도를 183도, 230도로 올리고 각각 15분 동안 유지하기.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

보정 작업 (Calibration) 시간이 예상보다 많이 걸리네요.

아래 동영상처럼 자동 수평 작업까지 시험하고 설정했습니다.
>>> g29
SENDING:G29
-0.280 -0.280 -0.280 -0.370 -0.490 -0.490 -0.490
-0.240 -0.240 -0.450 -0.610 -0.670 -0.660 -0.660
0.090 -0.270 -0.440 -0.560 -0.670 -0.710 -0.710
-0.080 -0.360 -0.520 -0.640 -0.740 -0.750 -0.730
-0.220 -0.380 -0.490 -0.580 -0.680 -0.710 -0.690
-0.490 -0.490 -0.600 -0.650 -0.650 -0.640 -0.640
-0.520 -0.520 -0.520 -0.520 -0.510 -0.510 -0.510
>>> g28

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

이미 찾아놓으셨을지도 모르겠지만, 저는
Ladvien아저씨의
http://letsmakerobots.com/content/kossel-mini-calibration
이 링크가 코셀 미니 보정 작업의 끝판왕이 아닐까 생각합니다.

설이 지나가길 기다리기 참 힘드네요 ㅠㅠ;

andysheep의 이미지


코셀 미니 3D 프린터에 꼬마 직박구리 (Bulbul Junior)라는 이름을 붙였습니다.
몇일 전에 1kg 한다발에 18,000원 짜리 1.75mm PLA 필라멘트를 두다발 구입했습니다.
어제 저녘에 가로, 세로, 높이가 10mm인 정육면체 (cube)를 보정 시험겸 첫번째 물체로 찍었습니다.
오차는 0.0mm에서 0.5mm까지 나왔는데 정밀도는 앞으로 물체들 찍어보고 필라멘트 특성, 온도,
기타 층 (layer)과 채움덩이 (infill)과 같은 부분들을 이해할 수록 올라갈거라 봅니다.

3M에서 만든 푸른 페인트 테이프를 찍기 판에 바르라고 하는데 급해서 3M에서 만든 페인트 테이프를 3,000원 주고 사서 썼씁니다.

다 찍고 나서 노즐이 기본 위치 (home)으로 올라갑니다.

뽑개가 필리멘트를 되감으면서 안내 튜브를 떼어 놓는 사고가 일어남.

손으로 필마멘트 잡아주고 다른 물체 찍으려는 시도를 여러번 하다가
결국 튜브 연결기 (Push Fit)가 뽑개의 엄청난 힘으로 빨아올린 필라멘트에 걸려 망가졌습니다.

또 다시 이어진 몇시간의 부품 교체 작업과 개조

주먹 반만한 NEMA 17 스테퍼 모터 힘이 아주 세네요.
각축 끝에 고정한 끝막음 플라스틱이 벌써 두서너번 충격에 밀려났네요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

오늘 어제 밤에 고친 effector 장치 시험할 겸 아래 사이트에서 STL 파일들
내려받아 sli3r로 gcode 파일 만들어 플라스틱 물체 4개 찍었습니다.

예상했던 것 보다 플라스틱 물체의 상태와 규격이 잘나와서 뿌듯했습니다.
Kossel Effector E3D V6 Bowden 1.75mm (Includ autoprobing)
http://www.thingiverse.com/thing:439497

3D 프린터 제어, 찍기 프로그램인 Prontface에서 effector gcode 파일을 읽은 뒤 부품 만들기 준비

제대로 찍고 있습니다.

중간에 한번 PTFE 튜브가 빠져나와서 긴장을 했습니다. 이 튜브가 뽑개에서 떨어지면 플라스틱 찍기 작업이 힘들어지고, 중단해야 되요. 5.18 기어비 가진 스테퍼 모터가 기어축으로 밀어붙이는 필라멘트 힘이 너무 센건지, 노즐에서 필라멘트를 녹여 쏘는 속도가 느린건지, 어쨋든 튜브가 뽑히는 방법을 급하게 찾기 시작했어요.

식용유로 쓰이는 옥수수나 카놀라 기름을 필라멘트에 바르면 튜브 안에서 마찰이 줄어들어 막히거나 튜브를 밀어내는 것을 줄인다는 방법을 보고, 부엌에 가서 작은 접시에 카놀라유 담아 방에 가지고 와 필라멘트에 바르기 시작했습니다.

1시간 40분 정도 걸려 effector가 만들어졌습니다.

나머지 부품 세개를 한꺼번에 찍는 gcode 파일을 만들어 시간을 줄이고자 찍기 시작했습니다.

45분 걸려 부품 세개를 찍었습니다. sli3r에서 몇가지 옵션을 바꾼 효과가 바로 나왔네요.

칼이랑 줄로 잡티 제거하고 조립 시험해봤습니다.

모델 파일의 규격과 찍은 부품과의 오차는 제일 많은 것이 1mm, 제일 적은 건 0.00mm 까지로 평균 0.5mm 이하의 차이가 나니까 프로토타입 개발이나 나사 구멍 뚫고, 다듬어 쓰는 물건 제작에는 충분한 성능이라고 생각을 합니다.

앞으로 프리스틱 물체 찍어보며 필라멘트 특성과 gcode 생성할때 찍기 품질에 관련한 사항들 이해할 수록 정밀도는 높아질거라 봅니다.

참고로 어제 찍다가 망친 플라스틱 부품 사진 넣습니다.

Prontface에서 위 세 플라스틱 물체 찍는 동안 로그 내용

Connecting...
start
Printer is now online.
echo: External Reset
Marlin 1.0.0
echo: Last Updated: Feb 15 2015 12:25:53 | Author: (jcrocholl, Blomker, hughe, Bulbul Junior m00.f01)
Compiled: Feb 15 2015
echo: Free Memory: 3786 PlannerBufferBytes: 1232
echo:Hardcoded Default Settings Loaded
echo:SD init fail
Setting hotend temperature to 215.000000 degrees Celsius.
(M302로 뽑개 모터를 켭니다.)
>>> m302
SENDING:M302
(M106는 열총에 붙은 팬을 전속력으로 돌립니다.)
>>> m106
SENDING:M106
(M106 s100는 최대 속도의 2/3정도 속력으로 팬을 돌리기)
>>> m106 s100
SENDING:M106 S100
(플라스틱 물체 찍기위해 gcode 파일을 읽어 옵니다.)
Loading file: /home/penguin/Workshop/3D_Printer/Kossel_Mini/object_models/Kossel_Effector_E3D_V6_Includ_autoprobing/KosselEffectorE3DClampProb.gcode
Loaded /home/penguin/Workshop/3D_Printer/Kossel_Mini/object_models/Kossel_Effector_E3D_V6_Includ_autoprobing/KosselEffectorE3DClampProb.gcode, 46435 lines
2819.57mm of filament used in this print
The print goes:
(세 물체의 규격이 나오고 모두 찍는데 걸리는 시간이 나옵니다.)
- from -33.68 mm to 33.68 mm in X and is 67.36 mm wide
- from -43.36 mm to 43.16 mm in Y and is 86.52 mm deep
- from 0.00 mm to 16.20 mm in Z and is 16.20 mm high
Estimated duration: 80 layers, 0:49:54
(처음 찍을 때는 뽑개를 돌려 필라멘트를 600mm에서 650mm 정도 열총 노즐까지 넣어주는데 몇분이 들어가는데,
이처럼 전에 작업을 한 뒤에 찍으면 필라멘트 공급 시간이 몇초로 줍니다.)
Extruding 1.000000mm of filament.
Extruding 1.000000mm of filament.
(G28로 기준 꼭대기점으로 갔다가 자동 수평 조정이 끝나고 찍기가 시작됩니다.)
Print started at: 19:03:57
0.090 0.090 0.090 0.040 -0.050 -0.050 -0.050
0.350 0.350 0.190 0.010 -0.080 -0.110 -0.110
0.710 0.400 0.230 0.050 -0.110 -0.150 -0.160
0.730 0.380 0.180 -0.020 -0.150 -0.180 -0.200

다음 주 주말까지는 빠진 제작 과정 한두개랑 코셀 미니 만들기에 필요한 부품, 재료 목록을
가격이랑 구입처까지 모두 올리지요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

http://support.3dverkstan.se/article/23-a-visual-ultimaker-troubleshooting-guide
를 참고하시면 될 듯 합니다.

pla에 200도 설정하셔서 뽑으신 듯 한데,
필라멘트 피딩 속도를 조금 더 빠르게 하시거나, 온도를 조금 더 낮추시면 거미줄처럼 나오는게 줄어들지 않을까 합니다.

처음에 사진이 뜨는걸 보고는 effector가 부러진 사진을 올리신 줄 알았습니다.
stl 모형들은 thingiverse 작품들인 것 같은데 (중략) 댓글에 다셨군요;; 주소 감사합니다!

andysheep의 이미지

http://www.thingiverse.com/thing:329076/#files

1.75mm PLA 필라멘트 최적 온도 찾기

지금 사용하고 있는 중국산 1.75mm PLA 필라멘트는 190도에서 230도 범위로
딱지에 써있습니다.

아래 링크에서 모델 파일 받아서 190도에서 230도까지 5도 간격으로 찍습니다.
http://www.thingiverse.com/thing:337957

이 필라멘트는 190도에서 200도 사이가 제일 좋습니다.

PLA는 열판이 없어도 잘 찍힌다고 하는데 직접 찍어보니까 물체 크기가 2 cm 이상 넘어가는 건 녹았다 식으면서 끝부분이 위로 올라가고 지름이 5cm 이상 넘는 건 첫층 (first layer)를 만들기도 힘들더군요. 그래서 방법을 찾다보니, 테이프 위에 딱풀을 찍기 직전에 한층 물체 너비보다 조금 크게 바르고, 임시로 만든 온풍기로 찍기 판 온도를 30도에서 33도 사이로 유지하니 첫층이 잘 만들어지네요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

틀 (frame) - W17,000
DF2020 Aluminium Extrusion 4 m, W8,000
* 대영프로파일
고무판 두께 2 mm, W5,000
알루미늄 판 200 mm x 200 mm, T5 (두께 5 mm), W4,000

기계 부품들 - W342,966 ($1 = W1,107.10)
Mechanical parts $160.75
GT2 Timing Belt, 4 m 1 $9.95
GT2 Belt Drive Gear, 16 Tooth 3 $6.95
NEMA 17 Stepper motor 3 $50.00
Euro Style Terminal Block Connector 1 $0.95
Kossel Mini Bearings Kit 1 $7.95
Endstops, Limit Switches, 10.2 mm 4 $7.95
Geared Stepper motor 1 $33.95
Rod kit 1 $20.95
M5 Thread Push Fit Connector for 1.75 mm filament 1 $5.95
Hobbed Drive Gear - 8 mm bore 1 $6.95
PTFE Tube, 2.0 mm ID - 1.5 m 1 $7.50
$160.55
* www.TriDPrinting.com

Linear rail and carrige 400 mm x3, W165,000
MR12MN by cpc
* 중동자동화

플라스틱 부품들 - W81,649
Printed Parts $73.75
Printed Parts kit, ABS + PLA, $41.75
* crunchtech, eBay
Six vertex frames for 2020 Aluminium extrusion, $32.00
* RepRap 포럼 회원

전자 부품들 - W40,886
Electronics $33.95
RAMPS 1.4 controller kit, $33.95
- Arduino Mega 2560 R3 x1
- RAMPS 1.4 Controller x1
- A4988 Stepstick driver x5
- RepRapDiscount LCD controller
* Aliexpress.com

점퍼 케이블용 터미널 x100, W2,200
점퍼 케이블용 2P 커넥터 x50, $1,100
* 엘레파츠

열끝 (Hotend) - W64,600 (1 GBP = KRW 1711.26)
Hotend GBP37.75
E3D V6 Hotend full kit - 1.75 mm universal, GBP36.55
Embedded Bowden Couplings - For metal (1.75 mm Filament) GBP1.20
* E3D-online.com

총 비용: W547,101

여기에 볼트랑 너트는 15,000원에서 20,000원 정도
전력 공급기 (PSU)는 있던거 개조해서 따로 비용에 넣지 않았습니다.

--

설 명절 낀 지난 주부터 거의 매일 값맞추기 (calibration) 해왔습니다.
effector 부품은 벌써 직접 찍은 것으로 바꿨고요. 아래는 어제 찍은 모델입니다.
4시간 30분 걸렸습니다.

Prontface 로그

458648 lines
12362.74mm of filament used in this print
The print goes:
– from -60.12 mm to 58.81 mm in X and is 118.94 mm wide
– from -48.95 mm to 45.95 mm in Y and is 94.89 mm deep
– from 0.00 mm to 100.50 mm in Z and is 100.50 mm high
Estimated duration: 502 layers, 5:25:00
Print started at: 20:42:47
-0.000 -0.000 -0.000 -0.510 -0.650 -0.650 -0.650
0.780 0.780 -0.010 -0.480 -0.700 -0.600 -0.600
2.110 0.800 0.060 -0.430 -0.650 -0.660 -0.430
2.030 0.940 0.230 -0.270 -0.520 -0.600 -0.410
2.310 1.270 0.540 0.060 -0.260 -0.310 -0.190
1.700 1.700 1.000 0.530 0.200 0.140 0.140
1.650 1.650 1.650 1.190 0.900 0.900 0.900
Print ended at: 01:28:13 and took 4:45:26
Setting hotend temperature to 0.000000 degrees Celsius.
>>> m106
SENDING:M106

http://www.thingiverse.com/thing:620461

찍는 모델의 복잡도와 크기에 따라 프린터 속도, 층 (layer) 두께, 기타 옵션을 gcode 만드는 Slic3r에서
바꿔줘야 합니다. 직접 물체들 찍어보니까 삼디 프린터의 기계적인 완성도가 높아도 소프트웨어와
플라스틱 특성을 이해가 부족하면 원하는 질의 플라스틱 물체를 찍기는 힘드네요.

앞으로 이 코셀 미니 성능을 최대로 뽑아내도록 정밀한 값맞추기 하고,
빠진 기능들 - 열판, 밀폐 상자 - 붙여야지요.

이 삼디 프린터의 최소 이동 단위가 X, Y, Z축 각각 0.1 mm 입니다.
그런데 0.03 mm 해상도의 물체를 찍을 수가 있다니 논리가 안맞더군요.
0.05 mm로 길이 재는 버니어 캘리퍼라 0.01 mm 단위로 150 mm 이상 길이 재는
계측기 만들거나 사야 실제로 0.03 mm 해상도를 확인할 수 있다고 봅니다.

다음에 만들 삼디 프린터에는 NEMA 17 스테퍼 모터에 스텝수를 몇배로 늘이는 기어를 달아서
최소 이동 단위를 0.01 mm로 만들면 어떨까.

녹슨 blender 사용법도 가다듬고 OpenSCAD는 이번에 배워야겠습니다.
간단한 부품 모델은 거의 대부분 OpenSCAD로 만드는 군요.

Reprap 삼디 프린터의 가장 큰 문제는 열끝 (Hotend)이 찍는 중에 사용 부주의나 실수로 꽉막히는 것입니다.
지름 1.75 mm PLA 필라멘트가 열 차단개 (heat breaker) 윗부분에 올라온 열기에 팽창해서 식어버리면
필라멘트를 밀거나 빼지 못하게 됩니다.

그럼 노즐과 열 차단개를 열끝에서 뜯어내고 소형 토치로 열을 가해 막힌 필라멘트를 태우거나 밀어내야 합니다.
다른 방법은 열끝에서 노즐만 뜯어내고 필라멘트 공급 관을 뽑아낸 뒤, 열끝에 온도를 PLA가 녹는 190도 근처까지
팬을 끄고 올려서 막힌 필라멘트를 1.5 mm 알렌키로 밀어내기인데, 문제는 이 과정에서 effector 플라스틱이
녹거나 금이 갈 수 있지요.

가정용 부탄가스 충전해서 쓰는 소형 토치는 삼디 프린터 쓸 사용자라면 반드시 갖추어야할 장비라고 봅니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

가로보기용으로 올립니다.
원래 파일에는 한글 설명은 없습니다.

#ifndef CONFIGURATION_H
#define CONFIGURATION_H
 
// This configuration file contains the basic settings.
// Advanced settings can be found in Configuration_adv.h
// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration
 
// User-specified version info of this build to display in [Pronterface, etc] terminal window during
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
// build by the user have been successfully uploaded into firmware.
#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time
#define STRING_CONFIG_H_AUTHOR "(jcrocholl, Blomker)" // Who made the changes. ("Blomker" only edited the parametric values in the sketch. Author name is maintain as jcrocholl to indicate source of this sketch, and credit to where it is due)
 
// SERIAL_PORT selects which serial port should be used for communication with the host.
// This allows the connection of wireless adapters (for instance) to non-default port pins.
// Serial port 0 is still used by the Arduino bootloader regardless of this setting.
#define SERIAL_PORT 0
 
// This determines the communication speed of the printer
// #define BAUDRATE 250000
// 데비안 위즈 리눅스에서는 115200
#define BAUDRATE 115200
 
//// The following define selects which electronics board you have. Please choose the one that matches your setup
// 10 = Gen7 custom (Alfons3 Version) "https://github.com/Alfons3/Generation_7_Electronics"
// 11 = Gen7 v1.1, v1.2 = 11
// 12 = Gen7 v1.3
// 13 = Gen7 v1.4
// 3  = MEGA/RAMPS up to 1.2 = 3
// 33 = RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed)
// 34 = RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed)
// 35 = RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan)
// 4  = Duemilanove w/ ATMega328P pin assignment
// 5  = Gen6
// 51 = Gen6 deluxe
// 6  = Sanguinololu < 1.2
// 62 = Sanguinololu 1.2 and above
// 63 = Melzi
// 64 = STB V1.1
// 65 = Azteeg X1
// 66 = Melzi with ATmega1284 (MaKr3d version)
// 7  = Ultimaker
// 71 = Ultimaker (Older electronics. Pre 1.5.4. This is rare)
// 77 = 3Drag Controller
// 8  = Teensylu
// 80 = Rumba
// 81 = Printrboard (AT90USB1286)
// 82 = Brainwave (AT90USB646)
// 9  = Gen3+
// 70 = Megatronics
// 701= Megatronics v2.0
// 702= Minitronics v1.0
// 90 = Alpha OMCA board
// 91 = Final OMCA board
// 301 = Rambo
// 21 = Elefu Ra Board (v3)
 
#ifndef MOTHERBOARD
#define MOTHERBOARD 33
#endif
 
// Define this to set a custom name for your generic Mendel,
// #define CUSTOM_MENDEL_NAME "This Mendel"
 
// This defines the number of extruders
#define EXTRUDERS 1
 
//// The following define selects which power supply you have. Please choose the one that matches your setup
// 1 = ATX
// 2 = X-Box 360 203Watts (the blue wire connected to PS_ON and the red wire to VCC)
 
#define POWER_SUPPLY 1
//===========================================================================
//============================== Delta Settings =============================
//===========================================================================
// Enable DELTA kinematics
#define DELTA
 
// Make delta curves from many straight lines (linear interpolation).
// This is a trade-off between visible corners (not enough segments)
// and processor overload (too many expensive sqrt calls).
#define DELTA_SEGMENTS_PER_SECOND 200
 
 
// Dimensional calibration이라고 시험 물체를 찍으며 모델 설계 크기와 실제 물체 크기의 오차를 소프트웨어적으로 줄입니다.
// Center-to-center distance of the holes in the diagonal push rods.
// new ROD = 100 / measured_length * old ROD
// 10mm cube - 10.25 x 10.30 x 10.50, 10.35
// new ROD = 10.0 / 10.35 * 215.6
// 208.30
// 10.00 / 10.25 * 215.60 = 210.3
// 10.00 / ((10.35 + 10.20 + 10.25)/3) * 215.6 = 209.9
// TEST new_rod = measured_length / target_length * old_rod
// target_length = 10.00
// measured_length = 10.25
// new_rod = 10.25 / 10.00 * 215.6
// 10.10 / 10.00 * 221.0 = 223.2
#define DELTA_DIAGONAL_ROD 223.2 // mm (215)
 
//아래 변수 세개는 사용하는 코셀 미니 관련 부품을 직접 자나 측정기로 재어 넣어줍니다.
// Horizontal offset from middle of printer to smooth rod center.
#define DELTA_SMOOTH_ROD_OFFSET 150.0 // mm (137.0) 
 
// Horizontal offset of the universal joints on the end effector.
#define DELTA_EFFECTOR_OFFSET 20.0 // mm (19.9)
 
// Horizontal offset of the universal joints on the carriages.
#define DELTA_CARRIAGE_OFFSET 19.2 // mm (19.5)
 
// Effective horizontal distance bridged by diagonal push rods.
#define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
 
// Effective X/Y positions of the three vertical towers.
#define SIN_60 0.8660254037844386
#define COS_60 0.5
#define DELTA_TOWER1_X -SIN_60*DELTA_RADIUS // front left tower
#define DELTA_TOWER1_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER2_X SIN_60*DELTA_RADIUS // front right tower
#define DELTA_TOWER2_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER3_X 0.0 // back middle tower
#define DELTA_TOWER3_Y DELTA_RADIUS
 
 
// Diagonal rod squared
#define DELTA_DIAGONAL_ROD_2 pow(DELTA_DIAGONAL_ROD,2)
 
// 열끝 (Hotend)에 붙어있는 온도 센서를 선택해 줍니다. 그래야 Prontface나 gcode로 
// 열끝의 온도를 정해진 범위 이내에서 조정할 수 있습니다.
//===========================================================================
//=============================Thermal Settings  ============================
//===========================================================================
//
//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
//
//// Temperature sensor settings:
// -2 is thermocouple with MAX6675 (only for sensor 0)
// -1 is thermocouple with AD595
// 0 is not used
// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
// 3 is mendel-parts thermistor (4.7k pullup)
// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan) (4.7k pullup)
// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
// 10 is 100k RS thermistor 198-961 (4.7k pullup)
 
// 60 is 100k Maker's Tool Works Kapton Bed Thermister
//
//    1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
//                          (but gives greater accuracy and more stable PID)
// 51 is 100k thermistor - EPCOS (1k pullup)
// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan) (1k pullup)
 
#define TEMP_SENSOR_0 5
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 0
 
// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted.
//#define TEMP_SENSOR_1_AS_REDUNDANT
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
 
// Actual temperature must be close to target for this long before M109 returns success
#define TEMP_RESIDENCY_TIME 10  // (seconds)
#define TEMP_HYSTERESIS 3       // (degC) range of +/- temperatures considered "close" to the target one
#define TEMP_WINDOW     1       // (degC) Window around target to start the residency timer x degC early.
 
// The minimal temperature defines the temperature below which the heater will not be enabled It is used
// to check that the wiring to the thermistor is not broken.
// Otherwise this would lead to the heater being powered on all the time.
#define HEATER_0_MINTEMP 5
#define HEATER_1_MINTEMP 5
#define HEATER_2_MINTEMP 5
#define BED_MINTEMP 5
 
// When temperature exceeds max temp, your heater will be switched off.
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
// You should use MINTEMP for thermistor short/failure protection.
#define HEATER_0_MAXTEMP 260
#define HEATER_1_MAXTEMP 260
#define HEATER_2_MAXTEMP 260
#define BED_MAXTEMP 150
 
// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the
// average current. The value should be an integer and the heat bed will be turned on for 1 interval of
// HEATER_BED_DUTY_CYCLE_DIVIDER intervals.
//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4
 
// PID settings:
// Comment the following line to disable PID and enable bang-bang.
#define PIDTEMP
#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
#define PID_MAX 255 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
#ifdef PIDTEMP
  //#define PID_DEBUG // Sends debug data to the serial port.
  //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
  #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
 
 the actual temperature
                                  // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
  #define PID_INTEGRAL_DRIVE_MAX 255  //limit for the integral term
  #define K1 0.95 //smoothing factor within the PID
  #define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
 
// If you are using a preconfigured hotend then you can use one of the value sets by uncommenting it
 
// T3P3 1.75mm E3D V6 with Semitec
     #define  DEFAULT_Kp 21.28
     #define  DEFAULT_Ki 2.37
     #define  DEFAULT_Kd 47.76
 
// Ultimaker
//    #define  DEFAULT_Kp 22.2
//    #define  DEFAULT_Ki 1.08
//    #define  DEFAULT_Kd 114
 
// Makergear
//    #define  DEFAULT_Kp 7.0
//    #define  DEFAULT_Ki 0.1
//    #define  DEFAULT_Kd 12
 
// Mendel Parts V9 on 12V
//    #define  DEFAULT_Kp 63.0
//    #define  DEFAULT_Ki 2.25
//    #define  DEFAULT_Kd 440
#endif // PIDTEMP
 
// Bed Temperature Control
// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis
//
// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder.
// If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz,
// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating.
// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater.
// If your configuration is significantly different than this and you don't understand the issues involved, you probably
 
// shouldn't use bed PID until someone else verifies your hardware works.
// If this is enabled, find your own PID constants below.
//#define PIDTEMPBED
//
//#define BED_LIMIT_SWITCHING
 
// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
// so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
 
#ifdef PIDTEMPBED
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
    #define  DEFAULT_bedKp 10.00
    #define  DEFAULT_bedKi .023
    #define  DEFAULT_bedKd 305.4
 
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from pidautotune
//    #define  DEFAULT_bedKp 97.1
//    #define  DEFAULT_bedKi 1.41
//    #define  DEFAULT_bedKd 1675.16
 
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#endif // PIDTEMPBED
 
 
 
//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
//can be software-disabled for whatever purposes by
#define PREVENT_DANGEROUS_EXTRUDE
//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately.
#define PREVENT_LENGTHY_EXTRUDE
 
#define EXTRUDE_MINTEMP 170
#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
 
//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================
 
// Uncomment the following line to enable CoreXY kinematics
// #define COREXY
 
// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
 
#ifndef ENDSTOPPULLUPS
  // fine Enstop settings: Individual Pullups. will be ignored if ENDSTOPPULLUPS is defined
  // #define ENDSTOPPULLUP_XMAX
  // #define ENDSTOPPULLUP_YMAX
  // #define ENDSTOPPULLUP_ZMAX
  // #define ENDSTOPPULLUP_XMIN
  // #define ENDSTOPPULLUP_YMIN
  // #define ENDSTOPPULLUP_ZMIN
#endif
 
#ifdef ENDSTOPPULLUPS
  #define ENDSTOPPULLUP_XMAX
  #define ENDSTOPPULLUP_YMAX
  #define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  #define ENDSTOPPULLUP_ZMIN
#endif
 
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
//#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS
 
// Disable max endstops for compatibility with endstop checking routine
#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
  #define DISABLE_MAX_ENDSTOPS
#endif
 
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders
 
// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders
 
// TP3D values are all false
#define INVERT_X_DIR true    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true    // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR true    // for Mendel set to false, for Orca set to true
#define INVERT_E0_DIR true   // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR true   // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR true   // for direct drive extruder v9 set to true, for geared extruder set to false
 
// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1
 
// Calibration 2/13/2015; 2/15/2015; 2/21/2015; 
// Center of bed (판 중심)과 Z height (Z축 높이 - 찍는 물체의 최대 높이) 값맞출 때는 false
// 이 변수 값이 true면 Z height을 Prontface에서 0 이하로 움직이지 못합니다. Z height이 
// 노즐과 판과의 거리보다 짧을 때는 반드시 false로 해야 됩니다.
#define min_software_endstops false // If true, axis won't move to coordinates less than HOME_POS.
// #define min_software_endstops true 
#define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.
 
// 반지름 85 mm인 원이 코셀 미니가 물체를 찍는 바닥입니다.
// Travel limits after homing
#define X_MAX_POS 85
#define X_MIN_POS -85
#define Y_MAX_POS 85
#define Y_MIN_POS -85
#define Z_MAX_POS MANUAL_Z_HOME_POS
#define Z_MIN_POS 0
 
#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
 
// The position of the homing switches
#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used
#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)
 
//Manual homing switch locations:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
 
// Z Height 값을 정하는 제일 중요한 변수로 
// 열끝 노즐과 판 사이에 거리에 변화가 생기면 바꿔줍니다.
// 1st calibration value was 32.80
// 239 - 32.80
// 206.20 - (-1.40)
// 207.60 - 0.10
// 207.50 - 0.90
// 206.60 - (-1.0) 
// 207.60 - (-0.40)
// 208.00 - 0.10
// 207.90 - 1.30
// 206.60 - (-0.80)
// 207.40 - (-1.0)
// 208.40 - (-13.40)
// 221.80 - (-0.90)
// 222.70 - (-1.20)
#define MANUAL_Z_HOME_POS 220.10  // For delta: Distance between nozzle and print surface after homing.
 
// X축, Y축에서 26 mm 간격으로 37개의 위치를 탐색봉이 (probe) 판 위에 찍도록 함.
#define AUTOLEVEL_GRID 26  // 26 Distance between autolevel Z probing points, should be less than print surface radius/3.
 
//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
#define HOMING_FEEDRATE {80*60, 80*60, 80*60, 0}  // set the homing speeds (mm/min)
 
 
// 탐색기로 쓰는 1.5 mm 알렌키가 노즐로 부터 떨어진 위치를 펌웨어에 알려줘야 합니다.
// 그래야 이 위치값을 참조해 자동 수평 (Auto Level)을 시행할때 반지름 85 mm인 
// 원 안에 37개 위치를 찍습니다.
// 이 위치값은 Prontface에서 탐색봉을 푼 다음 판 중심 (0, 0, 0)에 수동으로 조정해 놓고
// M114라 좌표값을 적습니다. 
// 2/22/2015 (-23.50, 10.10, 4.90) 
#define Z_PROBE_OFFSET {23.50, -10.10, -4.90, 0}
// {13, -3, -6.9, 0}
// #define Z_PROBE_OFFSET {0, 14, -6.7, 0}  // (0, 14, -6.5, 0) X, Y, Z, E distance between hotend nozzle and deployed bed leveling probe.(0,19,-8,0)
 
 
// 2/22/2015
// Coordinate of the Z probe retractor (40.00, -63.50, 65.00)
// void retract_z_probe() in Marlin_main.cpp
// 자동 수평 기능이 끝나고 탐색봉을 집어넣는 밀개의 위치로 수동으로 적당한 위치를 정한 후
// 좌표값을 M114로 얻습니다.
#define Z_PROBE_RETRACTOR
#define Z_PROBE_RETRACTOR_X 40.0
#define Z_PROBE_RETRACTOR_Y -63.5
#define Z_PROBE_RETRACTOR_Z 65.0
 
// Marlin 펌웨어에 설치된 4개 스테퍼 모터의 정확한 단위 움직임 (step) 수를 알려줍니다.
// default settings
// Motor Steps per Revolution / Idler Teeth / Belt Pitch
// 16T pulleys, 1.8 degree, 1/16 microstep, GT2 belt pitch 2mm, 
// for Kysan NEMA 17 step motor
// (360.0 / 1.8) / (1/16) / 16.0 / 2.0 = 100.0
// 5.18 geared stepper motor, 1.8 degree, 1/16 microstep
// Motor Steps per Revolution *  Gear Ratio / (hobbed gear Diameter * Pi)
// Hobbed gear: 8mm bore, 12.7mm OD, 11.4mm hobbed diameter
// steps per unit = (360.0 / 1.8) / (1/16) * 5.18 / (11.4 * Pi)
// 463 (<-462.83)
 
#define DEFAULT_AXIS_STEPS_PER_UNIT   {100, 100, 100, 463}
#define DEFAULT_MAX_FEEDRATE          {300, 300, 300, 300}    // (mm/sec)
#define DEFAULT_MAX_ACCELERATION      {1000,1000,1000,1000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot.
 
#define DEFAULT_ACCELERATION          3000    // X, Y, Z and E max acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION  3000   // X, Y, Z and E max acceleration in mm/s^2 for retracts
 
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
 
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
// #define EXTRUDER_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
// #define EXTRUDER_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
 
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
 
// The speed change that does not require acceleration (i.e. the software might assume it can be done instantaneously)
#define DEFAULT_XYJERK                20.0    // (mm/sec)
#define DEFAULT_ZJERK                 20.0    // (mm/sec)
#define DEFAULT_EJERK                 20.0    // (mm/sec)
 
//===========================================================================
//=============================Additional Features===========================
//===========================================================================
 
// EEPROM
// the microcontroller can store settings in the EEPROM, e.g. max velocity...
// M500 - stores paramters in EEPROM
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
// M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.
//define this to enable eeprom support
//#define EEPROM_SETTINGS
//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
 
// please keep turned on if you can.
//#define EEPROM_CHITCHAT
 
// Preheat Constants
#define PLA_PREHEAT_HOTEND_TEMP 185
#define PLA_PREHEAT_HPB_TEMP 70
#define PLA_PREHEAT_FAN_SPEED 30   // [255] Insert Value between 0 and 255
 
#define ABS_PREHEAT_HOTEND_TEMP 230
#define ABS_PREHEAT_HPB_TEMP 100
#define ABS_PREHEAT_FAN_SPEED 255   // Insert Value between 0 and 255
 
//LCD and SD support
//#define ULTRA_LCD  //general lcd support, also 16x2
//#define DOGLCD  // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
#define SDSUPPORT // Enable SD Card Support in Hardware Console
//#define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error)
 
//#define ULTIMAKERCONTROLLER //as available from the ultimaker online store.
//#define ULTIPANEL  //the ultipanel as on thingiverse
 
// The MaKr3d Makr-Panel with graphic controller and SD support
// <a href="http://reprap.org/wiki/MaKr3d_MaKrPanel
//#define" rel="nofollow">http://reprap.org/wiki/MaKr3d_MaKrPanel
//#define</a> MAKRPANEL
 
// The RepRapDiscount Smart Controller (white PCB)
// <a href="http://reprap.org/wiki/RepRapDiscount_Smart_Controller
#define" rel="nofollow">http://reprap.org/wiki/RepRapDiscount_Smart_Controller
#define</a> REPRAP_DISCOUNT_SMART_CONTROLLER
 
// The GADGETS3D G3D LCD/SD Controller (blue PCB)
// <a href="http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel
//#define" rel="nofollow">http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel
//#define</a> G3D_PANEL
 
// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB)
// <a href="http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
//" rel="nofollow">http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
//</a> ==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: <a href="http://code.google.com/p/u8glib/wiki/u8glib
//#define" rel="nofollow">http://code.google.com/p/u8glib/wiki/u8glib
//#define</a> REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
 
// The RepRapWorld REPRAPWORLD_KEYPAD v1.1
// <a href="http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626
//#define" rel="nofollow">http://reprapworld.com/?products_details&products_id=202&cPath=1591_1626
//#define</a> REPRAPWORLD_KEYPAD
//#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // how much should be moved when a key is pressed, eg 10.0 means 10mm per click
 
// The Elefu RA Board Control Panel
// <a href="http://www.elefu.com/index.php?route=product/product&product_id=53
//" rel="nofollow">http://www.elefu.com/index.php?route=product/product&product_id=53
//</a> REMEMBER TO INSTALL LiquidCrystal_I2C.h in your ARUDINO library folder: <a href="https://github.com/kiyoshigawa/LiquidCrystal_I2C
//#define" rel="nofollow">https://github.com/kiyoshigawa/LiquidCrystal_I2C
//#define</a> RA_CONTROL_PANEL
 
//automatic expansion
#if defined (MAKRPANEL)
 #define DOGLCD
 #define SDSUPPORT
 #define ULTIPANEL
 #define NEWPANEL
 #define DEFAULT_LCD_CONTRAST 17
#endif
 
#if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
 #define DOGLCD
 #define U8GLIB_ST7920
 #define REPRAP_DISCOUNT_SMART_CONTROLLER
#endif
 
#if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
 #define ULTIPANEL
 #define NEWPANEL
#endif
 
#if defined(REPRAPWORLD_KEYPAD)
  #define NEWPANEL
  #define ULTIPANEL
#endif
#if defined(RA_CONTROL_PANEL)
 #define ULTIPANEL
 #define NEWPANEL
 #define LCD_I2C_TYPE_PCA8574
 #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
#endif
 
//I2C PANELS
 
//#define LCD_I2C_SAINSMART_YWROBOT
#ifdef LCD_I2C_SAINSMART_YWROBOT
  // This uses the LiquidCrystal_I2C library ( <a href="https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home" rel="nofollow">https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home</a> )
  // Make sure it is placed in the Arduino libraries directory.
  #define LCD_I2C_TYPE_PCF8575
  #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
  #define NEWPANEL
  #define ULTIPANEL
#endif
 
// PANELOLU2 LCD with status LEDs, separate encoder and click inputs
//#define LCD_I2C_PANELOLU2
#ifdef LCD_I2C_PANELOLU2
  // This uses the LiquidTWI2 library v1.2.3 or later ( <a href="https://github.com/lincomatic/LiquidTWI2" rel="nofollow">https://github.com/lincomatic/LiquidTWI2</a> )
  // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
  // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file)
  // Note: The PANELOLU2 encoder click input can either be directly connected to a pin
  //       (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1).
  #define LCD_I2C_TYPE_MCP23017
  #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
  #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD
  #define NEWPANEL
  #define ULTIPANEL
#endif
 
// Panucatt VIKI LCD with status LEDs, integrated click & L/R/U/P buttons, separate encoder inputs
//#define LCD_I2C_VIKI
#ifdef LCD_I2C_VIKI
  // This uses the LiquidTWI2 library v1.2.3 or later ( <a href="https://github.com/lincomatic/LiquidTWI2" rel="nofollow">https://github.com/lincomatic/LiquidTWI2</a> )
  // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory.
  // Note: The pause/stop/resume LCD button pin should be connected to the Arduino
  //       BTN_ENC pin (or set BTN_ENC to -1 if not used)
  #define LCD_I2C_TYPE_MCP23017
  #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
  #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later)
  #define NEWPANEL
  #define ULTIPANEL
#endif
 
#ifdef ULTIPANEL
//  #define NEWPANEL  //enable this if you have a click-encoder panel
  #define SDSUPPORT
  #define ULTRA_LCD
  #ifdef DOGLCD // Change number of lines to match the DOG graphic display
    #define LCD_WIDTH 20
    #define LCD_HEIGHT 5
  #else
    #define LCD_WIDTH 20
    #define LCD_HEIGHT 4
  #endif
#else //no panel but just lcd
  #ifdef ULTRA_LCD
  #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display
    #define LCD_WIDTH 20
 
    #define LCD_HEIGHT 5
  #else
    #define LCD_WIDTH 16
    #define LCD_HEIGHT 2
  #endif
  #endif
#endif
 
// default LCD contrast for dogm-like LCD displays
#ifdef DOGLCD
# ifndef DEFAULT_LCD_CONTRAST
#  define DEFAULT_LCD_CONTRAST 32
# endif
#endif
 
// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
//#define FAST_PWM_FAN
 
// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency
// which is not ass annoying as with the hardware PWM. On the other hand, if this frequency
// is too low, you should also increment SOFT_PWM_SCALE.
//#define FAN_SOFT_PWM
 
// Incrementing this by 1 will double the software PWM frequency,
// affecting heaters, and the fan if FAN_SOFT_PWM is enabled.
// However, control resolution will be halved for each increment;
// at zero value, there are 128 effective control positions.
#define SOFT_PWM_SCALE 0
// M240  Triggers a camera by emulating a Canon RC-1 Remote
// Data from: <a href="http://www.doc-diy.net/photo/rc-1_hacked/
//" rel="nofollow">http://www.doc-diy.net/photo/rc-1_hacked/
//</a> #define PHOTOGRAPH_PIN     23
 
// SF send wrong arc g-codes when using Arc Point as fillet procedure
//#define SF_ARC_FIX
 
// Support for the BariCUDA Paste Extruder.
//#define BARICUDA
 
/*********************************************************************\
* R/C SERVO support
* Sponsored by TrinityLabs, Reworked by codexmas
**********************************************************************/
 
// Number of servos
//
// If you select a configuration below, this will receive a default value and does not need to be set manually
// set it manually if you have more servos than extruders and wish to manually control some
// leaving it undefined or defining as 0 will disable the servo subsystem
// If unsure, leave commented / disabled
//
//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
 
// Servo Endstops
//
// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
 
// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500.
//
//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles
 
#include "Configuration_adv.h"
#include "thermistortables.h"
 
#endif //__CONFIGURATION_H

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

무슨 생각으로 돼지표 본드로 대각 막대 관절을 붙였을까.
떨어진 막대 관절에 금속용 에폭시 발라 붙였는데 금속용 에폭시도 몇주 지나니까 떨어졌네요.

모델 찍을 때 노즐이 판을 긁는 문제가 생깁니다.

판 수평이 값맞추기 할때마다 변하고, 0.1 mm로 움직이는 노즐인데 판의 높낮이 차이가 0.5 mm 이상
생기는 실제 판 수평도와 삼디 프린터가 보는 수평도가 틀려지니, 정밀한 물체 찍기가 불가능해짐.

전에 neutron님이 지적한 사항이지요.
조립시 여섯개 대각 막대와 이펙터 연결 부분에 오차가 거의 없어야 하고,
펌웨어는 이런 연결부분이 완벽하다는 가정하에 동작을 합니다.
값맞추기 (calibration) 기능도 역시 마찬가지 고요.

출력 판은 껍데기는 고른데 바닥 틀에 0.2-3 mm 두께 차이가 났을 때는 출력 판의 세 곳 높낮이를
조정하면 됩니다. 그러면 값맞추기 하는 과정에서 이 상태를 바탕으로 기준 좌표를 만들어서 출력시에
계속 사용합니다.

그런데 노즐을 움직이는 이펙터, 대각선 막대의 관절에 0.1 mm 정도 간격이 생기거나 저처럼 대각선 막대와
관절 연결 부분이 떨어져 1-2mm 사이로 왔다갔다하면 출력할 때마다 물리적인 노즐 기준 좌표가 바뀌니,
출력 판을 긁거나 뜨거나, 출력을 하면 정확한 치수대로 물체가 나오지 못해요.

처음 조립하고 운영하는 몇주 동안에는 잘찍던 삼디 프린터가 시간이 갈수록 문제를 보여주는 현상인데요.
중국산 30-40만원대 자작 키트로 파는 프린터들이나 직접 싸구려 부품 사서 만든 프린터들이 가진 치명적인
단점입니다.

저도 돈을 더 써서 중요한 동작 부품인 대각 막대, 관절은 전부 정밀도와 내구성이 높은
금속 부품으로 바꿔야 하는 상황에 빠졌습니다. 공 관절 (ball joint)와 나사 선 박힌 육각 봉으로 할까
원 봉을 쓰고 자석 관절을 만들어 쓸까 따지고 있습니다.

보통 1시간 짜리 모델 찍으면 10만번의 G-code 처리를 하니,
X, Y, Z축 대각선 막대가 각각 최소한 10만번은 움직이는 거지요.

이펙터 및 대각선 관절 상태 확인하는 간단한 방법은 기준 위치 (home)에
놓은 상태에서 손으로 이펙터 잡고 움직일때 단단해야 됩니다. 이때 약간의
움직임이 있으면 관절에 간격이 생겨있는 뜻이고요.

대각선 막대도 하나씩 가운데 지점 또는 아래나 위쪽을 잡고 위아래, 좌우로 움직일때 단단하게 있어야지
조금이라도 움직임이 있으면 관절에 간격이 있거나 연결 부분에 사이가 떠있다고
보면 됩니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

알루미늄이든 유리든 열을 가하면 변형되는데, 변형 상태가 오목하냐 볼록하냐가 문제인 것 같습니다.
밑으로 오목하게 둔 다음, 마스킹 테이프를 깔고, 풀이나 헤어 스프레이를 적용한후,
slic3r 옵션에서 최소한 skirt를, 아니면 나중에 다듬을때 성가시지 않을 정도로 brim을 적용한 다음
수정: skirt -> brim ; brim -> raft.
출력하는게 오차의 압박에서 벗어나는데 도움이 되지 않을까 합니다.

그리고 밀기봉에게 진한 화장을 시키셨더군요;;
석고는 충격과 진동에 약한걸로 알고있는데, 결과가 궁금합니다.
밀기봉과 구체관절베어링을 연결한 무두볼트에 테프론 테이프를 조금 감은 다음 에폭시를 바르는건 어떨까요?
록타이트를 구해야 하나 고민이 많이 되네요.

andysheep의 이미지


어제 처음으로 정밀 기계 분야에서 일하는 두분 부탁으로 업체에 직접 미니 코셀 차에 싣고 가서
세명 앞에서 시연을 하는 기회를 가졌습니다. 세시간 정도 노트북에 연결한 미니 코셀에서 값맞추기 (Calibration) 하는 법,
프린터 설정하는 등 관련 프로그램들 (Pronterface, Slic3r, OpenSCAD) 기능과 동작 보여주고, 정육면체 찍기,
NC 장비 제작하는 회사에서 온 기술자 분과 GCODE 파일에서 명령어 처리하는 부분,
방식, 미니 코셀같은 삼각 3D 프린터 만드는 어려움과 구조적인 문제들에 대해 얘기를 나눴습니다.

삼각 3D 프린터의 동작 원리를 이해하고자 하는 분은 아래 문서를 참고하시기 바랍니다.
제가 찾은 관련 문서 중에 제일 정리가 잘되어 있습니다.
Rostock Kinematics Document
https://groups.google.com/forum/#!topic/deltabot/V6ATBdT43eU
Rostock Delta Kinematics 3.pdf
https://groups.google.com/group/deltabot/attach/317577f91b91438c/Rostock%20Delta%20Kinematics%203.pdf?part=0.1&authuser=0

Delta robot (http://en.wikipedia.org/wiki/Delta_robot) 자료는
훨씬 많습니다.

한가지 반가운 소식은 중국에서 삼각 3D 프린터 키트 값이 $300 아래까지 내려갔습니다.
리니어 레일 쓰는 건 여기에 $150에서 $200 정도 비쌉니다. 삼각 3D 프린터에 관심있는 분은 40만원 근처에서
한대 만들 수 있는 상황입니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

베어링을 하나씩 구하려니 참 힘듭니다.
근처에 공단이 있는데, 다들 큰 베어링만 쓰는지 미니어처 베어링은 거의 없고, 있어도 내경 5mm 이상만 취급하고, 플렌지형은 8mm부터 시작하는군요.
그냥 인터넷으로 업체 찾아서 재고 확인한후 구입했습니다.

밀기봉과 낚시줄 풀리/아이들만 해결하면 드디어 자작 코셀 미니를 만들 수 있을 것 같습니다.

알려주신 사이트에서 일괄구매를 하지 않는 이상은, 재료를 하나씩 구하기가 왜이리 힘든지 모르겠습니다.
이번 주말에는 만들 수 있었으면 좋겠네요.

그리고 auto bed leveling에 대해서...
제가 알기로는 auto bed leveling의 목적이, 베드의 울퉁불퉁함을 잡아주기 위함이 아니고
쉽게 변할 수 있는 노즐과 베드의 평행성을 까다로운 calibration 과정없이 소프트웨어적으로 해결하기위한 노력의 결과물로 알고있습니다.
베드 상태가 오목할 수도 볼록할 수도 있기에 일전 calibration에 관한 링크를 걸어놨던것이구요.

조금 더 정밀한 제어를 원하시면 스테핑 모터를 200 revolution(1.8)에서 400 revolution(0.9)로,
스테핑 모터 드라이버를 32 micro step (혹은 64 128까지..)까지 되는 드라이버로,
제어보드를 smoothie board나 전용 제어보드(보통 모터 드라이버와 일체형)로 바꾸셔야 할 듯 합니다.

andysheep의 이미지

언제 찍기 판 고름 값맞추기를 하는가?

삼디 프린터를 만들고 물체를 찍기 전,
열끝을 움직이는 부품을 바꾸거나 판의 높이나 위치가 변할 때.
플라스틱 물체 인쇄 상태가 나빠졌거나 문제가 생길 때.
다른 곳으로 삼디 프린터를 옮기고 나서 찍기 전.

찍기 판 고름 값맞추기를 하기 전에 반드시 움직이는 부품 상태를 확인합니다.
12개 공 관절
6개 밀기봉의 접합 상태
찍기 판 고정 상태
스테퍼 모터 3개에 붙어있는 풀리

삼디 프린터가 물체를 찍는 동안 항상 움직이는 부품 한두개에 문제가 생기면
값맞추기를 할때마다 새로운 판 고름이 나오기, 찍을 때 노즐이 판을 긁거나
너무 뜨거나 혹은 판이 조금씩 틀어지는 일이 생겨 정상적인 운영이 힘들어집니다.

값맞추기 할때 판 고름 상태를 측정하는데 도움이 되는 공구

다이얼 게이지 (Dial indicator): 0.01 mm 단위
틈새 게이지 (Filler gauge): 0.05 mm 이하 날이 있는 것
대붙이 직각자 (Engineering square): 고름도가 0.01 mm 이내인 것
물방울 수평계: 원형으로 판의 고름도를 보여줌.

설명에 사용한 펌웨어는 Rich Cattell Marlin v1.0.4 입니다.
M666라는 EEPROM에 주요 변수값을 고치고 저장하는 기능과
찍기 판 고름 자동 값맞추기 (Auto calibration) 기능도 있습니다.

자주 쓰는 G Code 명령어

프론터페이스는 G Code 명령어를 소문자를 써도 처리한다.

M119: 끝멈춤 스위치 상태를 보여준다.
G28: 열끝을 기본 위치로 보낸다.
G29: 찍기 판의 고름도를 측정한다.
G30: 찍기 판의 특정 위치 고름도를 검사, 자동 값맞추기를 한다.
G30 x10 y20는 (10, 20)의 바닥 (0)과 z축 높이 차이를 보여준다.
G30 E는 현재 찍기 판 상태를 보여준다.
G30 A는 자동 값맞추기를 시작한다.
M302: 필라멘트 공급 모터 (extruder)을 시작한다.
M106: 열끝에 달린 팬을 켠다.
M107: 돌고 있는 열끝 팬을 끈다.
M114: 현재 열끝 위치를 (x, y, z) 좌표로 보여준다.

M666 펌웨어 읽고 쓰기 관련 명령어

M500: 현재 주요 변수 값을 롬에 저장한다.
M502: 펌웨어 컴파일시 Configuration.h 파일에 정한 변수 값들을 올린다.
M666: 옵션
L M666 명령어가 다루는 변수들 값을 보여준다.
M666 L을 치면 아래와 같이 내용이 나온다.

Current Delta geometry values:
X (Endstop Adj): -5.25
Y (Endstop Adj): -5.96
Z (Endstop Adj): -5.66
P (Z-Probe Offset): X21.00 Y-9.30 Z-6.00
A (Tower A Position Correction): -0.19
B (Tower B Position Correction): 0.39
C (Tower C Position Correction): -0.20
I (Tower A Radius Correction): 0.00
J (Tower B Radius Correction): 0.00
K (Tower C Radius Correction): 0.00
R (Delta Radius): 111.37
D (Diagonal Rod Length): 214.86
H (Z-Height): 207.25

X, Y, Z축의 끝멈춤 위치 바꾸기.

m666 x-4.35 y-5.45 z-4.95

위 명령은 X축 끝멈춤을 기준 위치에서 아래로 4.35 mm, Y축 끝멈춤을 아래로 5.45 mm, Z축 끝멈춤을 아래로 4.95 mm
내린다.

한 축의 끝멈춤 위치를 바꿀때는 m666 [x/y/z] [-]##.### 형태를 쓴다.
예로 m666 x-4.45 는 X축 끝멈춤 위치를 4.45 mm 아래로 내린다.

Z 값, 높이를 측정의 바늘 이동거리 (Z-Probe Offset) 바꾸기.
자동 판 고름 측정 (Auto bed level)시 사용하는 기계식 바늘이 스프링 힘으로 풀려서
판에 닿아서 눌려있는 스위치가 꺼질 때까지 이동하는 거리다.
예로 m666 p-6.20는 바늘 이동거리를 6.20으로 정한다.

직접 찍기 판 고르기를 하는 법.

아래 그림에서 A가 찍기 판의 가운데 점, B가 X 탑, C가 Y 탑, D가 Z탑입니다.
맨 처음에 해야하는 것은 열끝의 노즐이 기본 위치 (Home)에 있을 때 노즐과
A 사이 거리를 정합니다.

이 Z축 높이가 짧으면 노즐이 찍기 판 위에 붕떠서 인쇄가 힘들고
너무 길면 노즐이 판 속으로 들어가기 때문에 심한 경우에는 유리 찍기 판을 깨부수거나
기계 고장의 원인이 되니, 값맞추기 시작 전에는 반드시 Z 축 높이를 직접 확인해서
길며는 짧게 바꾸거나 판에서 5mm에서 10mm 위까지 삼디 프린터 제어 프로그램으로 내립니다.
(여기서 사용하는 삼디 프린터 제어 프로그램은 프론터페이스 Pronterface)

판이 오목하거나 볼록함을 펌웨어는 델타 반지름 (Delta Radius)으로 처리한다.
m666 R111.37은 델타 반지름을 111.37 mm로 만든다.

X 탑, Y 탑, Z탑의 원 좌표값 구하기

둥근 찍기 판의 반지름을 Configuration.h에서 찾아 씁니다.
보통 170 mm 지름을 사용하는데 저는 150 mm 지름으로 찍는 원판의 크기를 줄였습니다.
R(반지름) = D(지름) / 2

삼각함수 싸인과 코사인 공식으로 직각 좌표계에서
거리와 각도가 주어지면 이 위치의 x, y 좌표를 구합니다.
X = R * cos(theta)
Y = R * sin(theta)

펌웨어에서 사용하는 세 축의 위치는 X 탑은 X축에서 210도, Y 탑은 330도, Z 탑은 90도입니다.
(정삼각형의 세 꼭지점)
X탑 x 좌표 = R * cos(210)
X탑 y 좌표 = R * sin(210)
예로 R이 75 mm일때
X탑 좌표는 위 공식으로 (-64.95, y-37.50)입니다.
Y탑 좌표는 (64.95, -37.50)
Z탑 좌표는 (75.00, 0.00)

프론터페이스에 매크로 버튼 넣기
+ 버튼을 누르면 gcode 명령을 실행하는 매크로 버튼 만들기 창이 뜹니다.

아래 그림에서 X tower(75) 매크로 버튼은
Button title: X tower(75)
Command: g0 f2000 x-64.95 y-37.50 z5
Color: #FF0000

g0 f2000 x-64.95 y-37.50 z5 명령어는
2000 mm/s의 속도로 (-64.95, -37.50, 5.00) 위치로 노즐을 움직입니다.

Y tower 매크로 버튼
Button title: X tower(75)
Command: g0 f2000 x64.95 y-37.50 z5
Color: #00FF00

Z tower 매크로 버튼
Command: g0 f2000 x0 y75 z5
Color: #0000FF

(x,y,z) 매크로 버튼
Command: M114

Center 매크로 버튼
Command: g0 f2000 x0 y0 z5
Color: #000000

M666 L 매크로 버튼
Command: M666L

M500 매크로 버튼
Command: M500

찍기 판 가운데 점의 높이를 지정한다.
A4 종이를 길게 잘라 노즐 밑에 놓고 0.1 mm씩 움직여 노즐에 눌린 종이를 손으로 당겼을 때
팽팽해지는 위치까지 내리고 M114로 높이를 구한다.

이때 z값이 0보다 크면 현재 Z축 높이에서 값을 뺀다.
새 z축 높이 = 이전 z축 높이 - 차이.

예로 아래 그림에서
C(가운데 높이 차이)가 0.00보다 1.65 mm 아래로 나왔다.
새 z축 높이는 217.35로 한다.
215.70 - (-1.65)
m666 H217.35

기준 위치로 올린 뒤 노즐을 판 가운데 바닥 (z 0.00)으로 내리고 종이를
문다면 X, Y, Z 탑 바닥 높이를 재고 차이 만큼 각 탑의 끝멈춤 위치를
조정한다.

예로 아래 그림에서 X탑 바닥 높이가 -0.90으로 나왔으니
새 끝멈춤 위치는 1.7 (0.8 - (-0.90))가 된다.
기준 위치로 올린 뒤 X탑 바닥 높이를 0.00까지 내리고 종이 물림 상태 확인.
그다음은 Y탑 바닥 높이, Z탑 바닥 높이로 한다.

새 탑 높이 조정이 끝나면 가운데 점 높이를 잰다.
이때 바닥 (0.00)보다 노즐이 높으면 (0 이상일 때) 델타 반지름 (Delta Radius)를
줄이고, 노즐이 바닥보다 낮으면 델타 반지름을 늘려 노즐을 더 내린다.

m666 R###.##

새로 델타 반지름을 바꾸고 나서 M500로 변수값을 롬에 저장한다.

가운데 점 높이 측정 -> 새 탑 높이 측정 -> 델타 반지름 고침의
과정을 가운데 점, 새 탑 높이가 노즐이 바닥에 (z 0.00) 닿을 때 모두 0.00일 때까지
한다. 수동 값맞추기 시간은 프린터의 물리적 상태, 개인의 경험과 능력에 따라 몇십분에서 몇시간 걸린다.

자동 값맞추기

노즐 높이 (Z Height)을 m666를 이용해 정했으면 G30 E로
자동 값맞추기를 시작하기 전 판 고름 검사를 해본다.

이때 주의할 점은 높이 측정 바늘 설정값 (Z Probe offset)이 너무 낮으면
값맞추기 하는 동안 찍기 판 바닥을 긁는 문제기 생기니 G30 E 실행시
측정 바늘이 판 위에서 일정한 높이로 움직이는지 확인한다.

SENDING:M666 L
Current Delta geometry values:
X (Endstop Adj): -4.35
Y (Endstop Adj): -5.40
Z (Endstop Adj): -5.15
P (Z-Probe Offset): X21.00 Y-9.30 Z-6.00
A (Tower A Position Correction): 0.00
B (Tower B Position Correction): 0.00
C (Tower C Position Correction): 0.00
I (Tower A Radius Correction): 0.00
J (Tower B Radius Correction): 0.00
K (Tower C Radius Correction): 0.00
R (Delta Radius): 111.25
D (Diagonal Rod Length): 214.86
H (Z-Height): 207.25
>>> g30 e
SENDING:G30 E
    Z-Tower         Endstop Offsets
    -0.6400         X:-4.35 Y:-5.40 Z:-5.15
-0.6000     -0.3600     Tower Position Adjust
    -0.7600         A:0.00 B:0.00 C:0.00
-0.8200     -0.6100     I:0.00 J:0.00 K:0.00
    -0.8700         Delta Radius: 111.2500
X-Tower     Y-Tower     Diag Rod: 214.8600

자동 값맞추기 G30 A에 옵션으로 밀기봉 길이 (Diagonal Rod Length)를
정해놓으면, 델타 반지름과 다른 변수값들만 바꾸므로 실행 시간이 짧아진다.

수동 판고름 값맞추기를 하고 자동 값맞추기를 실행한 경우
밀기봉 길이를 214.86 mm로 정함.

 g30 A D214.86
SENDING:G30 A D214.86
Starting Auto Calibration..
    Z-Tower         Endstop Offsets
    -0.5600         X:-4.35 Y:-5.40 Z:-5.15
-0.5700     -0.3500     Tower Position Adjust
    -0.6800         A:0.00 B:0.00 C:0.00
-0.8100     -0.6000     I:0.00 J:0.00 K:0.00
    -0.8700         Delta Radius: 111.2500
X-Tower     Y-Tower     Diag Rod: 214.8600
Using diagional rod length: 214.86mm (will not be adjusted)
Iteration: 1
Adjusting Endstops..
    Z-Tower         Endstop Offsets
    0.0100          X:-5.12 Y:-5.97 Z:-5.68
0.0800      0.1900      Tower Position Adjust
    -0.0500         A:0.00 B:0.00 C:0.00
-0.0600     -0.0000     I:0.00 J:0.00 K:0.00
    -0.1600         Delta Radius: 111.2500
X-Tower     Y-Tower     Diag Rod: 214.8600
Iteration: 2
Adjusting Endstops..
    Z-Tower         Endstop Offsets
    0.0200          X:-5.18 Y:-5.97 Z:-5.67
0.1000      0.1800      Tower Position Adjust
    -0.0200         A:0.00 B:0.00 C:0.00
-0.0100     0.0100      I:0.00 J:0.00 K:0.00
    -0.1200         Delta Radius: 111.2500
X-Tower     Y-Tower     Diag Rod: 214.8600
Auto Calibration Complete
 
Issue M500 Command to save calibration settings to EPROM (if enabled)
>>> M500
SENDING:M500
Echo:Settings Stored

M666 명령어로 직접 값맞추기 하는 Jay Couture 선생의 동영상입니다. 영어를 쓰긴 하지만 중요한 정보는
화면으로 보여주니까 가끔 정지 시키며 이해하면 될겁니다.
Manual Delta Calibration using M665 and M666
https://youtu.be/tDLbqLve128

0.02 mm 수준으로 미세 조정
https://youtu.be/1fwwA2gfolo

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

http://www.openscad.org/downloads.html

Linux
The packages are automatically built based on the master branch on github.
Note: The packages are called "openscad-nightly" so it's possible to install the development snapshot packages in parallel to the release version from the official repositories.
Debian / Ubuntu packages built on OpenSUSE build service
To install the packages, the release key must be added with apt-key to the key-ring to allow apt-get / aptitude to validate the packages.
Key ID: 30EB8E08 (valid till 2016-11-28)
Key UID: home:t-paul OBS Project
# wget -qO - http://files.openscad.org/OBS-Repository-Key.pub | sudo apt-key add -

After the key is added, the repository URL needs to be configured. This can be done by creating a new file /etc/apt/sources.list.d/openscad.list with the URL specific to the distribution.
Debian 7 (Wheezy)
deb http://download.opensuse.org/repositories/home:/t-paul/Debian_7.0/ ./

설치는

$ sudo apt-get install openscad-nightly

Help > Font List에서 OpenSCAD에서 쓰려는 한글 글꼴 이름 찾은 뒤
소스 코드에서 text() 함수에 한글 낱말과 글꼴 이름 넣어주면 됩니다.

rotate([90, 0, 0]) // X 축으로 90도 회전 
linear_extrude(height = 10, center = true, convexity = 10, twist = 0)
// Z 축으로 높이 10 만큼 글꼴 뽑아냄 
text("은바탕", font="UnBatang"); // 2015판에 더해진 글꼴 출력 함수 

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

Hardware:
RAMPS1.4 + DRV8825 (32 micro steps for X, Y, Z/ 16 micro steps for E) (chinese copy)
E3D V6 + 12V 40W heater (chinese copy)

12V 350W SMPS

PLA linear carrage(No LM block and LM guide)

M3 fisheye bearing + carbon fiber tube

나머지는 2020 프로파일 + 플라스틱 부품들입니다.

Extruder는 http://www.thingiverse.com/thing:215010 에 나온걸로 썼습니다.

Firmware:
Old Delta Marlin(Not Latest)

Software:
Linux - Slic3r1.1.7 + Pronterface + OpenSCAD for testing.

MS - CuraEngine + Repetier-host + Autodesk 123D for actual printing.

Auto Bed Leveling은 쓰지 않았습니다.
왜 쓰지 않느냐고 물으신다면 할 말이 없습니다;
(사실은 만들 당시 길이가 맞는 L형 렌치가 없어서 스위치와 스프링만 달아놓고 포기했습니다.)

삽질 1.
Extruder가 아무리 애를 써도 힘없이 움직이길레 절반즘 포기하고 있었는데, 알고보니 3mm set screw가 덜 조여져서 기어가 헛돌고 있었습니다.

삽질 2.
탄소 봉으로 병렬 팔을 만들때, 탄소봉을 일반 실톱으로 잘랐더니 마감이 영 별로입니다.
길이도 동일하게 맞추기 참 힘들구요.
거기다 에폭시를 잘못 섞어서 5분만에 뚝딱 해치웠더니 길이가 들쭉날쭉하네요.(0.1~0.2mm정도 오차가 납니다.)

삽질 3.
틀을 만들때 쓰는 플라스틱을 다시 구해야겠습니다. 마감이 너무 엉망이네요

삽질 4.
디***마*에서 산 싸구려(하지만 중국산에 비하면 비싼) 중국산 필라멘트를 썼는데 눈물납니다.
급한김에 두 롤이나 샀는데, 어느 세월에 이걸 다 쓸지 모르겠네요.
중국에서 직접 주문한 놈이 오히려 가격도 싸고 품질도 좋고 색상도 덩달아 좋아 보이네요.

댓글 첨부 파일: 
첨부파일 크기
Image icon 20150418_152126.jpg2.56 MB
Image icon SS001.PNG354.06 KB
neuron의 이미지

유리로 된 프린트 베드는 아무리 평평해 보여도 미시적인 관점(예를 들면 0.1mm?) 울퉁불퉁할 수 밖에 없지만,
그리고 볼록/오목의 문제 역시 미시적인 관점에서는 볼록해 지거나 오목해 질 수 밖에 없지만,
0.1~0.3mm 두께의 플라스틱을 녹여 붙이기에 충분히 평평한 수준이라 생각합니다.

오히려 physical dimension의 불균형이, Delta Radius에 맞춰 움직이는 열끝의 동선에 변형을 유도해서
0.n mm 부터 n.n mm 이상의 울퉁불퉁함을 이끌어 내고,
오목/볼록을 유발하지 않을까 하는 생각이 듭니다.

만드는데 들어간 가격은 100만원이 훌쩍 넘어갑니다...만
소량구매하기 불리한 부품들을 울며 겨자먹기로 구매하고
국내에서 구하기 힘든 부품들은 날아다니며 구매해서 그렇습니다.

실제 들어간 금액은 16만원 정도인 것 같습니다.

1.5A 스테퍼 모터 1.2만 * 4 = 4.8만
2020 프로파일 약 4미터 약 1만
RAMPS 1.4 + arduino mega + stepper driver = 4만
GT2 6mm 16teeth pulley + timing belt + F623ZZ(*6) = 약 2만
SMPS 2만
원형 유리 5천
물고기눈 베어링 1.2만
탄소봉 6천
각종 볼트 너트

엔드스톱 스위치는 재활용, 전선도 재활용

필라멘트는 1.8만인데 품질이 굉장히 나쁩니다.

Extruder용은 직접 필라멘트를 뽑을 경우 1.7A짜리 튼튼한 놈을 써야할 것 같습니다.
1.5A는 조금 힘이 달리는 느낌이 듭니다.

X, Y, Z Tower용 모터는 모터 드라이버에서 열이 생각보다 많이 나지 않으므로 1A 이하를 써도 되지 않을까 하는데,
실험 환경이 갖추어지지 않으니 잘은 모르겠습니다.

andysheep의 이미지

@neuron

큰일하셨습니다. 축하드려요. 삼디 프린터 이름은 붙이셨나요?
처음부터 끝까지 혼자서 삼디 프린터 만들어 쓰는 사람은 굉장히 적더군요.

> Extruder용은 직접 필라멘트를 뽑을 경우 1.7A짜리 튼튼한 놈을 써야할 것 같습니다.
> 1.5A는 조금 힘이 달리는 느낌이 듭니다.
5:1 정도 기어달린 스테퍼 모터 쓰거나 아래 이미지 같은 플라스틱 extruder 파일 받아서 기어랑 부품들 찍어서 조립하면
NEMA 17 스테퍼 모터 그대로 쓸 수 있습니다.
http://www.thingiverse.com/thing:5111

> 필라멘트는 1.8만인데 품질이 굉장히 나쁩니다.

우선 현재 사용하는 필라멘트 값맞추기 해보세요.
190도에서 230도까지 5도 간격으로 찍습니다.
http://www.thingiverse.com/thing:337957

중국산 짝퉁 열끝이면 필라멘트가 좋아도 품질이 떨어지는 경우가 많다고
들었습니다.

> 틀을 만들때 쓰는 플라스틱을 다시 구해야겠습니다. 마감이 너무 엉망이네요
OpenSCAD 소스 파일 받아서 삼디 프린터 기능이나 문제점 고쳐가면서
부품 찍어서 바꿔보세요. 재미도 있고 자신감도 붙더군요.

저는 현재까지 effector, 끝멈춤 6개, 찍기판 고정대 3개 찍어서 바꿨습니다.

http://www.thingiverse.com/thing:710477
http://www.thingiverse.com/thing:711490
http://www.thingiverse.com/thing:755481

띵이버스나 다른 삼디 프린터 사이트에 OpenSCAD로 소스 코드 제공하는 삼디 프린터 부품 파일들 많습니다.

아마 neuron님도 주변에서 만들어 달라는 요청에 시달리게 될듯.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

이름은 성의없이 ROAM(Robot Of Additive Manufacturing) MK-1으로 지었습니다.
쓸데없는 고민만 많이했지, 계획같은건 없이 무턱대고 따라만든 놈이기도 하고,
흔들리는 effector를 보니 떠오른 무성의한 이름이지요;;

이름을 YALROAM(Yet Another Loudest...)으로 바꿀까 진지하게 고민중입니다.
무지무지 시끄럽습니다.
기회가 된다면 창틀용 롤러(베어링)을 구해서 직선운동을 구현해야 할 것 같습니다.

Print Bed(이놈의 우리말 이름을 재미있게 붙여줬으면 하는데 당췌 어떤 단어를 써야할지 모르겠습니다.) 받침대
찍기판 고정대 (andysheep님의 댓글에 답이 있었네요.)는 andysheep님이 올려주신 것을
높이 10mm, 넓이 50mm로 다시 만들어서 다시 붙여줬습니다. 찍기판이 믿음직스럽게 고정되니 좋네요.

조만간 병렬팔을 뜯어서 다시 만들어야겠습니다.
10x10x10 Cube가 아랫부분은 10.14x10.10, 윗부분은 10.8x10.4 이렇게 나오네요.(위로 갈 수록 좁아집니다.)
Extruder motor driver가 쇼트났던걸 그대로 잊어버리고 그대로 끼워서 이런 결과가 나왔습니다.
열끝은 분명 이상이 없는데 모터 드라이버의 전류를 1.8A까지 풀어도 모터가 헐떡거리길레 곰곰히 생각해 보니
전류값 맞추다 멀티미터 탐침 끝부분이 잠시 해당 드라이버의 다른 핀을 스쳤는데, 그때 쇼트가 일어났었고,
그 드라이버를 표시해 두는걸 깜빡했더니 이런 결과가 나오네요.
길이와 넓이가 다른건 역시 병렬팔의 길이가 달라서 그런 것 같습니다 ㅠㅠ

그리고 필라멘트는 같은 회사 제품을 쓰시는 것 같은데,
저는 이 회사 필라멘트의 질감이 마음에 차지 않습니다.
ABS는 얼마 안찍어 봐서 모르지만 PLA같은경우 재질이 꽤 단단하고 잘 부서지는걸로 알고 있었는데
지금 쓰는 필라멘트로 찍은건 손톱으로 쿡 찍으면 들어갑니다.
혹시 공기중 습기를 머금어서 그런가 싶어 진공 팩에서 막 꺼낸 새 필라멘트로 큐브를 찍어봐도 그렇네요
찍다가 실패한것들을 부숴봐도 잘 부러지는게 아니고 늘어나다가 끊어지는 것처럼 그렇습니다.
그래서 투덜투덜거리는 중이구요.

2만5천짜리 하나 더 주문했는데 이것도 아니다 싶으면 그냥 바로 해외구매로 가야겠습니다.

익명 사용자의 이미지


안녕하세요

제작기 시간가는 줄 모르고 읽고 또 읽고 있네요.

저도 feel 받아 조금씩 부품을 모으고 있습니다.

그런데, 플라스틱 부품류는 구할 방법이 없네요.
해외 구매경험도 없으니 쉽게 접근하기도 어렵습니다.

국내에서 입수할 수 있는지와 입수처 좀 알려 주시면 감사하겠습니다.

neuron의 이미지

도움을 드리고 싶지만 저도 막 만들어서 계속 calibration을 해야하는 상황입니다.
delta 형 3d 프린터의 경우, 제작시 얼마나 정교하게 만드느냐에(설계 공차를 맞추느냐) 따라서 calibration의 난이도가 결정된다고 합니다.
저는 무개념으로 대충 따라해서 망한 단계인 것 같구요. ㅠㅠ

그리고 열끝이랑 extruder에 문제가 생겨서,
프린트 중간에 플라스틱이 나오질 않는 문제점이 생겼습니다.

로봇을 돌려놓고 밥먹고 오니 열끝만 허공에서 춤추고 플라스틱은 하나도 안나오더군요. ㅠㅠ

ebay나 andysheep님처럼 해당 사이트에서 구매를 하신후, 천천히 하나씩 바꿔나가시는것을 추천합니다.

플라스틱 부품을 구하는 한가지 또 다른 방법은 2020 프로파일용 플라스틱 틀 stl 파일을 usb 메모리에 넣어
근처 중소기업진흥공단의 시제품 제작터를 방문하시는겁니다.
거기에 보통 3D 프린터(상업용 3D 프린터라 들었습니다.)가 있으니 가장 정교하게 플라스틱 틀을 뽑으실 수 있습니다만
시간과 비용을 모르겠습니다.
시간당 만 얼마 해서 받는다고 알고있는데 정확한건 해당 지역 시제품 제작터에 문의해 보시는게 좋을 듯 합니다.

국내에서 파는 3d 프린터 부품들은 외국에서 파는 것 보다 종류도 적고 값만 비싸서 자작하려면 의욕 상실이 옵니다.
미니어처 베어링도 국내 인터넷에서 중국산을 파는걸 겨우 구했구요.(품질은 좋습니다.)

첨언을 하자면 (지금까지 모조리 실패했지만) 틀 한 조각 찍는데 위쪽 작은 틀은 5시간 이상, 모터가 달리는 아래쪽 큰 틀은 13시간 이상 걸리는군요.

neuron의 이미지

모터가 달리는 아래쪽 큰 틀을 아침 7시 30분부터 찍기 시작해서 조금전 실패한 결과물입니다.
Repetier-Host V1.0.6
Cura_SteamEngine version 14.09

Adhesion Type: Brim
Quality: 0.2mm layer
Support Type: None
Print Speed: 20mm/s
outer Perimeter Speed: 20mm/s
Infill Speed: 20mm/s

Infill Density: 40%

시간은 시간대로, 필라멘트는 필라멘트대로 날아가네요 ㅠㅠ

해결 방법이라고 떠오르는건
1. 큐라 엔진에 조금 익숙해서 계속 썼는데 Slic3r로 바꿔서 해봐야겠습니다.
2. Marlin Firmware에서 열끝 PID 세팅 변경
3. 정말 하드웨어적으로 문제가 있다면 열끝을 다른걸로 교체
이렇게 세가지인데, 셋 다 만만치 않네요;

댓글 첨부 파일: 
첨부파일 크기
Image icon 20150425_163730.jpg1.47 MB
Image icon 20150425_163758.jpg1.49 MB
andysheep의 이미지

@neuron

부품 인쇄 상태는 좋아 보입니다. 85%에서 90% 찍은 상태에서 인쇄가 멈춘 건가요?

저는 모델 찍을 때 Print Speed는 30mm/s, Infill Speed는 60 mm/s로 찍고 있습니다.
Solid infill은 위와(Top) 아래 (Bottom) 3층만 정하고, Infill은 30%에서 40%사이로 두고 있습니다.
전부 solid infill하니까 찍는 시간도 많이 걸리고 필라멘트 낭비도 심하더군요.

https://butterflyofdream.files.wordpress.com/2015/04/cdsc_0006.jpg?w=640&h=429

; generated by Slic3r 1.1.7 on 2015-04-05 at 17:24:21
 
; 04/05/2015
;
; GrootThickshell_part1
 
; perimeters extrusion width = 0.35mm
; infill extrusion width = 0.35mm
; solid infill extrusion width = 0.35mm
; top infill extrusion width = 0.35mm
 
 infill_speed = 60
; overhangs = 1
; perimeter_extruder = 1
; perimeter_extrusion_width = 0
; perimeter_speed = 30
; perimeters = 3
; small_perimeter_speed = 30
; solid_fill_pattern = rectilinear
; solid_infill_below_area = 70
; solid_infill_every_layers = 0
; solid_infill_extrusion_width = 0
; solid_infill_speed = 60
; thin_walls = 1
; top_infill_extrusion_width = 0
; top_solid_infill_speed = 50
; top_solid_layers = 3

탄소 막대 밀기봉을 철봉, 쇠구슬에 자석, 스프링으로 바꾸기로 했습니다.
사용한 철봉은 지름 6mm, 쇠구슬은 비열처리 지름 12.70 mm, 무두 볼트 (set screw) M5x20,
니오데움 자석 (지름 8mm, 높이 8mm)

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

출력물의 상태는 생각보다 매끄럽지 않습니다.

LM 블럭과 가이드가 아니고, 외국처럼 V-slot 프로파일이 있어서 베어링-롤러로 리니어 시스템을 구축한 것도 아니라
그냥 PLA 재질의 부싱으로 직선운동을 만들다보니 이동시 부싱과 프로파일간의 이격이 꽤 있지 않을까 합니다.
구리스를 적용하긴 했지만 그리도 진동, 소음과 출력 결과는 슬프게 나옵니다.

그래서 (매 층이 균일하게 적층되는게 아니라 조금씩 흔들거려서 적층이 되기때문에) 표면이 그다지 매끄럽지 못하구요.

어제 아무리 해도 안되길레, 열끝을 분해해서 아세톤에 담근후 플라스틱을 제거하고 다시 조였는데
죌때 힘을 너무 줬는지 그만 터져버렸습니다.
첨부 파일이 중국산 카피가 터진 사진이구요.

마크-2 만들때 쓰려고 모셔둔 열끝을 다시 달긴 했는데, 이번엔 펜 가이드가 말썽이네요.

댓글 첨부 파일: 
첨부파일 크기
Image icon 20150425_220451 (1280x720).jpg419.52 KB
익명 사용자의 이미지

답글 감사드립니다.

역시 쉽지 않네요.

국내에서 어렵다면 외국에서 구할 수 있는지 확인해봐야겠습니다.

오늘까지 모터, PCB 보드들, 20x20 알루미늄 프로파일을 구했습니다.
다른것들은 여유를 가지고 구해봐야 겠습니다.

다시한번 답글에 감사드립니다.

neuron의 이미지

로봇을 만들때 생각보다 많은 공구와 재료가 필요합니다.
너무 급하게 생각하시지 말고 천천히 그리고 비교적 완벽하게 준비를 하셨으면 합니다.

제가 생각하는 가장 아쉬운 부분인데,
합판 하나 구해서 병렬팔의 목표 길이대로 볼트를 박아 넣어서 지그를 만든 다음 작업을 했다면
최소한 치수가 균일하지 않아 다시 만들어야 하는 삽질은 하지 않을텐데 하는 생각이 듭니다.
막막하기도 하고 귀찮기도 해서 아직 방치중입니다.

클램퍼, 니퍼, 스트리퍼, 바이스, c클램프(저는 이게 없어서 탁상용 바이스를 분해해서 책상에 물려 작업했습니다.)
L-렌치(볼이 있는것과 없는것 둘 다 필요할 수 있습니다.)
일부는 필수 일수도 선택일 수도 있지만 있으면 작업 시간이 굉장히 단축됩니다.

http://deltabot.tumblr.com/
이곳에 가면 kossel 개발자의 최신 동향을 알 수 있으니 참고해 보셨으면 합니다.

익명 사용자의 이미지

님의 3D 프린터 제작 스토리 너무 잘 읽고 있습니다.
아두이노 펌 웨어에 대해서 알고 싶은게 있는데요, 아직은 초짜라서요..
1)아두이노 보드를 최초 구입한다고 했을때, 이미 보드 안에는 펌 웨어가
설치되어 있는지요. 아님 펌 웨어 다운 받아서 업로드 해야 하는지요.
2)만일 기본적으로 설치되어 있다면 님이 만드신 3D프린터를 구동하기
위해서 아래와 같은 순서로 작업을 해야 되는지요?
- 펌 웨어 다운로드
- 펌 웨어 수정
(수정 범위는 어느정도 되는지요,헤더파일만 대상이 되는지요)
- 펌 웨어 업로드
- 수정결과 테스트
좀 창피한 질문같지만 완전 초보이다보니 이해 부탁 합니다.

andysheep의 이미지

윈도우즈에서는 구입한 아두이노 보드의 USB 통신 칩 드라이버을 구해서 설치해야 아두이노 보드 인식합니다.

> 1)아두이노 보드를 최초 구입한다고 했을때, 이미 보드 안에는 펌 웨어가
> 설치되어 있는지요. 아님 펌 웨어 다운 받아서 업로드 해야 하는지요.
3D 프린터 키트를 전문 회사에서 사면 펌웨어를 해당 웹사이트에서 내려받아서
컴파일해 올리면 되요.

알리 익스프레스나 eBay에서 $300짜리 키트 사면 펌웨어를 직접 구해서
3D 프린터 주요 변수값 바꾸고, 컴파일해서 올려야 지요.

아두이노 보드 쓰는 Reprap 프린터는 님이 쓰신대로 아래 과정을 거칩니다.

>- 펌 웨어 다운로드
>- 펌 웨어 수정
>(수정 범위는 어느정도 되는지요,헤더파일만 대상이 되는지요)
>- 펌 웨어 업로드
>- 수정결과 테스트

아두이노 보드 롬에 변수 값 저장하는 기능이 들어있는 펌웨어를 쓰면
헤더파일에 변수 값 바꿀 때 마다 펌웨어 컴파일하고 올리는 과정이 간단해 지니까
편하긴 합니다.

>- 펌 웨어 수정
>(수정 범위는 어느정도 되는지요,헤더파일만 대상이 되는지요)
예.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

익명 사용자의 이미지

너무 기초적인 질문같아서 답글이 없을줄로 생각했는데 , 이렇게 친절히 답해 주셔서 감사 합니다.
이 사이트를 참조로 해서 저도 나름대로의 3D 프린터를 만들어 볼까 합니다.
유용한 내용 많은 참조가 될걸로 생각 합니다. 진심으로 고맙습니다........pin

익명 사용자의 이미지

안녕하세요 현재 kossel mini 제작중인 고2 학생입니다.
제가 촌에 살고있어서 탄소봉을 구할수 없는 상태입니다...
그래서 탄소봉을 대용할수 있는 재료가 있을까요?

andysheep의 이미지


탄소봉 대신 속 빈 알루미늄 봉도 좋아요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

한 반년 3D 프린터 잊고 지냈더니 OpenSCAD 문법을 거의 잊어 버렸네요. 어제부터 다시 OpenSCAD로 모델링 시작했습니다.

// 14/03/2016
// Hangul fonts
 
module UnBatang()
{
    linear_extrude(height = 5, center = true, convexity = 10, twist = 0)
    text("은바탕", font="UnBatang");
}
 
module UnDinaru()
{
    linear_extrude(height = 5, center = true, convexity = 10, twist = 0)
    text("봄은 온다", font="UnDinaru");
 
}
 
module UnGungseo()
{
    linear_extrude(height = 5, center = true, convexity = 10, twist = 0)
    text("봄은 온다", font="UnGungseo");   
}
 
module NanumGothicCoding()
{
    linear_extrude(height = 5, center = true, convexity = 10, twist = 0)
    text("나눔 고딕", font="NanumGothicCoding");
}
 
module Hankyoreh()
{
linear_extrude(height = 5, center = true, convexity = 10, twist = 0)
    text("봄은 온다", font="한겨레결체");
}
 
module Bandal()
{
    linear_extrude(height = 5, center = true, convexity = 20, twist = 0)
    text("봄은 온다", font="Bandal");
}
 
$fn = 100;
 
UnBatang();
translate([0, 20, 0]) NanumGothicCoding();
translate([0, 35, 0]) Hankyoreh();
translate([0, -15, 0]) Bandal();
translate([0, -35, 0])UnDinaru();
translate([0, -50, 0])UnGungseo();

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

PLA는 층 팬 (layer fan)을 돌려줘야 복잡하거나 작은 모델을 잘 찍습니다.

최근에 더한 기능 두개로 작년에는 불가능하고 답답했던 복잡한 모델 찍을 때면 생기는 지저분한 거미줄을 없앴습니다.

내부 마찰력이 적은 PTFE 튜브를 이용해 열끝까지 필라멘트를 넣어주는 보우든 (Bowden) 방식을 세모 3D 프린터들이
많이 쓰는데, 문제는 인쇄하는 중에 보우든 튜브 안에 발생하는 저항으로 뽑개 (extruder)가 세밀하게 필라멘트를
조정하기 어렵습니다. 웬만한 모델들은 깨끗하게 잘나오지만 복잡한 조각품이나 Vornoi같은 모델은 수많은 거미줄이 생겨요.

오무림 (retraction)은 한 점에서 필라멘트를 쌓고 열끝이 다른 좌표로 이동할 때 필라멘트를 당깁니다.
오무림이 부정확해지면 열끝이 수만 - 수십만 번 움직이는 동안 녹은 필라멘트가 거미줄처럼 모델에 생기고,
층 두께가 커져서 녹은 필라멘트 양이 많아질 수록 인쇄 상태가 더욱 나빠집니다.

기계적으로 3D 프린터가 정확히 움직여도 세밀한 오무림이 되도록 뽑개를 최적화하지 못하면
만족스런 인쇄 품질을 얻는 건 그림의 떡이지요.

오무림의 스테퍼 모터 토크가 인쇄 중에 필라멘트를 당겼다 다시 밀때 생기는 압력 보다 작으면 필라멘트가 제자리에서
멈춘 상태에서 이빨 기어로 갈려 움푹 파입니다. 그러면 바로 인쇄를 멈추고 뽑개와 열끝 사이에 막힌 60 cm 길이의
필라멘트를 없애야 합니다. 대부분의 경우 인쇄를 멈춘 상태에서 Pronterface나 인쇄 제어 프로그램을 이용해
필라멘트를 몇십 cm 당겨 열끝 안에서 빼어낸 다음 움푹 파인 부분을 잘라내고 다시 필라멘트를 집어 넣으면 되요.

최악의 경우 위 조치를 늦게 하면 아래 이미지 처럼 열끝 안에서 필라멘트가 부풀어 올라 뽑개를 써서 필라멘트를
당길 수도 없어집니다.

뽑개에 달린 스테퍼 모터 토크가 보우든 튜브 내 압력보다 훨씬 크면 몇백 시간 인쇄하는 동안
보우든 튜브가 왔다갔다 하면서 일반 금속 어댑터 (Press fitting)안에서 닳아서 인쇄 중에 튜브가
떨어져 나옵니다. 그러면 인쇄 실패지요. 해결하는 방법은 산업용 고급 어댑터로 바꿔 보우든 튜브를
단단히 고정 시키거나 아래처럼 강력 접착제로 어댑터 머리를 붙여야지요.

나르는 뽑개 (flying extruder)

reprap 포럼에서 몇주 전에 나르는 뽑개에 관한 글을 봤습니다.
보우든 뽑개보다 튜브 길이가 4배에서 5배 정도 짧은 PTFE 튜브를 써서 인쇄중 생기는 내부 저항을 줄이고,
이펙터에서 10 cm 높이로 떠있기 때문에 뽑개에서 생기는 진동을 차단해서 인쇄 품질을 유지한다.
대각선 팔에 생기는 뽑개 무게는 뽑개 무개와 똑같은 반 무게 (counter weight)를 줄에 달아 0으로 만든다.

필요한 부품과 재료:

도르레 지지대

도르레 x 2
623Z bearing x2 (OD 10mm, ID 3 mm)
M3x15 bolt x2
M3 nut x4
M3 washer x4
음료수 알루미늄 깡통 x1
깡동에 뽑개 무게 만큼 채울 것: 쇠붙이 (흙 또는 자갈)
70 cm 줄

V 바퀴 도르레
http://www.thingiverse.com/thing:1444142

열끝 단열

인쇄 중에는 5도 이하 가능하면 1도 근처로 정해진 온도를 열끝이 유지해야 모델 상태가 고르게 나옵니다.

http://reprap.org/wiki/PID_Tuning에 대로 PID 튜닝을 했는데도 열끝이 정한 온도에서 -5도에서 +10 사이로
움직이는 문제가 있었습니다.

M303 E0 S200 C8는 200도로 PID를 보정하는 명령어입니다.
만일 이 보정 명령으로 얻어진 PID 값이 온도를 안정적으로 유지하지 않으면 수동으로 P, I, D값을
시험 모델을 인쇄하는 중에 바꿉니다.

수동 조정:
- 온도가 자주 높이 올라가거나 들쭉 날쭉하면 합값 (integral gain)인 I 변수 (gain)를 늘리거나 모든 변수를 줄인다.
- 온도가 너무 높이 올라간다? D를 늘이고, P를 줄인다.
- 목표 온도 아래 까지는 (0에서 160도) 빨리 온도가 올라가고 나서 목표 온도에 가까울수록 느려진다
(160도 - 170도 느림, 170도 - 180도 굉장히 느림, 기타)? I 변수를 늘린다.

바꾼 PID 값들 저장은 말린 (Marlin)을 사용하면 M500 칩니다.


For manual adjustments:

if it overshoots a lot and oscillates, either the integral gain needs to be increased or all gains should be reduced
Too much overshoot? Increase D, decrease P.
Response too damped? Increase P.
Ramps up quickly to a value below target temperature (0-160 fast) and then slows down as it approaches target (160-170 slow, 170-180 really slow, etc) temperature? Try increasing the I constant.

열 통 (heater block)을 단열하면 외부로 빼앗기는 열이 작아져 열 끝이 정해진 온도를 쉽게 유지한다는
주장을 듣고 시험 삼아 석고를 발랐습니다. (단열용 세라믹 테이프를 추천해서 살려고 알아봤더니 국내에서는
산업용만 팔더군요.)

아주 세밀한 온도 조정을 원하면 K-type 온도 센서 (thermocouple)같은 온도 측정기를 써서
열 끝에 달린 온도 센서 (thermistor)의 온도 값을 비교해서 차이가 몇도 이상 생기면 따로
온도 표 (temeprature table)을 만듭니다.

PLA 필라멘트도 인쇄 품질에 영향을 주네요.
피셔 살때 들어온 eSun 필라멘트를 쓰고 있는데 온도에 따른 성질 변화가 전에 것들과 비교하면 거의 없습니다.
앞으로는 몇천원 비싼 eSun 필라멘트 쓸 생각입니다. PLA+도 시험해 봐야지요.

또한가지 RAMPS 1.4는 8비트 프로세서를 쓰기 때문에 LCD 기능을 펌웨어에 넣으면 인쇄 품질에 영향을 줄 수도 있답니다.

Reprap 3D 프린터 한 전문가가 최고 성능을 원하면 항상 문제점이 있으면 고치고, 더 나은 기능이나 기술을 넣으라고 했는데요.
재료비 50만원 들어 만든 미니 코셀 성능이 요즘에는 진짜 전문 업체에서 만든 300만원 짜리 3D 프린터 만큼 나옵니다.
아마 Prusa i3같은 직각형을 만들었다면 기계적인 보정 부문에서 고생을 덜했을 거란 생각을 합니다.

실물이 사진보다 더 세밀해요.

오무림에 (retraction) 대한 좀더 기술적인 부분은 다음에 정리해서 올리겠습니다.

400x400x500 물체 찍는 CoreXY 만들기 준비 중인데요. 관심있는 분은 연락주세요.
필라멘트 두개 쓰고, 24V, 32비트 제어 보드, 열판 이랑 껍데기 씌워서 ABS같은
필라멘트도 찍도록 할 계획입니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

익명 사용자의 이미지

안녕하세요.. 3d 프린터가 무엇인지만 알고 한번 과감하게 만들어 보려고 하는 사람입니다.
AndySheep님의 글을 보니까 만들려고 하는 패기가 내려가네요...
조언좀 해주시면 정말 감사하겠습니다.
그냥 저는 배경 지식도 없고 무턱대고 만들려고 하고 있는데
노력도 않하고 너무 큰 것을 바라고 있는 것 같네요..
혹시 시간이 되신다면 필요한 부품과 구매처 등을 알려주시면
정말 감사하겠습니다. 정말로요...

andysheep의 이미지

기계나 전자쪽 전문가들도 3D 프린터 직접 만들면 시행착오를 많이 겪어요.

제일 편하게 3D 프린터 시작하는 것은 미국에서 성능 인정된 보급형 3D 프린터
직구 하는 겁니다. $1,000 선이면 괜찮은 모델 살 수 있어요.

국내 업체 제품은 쓸만하다는 모델들은 200만원 넘는 듯 합니다.

중국에서 싸구려 Reprap 3D 프린터 키트를 총 40 만원 근처에서 구해서 만들 수
있습니다. 그런데 이런 키트 사면 기술지원 하나도 못받으니 문제 생기면 사용자가
직접 해결해야 됩니다. 싼게 비지떡이라고 결국 이런 키트로 3D 프린터 시작한
이들은 새로 한 대 사거나 업그레이드 해요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지


몇년 전에 글쇠판 사이트에서 3D 프린터로 글쇠 뚜껑 찍는 것이 기술적인 이유 (?)로
힘들다고 본 기억이 납니다.

혹시나 해서 꼬마 직박구리로 글쇠 뚜껑 32개 찍어 봤는데 잘 나오네요.
층 높이 (layer height)는 0.1 mm, 3D 프린터 정밀도가 0.1 mm 근처면 ABS나 PLA로
글쇠 뚜껑 잘 나올겁니다.

비 표준 글쇠판 사용자들에겐 좋은 소식이지요.

콜맥 글쇠판

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

익명 사용자의 이미지

위에 핵초짜 도전기를 올렸던 사람입니다. 40만원짜리 키트를 사고 작동이 안 되거나 부족한 부품들은 한국에서 직접 사서 구매하려고 합니다. 혹시 그런 키트를 살 수 있는 구매처를 알려주실수 있으신지...

익명 사용자의 이미지

국내 3D 프린터 부품 쇼핑몰 사이트입니다.
http://www.nasspop.com/

이외에도 다른 사이트들이 많으며, 제가 봤을 때 가장 싼것으로 생각됩니다.
대신 모든 부품이 있지는 않습니다.

아래는 상기 쇼핑몰 블로그입니다.
http://cafe.naver.com/3axis/

익명 사용자의 이미지

반갑습니다

저는 세라믹재료에 대한 관심이 많아서

3D 프린터를 작년 부터 준비하여 현재 기구물은 완성 하였습니다

최대 가로세로높이 500mm까지 성형이 가능한 장치를 만들었으나

아두이노 보드 및 구동에 대한 지식이 얕아

아직도 해매고 있습니다.

보드 및 관련 부품들을 구매해서 구글링 및 렙랩을 통하여 시도를 해보았는데

쉽사리 풀리지 않아 이렇게 글을 올립니다.

님이 만드신 델타 타입은 아닙니다만 기회가 된다면 조언을 구하고 싶어

답답한 마음에 글을 남깁니다.

andysheep의 이미지

PLA로 찍은 부품은 5-6개월 지나면 부러지네요.
약 3달 정도 3D 프린터 잊고 지내다가 최근 몇일 동안 꼬마 직박구리 다시 사용했더니
부품 몇개가 부러져서, 임시 방편으로 고쳤습니다.

이펙터 고정 부품 부러짐.

그런데 오늘은 드디어 짝퉁 Arduino Mega가 USB 통신 기능을 잃어 꼬마 직박구리는 사용 불가.

Arduino Mega 고장 났네요.

$ lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 042: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 005: ID 050d:706a Belkin Components 2-N-1 7-Port Hub (Upper half)
Bus 001 Device 002: ID 050d:0706 Belkin Components 2-N-1 7-Port Hub (Lower half)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 056a:0017 Wacom Co., Ltd CTE-450 [Bamboo Fun]
Bus 004 Device 002: ID 04b4:0101 Cypress Semiconductor Corp. Keyboard/Hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

아두이노 메가의 USB 드라이버가 QinHeng Electronics HL-340 USB-Serial adapter가 죽었네요.

$ lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 050d:706a Belkin Components 2-N-1 7-Port Hub (Upper half)
Bus 001 Device 002: ID 050d:0706 Belkin Components 2-N-1 7-Port Hub (Lower half)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 056a:0017 Wacom Co., Ltd CTE-450 [Bamboo Fun]
Bus 004 Device 002: ID 04b4:0101 Cypress Semiconductor Corp. Keyboard/Hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

RAPMS 쉴드 분리하고 아두이노 메가만 USB 케이블에 연결해도 먹통,
아두이노 Uno를 똑같은 USB 케이블로 연결하니 제대로 동작했습니다.

싼게 비지떡이라고 중국산 짝퉁 전자 부품을 쓰면 불안한 내구성임을 또 한번 느낀 날이었습니다.
16개월 동안 PLA 5kg 찍고 뻗어버린 짝퉁 아두이노 메가.

아두이노 메가 쓸때 Marlin 펌웨어의 segment 수를 100으로 줄여도 프린터 해상도를 그대로 유지한다는
사실을 최근에 발견했네요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지


RepRap 3D 프린터 프로젝트를 시작한 Adrian Bowyer가 운영하던 회사가 RepRapPro 였다.
오래 초에 Fisher 1 내놓고 문닫음. RepRapPro가 피튀기는 경쟁속에서 사업을 접는 모습을 보면서 뛰어난 비젼과 기술력을 가진 이가 사업에 성공하기는 힘든 세상임을 다시 한번 느꼈다.

이 소식 듣고 Fisher Beta 키트를 사서 쓰던 나는 기분이 상했다. '사용중 고장나거나 소무품 성격의 부품은 어디서 구하나?'

다행히 몇달이 지나 Fisher 포럼에 전 RepRapPro 창립자 중 한명이 emaker.io에서 Fisher 1을 키트와 부품들을 판다는 소식을 올라왔다.

쇠 담비는 32비트 아두이노 Due 보드를 바탕으로한 Duet이라는 보드를 쓴다.
펌웨어는 RepRapFirmware로 소스는 C++이다. 8비트 프로세서 아두이노 보드가 가진 계산 능력과 메모리 한계로인한 세모 좌표 처리시 생기는 성능 저하를 걱정할 필요가 없다.

여기에 보드에 이더넷 포트와 micro USB 포트가 있어 사용자는 Duet Web Control 프로그램을 웹 브라우져로 열어 쇠 담비 제어 및 인쇄 작업을 할 수 있다.

Marlin이랑 Repetier는 펌웨어 업그레이드를 아두이노 IDE를 통해 소스 파일을 고치고 컴파일해서 올리지만 쇠 담비는 DWC v1.11 부터는 펌웨어 파일을 올리면 자동으로 업그레이드를 한다.

emaker에서 열판 (heated bed) 키트를 내놓았는데 이것 달면 쇠 담비로 ABS부터 여러가지 다양한 소재의 필라멘트를 찍을 수 있다. 톡 까놓고 얘기하면 국내에서 200만원 팔리며 PLA만 찍는 네모 3D 프린터보다 성능이 더 뛰어나다는 점.

단지 단점은 세모 3D 프린터는 노즐이 벨트 3개에 걸린 운반기 (Carriage)에서 움직이기 때문에 인쇄중 말려 올라간 부분이나 똥의 높이가 크고 단단해서 노즐이 지나가다 치면 노즐 위치가 바뀌어 인쇄를 망치는 일이 발생할 수 있다는 점.

뭐 이런 경우 없이 모델 인쇄 시작후 완벽한 상태로 끝까지 가면 얼마나 좋을까.

그래서 대부분 전문가와 3D 프린터 농장에서는 세모형 보다는 네모형을 주로 쓴다.

쇠 담비와 꼬마 직박구리를 만들고 이용하면서 세모 3D 프린터에서 일어날 수 있는 거의 모든 문제점들을 겪어봤고, 해결을 해오면서 점점 세모 3D 프린터에 관한 애착이 줄어들었다.

기계가 갖고 있는 구조적인 특성으로 생기는 문제점을 어떻게 해결할 것인가?
때문에 세모 3D 프린터를 누군가에게 만들어 줄 생각도 접었고, 추천하고자 하는 마음도 없어졌다.

그냥 남들보다 특이한 3D 프린터를 운용해보고자 하는 기질과 문제해결 능력이 있는 만듬이들에게 적합한 모델이라 본다.

세모 3D 프린터의 끝을 보기위해 최근에 체코의 Prusa Research에서 Prusa i3 mk2란 키트를 샀다. 3D 프린터 전문가들 거의 모두가 인쇄 품질은 i3 mk2가 최고. 도착하면 조립하고 Prusa i3 mk2로 찍은 모델 수준 만큼 쇠 담비가 찍을 수 있는지 성능 비교에도 쓰고, 앞으로 만들 네모 3D 프린터에 i3 mk2의 뛰어난 기능을 넣을 것이다.

오픈 소스 기술을 익히면 좋은 점이 배울 때는 힘들지만 일단 이 과정을 지나 기계 설계, 재료, 부품 구입처, 특성을 이해하고 나면 수십만 원으로 몇백만 원짜리 기계를 만드는 능력을 준다.

참 열심히 지역 업체부터 중국, 미국, 유럽 회사들까지 쑤시고 돌아다니며 재료랑 부품들을 구해왔다. 물건 주문하고 받는데 걸리는 평균 기간은 한 달에서 빠르면 2주.

RepRap 3D 프린터 2대 더 만들어 4대로 3D 농장 시작해 보기로 했다.

시간을 내서 Reprap 위키에 있는 3D 프린터 관련 글을 하나씩 번역해서 이곳에 올리고자 한다.
세모 형이나 네모 형을 쓰던 3D 프린터가 기계적으로 아무리 좋아도 최적화 (optimaization과 tuning)을 해야 한다.

---

PTFE 튜브를 미터당 700원씩 팜.

PFTE 튜브를 꼽는 일반 Pushfit fitting보다 더 좋은 볼트로 조여 절대 빠지지 않도록 하는 Thread coupling은 개당 600원씩 팜.

공구 상가에 가서 아래 이미지와 같은 것 사도 됨.
규격은 몸통 (housing) 볼트는 M6, 피치 0.9 mm, 볼트 길이 6.00 mm

조일 때 필요한 도구:
8 mm 렌치 (wrench), 10 mm 렌치. 공구점에서 아마 스패너로 부를 것임.

이런 Pushfit fitting은 쓰다보면 속에 금속 이빨이 PTFE 튜브 갉아먹어 어느 순간 인쇄중에 튜브거 빠져나옴.

확실한 방법은 에폭시로 튜브와 Pushfit fitting을 붙이기.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지


체코에 있는 Prusa Research에서 Original Prusa i3 MK2 키트 사서 조립하고 값맞추기까지 끝냈습니다. 아무리 조립 설명서를 자세히 써도 운용 단계에서 생기는 문제점들은 겪어 보기전에 얼마나 힘든지 모른다는 사실 다시 한번 느꼈네요.

조립은 15시간 걸렸는데, 값맞추기 (calibration) 과정에서 생기는 문제들 해결하고 첫 모델 찍는데 이틀 보냈습니다.

RepRap 전문가 평가 비디오보고 품질이 제일 좋은 키트라는 말듣고 샀는데, 잘나오는 군요.

푸르사 i3 MK2랑 쇠 담비

시간당 만원 근처 공임 받고 Prusa i3 MK2 전자 부품은 Prusa Research에서 수입해서 쓰고, 나머지는 국내랑 외국서 부품이랑 재료 구해서 한달에 한 두대 주문받아서 완제품으로 팔면 어떨까도 생각중이네요. 프레임 설계 파일 구해서 레이져 커팅하면 조립 시 생기는 문제는 없앨 수 있고, 몇가지 단점 보완하면 됩니다.

Prusa Research에 조립 설명서랑 사용자 안내서 한국어로 번역해주겠다고 이메일 보내고 결정 기다리는 중입니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

andysheep의 이미지

세모 3D 프린터의 약점은 인쇄중에 노즐 끝이 궅은 플라스틱 티나 위로 말린 부분과 부딪히면 잡아주는 힘 (holding force)가 약해 이펙터가 위치를 벗어난다. 이런 사건이 벌이지는 순간 인쇄를 멈추고 층 높이를 찾아 다시 찍거나 대부분의 경우 처음부터 다시 인쇄 시작.

쪼개기 (slicer)에서 밀당김 (retraction)이 있다.
보통 밀당김의 Z 올림 (Lift Z 또는 Z hop) 값을 0.025 mm에서 0.4 mm로 정하는데 이제야 안 사실은 이 값은 네모 3D 프린터에는 적합하다. 프루사 i3 MK처럼 이펙터가 X 축 전체와 함께 움직이는 구조면 인쇄 중 노즐이 플라스틱 조각에 부딪혀도 Z 축 변화가 생기기 힘들다. 여기에 Z 높이는 스테퍼 모터 축에 붙은 나사 봉의 회전으로 조정되기 때문에 갑작스럽게 Z 높이가 위로 올라가는 것은 정상적인 상태라면 불가능.

세모 3D 프린터에서 노즐 튕김을 막는 가장 쉬운 방법은 밀당김의 Z 올림값을 크게 하는 것이다. 최소한 8배에서 10배 높이 올라가게 하여 인쇄중 움직이는 동안 굳은 필라멘트와 닿지 않도록 한다. 주말에 실험 삼아 쇠 담비 성능도 시험해볼 계획으로 굉장히 많은 밀당김과 움직임을 요구하는 모델을 33시간 동안 찍었다. 사용한 Z 올림값은 3.00 mm

3D Model: LASER CAT – Voronoi Style
http://www.thingiverse.com/thing:179266

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

khj의 이미지

3D 프린터를 매스컴으로만 접해서 실감이 안 났는데, andysheep 님의 글을 보니 대중의 생활에 빠르게 퍼지고 있다는게 느껴집니다.

3D 프린터를 쓰는데 꼭 데탑이나 노트북으로만 제어 가능한 것인가요? 만약 그렇다면 최소 사양이나 권장 사양은 어떻게 되나요?

andysheep의 이미지

리눅스에서는 Xorg용 OpenGL 그래픽 드라이버 있어야 하고, 윈도우즈는 DirectX가 OpenGL 지원하니 USB 2.0 포트 달린 PC나 노트북에서 3D 프린터 제어 프로그램 돌릴 수 있어요.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

neuron의 이미지

사출 작업시 똥...에 걸리거나 단단한 구조물에 걸려 튀는 현상은 2GT 벨트 구조도 한몫 하는걸로 알고 있습니다.
G+ 3D 프린터 관련 포스트를 보면 비슷한 투덜거림이 꽤 있습니다.
XML교와 2GT교 쯤으로 나뉠려나요?

벨트없이 스크류 만으로 구동하는 세모도 있긴합니다. (역시 양덕!)
http://www.thingiverse.com/thing:1666370

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.