Go Down

Topic: Project: Stabilisation of a laserlight (Read 9197 times) previous topic - next topic


I just think that steppers don't have small enough step size to do what Fabitosh is proposing.

Couldn't you implement a "micro-stepping" scheme, either by using a driver chip that implements it, or by building a custom driver that can output a varying voltage to the coils (instead of the regular on/off scheme), to allow you to position the rotor between coils...?

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.



Nice looking experiment.  Good show!

Thanks! :)

You talk about photo-transistors, but the devices in your photo look like photo-voltaic cells?

True, sorry they are kind of solar cells. The datasheet to it you can find on this link:

On my screenshot you can just see the values which I did without beaming on the solar cells. But the result is almost the same when I beam on them too. (Laserlight wavelength: 650 to 680 nM (10^(-9)M))
The strange thing is that I tried out three of them and could clearly read from the values when the beam was on them.

Couldn't you implement a "micro-stepping" scheme, either by using a driver chip that implements it, or by building a custom driver that can output a varying voltage to the coils (instead of the regular on/off scheme), to allow you to position the rotor between coils...?

Sounds promising and complex. ;) I will try to finish the project first with the Servos I got (http://www.adafruit.com/index.php?main_page=product_info&cPath=34&products_id=154) and see if it would already work when I move the laser slowly. If that works I will maybe try to improve other things. But first I need to come to reach a finish (deadline next Monday).

Yes, but that would quadruple the complexity of the project and Fabitosh seems to have his hands full already.

Very true. But I'm still having fun :) My written part will be on German, but I will link it here too when I've finished for the ones who are intersted and having a bit German reading skills.

I will try to connect an other 5th resistor (40k[ch937]) and just try to find the error. But if you already know it I'd be glad if you telled me ;)
Thanks for your effort!


I used a 5th 33k[ch937]-resistor now, but it's still the same. The input values jump around and I can't read a difference when the laser is beaming on a solar cell.
I did a wiring diagramme, maybe this shows the error:
Choose either the .eps or the .pdf-file.

I'd be really glad if you could help me, I got no clue.


You seem to have these connected as if they were photo-sensitive resistors.  Aren't they photo-voltaic cells?  They should generate some small voltage upon exposure to light.  What happens if you just connect the - side directly to ground and the + side directly to an Arduino analog input pin?

You're my hero! :) That was exactly my fault. Thank you very much, I will remember to think about the wiring better before I start to set up everything.
Will update the topic when I got a new error or when the project reached its finish (It will hopefully be the 2nd).


Hey guys
I finished the written part and can completely focus on the model now. The written part is in German. But for the ones which are interested I uploaded it here:

Now to the more serious part. After having the Arduino Duemilanove connected with the computer for about an hour and experimenting a bit I couldn't upload the new program anymore. The serial port isn't found anymore.

The voltage regulator (http://wiki.elphel.com/images/7/70/ArduinoDiecimilaComponents.jpg) was extremely warm. I unplugged the USB-cable and waited around an hour. It still didn't work, but the voltage regulator is getting warm again. May it be that the Arduino has too much power because of the photovoltaic cells and overheated?
I also realized that the engines often did some short moves without the order to do so.

And an other question. What would be the easiest way to get more analog in pins?


Oct 08, 2010, 06:37 pm Last Edit: Oct 08, 2010, 07:19 pm by focalist Reason: 1
You know, as I read this, one possible solution for his need for an ultra-fast pan/tilt mirror would be to use "galvanometers", but not hacked speakers- I would think the best solution would be pivoting the mirror with a selenoid vs. a spring in each axis.

Selenoids and springs are available for cheap money, and not too much is going to be faster without huge expense...  PWM driving the selenoids would give you very precise control...

Since the device's purpose is aiming, calibration isn't needed- even if the resilience of the springs or the pull of the selenoid (brownout?) changes, you're correcting it on the other end.  You could easily wind the selenoid coils yourself, and even use rubber bands (or even a couterweight, if you want to be downright medeival) instead of springs.  The whole idea is that the selenoids are constantly pulling against an opposing force- pick your own poison.

I would think a design like this would be a LOT faster than any servo.. and potentially more accurate if you tweaked it right...

Last but not least, I'd been wondering how hard it would be to play around with one of those DLP chips they used for rear-projection TV's for a while there... all they are is aimable mirror arrays..


Ah, could solve my Arduino problem now. Seems as if I connected my 2-axis joystick wrong. It's wiring caused the problem.
Fortunately the board is still fine.

Thanks for the tip with the 4051 multiplexer. That's exactly the thing I am looking for.
Today I went to the 'Conrad' (electronics seller) and bought new servos where you can set the angle and not the velocity via Arduinoprogram. Unfortunatelly the salesman had no clue of the 4051 multiplexer, so I need to order them from the internet.

focialist: Sounds like a promising way. Thanks for sharing. Might try it out after finishing it with the current one. :)
But I hope you understand that I won't give up the way I already worked on for many hours. I'm currently just looking for a working possibility, not for the perfect one.  ;)

Go Up