Equipment/VinylCutterOld: Difference between revisions

From London Hackspace Wiki
No edit summary
Line 57: Line 57:
  if (!ARGV[0])
  if (!ARGV[0])
  puts "Yo dawg, I need a file."
  puts "Yo dawg, I need a file."
exit
end
begin
inputFile = File.open(ARGV[0], "r")
rescue
puts "Failed to open #{ARGV[0]}"
exit
end
serialData = inputFile.read
if (serialData !=~ /^IN/)
puts "That doesn't seem to be valid HPGL data."
  exit
  exit
  end
  end
Line 75: Line 62:
  plotter = SerialPort.new("/dev/ttyUSB2")
  plotter = SerialPort.new("/dev/ttyUSB2")
  plotter.baud=(9600)
  plotter.baud=(9600)
  plotter.flow_control=(SerialPort::SOFT)
  plotter.flow_control=(SerialPort::HARD)
  plotter.rts=(1)
  plotter.rts=(1)
  plotter.data_bits=(8)
  plotter.data_bits=(8)
  plotter.stop_bits=(1)
  plotter.stop_bits=(1)
   
   
  plotter.write(serialData)
  begin
        File.open(ARGV[0], "r") do |inFile|
                while (line = inFile.gets)
                        puts line
                        plotter.write(line)
                        # sleep(1)
                end
        end
rescue
        puts "Failed to open #{ARGV[0]}"
        exit
end

Revision as of 19:51, 20 August 2010

Roland (Large).jpg

Status

I have had a certain amount of success running the cutter with a serial connection from Inkscape under Linux. More messing around is needed.--Artag 13:32, 19 August 2010 (UTC)

Model

Specifications

  • It holds up to 610mm (24") media and cuts up to 584mm ( ~23").
  • Length is essentially unlimited as it can use roll-feed media but seems to be restricted to 25m.
Vinylcut.jpg

Instructions

Quick setup guide

  • Set inkscape to hpgl output
  • draw figure and print to a file
  • set serial port to 9600 8n1, crtscts.
  • connect blue cable (a 9-pin gender-changer is needed at the PC end)
  • load vinyl, switch cutter on. cutter should park at right hand side
  • press Setup, cutter parks at left. Move cutter if necessary with cursor buttons, press Origin Set to mark lower right corner of drawing
  • cat the inkscape output file to the serial port

It should be possible to enable the serial port as a printer and print direct to it, but I found this produced cutter errors (flashing power light) and no cut.

The following file was generated by inkskape for a star shape. This almost works : the first leg is replaced by a poorly cut arc. May imply a need for some sort of initialisation data.

IN;SP1;PU3999,6429;PD2693,5186;PD929,5557;PD1707,3932;PD809,2369;PD2596,2606;PD3805,1269;PD4131,3042;PD5776,3778;PD4191,4636;PD3999,6429;PD3999,6429;

Tips

  • Sometimes the cutter refuses to print or respond to any buttons. This hasn't happened since I opened a door in the bottom of the printer and poked an EPROM there, so may be due to some poor internal connection.

Serial cable

The serial cable (blue, with a 25WD at one end and a 9WD at the other) is connected as follows :

Cutter, 25 pin male D PC, 9 pin female D Use
pin 2 pin 2 PC RXD from cutter
3 3 PC TXD to cutter
4 n/c cutter pin 5, RTS CTS loopback
5 n/c cutter pin 4, RTS CTS loopback
7 5 ground
20 8 cutter DTR to PC CTS, flowcontrol

This provides for hardware (rts/cts) handshake. Software flowcontrol may be OK but the cutter manual suggests overrun may occur.

Consumables

There is a pledge running for the purchase of more vinyl.

Example code

require "rubygems"
require "serialport"

if (!ARGV[0])
	puts "Yo dawg, I need a file."
	exit
end

plotter = SerialPort.new("/dev/ttyUSB2")
plotter.baud=(9600)
plotter.flow_control=(SerialPort::HARD)
plotter.rts=(1)
plotter.data_bits=(8)
plotter.stop_bits=(1)

begin
        File.open(ARGV[0], "r") do |inFile|
                while (line = inFile.gets)
                        puts line
                        plotter.write(line)
                        # sleep(1)
                end
        end
rescue
        puts "Failed to open #{ARGV[0]}"
        exit
end