Mitsubishi MR-J2s with 7i76 - Need Circuit Advice

More
06 Jun 2016 02:00 #75537 by register
I'm building a machine that will use a 7i76 to drive four (XYZA) Mitsubishi MR-J2s servo drives. I've been working on my wiring diagrams and am hoping for advice on a few things from those more experienced than me.

Attached below you'll find a .PDF with my wiring diagram (a work in progress). My questions are:

1. The Mitsubishi literature refers to using one contactor per drive to select whether or not the servos are powered. I've already got the right contractors on hand so I'd prefer to use them. Should I be actuating them via a latching switch that I close during machine startup or is there a good reason/feature to have LinuxCNC control these contractors via a relay?

2. I'm nervous about what I've heard of Mitsubishi servo drives being super-sensitive to the wrong wiring configuration. I want to confirm some of my wiring choices:
  • Do I have my pulse and direction wires planned properly?
  • I'm really confused about how I should be hooking up "Servo Enable" (SON) and "Emergency Stop" (EMG). I think SON should be driven by LinuxCNC, but should the signal for EMG be coming from a physical switch, from LinuxCNC, or both?
  • Is SG (described as "Common terminal for the input signals such as SON and EMG. Pins are connected internally") a high or low signal vs. VDD? My electronics background is hazy and I'm unfamiliar with the concept of a "common" in this context.
  • For those of you familiar with the MR-J2 family, are there any critical pins needed to run the motors in position mode that I haven't listed below?
MR-J2sConnectionDescription
CN1A-P2 (NP)7i76 TB2-P5Dir (-)
CN1A-P3 (PP)7i76 TB2-P3Step (+)
CN1A-P12 (NG)7i76 TB2-P4Dir (+)
CN1A-P13 (PG)7i76 TB2-P2Step (+)
CN1B-P3 (VDD)CN1B-P13 (COM)Use on-board 24v power supply for I/O
CN1B-P5 (SON)CN1B-P10 (SG)Connect to SG via relay (NO) driven by on LinuxCNC "Enable" signal
CN1B-P14 (RES)Pushbutton (Reset)Momentary pushbutton for "reset" after drive alarms
CN1B-P14 (EMG)Pushbutton (Reset)Latching pushbutton for E-Stop
CN1B-P18 (ALM)7i76 I/OConvey alarm signal to LinuxCNC via relay

3. What is the function of the SON pin on CN1B? If I pair it with LinuxCNC's enable output will it switch SON high every time the axis needs to move or will it only switch it high during machine setup and then leave it on until I shut down LinuxCNC? Just trying to get a sense of the SON and "enable" purpose.

Thanks in advance,
Henry
Attachments:

Please Log in or Create an account to join the conversation.

More
07 Jun 2016 10:47 #75620 by andypugh

I'm nervous about what I've heard of Mitsubishi servo drives being super-sensitive to the wrong wiring configuration. I want to confirm some of my wiring choices:


It is unlikley that badly-configured logic wiring will cause any problems, you will just end up with a config that does not work. The power (input and motor) wiring is where you probably have to be careful.

3. What is the function of the SON pin on CN1B? If I pair it with LinuxCNC's enable output will it switch SON high every time the axis needs to move or will it only switch it high during machine setup and then leave it on until I shut down LinuxCNC?


I am not familiar with the drives, so can only answer in the most general terms, but the HAL pins "axis.N.amp-enable" turn on when you press the "ON" button in the LinuxCNC GUIs (not when you exit e-Stop) and go off when you press the off button. The amps do not disable when the axis is not moving, as this is not typically what is wanted.
The following user(s) said Thank You: register

Please Log in or Create an account to join the conversation.

More
01 Oct 2016 21:52 - 01 Oct 2016 21:54 #81132 by register
Thanks for the information! I just got back to this project after a break.

I followed the wiring diagram in my original post and managed to get the servo to run under its own power in test mode run within the servo amp. This basically just runs the motor at 200 [RPM] when you hit a button on the servo amp to confirm basic function.

I can also get the servo to go into ready-on state when I power it up and open the connection between SON and SG. In this state, the servo locks the rotor and actively resists shaft rotation, returning the motor to its initial position. Per the manual, the motor should be ready to take motion commands in this state.

I've also set the correct parameters within the servo amp for operation in position mode.

When I wire it up to my 7i76 and run a test cycle through LinuxCNC I can't seem to get the servos to move. Looking at the Step+/Step- and Dir+/Dir- terminals with a multimeter, I can see the voltage changing when I change commanded speed or direction, so I'm confident that the 7i76 is doing its job.

For reference I'm using the first axis on the 7i76. Here are my current signal connections:

7i76 Name7i76 PinMR-J2s PinMR-J2s Name
GNDTB2-P1Amp ChassisGround
Step (+)TB2-P2CN1A-P13PG
Step (-)TB2-P3CN1A-P3PP
Dir (+)TB2-P4CN1A-P12NG
Dir (-)TB2-P5CN1A-P2NP
+5vTB2-P6NoneN/A

I've got a few focused questions that I'd appreciate help on:

1. Should I be connecting the 7i76 "GND" terminal (TB2-P1) to the servo amp? I've tried this and it didn't make a difference. I'm just wondering long-term whether I should be doing this or not?

2. My servo amp is by default in Fwd Rotation Pulse Train / Rev Rotation Pulse Train using Positive Logic (according to the .PDFs attached below). Is this what I should be using for a servo wired to use differential signaling?

