Cable length to control stepper motor

Hi all:
I am looking to modify an existing pan/tilt camera device with new stepper motors controlled by an Arduino and controller. It is for our church live stream cameras, so I need some 75’ of distance for the operator.

Presuming a 12V motor, how far and with what kind of cable can one place the joystick and electronics from the motor? The camera weight rating of the existing hardware is 8.5 lbs. I know that doesn’t give a lot of information, but it is all I have right now.

Thank you,
rcarbaugh

Actually, you have a LOT more information that you have not supplied. For instance, is the power for the stepper motor at the camera assembly, or is it also remote? Is the controller for the stepper at the camera or is it also remote? Is your plan to have the Arduino at the camera or is it also remote?
Paul

I'm going to sidestep what Paul_KD7HB said and just tell you to locate the power supply and control for the stepper right next to it. Don't even think of running those from 75' away. Also, don't try to come up with excuses for why you can't do that. Physics is a harsh mistress.

OK. Distances? Maybe 6-10 feet between controller and motor is about the longest I've seen without running into problems or having to run at very low speeds.

And while you are at it, design in proper remote control using some type of radio control, like the commercial designs do.
Paul

Thank you for your responses. All helpful. The beauty of a forum like this is the depth of its members, and their willingness to offer solutions. If you have not surmised, I am a complete noobie to the Arduino type of control, working with a somewhat flawed but fully functional commercial pan/tilt device. I am not unrealistic about physics, however. On a zoomed-in lens, I need to be able to do very controlled minute adjustments of less than 1°. The motor starts abruptly at 1.04v, and that starting speed is too fast to make smooth adjustments to re-frame or follow a moving subject.

At this point, I am searching for options. In my setup now, the supplied joystick box and 12v power supply are 70’ from the device and its motors. While there are some chips in the joystick box, as far as I can tell from the mfr the cables to the motor are straight DC, ±10v. I just got the motors’ specs:

  • Voltage 12VDC
  • No Load Current 0.32 A max
  • No Load Speed 65 rpm
  • Rated Current 0.8 A max
  • Rated Speed 52 rpm
  • Rated Torque 0.3 Nm (0.22 lbs/ft)
  • Rated Input 9 W
  • Rated Output 4.5 W

From what I can glean of your answers, if I change those motors to steppers the power supply and motor controller (at least) need to be near the motors. It is unclear to me if that means there is any possibility of the joystick being 75’ away, or if the joystick, Arduino, motor controller, power supply all need to be together and within a few feet of the motors.

Is there any reasonably inexpensive scenario where the joystick can be at a distance from the motors? If that answer is a hard “no,” then I will probably have to “punt” this whole programming exercise and try to solve the issue with a different kind of DC motor that starts at a slower speed.

Radio control? Perhaps an RC car controller could be set up. We are in NYC, which is a RF jungle, but who knows?

Suggestions anyone?

Thank you
rcarbaugh

Here’s a thought: If the Arduino-Motor Control-Power Supply have to be near the stepper motor, can I use the existing remote joystick ±10v (optional ±3.5v) to a pin on the Arduino? Can the Arduino be programmed to read variable voltage?

Thanks.
rcarbaugh

NYC is such an RF jungle that when I worked for a company that made wireless fitness devices, the two worst environments we had to deal with were on the floor at a wireless technology trade show, or anywhere in downtown Manhattan.

The controls/joystick can most likely be relocated to a farther off location, although you may need to add some buffering to the signal. The problem is with running high-current, high frequency signals to the motors from a distance. The wiring impedance wreaks havoc with the signal and I have bad memories of trying to convince a client that running 40' cables to a 10A stepper was a really bad idea and the major reason they were having trouble and losing steps.

What this boils down to is that if you have to, you can run the 12VDC power to the controller from a long distance (still not ideal), but the cabling from controller to motor should be as short as possible. In this scenario, you may need some bulk capacitance at the controller power input to "compensate" for how far away the power supply is.

If you're controlling this system manually, you may be able to use the existing DC motor as long as you're using a controller that ramps up/down the control signal. I have an Arduino project that positions a camera using a Syren motor driver board, but the Syren 25 can also be put in a manual mode where the motor speed is controllable through an external potentiometer.

Is that voltage at the motor or is it from 70 feet away?
For right now, if that is the root of the problem, think about using an Arduino and mosfet to PULSE a much higher voltage to the motor. Change the pulse length to control the motor speed.
You need to consider a test setup where only the cable length is the same as the installed length. That way you can experiment much easier.
Good luck,
Paul

Thank you for these responses. Answering some questions here:

Yes, the motor start voltage of 1.04v is measured at the joystick, 70’ from the motors. Clearly, that needs to be measured at the motor. No doubt a voltage drop of some significance would be happening. Whatever voltage the motor starts at, however, is less important than the start speed, which is too fast, regardless of what actual voltage starts the motion.

The mosfet pulse idea is an interesting one. Presuming that it could be pulsed with a modulation rate that would be imperceptible and mimic continuous motion, that would mean that I could keep the existing motor and gear arrangement. The programming and hardware selection will take some research on this noobie’s end, but c'est la vie. It sounds like the processing could all take place on the remote end, sending pulsed DC down the same lines I am using now. You could be my new best friend, Paul!

CedarLakeInstruments, there is no issue with having a power supply at the motor site. The camera has to have electricity anyway, so it is available. No need to send high current over a distance, just the data from a joystick. Still unclear if the distance would be between the joystick and the Arduino, or between the Arduino and the motor controller(s).

