- LinuxCNC
- General LinuxCNC Questions
- A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC
A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC
- photomankc
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 4
11 Jul 2017 15:52 #95674
by photomankc
A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC was created by photomankc
I'm embarking on a new milling machine build. I'm trying to create a nicer build with a decent control cabinet and wiring. My big components are:
- MX4660 for stepper control and Breakout.
- 7i92M Ethernet Anything I/O with parallel port connection.
- Intel Celeron PC with NUC form factor and dual network ports.
- KBMM-125R reversing DC motor drive
I will dedicate one Ethernet to communication with the 7i92. The other will be for connection to the home network for updates / file transfer and terminal access.
From what I can gather so far I will need to obtain a version of LinuxCNC using rt_preempt to use the 7i92. Load the '.bit' file into the 7i92 for the MX4660 and then build or modify a sample '.ini' and HAL file for the combination. I've seen some forum posts that detail that process but it still looks a bit hairy.
One thing I'm not clear about is do any of the sample configurations include any spindle control? I'm wanting to use the 0-10V analog capability on the MX4660 to drive the motor speed control but I will also need a direction signal so I can use a relay to select the FWD/REV function of the drive control. It looks like Maybe I can drive that with any of the open OUTPUT terminals of the MX since they just follow the parallel port signals supplied from the control computer?
I guess I'm seeking out a sample 4 axis configuration HAL/INI that includes PWM/dir for spindle control as well. Has anyone already pulled off something similar?
I downloaded the support software and configs and I saw the 'pin' file for the MX4660 and the pinout it indicates and I have some questions. It looks like there are not any GPIO configured. Everything is either a stepgen or an encoder. I don't see anything I can use for limit switches, coolant pumps, etc? There are some pins labeled "None" but they indicate there is no configured pin direction at all? The signals I need to get back to Linux are:
- Home switch opened.
- MX4660 fault signal (pin 15).
Does 'none' mean I can control the pin direction and function from HAL?
IO Connections for P2
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort None
14 1 IOPort PWM 0 PWM (Out)
2 2 IOPort StepGen 0 Step/Table1 (Out)
15 3 IOPort None
3 4 IOPort StepGen 0 Dir/Table2 (Out)
16 5 IOPort StepGen 4 Step/Table1 (Out)
4 6 IOPort StepGen 1 Step/Table1 (Out)
17 7 IOPort None
5 8 IOPort StepGen 1 Dir/Table2 (Out)
6 9 IOPort StepGen 2 Step/Table1 (Out)
7 10 IOPort StepGen 2 Dir/Table2 (Out)
8 11 IOPort StepGen 3 Step/Table1 (Out)
9 12 IOPort StepGen 3 Dir/Table2 (Out)
10 13 IOPort QCount 0 Quad-A (In)
11 14 IOPort QCount 0 Quad-B (In)
12 15 IOPort QCount 0 Quad-IDX (In)
13 16 IOPort None
IO Connections for P1
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 17 IOPort None
14 18 IOPort PWM 1 PWM (Out)
2 19 IOPort StepGen 5 Step/Table1 (Out)
15 20 IOPort None
3 21 IOPort StepGen 5 Dir/Table2 (Out)
16 22 IOPort StepGen 9 Step/Table1 (Out)
4 23 IOPort StepGen 6 Step/Table1 (Out)
17 24 IOPort None
5 25 IOPort StepGen 6 Dir/Table2 (Out)
6 26 IOPort StepGen 7 Step/Table1 (Out)
7 27 IOPort StepGen 7 Dir/Table2 (Out)
8 28 IOPort StepGen 8 Step/Table1 (Out)
9 29 IOPort StepGen 8 Dir/Table2 (Out)
10 30 IOPort QCount 1 Quad-A (In)
11 31 IOPort QCount 1 Quad-B (In)
12 32 IOPort QCount 1 Quad-IDX (In)
13 33 IOPort None
Thanks for reading this and any insight you can offer.
- MX4660 for stepper control and Breakout.
- 7i92M Ethernet Anything I/O with parallel port connection.
- Intel Celeron PC with NUC form factor and dual network ports.
- KBMM-125R reversing DC motor drive
I will dedicate one Ethernet to communication with the 7i92. The other will be for connection to the home network for updates / file transfer and terminal access.
From what I can gather so far I will need to obtain a version of LinuxCNC using rt_preempt to use the 7i92. Load the '.bit' file into the 7i92 for the MX4660 and then build or modify a sample '.ini' and HAL file for the combination. I've seen some forum posts that detail that process but it still looks a bit hairy.
One thing I'm not clear about is do any of the sample configurations include any spindle control? I'm wanting to use the 0-10V analog capability on the MX4660 to drive the motor speed control but I will also need a direction signal so I can use a relay to select the FWD/REV function of the drive control. It looks like Maybe I can drive that with any of the open OUTPUT terminals of the MX since they just follow the parallel port signals supplied from the control computer?
I guess I'm seeking out a sample 4 axis configuration HAL/INI that includes PWM/dir for spindle control as well. Has anyone already pulled off something similar?
I downloaded the support software and configs and I saw the 'pin' file for the MX4660 and the pinout it indicates and I have some questions. It looks like there are not any GPIO configured. Everything is either a stepgen or an encoder. I don't see anything I can use for limit switches, coolant pumps, etc? There are some pins labeled "None" but they indicate there is no configured pin direction at all? The signals I need to get back to Linux are:
- Home switch opened.
- MX4660 fault signal (pin 15).
Does 'none' mean I can control the pin direction and function from HAL?
IO Connections for P2
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort None
14 1 IOPort PWM 0 PWM (Out)
2 2 IOPort StepGen 0 Step/Table1 (Out)
15 3 IOPort None
3 4 IOPort StepGen 0 Dir/Table2 (Out)
16 5 IOPort StepGen 4 Step/Table1 (Out)
4 6 IOPort StepGen 1 Step/Table1 (Out)
17 7 IOPort None
5 8 IOPort StepGen 1 Dir/Table2 (Out)
6 9 IOPort StepGen 2 Step/Table1 (Out)
7 10 IOPort StepGen 2 Dir/Table2 (Out)
8 11 IOPort StepGen 3 Step/Table1 (Out)
9 12 IOPort StepGen 3 Dir/Table2 (Out)
10 13 IOPort QCount 0 Quad-A (In)
11 14 IOPort QCount 0 Quad-B (In)
12 15 IOPort QCount 0 Quad-IDX (In)
13 16 IOPort None
IO Connections for P1
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 17 IOPort None
14 18 IOPort PWM 1 PWM (Out)
2 19 IOPort StepGen 5 Step/Table1 (Out)
15 20 IOPort None
3 21 IOPort StepGen 5 Dir/Table2 (Out)
16 22 IOPort StepGen 9 Step/Table1 (Out)
4 23 IOPort StepGen 6 Step/Table1 (Out)
17 24 IOPort None
5 25 IOPort StepGen 6 Dir/Table2 (Out)
6 26 IOPort StepGen 7 Step/Table1 (Out)
7 27 IOPort StepGen 7 Dir/Table2 (Out)
8 28 IOPort StepGen 8 Step/Table1 (Out)
9 29 IOPort StepGen 8 Dir/Table2 (Out)
10 30 IOPort QCount 1 Quad-A (In)
11 31 IOPort QCount 1 Quad-B (In)
12 32 IOPort QCount 1 Quad-IDX (In)
13 33 IOPort None
Thanks for reading this and any insight you can offer.
Please Log in or Create an account to join the conversation.
11 Jul 2017 17:25 - 11 Jul 2017 17:36 #95677
by PCW
Replied by PCW on topic A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC
The basic hostmot2 firmware /driver works like this:
Every pin has the ability to be GPIO
Pins that have an _enabled_ special output function (like PWM or stepgen) are dedicated
to that function, if that special function is disabled (in the driver command line) the pin reverts to its
GPIO function. So for example if you disable the stepgens and PWM generator and encoder in the hal file
you will have nothing but GPIO
Note the input pins (like the encoder) are always available as GPIO inputs whether the encoder is enabled or not
1 0 IOPort None
Means the primary function of the pin is IOPort (GPIO) and there is no secondary function (no stepgen etc)
Every pin has the ability to be GPIO
Pins that have an _enabled_ special output function (like PWM or stepgen) are dedicated
to that function, if that special function is disabled (in the driver command line) the pin reverts to its
GPIO function. So for example if you disable the stepgens and PWM generator and encoder in the hal file
you will have nothing but GPIO
Note the input pins (like the encoder) are always available as GPIO inputs whether the encoder is enabled or not
1 0 IOPort None
Means the primary function of the pin is IOPort (GPIO) and there is no secondary function (no stepgen etc)
Last edit: 11 Jul 2017 17:36 by PCW.
Please Log in or Create an account to join the conversation.
- photomankc
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 4
11 Jul 2017 19:05 #95685
by photomankc
Replied by photomankc on topic A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC
OK, that clears up some of my confusion. Thanks! So the FAULT signal on 15 can be routed to the HAL estop signal no problem. With the way the default .pin file is setup it appears I can accommodate the bare essentials and still have an encoder on the spindle later on.
1 - OUTPUT - MACHINE ENABLE
13 - INPUT - LIMIT/HOME
15 - INPUT - FAULT
17 - OUTPUT - SPINDLE CW/CCW (0/1)
I could add a breakout for the P1 header later on to add machine activated:
- COOLANT
- AIRBLAST
- PHYSICAL PANEL LIGHTS
- WHATEVER ELSE.
A followup. Are there any stable live CD images with preempt-rt? I found a testing live image with preempt-rt and 'Stretch' version of Debian but I see the advertised stable release is still 'Wheezy'. Are there any live images on Wheezy with preempt-rt and uspace already included? Otherwise I may just run with the testing live image. Looks like the end of LTS is coming up on Wheezy.
1 - OUTPUT - MACHINE ENABLE
13 - INPUT - LIMIT/HOME
15 - INPUT - FAULT
17 - OUTPUT - SPINDLE CW/CCW (0/1)
I could add a breakout for the P1 header later on to add machine activated:
- COOLANT
- AIRBLAST
- PHYSICAL PANEL LIGHTS
- WHATEVER ELSE.
A followup. Are there any stable live CD images with preempt-rt? I found a testing live image with preempt-rt and 'Stretch' version of Debian but I see the advertised stable release is still 'Wheezy'. Are there any live images on Wheezy with preempt-rt and uspace already included? Otherwise I may just run with the testing live image. Looks like the end of LTS is coming up on Wheezy.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
-
- Away
- Platinum Member
-
Less
More
- Posts: 4978
- Thank you received: 1377
11 Jul 2017 19:33 #95688
by Todd Zuercher
Replied by Todd Zuercher on topic A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC
No, I don't think there is, but the preempt-rt kernel can be installed easily to any ordinary Wheezy or Stretch (or Jessie using backports) installation using Synaptic. Then you can install Linuxcnc, after adding the appropriate repo to your Repository list.
Please Log in or Create an account to join the conversation.
12 Jul 2017 00:01 #95701
by rodw
Replied by rodw on topic A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC
I think there is a very recent package and/or a test .iso for Jessie. Try this thread
forum.linuxcnc.org/9-installing-linuxcnc...nc-on-debian-stretch
forum.linuxcnc.org/9-installing-linuxcnc...nc-on-debian-stretch
Please Log in or Create an account to join the conversation.
- photomankc
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 4
12 Jul 2017 13:19 #95729
by photomankc
Replied by photomankc on topic A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC
I found that thread also which is where I found the 'testing' live image of Stretch. I think I'll go ahead and use that. I'd like to be on a version of Debian that is not so close to being retired.
My 7i92M is in the mail so I should be able to get started working out the configuration for getting LinuxCNC talking to the I/O card. I'll probably just stick with the MESA defaults for IP address as this is a private wire and shouldn't overlap my home IP scheme. Mine was chosen when I had to avoid all the common private ranges that my company used since I had a site-to-site with them. I digress![;) ;)](/media/kunena/emoticons/wink.png)
Still interested in any samples of configurations if anyone has one that they have working nicely. Always handy to see an example of it all put together.
My 7i92M is in the mail so I should be able to get started working out the configuration for getting LinuxCNC talking to the I/O card. I'll probably just stick with the MESA defaults for IP address as this is a private wire and shouldn't overlap my home IP scheme. Mine was chosen when I had to avoid all the common private ranges that my company used since I had a site-to-site with them. I digress
![;) ;)](/media/kunena/emoticons/wink.png)
Still interested in any samples of configurations if anyone has one that they have working nicely. Always handy to see an example of it all put together.
Please Log in or Create an account to join the conversation.
- photomankc
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 4
21 Jul 2017 00:30 #96198
by photomankc
Replied by photomankc on topic A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC
I was able to get my really basic controls up enough to test things out. 5 and 12 volt supplies are wired up and connected to the 7i92. I stuffed a USB to Ethernet adapter into the stand-in PC i'm using to get the configuration going. That connects to the house LAN, the onboard NIC is wired direct to the 7i92.
I was able to find a very basic configuration from a 5i25 that was fairly easy to modify for the 7i92. I used mesaflash to load the BIT file for the MX4660 pretty easily. With the power and ethernet connected I was able to start the configuration and Axis loaded up. A quick check with a multimeter HZ counter showed that the correct step pin was activated when I moved the X axis.
Looking good. From here I should be able to expand the I/O as I desire and get both a physical and virtual panel setup.
I was able to find a very basic configuration from a 5i25 that was fairly easy to modify for the 7i92. I used mesaflash to load the BIT file for the MX4660 pretty easily. With the power and ethernet connected I was able to start the configuration and Axis loaded up. A quick check with a multimeter HZ counter showed that the correct step pin was activated when I moved the X axis.
Looking good. From here I should be able to expand the I/O as I desire and get both a physical and virtual panel setup.
Please Log in or Create an account to join the conversation.
- photomankc
- Offline
- Premium Member
-
Less
More
- Posts: 100
- Thank you received: 4
25 Jul 2017 20:05 #96417
by photomankc
Replied by photomankc on topic A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC
Since nobody had a sample I thought I would post up my very bare bones config. This is just X/Y/Z step and direction and little else. When I get more of it working like estop, limits, spindle and MPG, I'll post updates of the files.
Please Log in or Create an account to join the conversation.
- LinuxCNC
- General LinuxCNC Questions
- A few questions on machine build MX4660, 7i92M, and Intel Celeron NUC type PC
Time to create page: 0.194 seconds