been away for a while
(damned day job keeps getting in the way, but it does pay the rent and feeds my habit)
I got a prototype up and running using scavenged scanner parts
not man enough for any serious grunt work
but gave me a toy to test the electronics on
The Arduino is interpreting Gcodes received over USB from the softly "wot I rote" running on a laptop
the Gcode is generated from Eagle using pcb-gcode
seems to do a reasonable job
Didn't need to implement arcs as the pcb-gcode convertor generates lots of X and Y movements to give circular pads
I have implemented this sub-set:
G0 rapid move
G1 controlled move
G4 dwell
G20 set inches
G21 set mm
G28 move to origin
G90 set absolute
G91 set relative
G92 set home
together with:
M0 stop
M2 program end
M3 spindle clockwise
M4 spindle anti-clockwise
M5 spindle stop
M115 get firmware version
M226 pause
M254 program start
I also implemented some M code extensions for my own evil purposes:
M110 set line number
M111 set debug level (handy when you can't work out quite what's going on!
M114 get current position
M255 get last line executed
communication is serial over USB
I have added a checksum to command sent
there's a "heartbeat" to show that it's still alive
full support for 6 limit switches (1 on each axis masquerades as "home")
E-Stop (uses one of the buttons on the scanner body )
yet to add
most important will be acceleration (but that needs dark room and intravenous coffee)
first pic shows the electronics
Arduino as controller; Sparkfun EasyDriver talking to the X stepper
Y driver is hidden under the Y stepper
second picture shows a disastrous attempt at Z
the whole thing struggles and creaks
then the gear on the stepper came loose
kept going long enought to prove the concept
and confirm that a "proper" machine is called for
and finally, here's a video of the kit performing a square dance - just to prove it works!