How about this scenario. A box with the Arduino, a 12v power supply and a motor controller programmed to pulse a higher voltage to the motor all located at the camera position, being controlled by the existing remote joystick device which sends 0v to ±10v. Since the analog DC would be going to an analog input on the Arduino (which is presumably high impedance), there would be no appreciable voltage drop or current on those lines. It would be programmed to vary the width of the pulse and voltage to have extremely fine movement on the lowest voltage input, and full speed movement at the highest voltage input, ramping in between.

Thank you for helping me out with all this info. I clearly have a lot of learning to do. The first step, when I get a solid understanding that it CAN be done, I will order my first Arduino starter kit and dive into the tutorials online. This old dog is about to learn some new tricks, hopefully.

Sincerely,
rcarbaugh

That makes me wonder when was the last time the mechanism was serviced? Meaning when it disassembled and all the old lubricant replaced.
Paul

The major issue is the distance between the motor and the controller. Problems caused by the other distances are easier to resolve.

There is one complication you may run into with this approach, though. If your motor is not geared down, it may be difficult to start it slowly using manual control. The starting torque may be much higher than the running torque, so often you have to give it a big pulse to overcome friction & inertia, then immediately drop back to a smaller pulse to run slowly. Even under computer control, this can be hard to do on a DC motor without feedback. It's an advantage that steppers have: you can run them at extremely slow speeds quite easily.

Paul:
The motorized pan/tilt devices are brand new. They were installed less than two weeks ago. It is “controlled by a gearbox,” in the words of the mfr’s last email to me, so there may indeed be some initial torque/friction to overcome before it moves.

And how old are the camera adjustment motors? Are they also new?
Paul

The motor is “controlled by a gearbox,” according to the mfr’s last email to me yesterday. If inertia and friction do force the starting speed of the existing motor to be higher than desired, even with a pulsed DC input, then replacing with a stepper is certainly possible.

Any thoughts about controlling the Arduino with 0-10vdc by using the existing joystick, so that all of the control electronics are located at the motor site (whether we use existing motors or replace with steppers)?

Sincerely,
rcarbaugh

How many different circuits are involved? 0-10 volts is used with a voltage divider, so that is not a problem.
Paul

Not sure I understand the question about how many circuits. I don’t know how much of the proprietary circuit info the mfr would be comfortable sharing with me. Here’s what I do know. The current joystick puts out ±10v (or ±3v with a button depressed) on four lines, two to the tilt motor and two to the pan motor. I just emailed the mfr to see if the DC output is PWM or straight DC. I don’t have a scope to see for myself. The joystick has several IC chips inside the box, which obviously change the joystick motion into positive or negative for two motors, but may be doing more.

I know that the Arduino can only read 0-5v, not negative going. Could the output of the joystick could be fed into a voltage divider so that the positive going pan and tilt go to pins 1 and 2, then the negative going pan and tilt could be reversed to positive for pins 3 and 4? Is that a function that can be done with a circuit? It’s something I’ve never done, but it would seem possible.

Actually, most of this is stuff I’ve never done, but at 65, I’m still eager to learn to help my church.

Thanks,
rcarbaugh

You are considering some serious "REVERSE ENGINEERING". That means you will need to make or find a schematic diagram of the whole installation. In addition you will need to add the voltages on each part of the schematic. And you will need to include any digital signal information on the schematic.
So, begin by getting the proper test equipment and begin a list of ALL the components in the circuits and find and print the data sheets for all the active components so you will have them handy and can write notes on them.
Your age has no bearing on the project. I am 82.
Good luck,
Paul

Sorry for my english, not familiar with some technical names but i try to help. If ignore details, then in general distance do matters for all connections, but in different ways.

  1. When you need to power stepper motor located far away from it's driver - that is strong signal emitting lot of radiowaves which influence electronics, including Arduino.
  2. Analog or digital data from sensors (joystick) with longer wires can be lost due to parasytic capacity and inductance, plus radiowaves and 50/60 Hz power. The weaker and higher frequency signal is - the easier it to be lost.

Both scenarios do have solution via cables, but second one is more problematic. First of all, ferrite bead at both ends of cables do help to fight some problems. Then, there are cables which contains several wires with each of them "covered" by individual layer of copper as ground and isolated, in some way similar to microphone's cables. I can't tell what such cables are made for and had hard times to find one, but was lucky to get it once so can confirm it's perfect to protect signal.
As for the first scenario when stepper is far from driver - that's simpler cable required which should have copper "cover" for inner 4 wires and you just need to make proper connection to not let cover of cable act like antenna. You will not get any problem with skipping steps or something like that, the only risk if you accidently disconnect the cable while system is powered - driver will be broken most likely.

I think its not a big problem if you able to follow grounding rules how to connect "cover" wires to the "ground" at single place, like to the center of the star.

I disagree. While the power to the steppers may radiate interference, that's a secondary problem. The main problem is that the inductance of the long cables affects how rapidly the PWM current can change, reducing the power delivered to the motor. If you are not using PWM current control, and merely pulsing the motor at e.g., 1,000 steps/second at full drive power then it's less likely to be an issue.

Anaheim Automation recommends a maximum of 25 feet between controller and motor.

Inductace of motor itself is several orders of magnitude higher than long wires inductance, it's just another conspiracy theory spread everywhere to not teach people which wires to use and how to connect properly to not make them work as antenna. Find the math how to compute inductance for straight wire or online calculators.