Help with pinout. 2 motors (joints) on one axis. 2.8

More
18 Jul 2017 16:46 - 18 Jul 2017 16:47 #95999 by Todd Zuercher
If you are running into problems with a limited number of io pins. Adding more than one parallel port is supported. I know up to at least 3 are allowed, as I've used that many on some machines. And other interface options (such as from Mesa and Pico Systems) can offer way more io and add other benefits such as hardware stepping, and high speed encoder reading. These options include interfaces via parallel port, PCI, PCIe, and Ethernet.
Last edit: 18 Jul 2017 16:47 by Todd Zuercher.

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

More
18 Jul 2017 16:48 #96000 by joel0407
I can set the Pinouts to a whole heap of things but what I really need it to set them to joints (motors).

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

More
18 Jul 2017 16:50 #96001 by joel0407
I have plenty of IO pins. I just don't know what to set them to? I'm not running out. Why do you think that.

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

More
18 Jul 2017 16:51 #96002 by joel0407
It seems like a random comment to ask if I am running out of IO pins.

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

More
18 Jul 2017 17:10 #96003 by Todd Zuercher
Unfortunately, the Stepconfig wizard predates the separation of Joints from Axis. Back then setting up a machine like this was not a trivial task. And it still isn't, but it has been greatly simplified. I'm not even sure if the Stepconfig wizard in Master even builds true JA compliant configs or if it just builds the old style config, then lets the auto convert script change it.

I think at this point the simplest option to building a config such as you are after, is to use Stepconfig to create an XYZA config, then modify it to be the XYZX config you need. Make the config, ignoring most of the settings for the A-axis (as you will be deleting or replacing most of them.) But do set up things like limit and home switches for the A.

Once you've built the config, copy and paist the settings for JOINT_0 to JOINT_3 in the ini file replacing what was there. Delete the section for AXIS_A and then make the nessisary changes to the KINS and TRAJ sections.

You might not even need to make any changes to the hal file, unless you want to change any arbitrarily named signals from referencing the A axis to something like X2.

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

More
18 Jul 2017 21:08 #96022 by rodw
Joel,

I have responded on the other thread

I think you are taking "8.8.3.1 Standard Pinout HAL" out of context a bit as it just shows one small snippet of code but does not show the prerequisite configuration code. Hopefully I have clarified that in my other response.
eg. you need to define the Xstep signal to be the stepgen for the joint.

As I said on the phone many people do what Todd has suggested and set up a XYZA machine as it is a default setup in stepconf. Then they only have one joint to edit (A) in .ini and hal so it becomes an XYZX machine. That should get you up and running in about 5 minutes after you've finished with stepconf.

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

More
19 Jul 2017 08:58 #96038 by joel0407
Thanks Rod,

Between here and the other thread. I sort of have it but still reading. I also had a look at my config files while I was home last night too.

What did get me a little was Todd's comment "The actual pinout is completely arbitrary.". From what I understand now the term used is arbitrary but the pinout is not.

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

More
19 Jul 2017 10:00 #96041 by joel0407
After reading through a few pages from "14.2 Basic HAL Reference"

It would have been better to say "signal-name" is arbitrary. It doesn't matter if you call the signal name HotSauce. It's just a name. The pinout is not arbitrary at all.

The "net" command sets the source the signal-name refers to. I think I have that right.

After playing around last night, I've now decided to go with XYYZ rather than XXYZ. So I current intend to call my "signal-name"s:

Xstep
Xdir
Y1step
Y1dir
Y2step
Y2dir
Zstep
Zdir.

The sources for these signal names will be

X = joint_0
Y1 = joint_1
Y2 = joint_2
Z = joint_3

Pinout will be


Xstep Pin2
Xdir Pin3
Y1step Pin4
Y1dir Pin5
Y2step Pin6
Y2dir Pin7
Zstep Pin8
Zdir. Pin9

I hope. LOL

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

More
19 Jul 2017 10:02 #96042 by rodw
I believe everything is arbitrary but have not used a par port. (other than to make my own crude breakout board 30 years ago for an animated window display that won me some nice crystal glasses)

If you have a look at this post on the other thread
forum.linuxcnc.org/49-basic-configuratio...lease?start=20#96019

This is the only fixed bit - the LCNC stepgen
stepgen.0.step

And through this construct, you can send the stepgen output to any parport output pin
net Xstep <= stepgen.0.step
net Xstep => parport.0.pin-03-out

I think this is what makes LinuxCNC so flexible. You can do almost anything.

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

More
19 Jul 2017 12:50 #96059 by Todd Zuercher
What each pin on the parallel port is used for is completely arbitrary up to the point that inputs must be inputs and output must be outs. But what each in or out does is completely up to you. There are also 3 different configuration options for the parallel port driver that give different combinations of ins and outs. Configured as OUT (default) gives 5 inputs and 12 outs, as IN gives 13 inputs and 4 outs, as X gives 9 inputs and 8 outs. There are breakout boards that support both the In and Out option, but I do not know of any that work with X. Also note that not all parallel ports support X mode, and that the port usually has to be set to SPP mode to use it. linuxcnc.org/docs/html/hal/parallel-port.html

I still think it would be slightly simpler to set up XYZY rather than XYYZ. But in the end it doesn't really matter, it can be set up either way. Just little more hand editing one way than the other (and more opportunity to confuse yourself or make mistakes).

Part of what makes Linuxcnc so powerful, is its flexibility in how it can be configured. This also is what makes it so complicated to set up. It is not locked into specific pin assignments or combinations for anything, unlike some other controllers.

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

Time to create page: 0.097 seconds
Powered by Kunena Forum