After some usage, limitation of the first version came obvious. I have noticed that relatively long printing time is not the biggest problem and focused on fixing other issues. First of all use of a rotational axis for carrying laser created some distortion of the final print. It might have been caused by some errors in kinetic calculation or imprecise initial conditions, hard to say. Secondly, first version was supposed to achieve high resolution using microstepping and linear interpolating of the arm position in time between steps. This worked to some degree. Unfortunately need for stronger exposure forced lower arm speeds which in turn resulted in jerky movement breaking the assumptions needed for interpolation. In the end it resulted in unreliable print with some traces broken and with jagged edges.
This all force me to rethink the whole strategy. The first linear Y axis with slow precise stepper motor was good but second rotational arm axis was a mistake. This made me to return the proven solution and use linear axis for the second X axis too. This simplified all the calculation and referencing but increased hardware complexity. Next problem was the motor. I needed something fast and accurate. After bad experience with steppers I decided to go for DC servo motor with encoder. I used motor from the old inkjet printer (because of double-sided shaft) with added magnetic 10bit encoder (Part No. AEAT-6010-A06). After implementing PID algorithm on Atmega and some trimming I was able to control the position of the motor in motion within ±1 bit of encoder resolution. This was better than I could achieve with most of the stepper motors and with the small pulley on the output shaft it gave me reasonable resolution for printing (see specs).
From the mechanical side I wanted to move laser in the straightest and most smoothest motion possible so I created small two piece cart with angled bearings which with use of the spring anchors itself between two round rails (see video bellow). I also added an amber tinned cover to shield blue light scattered from the laser as a safety precaution.
In the end the whole printer is quite functional at this configuration. It is able to print two sided PCBs with the traces down to 10mills. I found that below that size developing and etching of the PCB becomes tricky and needs to be more tightly controlled. So far in total I have printed more than 800cmsqr of PCBs for different projects with only few rejects.
Maximum PCB size: 110x150mm
Estimated laser dot size: 0.025mm
Laser power: 125mW (most limiting factor for increasing printing speed)
Y axis resolution: 0.0115 mm/step (usually two steps per line 0.023 mm/step)
X axis resolution: 0.03125 mm/step (with x5 interpolation 0.00625mm/step)
X axis printing speed: 150mm/sec (2 seconds per line)
Y axis printing speed 0.0115 mm/sec (which results in 5cm/hour)
Here's a short video of the new version: