Looking for early guidance on controlling a theater projector

Hello,

I just joined this forum, I have not ever used an Arduino before, I have been looking for an excuse to do a project with one, and I think I finally found one. I do have a background in electronics (2 years Electrical Engineering 30 years ago) and I work in IT. I am not a programmer, but I have done some devops, and in the past programmed in BASIC, Turbo Pascal, Fortran, shell programming (batch scripts), and a few others.

I plan to do this project together with my 11 y.o. son as well, so he can experience it too. He has Lego Mindstorms and has done some things in Scratch.

I know I have allot of tutorials to get through and I look forward to it. The purpose of this post is to get some general guidance that might hopefully help shorten the time from start of initial research to working prototype. Basically if people can point me in the general direction of a kit or modules they think will get me where I want to go, that would be great.

The project
I have a pair of home theater DLP projectors that are used together (called “stacking”) where they both point at the same screen for more brightness. To do this requires extremely precise alignment, and these projectors have only manual controls. Right now it takes two people and allot of time to do this, one person to stand a few inches from the screen, and another to adjust the projector.

So, my idea is to use an Arduino to control a bunch of stepper motors so that this fine tuning could be done by one person easily and quickly.

Here is what I want to control:

  • Focus: there is a ring with teeth on it around the lens
  • Vertical lens shift: move lens (whole image) up and down, there is a ring with teeth on bottom of projector
  • Zoom: a lever on top of the lens
  • Yaw: shift the tail of the projector left/right with the fulcrum at the lens

Notes:

  • Focus and zoom would be for each projector (I could get away with just focus if necessary)
  • For lens shift and yaw, only one projector needs to do this, to line up with the first projector
  • To accomplish yaw, I will probably have to put the whole projector on a platform with a hinge at the front, and a worm gear or similar at the back, the projector weighs 21 lbs. I am thinking of building this out of 80/20 T-slot or something like that.
  • I am fairly comfortable with what I will need to physically build the mechanicals, I think where I will need work is figuring out the size of the motors / amount of torque I will need, along with appropriate drivers.

Control

  • For control, I am thinking this could be done in several ways: (not sure what would be easiest)

  • With an IR remote

  • With a physical cable, would need to be about 50’ away from the projector including cable routing

  • Maybe with a smart phone app of some sort or other controller

  • For the actual interface, here are some ways I think it could be done

  • Two potentiometers - one for the speed of the motor, and another for position of the motor

  • Series of buttons - two for motor speed +/- and two for motor position +/-

  • A button or buttons to select which thing to control, or have buttons for each control

  • Other

  • Although it might be nice, I don’t think I need to keep “position memory”

  • Precision - I need to get down to movements of about 0.5mm or less, finer the better

  • I may need to do something to set maximum travel range so I can’t go past the range on the projector

Thank you in advance for any suggestions

Regards

-JCL

First thing is to decide how much time and effort you want to devote to making a fancy project vs getting something going that does the job. As you're new to this programming language I'd suggest starting with the wired remote. An IR remote is a step up but I think you might struggle to get enough distance out of it. A phone app is probably above your level at this stage.

The way I'd approach this is to use one push button per stepper to select the one you want to control. And two push buttons to move that stepper up or down. You can program those two buttons so a short press moves it one step, holding it down for a short period moves it 10 steps at a time. So that's a total of buttons using 7 wires plus common which means you can connect the remote to the controller using a nice cheap ethernet cable. If you need more than 7 buttons then wire them as a 4x4 matrix which will give up to 64 buttons. There are certainly more elegant solutions but I prefer a project that is quick to complete so I can spend more time watching movies. Feature creep is the death of projects.

I don't think memory is going to be of much use. You'll never get the projectors in exactly the same position next time. Even if you do, the lenses won't have moved much anyway.

I can't help too much on the steppers. You'll need to figure out the smallest step size required for each one, there's a good chance you'll need reduction gears of some sort to get fine movement. Then measure the torque required with some digital kitchen scales. Pick steppers that match those specs and and a suitable driver board with sufficient current to power them.

Also do a search, there must be someone else who has done a similar project before.

A stepper with gear train and worm gear can be made to Easily do 10,000 steps per inch.

Any microstepping ppast 1/4 step is not a true step so don't fall for the idea i accuracy aand microstepping.
Also you can live with slow speed so there is zero benefit if higher voltage.

Mechanical question. Are the pot knobs or thumbwheels?

You can puput rubber tubing over a knob of shaft.
Then connect on stepper shaft.
A thumbwheel may require a friction roller.

It sounds like an interesting and fun project. Also a bit much to manage for your first experiments.

That said, here's the usual advice:

It'll take longer than you expect and cost more than you think. I've worked on far simpler projects involving steppers and gone through multiple steppers, multiple micro controllers and multiple motor drivers as the design evolved, mechanicals changed and we destroyed electronics.

Look at the big picture and figure out what you're going to do. Then pick the easiest bit you can find and do it. What you learn there may require you to change your larger plans. Rinse and repeat until you're done.

Do not try to build the whole thing from scratch. Everybody does on their first attempt and generally regrets it. Sneak up on the end result instead.

