Galvanometer control

Hi!

I'm looking to build a arduino-based version of this laser scanner.Domain parked by Instra

I found some nice galvo scanners at ebay, but I'm unsure how to create the analog control signal. Using the internal analogWrite only gives me 256 different values, which isn't really as good as I was hoping...

The potentiometer-based approach in the link seems a bit limited.

Is there any way to output analog signals with greater resolution than 8 bits without adding more hardware?

Is there any way to output analog signals with greater resolution than 8 bits without adding more hardware?

Bottom line is without hardware not really, sorry. :frowning:

Using the internal analogWrite only gives me 256 different values,

That only gives you a PWM signal not an analogue one. You will have to filter this, however to get it smooth it needs to be filtered so much that you won't be able to change the output fast enough for your laser effects. This is because all the changing is absorbed in the filtering.

Now I wait for software schemas to come flooding in from people who won't have to implement it, because yes you can do many things with software that are simply not worth doing and in my opinion this is one of them.

Thanks, that's what I thought :frowning:

I'll have to look into the hardware options instead then. I'm planning to modify my galvos to add positional feedback and thusly have closed-loop control, so the less time the software spends on stuff that isn't really needed the better it is.

to add positional feedback and thusly have closed-loop control

Sounds good in theory but you have just doubled the complexity, closed loop control involves rather complex maths.

Yeah, might even have tripled it :wink:

I'll start out with just getting the galvanometers to work and come up with some sensible way of mounting them before looking into PID. I did some stuff with PID controllers at university, but I haven't tried it on the arduino. I'm sure I'll run into problems, that's part of the plan :slight_smile: