Interfacing Haas 5C indexer to ALLIN1DC

All things related to Centroid Oak, Allin1DC, MPU11 and Legacy products

Moderator: cnckeith

CRM
Posts: 104
Joined: Mon Jan 03, 2011 11:54 pm
Allin1DC CNC Controller: Yes
CNC Control System Serial Number: A900171
DC3IOB: No
CNC11: Yes
CPU10 or CPU7: No

Interfacing Haas 5C indexer to ALLIN1DC

Post by CRM »

I have recently bought a Haas brushed DC servo powered indexer with the 17 pin plug. My intention is to purchase a DC1 servo amp and have full 4th axis programmability. I checked the TSBs to see if there was anything documented on doing this already, since these Haas indexers are fairly common. The only thing I came up with is TSB #60 (not what I'm looking for since it only addresses sending an "index" command to the Haas Servo control box) and TSB #245, which covers the installation of the DC1 (useful, but not the complete story).
Has anyone already done this? Wiring the servo to the drive seems straightforward, but I'm a bit confused on the encoder wiring. If someone has a table showing the matchups for the pinouts I would be much appreciative. Here is a picture of the Haas side of the cabling, can someone match me to the appropriate DB9 pins to connect up to the ALLIN1DC board?
Haas rotary brushed dc motor cable pinout.pdf
(35.14 KiB) Downloaded 4 times
Haas rotary pinout.JPG
Beyond that, I have a few questions I hope someone can shed some light on regarding how the system will behave with the indexer. I'd like to get a bit of an idea what I should expect before I go ahead and plunk down the money to buy the DC1.

1) Does the indexer need to be connected all the time? I plan only to use the indexer occasionally, and would like to remove it from the machine when not needed. (If this is possible, I would get the mating bulkhead plug for the Haas cabling and install it in the control cabinet, and then wire the backside of it to the DC1 and DB9 encoder input). I guess there would also be wiring to the axis home switch inputs on the ALLIN1DC, right? If anyone is familiar with the way Haas machines handle the rotary table connection to the mill, this is what I'd like to mimic. (E-stopping the machine, connecting the cables, selecting the rotary table in Setting #30 and then releasing the e-stop and re-homing the machine) I assume that without some similar procedure, the Centroid would alarm out because it isn't seeing encoder signals and wouldn't complete machine homing upon startup.

2) Plans are in the works to add a "W" axis glass scale to the quill of my Trak DPM, and since I am accustomed to seeing the rotary axis on the Haas mill I run at work designated as the "A" axis, is it possible to configure Centroid to display the rotary as such?

3) As far as I know, I have only the standard mill PLC program that came with my ALLIN1DC when I installed the system on my mill about a decade ago. (I apologize, I didn't think to run a system report prior to starting this thread. I can reply to it tomorrow with the report attached if necessary.)

4) It's been a long time since I tuned the SWI original equipment servos to the ALLIN1DC board; is there a different procedure to do so with a rotary axis? If so, can someone point me to the documentation?

As always, I thank in advance those who take the time to respond.
Dean Jahnz
Cannon River Machine
cncsnw
Posts: 3855
Joined: Wed Mar 24, 2010 5:48 pm

Re: Interfacing Haas 5C indexer to ALLIN1DC

Post by cncsnw »

All Centroid controls for the past 30 years have used the same pinout for a DE9 encoder connection:
Pin 1 = n/c
Pin 2 = 0VDC (COM)
Pin 3 = /Z
Pin 4 = /A
Pin 5 = /B
Pin 6 = Z
Pin 7 = A
Pin 8 = B
Pin 9 = +5V (Vcc)
That pinout can be found on nearly any Centroid control wiring diagram.

Given the wire colors from the Haas diagram above, that would be:
Pin 1 = n/c
Pin 2 = 0VDC (COM) = WHT/RED
Pin 3 = /Z = WHT/ORG
Pin 4 = /A = YEL
Pin 5 = /B = BRN
Pin 6 = Z = ORG
Pin 7 = A = WHT/YEL
Pin 8 = B = WHT/BRN
Pin 9 = +5V (Vcc) = RED

If your sense of aesthetics and order suggests you should swap the polarity of both the A and B channels (so WHT/YEL is on 4, YEL is on 7, WHT/BRN is on 5, and BRN is on 8) you could do that, and it would work just the same.

Regarding your other questions:
1) No. See Machine Parameter 131 in the Centroid operator's manual. If the fourth axis is not turned off, then the encoder must be connected.
2) Yes. You can label it with any available valid axis letter: A, B, C, U, V or W.
3) Generally, no special PLC support is needed for a rotary axis. In some cases you might want to expand the M10/M11 clamp logic, but that is not essential.
4) See TB260. Depending on the behavior of the supplied servo motor, you may need to reduce Kp, Ki and Kd. If you don't want to tune it, just set Kp = 0.5, Ki = 0.001, Kd = 1, Kg = 0, Kv1 = 10 and Ka = 20, and it will probably run just fine.
CRM
Posts: 104
Joined: Mon Jan 03, 2011 11:54 pm
Allin1DC CNC Controller: Yes
CNC Control System Serial Number: A900171
DC3IOB: No
CNC11: Yes
CPU10 or CPU7: No

Re: Interfacing Haas 5C indexer to ALLIN1DC

Post by CRM »

CNCSNW (or anyone):

According to page 7 of the DC1_MAN.doc, there are 4 pins for the logic power header (H4) labeled NC, +5V Return, +5V Return, and +5V. The supplied cable color codes pairs to these pins as white, Green, Black and Red respectively. I am connecting to a power supply labeled "Oak Board RQ-65D" (hey, it's what Centroid sent me to power my ALLIN1DC) and has output terminals labeled -12V, +24V, +12V, COM, and +5V.

My assumptions:
1) do nothing with the white wire of the supplied cable (it's just along for the ride)
2) tie the Green (+5V Return) and Black (+5V Return) together and attach to the "COM" terminal of the power supply
3) attach the Red (+5V) to the "+5V" terminal of the power supply

Is this correct? I'm a bit unsure as to exactly what "+5V Return" is ("common"?), and why there are two of them. The documentation is less than clear to me on this point, and I really don't care to smoke my DC1 drive before I even get to use it.
Dean Jahnz
Cannon River Machine
centroid467
Posts: 263
Joined: Thu Apr 14, 2022 2:46 pm
Acorn CNC Controller: No
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: No
CNC11: No
CPU10 or CPU7: No

Re: Interfacing Haas 5C indexer to ALLIN1DC

Post by centroid467 »

Hello Dean,
Yes, that wiring will work. There is probably no reason to use both +5 Return / Common wires since the two pins are tied together on the PCB.
Not sure why it has two there but having more places to grab GND/COM available is always a good thing in my experience.
CRM
Posts: 104
Joined: Mon Jan 03, 2011 11:54 pm
Allin1DC CNC Controller: Yes
CNC Control System Serial Number: A900171
DC3IOB: No
CNC11: Yes
CPU10 or CPU7: No

Re: Interfacing Haas 5C indexer to ALLIN1DC

Post by CRM »

cncsnw wrote: Sat Mar 16, 2024 1:57 pm All Centroid controls for the past 30 years have used the same pinout for a DE9 encoder connection:
Pin 1 = n/c
Pin 2 = 0VDC (COM)
Pin 3 = /Z
Pin 4 = /A
Pin 5 = /B
Pin 6 = Z
Pin 7 = A
Pin 8 = B
Pin 9 = +5V (Vcc)
That pinout can be found on nearly any Centroid control wiring diagram.

Given the wire colors from the Haas diagram above, that would be:
Pin 1 = n/c
Pin 2 = 0VDC (COM) = WHT/RED
Pin 3 = /Z = WHT/ORG
Pin 4 = /A = YEL
Pin 5 = /B = BRN
Pin 6 = Z = ORG
Pin 7 = A = WHT/YEL
Pin 8 = B = WHT/BRN
Pin 9 = +5V (Vcc) = RED

If your sense of aesthetics and order suggests you should swap the polarity of both the A and B channels (so WHT/YEL is on 4, YEL is on 7, WHT/BRN is on 5, and BRN is on 8) you could do that, and it would work just the same.

