Mesa 5i25+7i77 plug-n-go configuration

More
15 Mar 2014 20:09 #44847 by andypugh

attached subject show pin file

File Attachment:

File Name: halcmd_show_pin.txt
File Size:29 KB


That is a list of all the HAL pins that you can use in your HAL configuration.
You can search the pins for likely names, then look at them with Halmeter to see if they do what you require.
Each pin can be connected to other pins by signals. You can see in your list that some pins are already connected to signals, and most are not (which is normal)
Taking a typical line:
7  float OUT             0  axis.0.motor-pos-cmd ==> emcmot.00.pos-cmd
"7" shows which HAL function the pin belongs to. So, if you find a likely looking pin and want more information, you can
halcmd show funct
for the list of HAL functions, and you will see that (in this case) function "7" was "motion-controller" and you can (with a bit of inside knowledge, admittedly) then know to go to
www.linuxcnc.org/docs/html/ and scroll to the bottom to where "motion" is and then find this page www.linuxcnc.org/docs/html/man/man9/motion.9.html Or if you are happy in your terminal, just type "man motion"

"float" is the data type of the pin. There are 4 of these, float (real decimal numbers), unsigned and signed 32-bit integer numbers (s32 and u32), and boolean "bit".

The next entry is the pin direction. Any signal can be connected to any number of "IN" pins but only one "OUT" pin. This means that only one pin is allowed to set the value held by a signal and any other pins connected to the signal will be made to have that value. The "OUT" pin sets the value, the "IN" pins read and use the value.

