The minimum to make your project worthwhile and compatible with good vector graphics is that every 3.333 x 10^-6 seconds or so, you have to dump out, at a minimum, the following:
- Ten bits resolution or greater of X axis position, converted to a bipolar analog signal
- Ten bits resolution or greater of Y axis position, converted to a bipolar analog signal
- Eight bits of red color data converted to an analog signal, 0 to 5 volts
- Eight bits of Green color data converted to an analog signal, 0 to 5 volts
- Eight bits of blue data converted to an analog signal, 0 to 5 volts
- Galvanometer scanners do not do well with PWM as the reconstruction filter needed phase shifts the signal distorting the images. So you need DAC chips and the associated interface timing and memory. DACs take time to load. This hardware requirement and the tight timing rapidly takes you away from Arduino and "Processing".
- You need the X, Y, and color DACs to update at the same time, known as "Double Buffering", or you can see a fluctuating skew at the corners of an image.
- Without some way to sync the show output to music or without having at least 60 keypresses to link effects to, or without something like scripting or OSC, your life will be miserable.
- ~
~ - 1 over KPPS = minimum update rate for the DAC, so for 30 KPPS point update rate, that is 1 divided by 30,000 for the point update rate in seconds. So your processor needs to output a minimum of five streaming waveforms, The response of angle vs time for the galvos that deflect the beam is non-linear, and so we tune the galvos to an industry standard test pattern, the result of this you need an output with a bandwidth about 7-10 times that of the galvos themselves. the galvos act as a sort of complex low pass filter or integrator with a resonance (or two or three or more) and have a bandwidth that changes (real big simplification of the actual physics) with the deflection angle of the previous jump and the angle of the next one. . So at eight degrees deflection and the standard test pattern the galvos have a response (small angle) of about DC to 2400 Hz. But we feed them the updates at roughly ten times that, so 30,000 updates per second is often needed. So five DC to Audio waveforms need to be streamed out of your controller.
- A typical frame of an animation contains anywhere from 10 to 1100 points. That means you need access to a LOT of RAM or other storage to put on a decent show.
Last edited by mixedgas; 05-04-2020 at 18:35.
Qui habet Christos, habet Vitam!
I should have rented the space under my name for advertising.
When I still could have...