3. Follow-up question to #2 above - is there anything I need to change in my HAL file to set it up for this kind of signaling format?

4. Right now I'm running my 7i76 off of the 5i25 without an external power supply. My understanding is that this should be fine for logic wiring (field outputs though would need an external supply). Can somebody confirm that the board should be able to send the pulse/dir signals without the external power supply attached?

5. Does anybody have specific experience with a 5i25/7i76 combo when used along with a Mitsubishi MR-J2/MR-J2s/MR-J3 servo setup? I'd love to get my hands on your HAL file if possible.

Thanks!
Henry
Attachments:
Last edit: 01 Oct 2016 21:54 by register. Reason: formatting

Please Log in or Create an account to join the conversation.

More
01 Oct 2016 22:20 - 01 Oct 2016 22:21 #81133 by PCW
The connections look basically correct, but if you get no motion from the step/dir signals,
it suggests the drive is not in the correct mode to accept step pulses so some messing with drive
parameters may be required.

Also you will need to change the stepgen output mode to "1" = UP/DOWN mode.

You _may_ also need to invert the output signals of the stepgen (or swap the +,- 7I76 pins)
to make sure the idle output is in the proper state when not generating pulses.
Last edit: 01 Oct 2016 22:21 by PCW.
The following user(s) said Thank You: register

Please Log in or Create an account to join the conversation.

More
02 Oct 2016 03:18 #81138 by register
Thanks for the help. I've played around with swapping the Step (+/-) and DIR (+/-) in all four combinations possible but can't seem to make it work.

On your point about the HAL file stepgen output mode, I've modified the file to read:
# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.00.dirsetup        [AXIS_0]DIRSETUP
setp   hm2_5i25.0.stepgen.00.dirhold         [AXIS_0]DIRHOLD
setp   hm2_5i25.0.stepgen.00.steplen         [AXIS_0]STEPLEN
setp   hm2_5i25.0.stepgen.00.stepspace       [AXIS_0]STEPSPACE
setp   hm2_5i25.0.stepgen.00.position-scale  [AXIS_0]STEP_SCALE
setp   hm2_5i25.0.stepgen.00.step_type        1
setp   hm2_5i25.0.stepgen.00.control-type     1
setp   hm2_5i25.0.stepgen.00.maxaccel         [AXIS_0]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.00.maxvel           [AXIS_0]STEPGEN_MAXVEL

Beyond changing stepgen.00.step_type to "1" as I've done above (it was "0" before I changed it), are there any other changes I need to make to the file to convert over to Up/Down? Any changes I need to make to any other files?

I've also attached my current HAL for reference. I'm focused on the X-axis only at the moment, so don't bother with the Y/Z.

Thanks,
Henry
Attachments:

Please Log in or Create an account to join the conversation.

More
02 Oct 2016 04:30 #81140 by PCW
Setting the step_type to 1 is all that's required to enable up/down mode

If you get no motion at all, It really suggests that your drive is not in
the correct mode to accept step pulses
(you might also get this if the step width was set way too low)

Please Log in or Create an account to join the conversation.

More
05 Oct 2016 17:26 - 05 Oct 2016 17:26 #81261 by register

Setting the step_type to 1 is all that's required to enable up/down mode


Thanks for confirming this!

If you get no motion at all, It really suggests that your drive is not in
the correct mode to accept step pulses
(you might also get this if the step width was set way too low)


It turns you were absolutely right! The problem did lie in the servo amplifier parameters, and it wasn't even anything complicated - I'm just a dope and had forgotten that the drive has a limit switch interlock which I neglected to disable in the parameters, so though the amplifier showed as "Ready - ON" it was in fact unable to take direction from the 7i76 because it thought a limit switch had been tripped.

This project has been challenging for me because I'm a relative novice when it comes to electronics, and there's a dearth of info around this exact Mitsubishi servo in conjunction with Mesa cards, so I'm going to walk through exactly what I did below in case somebody stumbles across this thread in the future:

1. I'd already gone through all of the parameters in the amplifier that I thought could be relevant to interpretation of the command pulse train and wasn't able to identify any that seemed to be incorrectly set.

2. I bought these drives used, so I decided to go through all parameters one-by-one to determine whether some had been set to something other than the default value (with the thought that perhaps some seemingly unrelated parameter could be screwing with normal operation in position mode.

3. I created the table attached below, where I systematically highlighted everything relevant to position mode, then compared the default value in the MR-J2s manual to the value I found in the amp's parameter tables. I highlighted the ones that were different in yellow, and then went through the yellow ones and highlighted ones that seemed like they could be potentially relevant in red.

4. I corrected all of the red parameters to their default values in the servo amp and gave it a shot, but still no luck.

5. I sat down and decided to write out the Current Selection column in an effort to ensure that I could describe in my own words what every line was doing. It was during this exercise that I realized I hadn't done anything to deal with the limit switch interlock (Parameter #41).

6. I used Parameter #41 to disable the limit switch interlock at the amplifier level (didn't even need to solder up a new CN1B cable!). Restarted the servo amplifier and it worked like a charm using a test configuration in LinuxCNC!

I've attached both my parameter comparison table and the Parameters section of the servo amp manual as a quick reference for those interested.

Thanks again to PCW and andypugh for the invaluable assistance here!

Henry
Attachments:
Last edit: 05 Oct 2016 17:26 by register. Reason: formatting

Please Log in or Create an account to join the conversation.

Moderators: cncbasher
Time to create page: 0.179 seconds
Powered by Kunena Forum