The next entry is the value the pin held at the time you typed the command. You will see that the floats show numbers, the bits show "TRUE" or "FALSE" , the s32 pins show whole numbers, and the u32 pins show gibberish. This is because (for a reason I can't quite fathom) u32 pin values are always reported in this listing in Hexadecimal. You can set them in decimal if you wish, and unless you actively format a number as hex then HAL will read numerical values as base-10.

After the value we see the name of the pin. These are fixed names set by the HAL components. You can only use pin names that exist, and you have to spell them right, which is why having this list to copy and paste from is useful.

Next, on some pins, we see an arrow. "<==" or "==> and after that a signal name. The arrow shows the direction of information flow. In your configuration the signal names were set by pncconf, and look a bit like HAL pin names. However it is important to realise that signal names don't mean anything. You could co through your HAL and randomly change signal names, and as long as they stayed the same everywhere they were used, it would still work. This is a common source of confusion as people see that they have a signal called, for example "x-limit" and see it changing value, and wonder why they have no limit switch function. The reason in that case is that the signal might be connected to a physical input, but is not connected to the pins from motion ("axis.0.neg-lim-sw-in" in this case) that actually does something with the information.
The following user(s) said Thank You: akb1212

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

More
16 Mar 2014 07:31 #44869 by 33zy
my bad
Attachments:

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

More
16 Mar 2014 08:15 #44871 by 33zy
That is super helpful, signal names = variables assigned a value.

In the case of:
10 bit OUT FALSE hm2_5i25.0.7i77.0.0input-00 ==>home-switch

(hm2_5i25.0.07i77.0.0input-00) = the "pin"
how do i trace the physical location on the 7i77 that corresponds to this "pin"

I tried hooking up an encoder today, ENCODER 0 ua1,/ua1,grd,ua2,/ua2,+5v,ua0,/ua0,. does /ua0 = index negative

I moved the encoder and nothing on the screen moved, Still a bit unclear on how to take a system like the encoder from physical board connection, to "pin" so i can install or config physical items.
I appreciate the patience.

Am i correct in assuming something should move on the linuc cnc screen if i installed the encoder correctly? i have not doen anything to tell the computer its 2048 or differential, so I assume I am skipping some key steps?

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

More
16 Mar 2014 09:15 - 16 Mar 2014 09:32 #44872 by PCW
hm2_5i25.0.07i77.0.0input-00 is input0 (7I77 manual page 11)
with standard firmware and the 7I77 on P3

For encoder connections, your encoder should have signal names like A, /A B, /B and Z, /Z
(or perhaps I, /I instead of Z, /Z) These wire to the 7I77 pins QA0, /QA0 QB0, /QB0 and IDX0, /IDX0
respectively (for the first encoder)
Last edit: 16 Mar 2014 09:32 by PCW.

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

More
17 Mar 2014 09:46 #44908 by 33zy
encoders working, thanks for helping me connect the dots for pg4 to pg7. I did not understand the firmware vs hal integration.

Moving on to the be25a20 servo driver, 7i77 pg 14 makes reference to "AIN+" and "AIN-" what does this acronym stand for?

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

More
17 Mar 2014 21:44 #44918 by FloppyDisk
AIN+ Analog Input Positive
AIN- Analog Input Negative

When you control a servo amplifier, your control comes in the format of a plus/minus analog signal, very often from -10Vdc to +10Vdc. You need to connect the 'two legs' of that control signal to the drive from the controller. I think (double check) the 7i77 has a larger plus/minus range at 15Vdc, but I could be wrong. I have a 7i77 sitting on my work bench (for over a year) and haven't gotten around to installing it:-(. If the 7i77 does have a +-15Vdc range and your drive is +-10Vdc, you may need to be careful not to exceed the +-10Vdc. Something to consider anyway.

SEMANTICS
To be specific, older 'standard' servo amps are not called drivers because they 'amplify' the +-10Vdc signal, so they're technically a servo amplifier. Where a stepper driver 'Drives' the motor from a pulse train, so you have stepper drivers. This is all semantics, doesn't matter, but good to know. But, I didn't throw in the newer Digital Servo Amplifiers, in some cases, they could be called drivers as they might close the position loop internally from a step/dir signal. I'm a simple folk for the most part, so I tend to call boxes that 'run' servos Servo Amps and boxes that run steppers stepper drivers.

I truly believe servos are the better way to go if you can stomach it. There 'overhead' to make them work is a tad more than steppers, but well worth it in my mind... Good luck!
The following user(s) said Thank You: 33zy

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

More
18 Mar 2014 08:30 #44942 by 33zy
That is a good point regarding nomenclature.
I may have allready made a mistake along those lines, the be25a20 uses the single ended A/B values to close the velocity loop?
I guess the be25a20 is a driver and a amplifier?
I am not sure if i need to use that functionality of the be24a20 unit given that I am also using the 7i77? Does the 7i77 close the loop on both velocity and position? If I do need this function of the be25a20, then I am in a pickle because the Be25a20 interprets single ended encoders and I installed differential.
Does anyone have any experience with the be25a20 integrated with 7i77?

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

More
18 Mar 2014 15:27 #44945 by andypugh

Does the 7i77 close the loop on both velocity and position?

You can probably configure it either way, but things are typically easier if you let the drive close the velocity loop and close the position loop in LinuxCNC. (no loop runs in the actual 7i77 or 5i25 in a LinuxCNC configuration)
I have my mill running with dumb (current mode) drives and it is working fine, though.

If I do need this function of the be25a20, then I am in a pickle because the Be25a20 interprets single ended encoders and I installed differential.

I think that is just a matter of wiring. PCW can probably clarify.
The following user(s) said Thank You: 33zy

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

More
19 Mar 2014 00:01 #44955 by PCW
It is just a wiring matter. If the drives need encoder feedback for velocity mode
you can either just use the encoders in single ended mode (ignore the /A /B /Z signals)
and jumper the 7I77 for single ended mode, or wire just the A and B (and gnd) signals to the
drive but wire all 6 differential signals to the 7I77.

A possible problem with the last scheme is that the differential termination on the
7I77 will reduce the signal swing so that the A and B signals the drive sees may have
insufficient swing. This would have to be determined with a DVM

In any case it should not be a big deal. In the very worst case (noise issues)
you could use some of our differential to TTL adapters to tap off the differential signals
and feed them as single ended signals to the drive.
The following user(s) said Thank You: 33zy

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

More
19 Mar 2014 10:14 #44968 by 33zy
I down loaded another hal file from cncbasher, in attempt to understand what I am missing with hm2-servo7i77.hal
-net spindle-on hm2_5i25.0.7i77.0.0.output-00
-net coolant-mist hm2_5i25.0.7i77.0.0.output-01
-net coolant-flood hm2_5i25.0.7i77.0.0.output-02

these statements identify output locations on 7i77 for machine functions?

With regards to setting up an input like "estop" how is this done?
I see "net estop-ext <=hm2_5i25.0.gpio.018.in"
but i was expecting to find a "hm2-5i25.0.7i77.0.0input-01" association

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

Moderators: cmorley
Time to create page: 0.115 seconds
Powered by Kunena Forum