I have a project in mind which requires a fairly accurate pan/tilt device. I’m planning to attach a laser pointer to a pan/tilt controller, hanging in a roof. I want to be able to quickly and consistently direct the laser beam onto specific locations on walls 4-5 meters away, with at least ±5 cm accuracy.
I’d like to be able to control it from a regular PC running Linux via USB or similar.
Can anyone recommend good solutions to this problem?
It’ll allow you to choose any of our standard servos to use with it and give you the accuracy that you need.
As far as controlling it from your computer. You could use an Arduino board (or any other board with a serial port) and just control it via the serial monitor. For example, you could create a bunch of strings which the Arduino accepts as commands. When that string is sent via the serial monitor it could snap to a known location. Or you could use a cartisean coordinate system which can be entered via the serial terminal (x,y).
For the absolute in smooth pan/tilt control, it will be worthwhile looking into brushless motor gimbals.
Backlash in a servo’s gearbox probably won’t make it repeatable over those distances.
Over 5m it only takes 0.6 degree error to put you out 5cm.
I don’t, sadly. I’ve never experimented with them but they appear to be the go-to for accurate and smooth pan-tilt.
There’s a plethora of projects built around them, typically for cinematography. there are loads of products specifically designed drone-footage so they can be easily driven by regular servo signals. Nothing that core carries though. Check out some brushless gimbals on RC drone sites as a starting point.
When you buy a drone type of brushless gimbal unit, won’t that usually mean you’ll be paying extra for stabilization etc though? Since this device will be hanging solidly attached to a roof, it won’t really need stabilization, just consistent and fairly accurate pointing.
Given your budget, something that comes to mind, which I’ve used for a similar project, is you could mount potentiometers to the pivot points, and use a high-resolution ADC to monitor the values. Something like a 12-bit ADC should cover your 0.25 degree resolution. The only downside is that it restricts your rotation angle. But, provided you didn’t need more than ~270 degrees of movement (standard for most pots), you should be fine.
That would allow you to have an absolute reading, simplifying your code, and you could use standard brushed DC motors.
Thanks Sam, 270 degree range is plenty. I’ll definitively look into this kind of solution. This being my first physical hardware project (I got a fair bit of software experience) I realise I have a lot to learn though.
I was recommended these motors as part of a feedback loop system that may be able to give me the required accuracy:
They could be attached to this pan/tilt bracket:
If it works, it would certainly be good value. What do you think?