I am designing a PCB etching machine. I will use a linear table for Y axis to advance the PCB mounted to it as the base table platform. As the PCB advances, my UV laser will run X axis.
I am coating my board with my own chemistry of dichromate that will react solid to the 450nm laser I am using.
MY concept is, I tape a coated PCB to the table - hit "print" on the software (I write in .NET Visual Studio) - will output a serial stream to the Arduino. The machine takes blank pcb, runs and rasterizes pattern with the same accuracy of a laser printout.
I have all the motor control down, and the Visual Studio program to interpret a bitmap to drive whatever I want.
I pulled this device from a laser printer. It is the business part of the machine housing laser. A hexigon forward facing mirror motor mounted with built in brushless motor driver. I apply voltage and the mirror spins. I will mount FIRST a red dot visible laser diode for testing aimed in same location I pulled the laser printer laser, at the rotating mirror. It will bend laser 90 degrees and left-to-right based on whatever angle the mirror is at.
Here is where I need help please. The Arduino project has to take my serial stream, and drive the laser on/off to the exact clock of the spinning motor. It has to repeat a flashing sequence at the start angle of one face on hexigon and end at the end of hexigon. Repeat for the other 5 sides of hexigon to make 1 full rotation. Then advance to the NEXT line from serial data stream, and repeat the loop.
I estimate motor spinning at 10k rpm. The slowest this will run at idle is 1,000 rpm. I still need to probe the motor driver for an rpm/tachometer pulse signal to synchronize the arduino output. I am sure I can drive motor with clock signal to precise rpm, but i do not yet know how I can measure the rpm yet on this spinning mirror.
I figure this design is much like those bicycle wheel LEDS that do persistance of vision to show words on a spinning wheel.
I was hoping someone here had seen a project and had any links, if anyone remember seeing a project like this. I have searched google on my own, but can not find some code samples. It is still difficult for me to configure the timers, and calculate machine cycles to millseconds or nanoseconds.