Image2Gcode Software

Posted by jhlee98y
2015. 6. 24. 10:20 Arduino

Image2Gcode Software


이번 포스트에서는 레이져를 적용하여 그림을 조각하고자 하는 방법 중의 첫번째 

단계인 원하는 그림을 적절한 형식의 G-code로 변경해 주기 위한 프로그램에 

대해서 말씀드리겠습니다.


이 프로그램은 마치 3D 프린터를 사용하고자 할 경우에 slic3r 이나 kslicer를 

사용하여  STL 모델을 슬라이싱하고 G-code를 만드는 과정과 유사한 

단계입니다. 


하기에서 말씀드리는 프로그램은 이전 포스트에서도 말씀드린바와 같이 

Scorch의 "dmap2gcode" 프로그램을 기본으로 Marlin firmware에 맞도록 

수정한 사항입니다.

http://www.scorchworks.com/Dmap2gcode/dmap2gcode.html  )


수정 이유는 원래 프로그램은 CNC 2D 조각용 G-code생성을 위한 

프로그램이며  Linux CNC 등의 CNC 제어기에 적합한 G-code를 생성하기 
때문에 Marlin firmware에 적절한 G-code로 생성해야하기 때문입니다. 


1> Image2Gcode 프로그램

- 이 프로그램은 JPG 또는  PNG 파일 형식의 이미지 파일을 읽어  

G-code를 생성합니다. 참고로 이 프로그램은 Python을 이용하여 

개발되었습니다. 



상기 그림은 이 Image2Gcode 프로그램의 전체적인 모양입니다.

왼쪽 상단에는 읽어들인 이미지(target image) 파일의 정보를 표시합니다.  

상단의 setting 메뉴에서 출력하고자 원하는 크기와 DPI(출력 해상도)를 

조절할 수 있습니다 . 또한 조각하는 속도(feedrare) 및 레이져 강도 및 

threshold를 설정할 수 있도록 했습니다. 

 


- G-code 변환은 흑백 이미지로 변환되며  변환된 이미지는 PNG 파일

형식의 동일이름으로 저장되고 메일 화면에 이의 결과를 보여줍니다. 

 



2> 레이져 제어용 G-code 

- 아래 그림은 생성된 G-code 파일의 일부입니다.  이 그림상에서 볼 수 있듯이 

레이져 제어를 위해 추가된 m-code를 볼 수 있습니다. 아래는 레이져 제어를 위해

추가된 M-code 내역입니다. 


  > M161 - Laser Power On
  > M162 - Laser Power Off
  > M160 Sxxx - 레이져 강도 조절 
      
( Sxxx is PWM duty for Laser control board's TTL modulation signal
                       "xxx" has 0 ~ 255 value, 0 means power off and 255 means max 

- 여기서 Sxxx는 레이져 강도 제어를 위한 PWM 듀티를 의미하며, 0~255의 값을 가집니다.  

"255"의 경우 최대 강도를 의미합니다 .





- 이 Image2Gcode 프로그램에 관심이 있으시거나 사용하기를 원하시면

아래 사이트에서 down 받으실 수 있습니다. 


https://github.com/jhlee98y/Image2Gcode


- 다음 포스트에서는  레이져 적용을 위한 Marlin firmware 수정 사항에 대해서 포스트하도록

하겠습니다.  

'Arduino' 카테고리의 다른 글

레이져 제어를 위한 마를린 펌웨어 변경  (1) 2015.06.24
마를린 펌웨어로 레이져 제어  (4) 2015.06.15
아두이노 IDE CPU Pin 할당  (0) 2015.06.08