installing MPG2 handwheel on 3-axis mill

More
03 Jul 2016 21:57 #76948 by southbayguy
Hi -
Using LinuxCNC (2.5.4) with a Motenc-Lite PCI interface card on K2CNC "iron" I have been having good luck running long surfacing programs. Thanks to the LinuxCNC community for helping me get this far.
Now I'm trying to make setup a little easier by installing a handwheel.
For that purpose, I bought an MPG2 pendant and C22 interface card from CNC4PC. The hardware is installed, on the existing parallel port on my controller PC.
I started with the sample jog.hal file from Linux CNC linuxcnc.org/docs/2.5/html/examples/mpg.html and edited it to change all the parport.1.xxx's to parport.0.xxx because I'm figuring I can use the existing parallel port on the PC instead of a second one. The scenario envisioned for the jog.hal file is that a PCI card for a second parallel port will be used. In my case it's not necessary.
I added the edited jog.hal file to motenc.ini.

Fire 'er up and get alotta errors:

Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
jog.hal:35 'parport.0.pin-09-in' does not exist.

Any guidance is appreciated.
-Southbayguy

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

More
03 Jul 2016 23:43 #76952 by tommylight
As far as i can figure out, there is no loadrt for parport, so it will not work without it.
Below is a sample for loading what is needed for a port to work, but do double check if you have that already in other hal files for the config you are using.

# first load the parport driver
loadrt hal_parport cfg="cc00"
#
# next connect the parport functions to threads
# read inputs first
addf parport.0.read base-thread 1
# write outputs last
addf parport.0.write base-thread -1

Regards,
Tom
The following user(s) said Thank You: southbayguy

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

More
04 Jul 2016 15:46 #76969 by andypugh

As far as i can figure out, there is no loadrt for parport, so it will not work without it.


It is also possible that the config (using motenc-lite) might not have a base thread. The servo thread might be OK, you just lose counts if you move the MPG more than 2.5 turns per second. This isn't likely to be a problem as you are running closed-loop optical feedback (ie, watching what you are doing).

However, the Motenc card might well have a spare encoder counter that can be used with the MPG, have you checked that possibility?
The following user(s) said Thank You: tommylight, southbayguy

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

More
04 Jul 2016 22:14 #76995 by southbayguy
Hi -
I should have thought of this sooner ... I'm trying the incremental approach. I shortened my jog.hal file to two lines

loadrt hal_parport cfg="cc00"
addf parport.0.read servo-thread 1

... and that doesn't bomb! !! Wonderful! My feeling is: if you can get one thing to work, you can get other things to work.
Now I'm iterating through, adding a block of lines from the full-length jog.hal file that doesn't work to the shortened file that does not bomb.
I was getting so many errors in the beginning it didn't occur to me that the incremental approach might work. I thought I was doing something completely off the wall wrong.
Also, in the Utility HAL Meter, I'm seeing parport inputs ... so that's a good sign.
Thnx.
-southbayguy

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

More
04 Jul 2016 22:34 #76996 by southbayguy
Using the incremental approach, I have found that LinuxCNC bombs (won't start; puts up error window) at this line:

net mpg-a encoder.0.phase-A <= parport.0.pin-02-in

... amongst other things, it says parport.0.pin-02-in does not exist. It does NOT say no parport input pins exist, because it accepts the line

net scale2 mux4.0.sel1 <= parport.0.pin-10-in

... just thinking out loud here. Do I remember that parallel ports -at least some of the pins- are bidirectional? Is there maybe a configuration setting other than "cc00" I should be using?
Thnx.
-southbayguy

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

More
04 Jul 2016 22:36 #76997 by tommylight
Nice !
One more thing before you move on:

loadrt hal_parport cfg="cc00"

should actually be

loadrt hal_parport cfg="0x378 in"

in your case, assuming you are using the built in paraport.
Regards
The following user(s) said Thank You: southbayguy

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

More
04 Jul 2016 22:45 #76998 by southbayguy
Hi -
Maybe this sample jog.hal file is giving me grief because I'm using the built-in parallel port on the computer ... maybe the built-in parallel port is being configured somewhere else in the O.S. and LinuxCNC is having trouble applying its own configuration ...
... still thinking out loud
-southbayguy

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

More
04 Jul 2016 22:52 #76999 by andypugh
You can get a list of all the pins that belong to your parport:
Load your last working hal file. Then open a terminal window and type

halcmd show pin.
The following user(s) said Thank You: southbayguy

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

More
05 Jul 2016 00:49 #77007 by southbayguy
With the change to cfg="0x378 in" LinuxCNC starts with the jog.hal file entire --pretty much the same as the sample file-- in place. There are no errors. On the other hand, the handwheel doesn't work at all. I'm beginning to suspect I missed something in the hardware install. At the bottom of the CNC4PC C22 interface card there are (5) terminal blocks, two for power and ground and (3) others for an estop circuit. Does anyone know if the estop terminals needs to be jumpered for the card to work?

Thanks.
-southbayguy

When I power up the computer (or when I plug in the 5V and ground to the card), I hear a click from the relay on the card. I'm assuming the click is the relay pulling in (enabling) and that the card is set up to be enabled by default ... but I don't know. I couldn't figure out the C22 manual.

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

More
05 Jul 2016 08:55 #77015 by andypugh

With the change to cfg="0x378 in" LinuxCNC starts with the jog.hal file entire --pretty much the same as the sample file-- in place. There are no errors. On the other hand, the handwheel doesn't work at all


There isn't much to miss.

Can you see the pins that the MPG is connected to changing state in HAL when you turn the wheel? (might need Halscope to see it).

Is the encoder counter working?

Does the encoder counter output go somewhere?
The following user(s) said Thank You: southbayguy

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

Time to create page: 0.105 seconds
Powered by Kunena Forum