Mesa 7i93/7i33/7i37 - easiest install?

More
18 Nov 2017 03:38 - 18 Nov 2017 03:39 #101962 by erikg
So, I've gotten a new CNC project going and where my old milling machine now uses a Mesa 5i25 and attached card, I bought a 7i93 from Mesa to re-use some other cards I had lying around - a 7i33 and 7i37 for four servo axes and encoders and digital I/O for the new project - a conversion of an ISEL router to servos.

Looking around to see what's needed to set up the 7i93, I got the card powered up and talked to it with mesaflash. Initially I had installed the live 2.7.11 CD but then re-did the install with the debian net install for wheezy and the rest of the instructions for RT_PREEMPT.

I verified that I'm running RT_PREEMPT, and I have version 2.7.11 of linuxcnc after I did the linuxcnc-uspace apt install.

However, pncconf doesn't seem to want to create a config for the 7i93 or even offer the option for hm2_eth. The closest thing I see is probably the 7i76e card?

What's the best way to get a config set up for these daughter cards? Grab a sample hm2_eth config from somewhere and start editing? Does anyone have a config for the 7i93, 7i33 and 7i37?

I did try to run linuxcnc and select a config file, but it also doesn't have any configs labeled hm2_eth or similar...



Thanks,
Erik
Last edit: 18 Nov 2017 03:39 by erikg.

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

More
18 Nov 2017 14:41 - 18 Nov 2017 14:43 #101975 by PCW
Probably the easiest way is to make sure you have the hm2-firmware installed so pncconf has the required .xml files
and then select a 7I43 config like SVST4_4 (the 7I43 is a 2x 50 pin FPGA card like the 7I93 so has similar firmware options) and create a hal/ini file set

Then you will have to:

1. Replace of all occurrences of "7i43" by "7i93" in the hal file

2. Replace the "loadrt hm_7i43 ..." line with something like
loadrt hm2_eth board_ip="10.10.10.10" config=" num_encoders=4 num_pwmgens=4 num_stepgens=0 "
Last edit: 18 Nov 2017 14:43 by PCW.
The following user(s) said Thank You: erikg

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

More
18 Nov 2017 22:23 #101982 by erikg
I've made progress, but I get an error that makes me think I need a new bitfile:
hm2_eth: discovered 7I93
hm2/hm2_7i93.0: IDROM IOPorts is 2 but MD IOPort NumInstances is 3, inconsistent firmware, aborting driver load
hm2/hm2_7i93.0: failed to parse Module Descriptor 1
board fails HM2 registration
hm2_eth: rtapi_app_main: Invalid argument (-22)
./7i93.hal:44: waitpid failed /usr/bin/rtapi_app hm2_eth
./7i93.hal:44: /usr/bin/rtapi_app exited without becoming ready
./7i93.hal:44: insmod for hm2_eth failed, returned -1
Shutting down and cleaning up LinuxCNC...
hm2: unloading
Note: Using POSIX realtime

I believe the firmware I have installed is whatever came with the linuxcnc-uspace package for 2.7.11. Do I need to download a newer firmware somewhere?

Thanks,
Erik

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

More
19 Nov 2017 00:28 #101984 by PCW
Actually that sounds like the firmware installed in the 7I93 has a bug

First download the 7i93.zip file from Mesa ( www.mesanet.com/software/parallel/7i93.zip )
and then install new firmware on the 7I93 with:

mesaflash --device 7i93 --addr 10.10.10.10 --write 7i93_svst4_4d.bit

and then load the new firmware by power cycling the 7i93 or:

mesaflash --device 7i93 --addr 10.10.10.10 --reload

(you can leave out the "--addr 10.10.10.10" if your 7I93 is using the 192.168.1.121 address)
The following user(s) said Thank You: erikg

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

More
19 Nov 2017 18:41 #102029 by erikg
Thanks, that fixed the problem. Linuxcnc can now see the 7i93 and run I/O through it, so I tested one of my servo amps and it worked fairly well (I haven't gotten the servo installed yet, so it's not too stable without mass attached to damp it).

Onward to assembly.

Erik

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

More
19 Nov 2017 19:11 #102031 by PCW
I'm glad the workaround worked

Its LinuxCNC so where there's a will (and a text editor) there's a way!

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

More
28 Nov 2017 01:24 #102419 by idea
Hi,

Is it possible to share your setup files for the 7i93? i've never used linuxcnc before and this would be real help in getting started.

thanks,
david

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

