Advanced Fabrication Lab

CNC

2D Gcode Generator

I am on a new project to create customizable inflatable structure, and I need to turn any kind of 2d curves into gcode.

This is a simple Grasshopper definition to turn any 2d geometries to gcode. There’s an issue with interpolating curves with points when numbers of points are too small to interpolate (or just random error in Grasshopper. It happens when computing rather large data.)

For sophisticated controls or get rid of errors I may revise but for now this would suffice to operate with simple 2d geometry.







에어 스트럭쳐를 만드는 새 프로젝트를 진행하기 위해 3D프린터를 개조하고 2D 커브를 G-code로 만드는 과정이 필요하다.

G-code생성은 여러가지 CAM프로그램을 사용할 수 있지만 Grasshopper를 사용하면 앞으로 이미지 처리라던지 이런저런 인풋 디바이스를 연결할 수 있는 확장성이 좋기 때문에 만들어 놓는 것이 좋을 것 같았다.

점들을 이어주는 과정(interpolate)에 문제가 좀 있는데  그래스호퍼 자체의 문제인듯 싶다.

데이터가 많아지면 한꺼번에 연산하는 과정에서 에러가 나는 경우가 종종 있기 때문에.. 추가적인 기능을 넣고 에러를 제거하려면 손을 좀 더 봐야겠지만 일단 이정도만 돼도 2d 지오메트리를 처리하는데 문제가 없다.

그래스호퍼 데피니션은 아래에서 다운받을 수 있다.


download 2D G-Code Generator

Canvas at 18;29;52 IMG_5431

Advertisements

China CNC + Gecko drive G540 Controller How To, set up

We’ve had this Chinese CNC for a while without running it due to a crappy controller(brief googling taught me the driver board is poorly designed) that came with the CNC. It was purchased on Aliexpress, but it seems like the original manufacturer is YOOCNC. Extruded aluminum frame looks and feels reasonably solid but with my Lenovo Thinkpad T60 with docking station never could run the CNC stably. My homemade CNC with HobbyCNC EZ driver board back in 2008 had no problem binding with the T60, so I know the parellel port on the docking station is good. After all just purchasing a driver while keeping steppers and reasonably solid frame would save my sanity, which I did by ordering a Geckodrive G540 4 axis stepper motor controller.

알리바바에서 CNC를 구입하고 셋팅에 문제가 있어 한 달 이상을 그냥 내버려두고 있다가 얼마 전부터 살짝살짝 건드리고 있다. 정보가 너무 없어 구글링으로 한참 찾은 후에야 어떤 조합으로 할 지 대략 구상을 하게 되었는데, 일단 컴퓨터는 예전에 사용하던 Thinkpad T60 + 도킹스테이션(예전에 만들었던 CNC에 붙여 사용했었다. 당시에는 HobbyCNC 드라이버를 구입해 사용), 모터 컨트롤러는 Geckodrive G540, 프레임과 스테퍼는 그대로 사용 YOOCNC-3040 4-Axis, 파워서플라이는  CNC에 원래 딸려온 컨트롤러(문제의 원흉!)에 내장되어있는 트랜스포머를 사용한다. 아니, 아직 돌려보지 않았기 때문에 사용하면 될 것 같다. 여튼 앞으로도 같은 작업을 하며 헤멜 사람(이 있을지는 모르겠지만)에게 도움이 될 수 있도록 다큐먼트해놓겠다.

내가 사용한 조합 (각각의 상세 정보는 사진을 클릭)

YOOCNC 3040 with 4th Axis

Gecko G540

Gecko G540

Transformer

Transformer

 

Lenovo mini dock 2504

WARNING

Before continuing, you MUST disconnect everything from power source. Fail to do so will electrocute you and cause serious injury or death.

계속하기 전에 컨트롤러에 연결되어 있는 전원을 반드시 차단할 것. 그렇지 않을 경우에는 심각한 부상을 입거나 사망할 수 있다.


1. Disconnect driver board from other boards in the controller box. There is 1 board with 3 axis controller and if you have bought an A-axis(4th) there is another one you need to disconnect. They look like this.
1. 3축 + A축 (로타리축이 있는 경우에) 드라이버를 컨트롤러 박스에서 제거한다. 도시바 칩으로 컨트롤.

Extensions

2. You will need to extend cables. I decided to keep 4pin DIN connector on the back of the controller case, so I extended those on the other end(inside the box) and also the power cables from the board to a new Gecko G540 driver. Make sure you’re using matching wire gauge.
2. 와이어 연장이 필요하다. 기본으로 들어있는 와이어는 너무 짧아 9핀 커넥터를 연결할 시 G540에 꽂기가 불가능함. G540에 들어가는 파워케이블도 파워보드에서(퓨즈달린 보드) 연장이 필요함. 와이어게이지를 맞춰서 연장할 것. 같은 규격을 사용하지 않을 경우에 재수가 없을 시 불이 날 수 있다. 와이어게이지는 기존의 와이어에 마킹이 되어있음.

