Hi, I'm starting to look for information to control a DC motor actuator Newport 850A, if possible from Arduino.
I would like to know where can I find information about this and if someone on the forum could help me. (I'm no experience on electronics)
The motors I want to control are laboratory instruments old (from 1990-1995).
The information I have is the pinout of the actuators and technical documentation of the old driver, a PMC300 built on HCTL-1100. This type of equipment, is quite widespread in laboratories and handled by Arduino would be interesting.
The actuator 850A is a DC motor in closed-loop with an optical encoder, and the pinout diagram is as follows:
Pin 1: V + Positive supply. +15 VDC @ 175mA
Pin 2: V-Negative supply. -15VDC @ 175mA
Pin 3: PH1. Encoder Phase 1. High = positive supply. Low = Ground
Pin 4: AGND. Analog Ground. Control circuitry
Pin 5: NEARL. Reverse Limit. Open collector with a 4.7K pullup resistor
PIN 6: AGND. Analog Ground. Motor Return.
PIN 7: CMVEL. Velocity Command. Fordward +0.5 to +10 VDC. -0.5 to -10 VDC Reverse input current 20 microA
Pin 8: Encoder Phase 2. Same as PH1 with 90 degree phase difference
Pin 9: FLIMIT. Forward Limit. Same as NEARL
I would be pleased if we can know where to start… I have read a few tutorials about controlling DC motors but I need a little help to start.
Here's how I would approach it, using the DB-9 connector and pinout you gave, based on what I can see (and interpret from) in the first datasheet (Newport_Historic_Pinouts):
For pins 1 and 2 you are obviously going to need a dual-ended power supply capable of supply +/- 15VDC @ 175mA; it will have a ground a ground connection for the 0V ground reference. This ground will be connected to pin 6, and pin 4 as well. I am basing this on what I see in the document on pages 4 and 10; while it seems you could have separate grounds according to page 4, this seems only to apply to a different connector where there is an encoder positive supply for +5 VDC, which the 9-pin pinout doesn't indicate. In fact, the pinout seems to indicate that the encoder outputs a positive supply HIGH signal (+15 VDC), so the grounds would need to be common, I would think.
Pins 3 and 8 (along with pin 4) describe an output circuit for a quadrature encoder, which as mentioned, each outputs a positive supply HIGH signal (+15 VDC); you would need to "condition" these (a voltage divider could be used, or an optocoupler, or something else)) to reduce the voltage output for input to the Arduino to 5V TTL logic level; by monitoring these lines, you can tell what direction the motor travels, how far (steps), etc. There are plenty of tutorials on how to use quadrature encoders with the Arduino and/or other microcontrollers - no sense getting into it here.
Pins 5 and 9 are connected via switches or other means (NPN transistors are suggested on page 4) to ground; I think they are to be normally open when limits of travel aren't reached, closed (grounded) when they are.
Finally, we come to pin 7, which tells the system which direction to turn and how fast. It would be a little tricky to control with an Arduino, but I think if you used a couple of PWM pins on the Arduino, connected to control an h-bridge (where the h-bridge takes a TTL PWM signal, and controls a larger voltage - in this case, a range from +10 VDC to -10 VDC @ 20uA), and the outputs of the h-bridge were connected between the ground (pins 4 and 6) and pin 7 - it might work; I am not completely sure, however...
There might be (probably are) better solutions for pin 7, and I'd wait for other's opinions to chime in (and tell me how wrong I am - which is probable); I might be reading the datasheet completely wrong. More research is in order, but I hope this gets you thinking some more...?