connecting to an Oriental Motor TMP-1 Torque Motor Controller

The tension on the film in my film scanner is controlled by two Oriental Motor 4TK10A-AUL Torque motors. My understanding of how this works is that the torque motor, when given 60V AC, will simply act as a tensioning device on the film. It’s not really winding the film, it’s just maintaining the tension - if slack occurs, it picks it up, then when slack is gone it just holds there. There’s one of these motors for each side of the scanner (one for feed, one for take-up reels).

In the original design, there was no external motor controller, per se. It was all handled by feeding 60VAC from a gigantic transformer (which I’ve removed), through a potentiometer that set the torque (I think), and some relays to turn it all on and off. Since I removed the transformer, I’ve replaced it with a device sold by Oriental Motor that’s supposed to take the place of all that custom wiring the manufacturer of the scanner originally used. This is the TMP-1.

This device seems like a good fit, because it can be controlled from the Arduino. It would be nice to be able to control the direction from software, as sometimes film can be wound in the opposite direction, so I want to be able to load it with both winds.

In any case, all that to say that it ain’t working. I believe I’ve got everything connected up correctly to make it work in the clockwise direction. My Arduino (Uno) is set up as follows:

Pin 3: X0 - Clockwise signal
Pin 5: X1 - Counter-Clockwise Signal
Pin 6: X2 - Internal/External potentiometer signal (determines whether you have an optional external pot installed, or if you’re just using the one built into the TMP-1)
Ground: C2

The Controller is getting 24v from a bench power supply, and the capacitor called for in the manual is the one that came with the motor. The 115V inputs are getting 115V.

Code is as simple as it gets:

void setup(){
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);

void loop(){
digitalWrite(3, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);

I’m getting 5v at the controller on X0, and 0v on X1 and X2, which is what I expect - so the code is working and the wiring from the Arduino is doing what I want it to do. But the internal potentiometers on the TMP-1 do nothing, and there’s no tension in the motor at all. I’m not getting an alarm signal on the controller. I’ve tried this with both motors, though at the moment I only have one TMP-1 for testing.

Any ideas? Here are links to the documentation for the controller and the motor I’m using (on the motor manual, it’s in English a few pages in).

TMP-1 Datasheet:
TMP-1 Manual:
Motor Manual:


The control terminals on the controller require to be driven from open-collector outputs
capable of 24V. ie use something like a 2N2222 on each to drive it.

See section 6.2 of the manual.

You may already have damaged your Arduino by connecting its outputs to the
control terminals and jamming 5mA through the protection diodes.
(moral is always measure the voltages with a multimeter first if you haven't found
definitive information in the documentation).

Thanks. The Arduino still seems to work fine, though I haven’t tested it extensively.

That said, I was thinking about this last night, and decided to try a simpler approach to just check to see if the motors work. Since the motor operates in stall mode as a tensioner at voltages up to 60VAC (more voltage = more torque), I bought a cheap 24V doorbell transformer this morning at the home center. I just tried it, direct wired to the motor without the TMP-1 involved, and it’s tensioning the film. And this got me wondering - maybe I should just keep it simple overall - I’m not going to need to adjust the tension on the film, just turn it on and off and possibly change direction. So perhaps the better approach would be to use relays controlled by the arduino do this, rather than bothering with the fancy motor controller. I’m not sure it’ll be necessary.

The transformers would be smaller and more manageable than the original one, which was meant to power a bunch of stuff I won’t be using in my design.


So I wound up hooking up a pair of relays: one turns on and off the two motors simultaneously, the other controls the direction of the motors. These are now connected to the Arduino, and it's working nicely. The test transformer I'm using doesn't have a high enough secondary voltage to really get good tension on the film, but sometime today I'm expecting a correctly sized transformer to arrive, and I'll give that a try. In the mean time, here's what the result looks like using the undersized 24V transformer:

The sketch running in the Arduino for testing has the relays off for the first several seconds, then they kick in just after the camera pulls back.