More
28 Nov 2017 18:40 - 28 Nov 2017 18:40 #102449 by erikg
I'm willing to do so, however it's in a very primitive form - essentially I just needed it to try to drive the servos as a test, and I haven't added in anything beyond just interfacing with the hardware via a dedicated network card and sending some analog voltages out a couple of pins.

I'll still share it, but it's only useful as a starting point - I'd really like to see the LinuxCNC folks or Mesa create example config files for each card Mesa sells and post them on the Wiki.

If you can, perform the following steps:

1) Install Linux not from the Live CD with LinuxCNC but from the Wheezy distribution CD, using the instructions found under heading 7.1 here:

linuxcnc.org/docs/html/getting-started/getting-linuxcnc.html

2) Verify that you're running the RT-preempt kernel as those instructions specify, the Mesa motion control ethernet cards won't work without it. Make sure you delete the non-RT kernel so you don't accidentally boot into it.

3) Configure a dedicated ethernet port in your CNC PC to have an address on either 192.168.1.X or 10.10.10.X, these are the default addresses for the 7i93 card and I think the other ethernet cards. You NEED a dedicated port for this, don't just stick the card on the network with other hardware. It will work partially on a non dedicated net, but there exists the possibility of something going haywire during CNC work if another device creates network problems during a program run, which can not only ruin work but destroy the CNC machine or injure someone.

4) Test the network connection - you should be able to ping the Mesa card's default address from your control PC.

If that works, you can download mesaflash (from repositories linked on this forum or do a google search) and run "mesaflash --verbose 7i93". The program will look for the Mesa card on the network with the appropriate address and query the card. If this works, you know the connection to the card hardware is good.

4) Add the repository for and install the Latest LinuxCNC with RT-Preempt support, again as stated in the directions linked above. The version installed on the Live CD won't work, and while compiling LinuxCNC yourself will work, there's much more to go wrong if you do that.

5) To create the ini and HAL files as I did, do what PCW suggested above. Start by running LinuxCNC and choosing the config under "by interface" that supports the 7i43. It won't work, but you want LinuxCNC to copy some files to your home directory and this will trigger it to do this.

Then you're going to copy a couple of those files to a new name (I used 7i93.hal and 7i93.ini) and edit them as suggested:

Probably the easiest way is to make sure you have the hm2-firmware installed so pncconf has the required .xml files
and then select a 7I43 config like SVST4_4 (the 7I43 is a 2x 50 pin FPGA card like the 7I93 so has similar firmware options) and create a hal/ini file set

Then you will have to:

1. Replace of all occurrences of "7i43" by "7i93" in the hal file

2. Replace the "loadrt hm_7i43 ..." line with something like
loadrt hm2_eth board_ip="10.10.10.10" config=" num_encoders=4 num_pwmgens=4 num_stepgens=0 "



Note that options for the above can be a bit confusing. What I did was make sure "loadrt hostmot2" was in the file so the base module gets loaded, then I modified the above for my use - I use the default address for the card, 192.168.1.121, so I omitted that part. I'm using 4 encoders and 4 analog outputs (pwmgens) so I kept those.

Once I had the files created, I tried running LinuxCNC and using the 7i93 config I created (which shows up in the menu of choices once you create/copy/edit the files in the linuxcnc/ directory. LinuxCNC will tell you about any faults it finds or problems with start-up.

Once it starts up successfully (doesn't crash on startup) you can use the hal menu commands to view HAL pins available. If everything works, then you'll see the pwmgens and encoder inputs that you created and you can start editing your INI file as described on the wiki and in the docs to put axes where you want them and connect limit switches, encoders, etc. I haven't really done this step on my config files yet.



I'll grab my config file later today (it's on a shut down PC) and post it.
Last edit: 28 Nov 2017 18:40 by erikg.

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

More
29 Nov 2017 21:07 #102508 by idea
Wow, thanks for instructions, i've got deban running and the card reporting from "mesaflash --verbose --device 7i93"

I've loaded on the svst2_4_7i47d.bit which I think is the svst1_4_7i47s mentioned in the 7i93 manual that is the closest to what I need x4 steppers & spindle. The basis was the 7i43-4 and svst4_4.

But when i run linuxcnc i get the error "parameter or pin 'hm2_7i93.0.pwmgen.pwm_frequency' not found". Does the hm2_7i93 need to refer to the ethernet connection?

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

More
30 Nov 2017 04:12 #102520 by PCW
What daughter card(s) do you have?

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

Time to create page: 0.080 seconds
Powered by Kunena Forum