Regarding your other questions:
1) No. See Machine Parameter 131 in the Centroid operator's manual. If the fourth axis is not turned off, then the encoder must be connected.
2) Yes. You can label it with any available valid axis letter: A, B, C, U, V or W.
3) Generally, no special PLC support is needed for a rotary axis. In some cases you might want to expand the M10/M11 clamp logic, but that is not essential.
4) See TB260. Depending on the behavior of the supplied servo motor, you may need to reduce Kp, Ki and Kd. If you don't want to tune it, just set Kp = 0.5, Ki = 0.001, Kd = 1, Kg = 0, Kv1 = 10 and Ka = 20, and it will probably run just fine.
The "encoder bundle" of wires on the Haas connector plug pigtail contains 10 wires, 8 of which are being run to the DE9 connector for encoder input. The remaining two (BLK & WHT/BLK) are labeled "ground" and "home", respectively. I assume this is for a limit switch for homing. I understand using a pair of limit switches on a linear axis, but on a rotary, there is no "end" of travel. It seems logical that there must be a small cam or optical trigger being made at a specific point in the rotation of the axis that changes the state (either NC or NO) of the circuit between those two wires and that those two wires should be attached to one of the limit switch inputs on the DC1. The question is: WHICH one? And what should I expect the behavior of the homing routine to look like? I would assume when the machine is homed, the A axis would always turn either CW or CCW (depending on how you set the parameters in the axis setup) until it trips the switch. At that point, would it reverse direction and find the marker pulse on the encoder and set machine zero for that axis at that position? Would it trip the switch and continue to the marker pulse? Also, when limit switches are activated on a linear axis, it prohibits further motion in that direction. But you wouldn't want that same thing on a rotary axis. Does configuring the axis as "rotary" change that behavior?
Refreshing my memory by re-reading the ALLIN1DC installation manual on how to configure drive motors, I realize two things: I don't have a way to spin the encoder on the rotary axis by hand (the worm drive is self-locking), so checking to see that the encoder counts the correct way before powering the servo up isn't possible as far as I can tell. I also don't know how to verify the encoder resolution (lines) of the encoder Haas uses on their indexer. The manual does a good job explaining how to configure and fine tune linear axis movement, but doesn't really mention anything about configuring a rotary axis. Is there a TSB, or has there been a forum thread that details this? (I haven't found one yet) I have reached out to a person in a Haas Rotary Repair shop who was helpful in sourcing the mating 17 pin panel mount plug for the indexer cable and asked him if he could supply any of that information, but I haven't heard back from him and am not sure he will be able to give me all the answers...so I'm trying to figure out what plan B would look like.
Dean Jahnz
Cannon River Machine
cncsnw
Posts: 3855
Joined: Wed Mar 24, 2010 5:48 pm

Re: Interfacing Haas 5C indexer to ALLIN1DC

Post by cncsnw »

Since it is not a limit switch, you would not wire it to either of the limit inputs on the DC1.

Instead, you would wire it to an available PLC input on the Allin1DC.

Then you could enter that input number on the Machine Configuration -> Motor Parameters table, as the minus home, plus home, or both, for your fourth axis. You would leave the minus limit and plus limit input numbers both zero, since there are no limit switches.

Before you plug the encoder into the Allin1DC, or connect the home switch, you should use your Ohm meter to find out whether the two "Gnd" wires are connected together inside the Haas unit; and if not, which one associates with the +5V for the encoder, and which one associates with the home sensor.
cncsnw
Posts: 3855
Joined: Wed Mar 24, 2010 5:48 pm

Re: Interfacing Haas 5C indexer to ALLIN1DC

Post by cncsnw »

Once you have encoder input working, you can watch the count ("Abs Pos") and the index pulse indicator on the PID Configuration screen.

You can disconnect the motor power leads from the DC1, and hold them to a 12V batter or battery charger, or any other low-voltage source that is powerful enough to make the motor turn.

Find out which motor power lead is connected to the positive terminal when the encoder counts up, and connect that one to the Plus output on the DC1. Connect the other one to the minus output.

Of course, you have to do that test with the fourth axis labeled 'N', or do it just after releasing Emergency Stop, so that the control does not think it should be enabled and holding position.

Once you have the polarity right, you should be able to connect to the drive, label it 'A' or whatever, and slow-jog it under control. Then you can watch to see how many encoder counts go by between flashes of the '*' that marks the index pulse. You can also figure out how many counts go by in 360 degrees of rotation, and from those two things figure out your motor revs per degree.

Before connecting to the Centroid control, you can also use the 12V-battery test to find out whether your prospective home switch wires really to change between open and closed at some point in the table rotation; and whether it is normally open / closed when tripped, or whether it is normally closed / open when tripped.
CRM
Posts: 104
Joined: Mon Jan 03, 2011 11:54 pm
Allin1DC CNC Controller: Yes
CNC Control System Serial Number: A900171
DC3IOB: No
CNC11: Yes
CPU10 or CPU7: No

Re: Interfacing Haas 5C indexer to ALLIN1DC

Post by CRM »

Thanks! Just the kind of help I was looking for! I'm not sure why, but I had it in my head that the encoder was attached to the servo motor, and thus I would have had to figure out what the worm ratio was. Makes more sense that the encoder is on the indexer spindle and thus the encoder counts are relative to one rotation of the indexer spindle.
Dean Jahnz
Cannon River Machine
cncsnw
Posts: 3855
Joined: Wed Mar 24, 2010 5:48 pm

Re: Interfacing Haas 5C indexer to ALLIN1DC

Post by cncsnw »

The encoder probably is on the servo motor. But you can figure out what the worm ratio is once you know the number of encoder counts per motor rev (by looking counts between successive appearances of the index pulse), and the number of encoder counts in a full revolution of the rotary table.
CRM
Posts: 104
Joined: Mon Jan 03, 2011 11:54 pm
Allin1DC CNC Controller: Yes
CNC Control System Serial Number: A900171
DC3IOB: No
CNC11: Yes
CPU10 or CPU7: No

Re: Interfacing Haas 5C indexer to ALLIN1DC

Post by CRM »

First off, my apologies in advance for such a ridiculously long post with so many questions.
I definitely don't understand nearly as much as I thought I did. :( I was able to get some info on the Haas indexer. I asked what type of home switch is used, and whether it is NO or NC. I also asked what the line count was on the encoder. He replied it was a 2,000 line encoder and locates home with a prox switch that goes closed at the home position. I am not very familiar with prox switches vs. regular microswitches that I used for the other three axis limits, but based on the pinout schematic, I assume it is a 2 wire DC type. But I am unclear on how to wire that. Google searching leads me to believe polarity matters. But I don't know how to determine which wire is positive and which is negative. The Haas pinout schematic shows a wire labeled BLK GND on pin "T" and WHT/BLK HOME on pin "D". Intuition says that WHT/BLK HOME is the positive lead of the prox switch. I did as suggested and used an Ohm meter on those two wires while running the servo from a 12v car battery. There is a point where it went from open circuit to about 200 ohms, so I marked that spindle position and assume that is where the home switch registers. Again, not being familiar with prox switch function, is 200 ohms considered "closed"? And is that even a valid check, or should I be running actual voltage thru the circuit? Do prox switches typically have a working voltage specification (my ALLIN1DC limit switch inputs are configured as sinking 24vdc)? Can it be damaged by reversing polarity? Can I "bench check" by hooking one lead to the positive terminal of that 12v battery I am using to run the servo, and the other lead to a small 12 v light and then back to the negative terminal of the battery? And if it doesn't flash the light as the spindle moves past the mark I made, switch the prox switch leads and try again?

I followed the directions for installing the DC1 outlined in the DC1 120112 User Guide, which directs me to change parameters 300-303 (bumping up the values by 1, and setting 303 to "1". I understand that need, since the DC1 becomes the first drive. HOWEVER the documentation pretty much leaves me hanging after that, and I know there is more to change than that. Trying to gather what other parameters need to be configured from the ALLIN1DC installation manual (mine was printed out about 8 years ago) and it looked like I needed to change the motor parameters in the setup to change the axis labels. Since the rotary (axis label "A") is now axis 1, I copied all the existing motor parameters down one line (working backwards from Z to X) and left all the other columns for axis 1 ("A", the rotary) blank except for the encoder counts, which were set to 8000 since I was told the indexer used a 2,000 line encoder. I intend to use INP 7 (currently unused) for the home signal once I figure out how to wire it. I also changed encoder assignment parameters 308-311; 308 went from 1 to 2, 309 from 2 to 3, 310 from 3 to 4 and setting 311 to 1. That should correlate to X now being axis 2 with it's encoder on input 1, Y being axis 3 with encoder on input 2, Z being axis 4 with encoder on input 3 and the rotary now as axis 1 with the encoder on input 4. Now that I type this all out, does it seem like a better practice to shift all the encoders up one input and attach the rotary's encoder to input 1 so encoder input correlates to axis number (and change parameters 308-311 to match)? I'm trying to get to the point I can check encoder counts vs. motor rotation. Which brings up another question: How can I be sure which direction the motor is spinning when the only thing visible is the indexer's spindle? Do I have to pull the housing apart to get eyes on the motor itself, or is there another way?

I know there are other parameters that need to be changed, and a modification to the homing file to address the rotary axis, but it would be helpful to have a list of the affected parameters. I think I remember reading parameter 141 or something that needs to be changed to allow toggling the A axis as present or not. I'm sure there are more. I thought the parameter changes would be more thoroughly in the DC1 installation guide (TB245, Rev3), but, like I said, it pretty much leaves me hanging.
Dean Jahnz
Cannon River Machine
Post Reply