I suggest that doing focus for one projector would be a nice small start, although needing limit switches to defend against breaking it complicates the issue a bit.

Thank you for the reply, you know it is a great forum with multiple thoughtful replies so quickly :wink:

chopsuwe:
First thing is to decide how much time and effort you want to devote to making a fancy project vs getting something going that does the job. As you're new to this programming language I'd suggest starting with the wired remote. An IR remote is a step up but I think you might struggle to get enough distance out of it. A phone app is probably above your level at this stage.

OK, this is just the type of feedback I was looking for, knowing what to avoid is great.
My perspective on time is probably several months or so.

chopsuwe:
The way I'd approach this is to use one push button per stepper to select the one you want to control. And two push buttons to move that stepper up or down. You can program those two buttons so a short press moves it one step, holding it down for a short period moves it 10 steps at a time. So that's a total of buttons using 7 wires plus common which means you can connect the remote to the controller using a nice cheap ethernet cable. If you need more than 7 buttons then wire them as a 4x4 matrix which will give up to 64 buttons. There are certainly more elegant solutions but I prefer a project that is quick to complete so I can spend more time watching movies. Feature creep is the death of projects.

OK, so this would be three buttons per stepper, one for select and two for movement. I think the minimum I could get away with is three - focus on each projector and yaw for one projector, everything else manual, so that would be 9 buttons minimum, so I would need 10 conductors. I could easily just run multiple ethernet cables, or use some other multi-conductor cable.

I don't understand what you mean about a 4x4 matrix, but it sounds like an interesting idea.

Could I not do it with say three buttons + a single-digit display or set of LEDs to indicate which stepper? So one button to select which stepper to control, and two buttons for movement? I would not ever control more than one at a time.

I totally get scope creep, and the theater itself is a big project but I have hired a contractor and an acoustic engineer to help me build it so it doesn't take forever, and this is not the first one I have built.

chopsuwe:
I don't think memory is going to be of much use. You'll never get the projectors in exactly the same position next time. Even if you do, the lenses won't have moved much anyway.

Agreed. The main event that will move things is after replacing a bulb, they last about 2,500 hours or so.

chopsuwe:
I can't help too much on the steppers. You'll need to figure out the smallest step size required for each one, there's a good chance you'll need reduction gears of some sort to get fine movement. Then measure the torque required with some digital kitchen scales. Pick steppers that match those specs and and a suitable driver board with sufficient current to power them.

OK, well even the tip about using a kitchen scale to measure torque is helpful, I will look into that.

chopsuwe:
Also do a search, there must be someone else who has done a similar project before.

The closest I have seen are projects to do focus on a camera or telescope. Since you are advising caution and recommend re-using other projects, I will take a look at some of these more deeply as possibilities.

The other project I want to do is variable screen masking, and I did find a few of those.

Thanks again for the reply.

-JCL

dave-in-nj:
A stepper with gear train and worm gear can be made to Easily do 10,000 steps per inch.

Any microstepping ppast 1/4 step is not a true step so don't fall for the idea i accuracy aand microstepping.
Also you can live with slow speed so there is zero benefit if higher voltage.

Mechanical question. Are the pot knobs or thumbwheels?

You can puput rubber tubing over a knob of shaft.
Then connect on stepper shaft.
A thumbwheel may require a friction roller.

10K steps per inch is probably way more than I need. I agree that a geared stepper is probably where I want to go, and the slower it goes the more torque I would have. I think I understand what you are saying about micro stepping not being the same, this has been talked about in some of the video tutorials I have watched so far.

On the pots question, assuming I use pots vs. buttons. I think I am pretty flexible. I could imagine a really cool setup with a very large dial with resistance that feels almost like the dial on the actual lens, which is about 4" in diameter, and I just checked and the focus range is exactly 1 full revolution. But, even if it were a tiny knob I think it could still do the job if the steps were fine enough. I really like that idea, but I don't know how hard it is vs. doing buttons. It would be awesome to just have a panel of knobs representing each stepper and just move them as needed - and the steppers just replicate the movement.

-JCL

wildbill:
It sounds like an interesting and fun project. Also a bit much to manage for your first experiments.

That said, here's the usual advice:

It'll take longer than you expect and cost more than you think. I've worked on far simpler projects involving steppers and gone through multiple steppers, multiple micro controllers and multiple motor drivers as the design evolved, mechanicals changed and we destroyed electronics.

Yeah, when I get my first kit with a driver and a stepper motor to start playing with it, I will probably realize how deep I am into things. Looking at the code samples doesn't look too bad, but some of the complexity of the circuits looks like it could make things more tricky. I am OK with breaking things and going through iterations, I am used to that with other projects I have done where I did allot of prototypes that I had to completely throw out before I got something even close to working.

The time is a little bit of a bigger problem than money TBH.

wildbill:
Look at the big picture and figure out what you're going to do. Then pick the easiest bit you can find and do it. What you learn there may require you to change your larger plans. Rinse and repeat until you're done.

