Equipment/VinylCutterOld: Difference between revisions
Line 50: | Line 50: | ||
There is a [[Pledges/Vinyl|pledge]] running for the purchase of more vinyl. | There is a [[Pledges/Vinyl|pledge]] running for the purchase of more vinyl. | ||
require "rubygems" | require "rubygems" | ||
require "serialport" | require "serialport" | ||
if (!ARGV[0]) | |||
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 | |||
end | |||
plotter = SerialPort.new("/dev/ttyUSB2") | plotter = SerialPort.new("/dev/ttyUSB2") | ||
plotter.baud=(9600) | plotter.baud=(9600) | ||
Line 61: | Line 77: | ||
plotter.data_bits=(8) | plotter.data_bits=(8) | ||
plotter.stop_bits=(1) | plotter.stop_bits=(1) | ||
plotter.write(serialData) | plotter.write(serialData) |
Revision as of 00:23, 20 August 2010
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
- Roland CAMM-1 PNC-950. PDF manual, FAQ.
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.
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.
require "rubygems" require "serialport" if (!ARGV[0]) 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 end
plotter = SerialPort.new("/dev/ttyUSB2") plotter.baud=(9600) plotter.flow_control=(SerialPort::SOFT) plotter.rts=(1) plotter.data_bits=(8) plotter.stop_bits=(1) plotter.write(serialData)