3. Solder a corresponding resistor on pin 1 and pin 5 on DB9 connector. The formula is very simple. Multiply by 1000 to your stepper motor's amperage, which in my case is 1.8A, therefore 1.8K Ohm resistor. Extensive googling didn't turn out definitive answers on the motor's specifications, but there is a sticker on the 4th axis motor, in a very hidden spot between the side of the motor and a holding chuck. I had to take a photo to see this, I couldn't possibly see it with naked eyes.

3. Solder a corresponding resistor on pin 1 and pin 5 on DB9 connector. Extensive googling didn’t turn out definitive answers on the motor’s specifications, but there is a sticker on the 4th axis motor, in a very hidden spot between the side of the motor and a holding chuck. I had to take a photo to see this, I couldn’t possibly see it with naked eyes.
3. 모터의 규격을 도저히 알 수 없다. 이 사진은 로타리축에 달려있는 모터의 옆면인데 눈으로 보아서는 확인이 불가능하다. 구글링으로도 확인이 불가능한 이 규격은 사진을 찍어야만 확인할 수 있는데, 이렇게 하나둘 기계의 도움을 받는 세상이 오고 있다.

IMG_4618

The formula is very simple. Multiply by 1000 to your stepper motor’s amperage, which in my case is 1.8A, therefore 1.8K Ohm resistor.
DB9커넥터에 저항을 연결한다. 산출은 모터의 전류 * 1000인데 위 사진에서 1.8A임을 확인했으므로 1.8K옴 저항을 1번과 5번 핀에 납땜한다.

This diagram is pretty much self explanatory. Rewire your 4-lead stepper to your DB9 according to the little drawing beside the main diagram.

This diagram is pretty much self explanatory. Rewire your 4-lead stepper to your DB9 according to the little drawing beside the main diagram. The 4-pin diagram is drawn looking from the inside of the connector, not from the outside.
제공되는 매뉴얼에 포함되어있는 다이어그램. 옆에 그려놓은 컨트롤러박스의 4핀 커넥터 다이어그램을 참조할 것. 다이어그램은 안쪽에서 보았을 때의 상황을 그린 그림이다.

Split the power wire (using the existing connector from the power supply board) so you can install a proper E-stop switch.

Split the power wire (using the existing connector from the power supply board) so you can install a proper E-stop switch.
파워 케이블을 기존에 있던 커넥터에서 나눈다. 이 작업은 E-stop스위치를 달기 위해 필요하다.

You'll need to connect a proper E-stop switch to G540. I strongly recommend you to get a real kill switch, since the one on the existing controller is a complete joke.

You’ll need to connect a proper E-stop switch to G540. I strongly recommend you to get a real kill switch, since the one on the existing controller is a complete joke. If you do not install this prior to proceeding, G540 will turn error and will not work. In that case you can short 10th and 12th terminal and it will give you a green light.
컨트롤러에 달린 킬스위치는 장난에 불과하다. 처음 샀을 때 한 번 눌렀다가 버튼이 스프링과 함께 빠져버렸다.. 안전을 위해 제대로 된 스위치를 달 것. 이 스위치를 달지 않으면 G540은 작동하지 않는다. G540의 10번과 12번 터미널을 연결하면 스위치 없이도 작동이 가능하다.

When all the wiring is done, it looks like this. Yours might look neater depending on your personality.

When some of the wirings are done, it looks like this. Yours might look neater depending on your personality. I wanted to test the wiring of stepper motor before soldering rest of the motors to DB9.
대략 설치가 다 되면 이러한 모양이 된다. 스테퍼 와이어링이 정확한지 확인차 일단 연결해봄.

I tried to figure out wirings among PWM, spindle and G540 but found out there is no direct way to control spindle speed with G540. You need VFD to control one.

I tried to figure out wirings among PWM, spindle and G540 but found out there is no direct way to control spindle speed with G540. You need VFD to control one.
스핀들 스피드를 컴퓨터에서 조정할 수 있는 방법은 없다. 퓨즈를 몇 번 태워먹으면서 배운 점인데 스피드를 컨트롤하기 위해선 결국 별도의 VFD가 필요하다.

I used a generic variable DC power supply that look like this. It works like a charm.

I used a generic variable DC power supply that look like this. It works like a charm.
VFD를 추가구매하지 않고 굴러다니는 파워서플라이를(그림과 비슷한) 악어클립으로 연결해 스핀들 스피드를 조절했다.

Well this seems not much but without much information of how to, I had to spend more than a week before purchasing parts. These seems like a good combination to make it work, and I’ve successfully milled a test part that last about 10 hrs with no problem. The only serious guesswork is the RPM but if you’re not cutting anything hard such as steel, which the machine is not made for anyway, it should be find cutting relatively softer material like wood, wax and copper board for circuits.

철 등의 단단한 재료가 아닌 부드러운 재료를 컷팅하는 데에는 전혀 무리가 없을 정도의 RPM은 나온다. 단단한 재료는 어차피 기계 자체가 감당할 수 있도록 설계되지 않아 원래도 커팅이 불가능하다. 처음에 설명했던 조합으로 10시간이 넘는 시험작업을 성공적으로 수행했다. 단 하나의 문제는 내가 팹랩서울에서 나왔기 때문에 누구도 사용할 사람이 없다는 것..