Yeah, I was thinking the first thing I would try is just taking a motor and a basic setup and understanding the basics of various exercises to learn about it. My son and I have done this with his Lego Mindstorms, it has stepper motors, and we would control the distance that say a car travels by telling it the number of turns or quarter-turns. I could even try it with Mindstorms as a first step, it even has an IR remote. And I was actually going to take a look at some of the gears and see if they were a match for the teeth on the focus ring.

wildbill:
Do not try to build the whole thing from scratch. Everybody does on their first attempt and generally regrets it. Sneak up on the end result instead.

So, you are saying it is going to be key to find a project that does something close to this and maybe build that first, where I have a full set of instructions, and then adapt it in steps to where I want to go?

wildbill:
I suggest that doing focus for one projector would be a nice small start, although needing limit switches to defend against breaking it complicates the issue a bit.

Well, you are right, and it is a little worse than that. The vertical shift actually moves the entire lens assembly, so the focus mechanism will need to adapt for that even if I do vertical shift manually. The other problem is that the zoom lever is extremely close to the focus ring, and could make it difficult using a belt or similar on the focus ring directly---but I might be able to solve that with a tensioner. I am currently thinking that I will need to use a couple of gears or rollers that squeeze the focus ring between them, but with only one of the gears connected to the stepper. Then I could connect a belt to one of those gears to the stepper, and if I hit the limits the belt would skip/stretch rather than damage the focus ring.

Taking a step back though, If you guys think I am a little out of my league here, I am not unwilling to pay someone for help if there are people on this forum or companies online somewhere that specialize in something like that. I have higher confidence that I could build the physical rig to make the movements, not as confidant on how long it would take me to develop the controls. I could also post the project to my local makers club or even the MIT robotics club (I live in the Boston area) and see if there is anyone who would want to take it on or help me shorten the time it would take to pull it off. They would have access to CNC machines, 3D printers, and so on that I don't own and have not used before.

Most modern projectors already have motorized or automatic controls like this, these projectors are a little over 10 years old. The issue there is, to get a projector that could meet or beat their performance would be between $40K and $70K, although I could probably do it with one because it would be bright enough. These projectors were about $16k each back when they were new. I have a couple of friends who want to do the same thing and have the same projectors, so once I have a working prototype I would want to replicate it a few times.

This has been very insightful and a worthwhile exercise to post here and help me understand what I am getting into, I really appreciate it. I look forward to reading what you think.

Thanks

-JCL

What I'm considering here is user friendliness of the end product, as well as keeping the electronics and programming as beginner friendly as possible.
> Could I not do it with say three buttons + a single-digit display or set of LEDs to indicate which stepper? So one button to select which stepper to control, and two buttons for movement?
Yes, but then you need one wire coming back for each LED so haven't really solved anything. Keep in mind that most Arduinos only have a total of 16 - 20 pins which are shared between inputs and outputs. If you use them all up on buttons and LEDs there won't beany left for the steppers. As always there are ways to get around that, but they add complexity or get into the territory of using a sledge hammer to crack a walnut. The display will require a serial communication link which adds programming complexity and requires an Arduino at each end of the cable.
Also from a usability point of view, a single select button means you need cycle through all the steppers instead of being able to switch directly between the ones you want to adjust. That's a pain when you need to swap between two of them repeatedly. Bear in mind that's the sort of adjustment you'll be doing every time you use the projectors as the optics will drift slightly due to temperature and environment.
Look up the 4x4 keypad matrix. It'll give you a good idea of what I mean by adding complexity to save I/O pins.
> and if I hit the limits the belt would skip/stretch rather than damage the focus ring.
This is a good plan, better than limit switches in my opinion. If you size the steppers correctly they'll won't have enough torque to do damage anyway.
> I could imagine a really cool setup with a very large dial with resistance that feels almost like the dial on the actual lens
Stop right there! You're headed right into the Feature Creep Swamp of Doom from whence no project has ever returned. Actually you could use a rotary encoder but... here we go again... you need more wires or a serial communication link. Buttons are far easier. Avoid using a potentiometer, they are unreliable and drift over time.
If you keep things simple you should have no problems. It's not a particularly complicated project and once you've had a play with one stepper and buttons everything will be much clearer. To be honest you could probably do the whole project with the Lego Mindstorms if you wanted.

So, you are saying it is going to be key to find a project that does something close to this and maybe build that first, where I have a full set of instructions, and then adapt it in steps to where I want to go?

No, I'm saying that beginners often try to put the whole physical project together and write the code in one go.

People who have learned the hard way that that's not a good idea do a small piece and then test and fix that before adding the next little bit.

The point I was going for on the knob thing is that the existing control you want to interface has knobs, dials, buttons or thumbwheels.

you can have the Arduino with two buttons, up/down or right/left, etc

The stepper would need to interface to the existing controls. if there is a pot with a shaft, a knob or a screwdriver slit, you would need to connect to that. a soft connection can be by using tubing. it allows for a lot of alignment errors.

If there is a thumbwheel, you might be able to get a similar thumbwheel or knob with the same number of 'teeth' and use them like interlocking gears.

You might be able to use a rubber bushing to spin the thumbwheel,
These are just ideas, and no one cares how you do it, just that it works.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.