Friday, June 12, 2015

LinuxCNC controlled Grizzley G0704 mill with a Mesa 7i76e


CNC build: Grizzley G0704 LinuxCNC controlled with a Mesa 7i76





7i76e user manuel

http://www.mesanet.com/pdf/parallel/7i76eman.pdf


So to get linuxcnc working with the MESA 7i76e you are going to need an appropriate realtime kernel.  Here are the steps provided to me by PCW from Mesa Electronics, I may have made slight modifications based on notes or changes I needed to impliment based on my experience.

cd ~
mkdir rtlinux
cd rtlinux
wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.18.11.tar.xz
wget https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/patch-3.18.11-rt7.patch.gz
tar -xpf linux-3.18.11.tar.xz
gunzip patch-3.18.11-rt7.patch.gz
// now copy the contents of rtconfig into .config inside linux-3.18.11
// this can be found at http://freeby.mesanet.com/rtconfig
cp patch-3.18.11-rt7.patch linux-3.18.11
cd linux-3.18.11
cat patch-3.18.11-rt7.patch | patch -p1
make xconfig
//ok at this point a window will open, make sure "fully premptable kernel" is enabled
//then close the kernel config, the configuration file should have enabled this.
make
// for my machine(asrock 1900-itx), make took a good chunck of the day..
// I am aware there are ways you can issue the make command that will utilise more of the processors // but I was unable to issue them without complicating the task beyond my means to figure out.
 
sudo make modules_install
sudo make install

// now when you reboot you should have a fully premptable kernel, which you should see at the top of grub apon booting
/****** instructions on how to get a copy of linuxcnc that you want for the 7i76e *****/
 //  you will need this or else the regular branch of linuxcnc won't have the stuff you need to talk to
// the 7i76e

cd ~
sudo apt-get install git-core gitk git-gui
sudo apt-get build-dep linuxcnc
sudo apt-get install linux-image-3.2.0-4-rt-686-pae
sudo apt-get install libudev-dev
sudo apt-get install iptables-persistent
// save rules yes
// save rules yes
git clone git://git.linuxcnc.org/git/linuxcnc.git linuxcnc-dev
cd linuxcnc-dev
git checkout master
git pull
cd src
./autogen.sh
./configure --with-realtime=uspace
make
sudo make setuid
cd ..
. scripts/rip-environment
//   you need to run this command each time you run linuxcnc


man hm2_eth
// follow the instructions in the man to get things further set up
address of 7i76 card:
192.168.1.121
Add these lines to the file /etc/network/interfaces to  configure  eth1
       with a static address:
       auto eth1
       iface eth1 inet static
           address 192.168.1.1
These instructions assume your dedicated network interface  is  "eth1",
       192.168.1/24
 The  board  must  have  its  hardware  loaded  on  the  board  by   the
       mesaflash(1) program.
 By  default, Linux may transmit IPv6 packets on all interfaces, even if
       they are not explicitly configured  with  global  IPv6  addresses.   In
       /etc/sysctl.conf, disable ipv6 on eth1 by adding this line:
       net.ipv6.conf.eth1.disable_ipv6=1
   Configure iptables for exclusive access
       Install  the  package  "iptables-persistent"  and  put this in the file
       /etc/iptables/rules.v4 (remove leading whitespace from every line):
       *filter
       :OUTPUT ACCEPT [0:0]
       :hm2-eth-rules-output - [0:0]
       -A OUTPUT -j hm2-eth-rules-output
       COMMIT
       If this configuration is present, then when hm2_eth loads it  will  add
       rules  restricting  use of the interface to only its own UDP socket; at
       (normal) exit, it will remove the rules.  You can  manually  clear  the
       rules with sudo iptables -F hm2-eth-rules-output.
       If  you  already  use  iptables,  create an empty chain named "hm2-eth-
       rules-output" (you must use this name; it is hardcoded in hm2_eth), and
       place  a  call to this rule early in the OUTPUT chain, before any rules
       that could potentially pass packets out eth1.
my particular machine only had one ethernet port
so I had to purchase a usb ethernet adapter and configure the network interfaces
set the w2, w3 jumpers
then I modified 7i76es1.ini  to connect to the address  
(09:25:19 PM) PCW: step_type 0 = step/dir
(09:25:21 PM) PCW: step_type 1 = up/down CW/CCW
(09:25:22 PM) PCW: step_type 2 and > = Table driven
(09:26:10 PM) Computer_barf: my x axis is stuck but I believe thats probably mechanical
(09:26:15 PM) PCW: man hostmot2 for the meaning of all the hardware parameters
(09:26:22 PM) andypugh: furrywolf: Yes, they are pressed in.
(09:26:34 PM) andypugh: But that’s a mad price
(09:26:57 PM) furrywolf: yeah, that's just a random forum link.  it's for a hitachi that's identical to my bosch.  figure that one out!
(09:27:22 PM) PCW:  also you must determine the max velocity and acceleration (so expect stalls until you get these set)
(09:27:30 PM) andypugh: furrywolf:  http://simplybearings.co.uk/shop/product_detail.php?products_id=152959&gclid=CJaji9DzocUCFUyWtAodpGMAwg
(09:27:39 PM) andypugh: Is that a less frightening price?
(09:27:43 PM) PCW: bbl dinner
(09:27:48 PM) Computer_barf: PCW: commentary logged to notes,  at this point im going to slow down and read over all the stuff ive saved, i wrote down before about the velocity and accelleration settings.
(09:27:59 PM) MrFluffy: budget bearing, does that mean it comes pre worn out?
(09:28:09 PM) PCW: Well that was easy :-)
(09:28:18 PM) PCW left the room (quit: Quit: ChatZilla 0.9.91.1 [Firefox 37.0.2/20150415140819]).
TB6
inputs
00 estop in
01 x home
02 y home
03 z home
04 probe in
05 x maximum limit
06 y maximum limit
07 z maximim limit
08
09
10
11
12
13
14
15
output's
00 ESTOP Out
01 Coolant Flood
02
03
04
05
06
0



flashing the 7i76

ive not done this but this is the command I believe needs to be run to do so: 

mesaflash --device 7i76e --addr 10.10.10.10 --readhmid


3d Printed Parts for G0704 CNC mill conversion



Electronics Enclosure


using my Mendelmax 3d Printer I printed up some standoffs for mounting the motherboard and 7i76e:

http://www.thingiverse.com/thing:335435/#files


Using this mount for the hard drive:


http://www.thingiverse.com/thing:418821


This is a good idea for the power supply but unfortunantly its in the wrong

orientation to serve my needs for overall case design

http://www.thingiverse.com/thing:292306


Estop, like the button but want to modify it to be able to trigger a simple switch:

http://www.thingiverse.com/thing:36144dd




General mill parts





Here is a cover that is for the hole that is left from removing the Z axis handwheel

http://www.thingiverse.com/thing:345032

spindel LED ring mount

http://www.thingiverse.com/thing:109915