Sie sind auf Seite 1von 27

(/) let's make Explore (/tag/type-id/) Login (/contest/)

Contests (/account/login/) | Classes


Sign Up (/account/gopro)
(/classes/)

Publish (/about/create.jsp)
(http://www.autodesk.com/)
Featured: BOSEBuild Design Challenge (/contest/bosebuild/?utm_source=featurebar/) Meat Class (/class/Meat-Class/?utm_source=featurebar/)

#Vanlife (/howto/vanlife+car-camping+glamping+RV/) advertisement

advertisement

-34% -26%

About This Instructable

License:
8 464.580 views
1.460 favorites

cdtaylor51
(/member/cdtaylor51/)
Follow 139
(/member/cdtaylor51/)

Bio: Viet Nam War Veteran

(/file/FRO2PU0HV9HR3SC/)
More by cdtaylor51:

(/id/Raspberry-Pi-

Alamode-CNC-Controller/)

(/file/FJNU5KEHV9HR42S/) (/file/FAQ0OL1HV9HR2VI/)
Related

Android CNC Control with


GRBL (/id/Android-CNC-
Control-With-GRBL/)
by panmaneecnc

Raspberry Pi CNC case


(/id/Raspberry-Pi-CNC-Case/)
by Christian Sonntag
(/member/Christian+Sonntag/)
(/id/Raspberry-
Arduino CNC (/id/Arduino-
(/file/FKK6CNCHV9HR2R1/) CNC/)
by JohnnieT
(/member/JohnnieT/)
(/id/Arduino-
This is my first attempt at an instructable. I hope it helps someone else. Raspberry Pi CNC Hat
Controlled CDROM Stepper
Switches and Lights and fans, oh my... Motor (/id/Raspberry-Pi-CNC-
Hat-Controlled-CDROM-
Please read through the comments for more details.
(/id/Raspberry-Stepper-Moto/)
Control your CNC over Wi-Fi
I bought a CNC machine some time ago and I was never happy with it. It used a (/id/Control-your-CNC-over-
traditional parallel port controller and of course no modern computers have Wi-Fi/)
those. So it was always a point of frustration. I used an old Pentium based by eLVirus88
(/id/Control- (/member/eLVirus88/)
computer and ran LinuxCNC on it for a while but was still not happy with that. So
I started looking for another solution. I decided that I would try to put together an
Arduino based controller and try to use USB to communicate with it.
After studying that for a while I came to realize the Arduino was just not going to
be able to do all that needed to be done on its own. The Arduino UNO just does
not have enough memory or processing capacity to process a design file by
itself. So I modified my solution and started working on using a Raspberry Pi as
my host computer.
I created a Visio drawing of what I intended to do: It didn't turn out that way and
the drawing continued to evolve as I learned more. It kept on changing until I
finally got my project completed.
I have now built an Arduino based CNC Controller system that uses a Raspberry
Pi as its host computer. The Raspberry Pi processes an "nc" file that contains a
design that is described in GCode commands that can be understood by the
Arduino. I have used a few tools on my Windows 8.1 Pro laptop to design a few
simple things (like tutorials in makercam here: http://www.makercam.com/
(http://www.makercam.com/)). This is a great introduction to designing things for
CAD/CAM and it is really easy to use.
After creating a design that I wanted to use I wirelessly connected to the
Raspberry Pi using WinSCP to transfer design files to the Raspberry Pi. You can
get WinSCP here: http://www.soft-now.com/listing/123823/WinSCP?
did=11055&pid=1&ppd=search,44532390848,winscp20download,e,,c,0,,,&gclid
=CJuIkNHds74CFagWMgodpxMAJw (http://www.soft-
now.com/listing/123823/WinSCP?
did=11055&pid=1&ppd=search,44532390848,winscp20download,e,,c,0,,,&gclid
=CJuIkNHds74CFagWMgodpxMAJw). Its great, you can just drag a file from
one window to the other to move files between systems. You will have to know
the IP address of your Raspberry Pi to connect to it. If you have gone through
the initial setup of the Raspberry Pi and setup a network connection you can get
the IP address by using the ifconfig command on the Raspberry PI. A really
helpful tool for getting your IP address and seeing that your Pi is online is a tool
called the Advanced IP Scanner here: http://www.advanced-ip-scanner.com/
(http://www.advanced-ip-scanner.com/). Another great tool is Wireshark:
http://www.wireshark.org/ (http://www.wireshark.org/)
I then used Remote Desktop Connection (Remote Desktop connection is part of
Windows and should be on your Windows machine. It can be run by entering
mstsc in the Run Open: box) to connect to my Raspberry Pi. Otherwise you
could use VNC or TightVNC: http://www.tightvnc.com/
(http://www.tightvnc.com/). TightVNC is what you need to put on your Raspberry
Pi to allow you to use Remote Desktop Connection from another machine. I can
now run the Grbl Controller on the Raspberry Pi which in turn connects to an
Alamode (an Arduino like board that plugs directly into the GPIO connector on
the Raspberry Pi and provides automatic voltage level translation. So that the
Arduino can communicate with the Raspberry Pi directly. The Alamode also
provides Arduino headers to allow for Arduino shields to be plugged directly into
it. So I ended up with a stack of three boards that are tightly integrated due to
being plugged directly into each other. The Alamode (Arduino) processes the
GCode commands from the Raspberry Pi into signals that are sent to the CNC
Controller shield to run the stepper motors and passes the various function
signals on to the CNC Controller shield too. They can then be accessed from the
external world. All is well so far... But now I have to connect these things to the
external world.

Step 1: 100% Grbl Compatible CNC Controller

(/file/FY8U2FIHV9HRL6Q/)

(/file/FR30XMYHV85NRTF/) (/file/FBE4IZNHV0KY6AD/)

First, I purchased the 100% Grbl compatible CNC Controller shield from:
http://blog.protoneer.co.nz/arduino-cnc-shield
(http://blog.protoneer.co.nz/arduino-cnc-shield). I already had an Arduino and
intended to use that with the CNC Controller shield and run something on my
laptop to control everything. Then I found out that the Arduino would not be able
to process an entire design file all by itself. This is due to it not having enough
memory to handle more than one GCode command at a time. In fact not all
GCode commands are currently completely implemented in the Arduino Grbl
software. However, the Arduino does directly interface with the CNC Controller
shield and can pass commands to the stepper drivers on the CNC Controller
shield without any additional circuitry.
The sets of three yellow jumpers that you see in the pictures set the micro
stepping for the stepper motors. The one single yellow jumper selects how the
limit switches work. Mine are set up so that when the switch closes a ground is
detected (the default). The alternative is to sense a hi when Vcc is selected.
That is to say that the limit switch logic can be set to sense a hi or lo, your
choice. The two yellow jumpers on the left side of the picture are for selecting
which axis the A-axis mirrors (two motors on one axis).
I used polarized headers to connect to the stepper drivers so that I would not be
able to plug in my stepper motors backwards - that's pretty important.
The 100% Grbl compatible CNC Controller shield does not actually include any
stepper motor drivers. It is only a means of integrating the stepper motor drivers
into an Arduino shield conveniently and it works great for that purpose. The CNC
Controller shield is designed to use the Pololu type step driver modules like the
A4988 stepper motor driver carrier that is shown here:
http://www.pololu.com/product/1182 (http://www.pololu.com/product/1182)
I purchased some from China that were about $4.00 each and appear to be
exactly the same (we shall see when I actually try to use them). They came with
some heat sinks too but I decided to use the ones you see (from Adafruit)
instead of the ones that were included instead. You actually only need to
populate the X, Y and Z stepper driver carriers on the CNC Controller board
(because the Grbl software on the Arduino only knows about three axes).
Unless you intend to use the A-Axis too (for a second motor on one of the
primary axes). The CNC Controller allows you to mirror the control signals from
X, Y or Z to the A axis by using jumpers. I am not using the fourth axis. I just
included the fourth stepper driver carrier so that I would have a spare in case
one of the others stops working. Then again who knows what might be in the
future?

advertisement

ESCNER 3D
PORTTIL DE NIVEL PROFESIONAL
-15%
SENCILLO RPIDO SEGURO

R$ 259
R$ 170,10

VER AGORA
MS
INFORMACIN

Step 2: Raspberry Pi

(/file/FHSPREHHV0KY6LD/)

It became clear that I needed some way to process a complete design file and
break it into individual GCode commands that the Arduino could then pass on to
the CNC Controller shield. Many articles are available on the internet about
running the Grbl Controller software which provides this specific function on a
Raspberry Pi. I had a Raspberry Pi that I had played with a bit, some time ago,
but it was an older version. I am sure it would have worked but I decided to get a
new one and dedicate the new one to being the host in my new CNC Controller
system. For more information about running the Grbl Controller software on a
Raspberry Pi look here: http://zapmaker.org/raspberry-pi/running-grbl-controller-
on-raspberry-pi/ (http://zapmaker.org/raspberry-pi/running-grbl-controller-on-
raspberry-pi/)
Due to reading a lot of those articles that I mentioned I became concerned that
the Raspberry Pi would overheat when inside of an enclosure so I put heat sinks
on it. Then I had to trim down the heat sink on the processor as it was too tall.
I also came to realize that the Arduino and the Raspberry Pi are slightly,
electrically incompatible. The Arduino operates with 5V logic and the Raspberry
Pi operates with 3.3 V logic. So a voltage level translator of some sort is
required as an interface between the two environments. I looked around for a
solution and found a few. I didn't really like anything that I was finding and it took
a while to get to what I wanted but I eventually found the Raspberry Pi Alamode
board.

Step 3: Raspberry Pi Alamode

(/file/FH4KJM2HV0KY6GZ/)

(/file/FDFK96SHV85NTKS/) (/file/FULL9KEHV85NT6J/)

(/file/FQR3D5SHV85NT8O/) (/file/F2WJLJEHV85NTAV/)
The Alamode board plugs directly into the GPIO connector on the Raspberry Pi
and provides the level shifting function that is needed for the Arudino to
communicate with it. It also provides Arduino compatible headers so that any
standard Arduino shield can be plugged into it too. Including the CNC Controller
shield. So it now appeared that I could have a stack of three boards that
communicate with each other properly and elegantly - with no additional circuitry
required.
Some quick features of the Alamode - that I am interested in: The Alamode has
a real time clock that is directly available to the Raspberry Pi (with a coin cell
battery backup). The Alamode can be powered from the Raspberry Pi or it can
be powered directly through its own micro USB connector. There is a tiny jumper
that allows you to select how you want to power it. The jumper header fell off of
my board (probably my own fault). I looked at it and decided I just didn't need it
as I intended on powering it through its own micro USB port anyway. The big
deal is that the Alamode includes the signal level shifting that is required for an
Arduino to communicate with a Raspberry Pi.
Once the Alamode is connected to the Raspberry PI you can then load the Grbl
software onto the Alamode. The Grbl code is loaded into the Alamode with the
Arduino IDE. You need to load the Arduino IDE onto the Raspberry Pi to load
the Grbl code into the Alamode. The Getting Started instructions at the Alamode
site are very good and complete: http://wyolum.com/projects/alamode
(http://wyolum.com/projects/alamode). Refer to the User Guide for instructions
on how to set up the real time clock.
Let me just say that it works exactly as they say it does. It is a bit of a task to get
everything together to actually use it but once it is set up (mostly on the
Raspberry Pi) it works great.

Step 4: Stack 'em Up

(/file/FLSYSWMHV85NTXZ/)

(/file/FGVXJVVHV85NTQ0/) (/file/F0HTQDPHV85NUA4/)
(/file/FW593ZLHV85NUDG/) (/file/FFSJCVXHV85NUFM/)

So now I have a stack of three boards. With the Raspberry Pi on the bottom, the
Alamode in the middle and the CNC Controller shield on the top. All plugged
together. One problem for me was that the Alamode does not provide any
mounting holes. It does provide a rubber pad that goes on the top of the RJ-45
Ethernet connector on the Raspberry Pi and is the right height (must be very
carefully positioned on the RJ-45 connector) but there is no solid connection
point other than the GPIO connector. The CNC Controller shield is like most
other Arduino shields and is very well held in place due to the friction of the
header extenders that are on the Arduino. My original Raspberry Pi did not have
mounting holes in it either. That is part of the reason why I decided to get a new
one and use it instead. Later on, I purchased an assortment of nylon standoffs
and attached a couple of them to the Raspberry Pi - with a couple of washers to
get the height right. Then I very carefully put a drop of super glue on the top of
each of the nylon standoffs and put the Alamode onto the Raspberry Pi. I then
left it alone for a while. I was later able to take the screws out of the bottom of
the Raspberry Pi and take the Alamode off with the standoffs attached to the
Alamode - it worked! I also attached a standoff between the Alamode and the
CNC Controller shield as there was a hole in a place that made that possible on
both boards. So now I have all three boards securely connected together.

Step 5: An Enclosure

(/file/F34MV32HV85NS3L/)

(/file/FTHQX0MHV85MMGG/) (/file/FWB3RIGHV85NSM9/)
Early on I decided to use some sort of enclosure to protect my finished project.
So I bought one and then came to realize it was not large enough and had to
measure everything and buy another one. The one I used is is nice box but
turned out to be a challenge anyway. This box is made by Bud and I got through
Amazon here:
http://www.amazon.com/dp/B005T7ARB6/ref=pe_385040_30332190_TE_M3T1
_ST1_dp_1
(http://www.amazon.com/dp/B005T7ARB6/ref=pe_385040_30332190_TE_M3T
1_ST1_dp_1). It is a BUD Industries PN-1339-DG High-Impact ABS NEMA 4x
Indoor Box, 6-19/64" Length x 6-19/64" Width x 3-17/32" Height, Dark Gray
Finish enclosure.
There are some nice brass threaded mounting holes in the corners inside of the
box and the box comes with screws to secure the top to the bottom with the
brass threaded holes in the outside corners. The box also has a gasket to make
it waterproof if you need that. In my case it just makes for a very nicely sealed
box.

I came to believe that I needed to have some sort of carrier to mount my "stack"
to inside of the box. So I bought a sheet of acetal from Zoro Tools:
http://www.zoro.com/g/Acetal%20Sheet%20Stock/00153128/
(http://www.zoro.com/g/Acetal%20Sheet%20Stock/00153128/). Acetal is
supposed to be somewhat ESD safe but I have not studied that out entirely
either. After I got the sheet of acetal I cut a piece that would fit inside of the
enclosure with my Dremel tool. It isn't pretty and this is one of the things I plan to
replace when I finally get my milling machine working again. I ended up having
to cut cutouts on both sides of my initial carrier to provide better access for the
wires and cables that connect the "stack" to the external world.
I also felt that it was important to make sure that there is adequate ventilation in
the box. So I mounted two 40mm, 12 VDC, exhaust fans on the top and two inlet
vents with filters on the bottom.
In the pictures you can see that there are a couple of extra holes in the carrier -
Oops.
I made a 1:1 scale drawings of the openings to be put into the box in Visio and
then printed those out on my printer. Then I cut out the printed drawings and
taped them to the box and used them as templates. It wasn't perfect, of course,
but was pretty good. I started each modification to the box by using an Exacto
knife to carefully mark through the templates and then used a Sharpie to make
sure I got it right. Then I used my Dremel to cut out the various openings in the
box. Not too difficult to do but you have to be patient and let the Dremel do the
work or you will end up with a lot of melted plastic on your hands and the nib
that you are using in the Dremel will try to dig into the material occasionally. My
only advice is be patient, take you time, don't press to hard, cut in the right
direction and it will all work out acceptably - no one is perfect. The hardest
openings to cut were the ones for the switches and the connectors. Each of the
connectors and switches have flat spots on opposite sides. All of my switches
and connectors are 16mm. The flat spots keep the switches or connectors from
turning in the chassis. That is great if you are using chassis punches but I do not
know of any of those that are designed to work on plastic. So I had to very
carefully cut the holes by hand with my Dremel. I cut them and test fitted each
connector one at a time and as soon as I was able to get the switch or connector
in the hole I stopped. They are pretty good but a nice CNC machine would have
done a better job than I did - maybe next time I will have a working CNC
machine and I can try that.

Step 6: The Hard Part


(/file/FMK2Z98HV9HR34D/)

So here is the hard part. Most CNC machines (milling machines, laser cutters,
engravers, water jets, etc.) use stepper motors to position the axes. The CNC
Raspberry Piprovides
Controller board Alamode X, Y and CNC Z axesController by
as well as an A-Axis that can be used
cdtaylor51 (/member/cdtaylor51/) in cnc (/tag/type-id/category-technology/channel-cnc/)
to supplement one of the other axes if needed with an additional motor or a
fourth axis could be
Download implemented (but Grbl only knows about three axes right
h (/id/Raspberry-Pi-Alamode-CNC-Controller/) 13 Steps .
now). My implementation is only going to use three axes at this time. However, I
Collection I Made it! Favorite Share
decided that I needed to bring the A-Axis out because I might someday want to advertisement

use it. Further, the CNC Controller board provides for the control functions to
enable the spindle as well as two other functions. By default they are spindle
cooling and spindle direction (alternately these functions can be used to control
a laser, a vacuum hold down or a blower / fume extractor and a heating mat for
a 3D printer). I did not know what I might want to control later on so I decided to
bring those signals out of the box too. I ended up with five connectors on one
side of my box that can be used to connect to the machine that I want to control.
I have labelled everything and everything is also color coded.
I want to mention that I used expandable sleeving to bundle wires together
where ever possible and to reduce the number of unbundled wires in the build. It
helps in a lot of ways and protects the wires a bit but most importantly it makes it
really clear what each of the bundles is for. It also makes the entire project a lot
better looking. Here is one place that you can get expandable sleeving:
https://www.parts-express.com/Search.aspx?
keyword=expandable%20sleeving&sitesearch=true (https://www.parts-
express.com/Search.aspx?keyword=expandable%20sleeving&sitesearch=true).
NTE provides wire and heat shrink tubing assortments that are really useful in
building electronics.
NTE / Elenco hookup wire assortment: http://www.amazon.com/Elenco-
Electronics-WK-106-Storage-25-Feet/dp/B008L3QJAS/ref=sr_1_1?
ie=UTF8&qid=1400363023&sr=8-1&keywords=elenco+wire
(http://www.amazon.com/Elenco-Electronics-WK-106-Storage-25-
Feet/dp/B008L3QJAS/ref=sr_1_1?ie=UTF8&qid=1400363023&sr=8-
1&keywords=elenco+wire)
Heat shrink tubing assortment: http://www.amazon.com/NTE-Heat-Shrink-
Assorted-Colors/dp/B000FIDTYG (http://www.amazon.com/NTE-Heat-Shrink-
Assorted-Colors/dp/B000FIDTYG)

Other useful things are like these:


Crimping Tool to put pins onto the ends of wires to be plugged into the various
places: http://www.pololu.com/product/1928
(http://www.pololu.com/product/1928). This is a really nice tool and works better
than a lot of other crimpers that are a lot more expensive. Of course, you need
to have pins and housings to complete a connection. You can see that I used
many pins and housings in building my CNC Controller.

Step 7: The External World

(/file/FJ7Q8Q5HV85MIKY/)

Show All Items

The next thing that had to be done was to connect the inside of the box to the
external world. Switches to control the system and plugs to get the signals to the
stepper motors and the spindle and finally a connection to a power supply.
The switches are all connected to one header that plugs into the CNC Controller
shield and another one that plugs into the power distribution board for the LEDs
that are in the switches. So the switches have a connection both below the
carrier and above the carrier.
The switches are E-Stop or Arduino Reset (Red), Abort Reset (Yellow), Pause /
Feed Hold (Blue) and Cycle Start / Resume (Green). The Reset, Abort and Hold
switches are push-push switches. That is they stay pushed in until you push
them again. That gives a positive indication of whether or not a button was
pushed. The Resume button is a momentary push button and only stays in as
long as you hold it in. Each button illuminates so that you can clearly see if it is
pushed in or not. As you can see in the pictures I used colored expandable
sleeving and shrink tubing of the same color as the button for each function to
make it easier for me to keep everything straight.
The connectors on the other side of the box are color coded too. They are X-
Axis (Green), Y-Axis (Blue), Z-Axis (Red), A-Axis (Purple) and Spindle (Yellow).
These colors match up with the cables on my milling machine. The X, Y and Z
axes contain the wires for the stepper motors and for the limit switches. The A-
Axis is only stepper motor wires and will not be used on my milling machine. The
Spindle connector has the Spindle Enable, Spindle Direction and Cooling
Enable wires in it. Again you can see that I tried to use the same color
expandable sleeving and heat shrink tubing as much as possible.

I connected the two 12 VDC exhaust fans to a header that eventually connects
to the power distribution board.
Finally, I used a PowerWerks PowerPole snap-in chassis mount that provides 5
VDC through a red connector and red cable, 12 VDC through a yellow connector
and yellow cable and a ground for each side through black connectors. The
chassis mount holds the PowerPole connector housings in place inside of the
snap-in chassis mount with a pin and these connectors are very well made.
More information about the PowerWerks PowerPole connectors can be found
here: http://www.powerwerx.com/powerpole-accessories/pow
(http://www.powerwerx.com/powerpole-accessories/pow)...

Externally I am using an ATX power supply that has been slightly modified to
provide power for my milling machine (it came with my machine). I built a cable
with the PowerWerks PowerPole connections on it that match up to my CNC
Controller box PowerPole snap-in chassis mount. Later on I added an
emergency power off switch to my power supply. You can see the emergency
switch here: http://www.sourcingmap.com/red-mushroom-cap-1no-1nc-dpst-
emergency-stop-push-button-switch-ac-660v-10a-p-256918.html
(http://www.sourcingmap.com/red-mushroom-cap-1no-1nc-dpst-emergency-
stop-push-button-switch-ac-660v-10a-p-256918.html)

Hooking up the switches and the connectors was the most time consuming part
of the build.

Step 8: Power Distribution

(/file/FIJOXERHV85MLU1/)
The next issue was how to get power to my "stack". I decided to build a power
distribution board. I also had an issue with the switches that I used. As you can
see they have LEDs inside of them. The LEDs are completely separate from the
switches. On top of that the switches just provide a path to ground for the CNC
Controller / Alamode. So, to get the LEDs to light up when the switch is
depressed I had to use an inverter (SN7404 Hex Inverter). The LED power
function is most of the circuitry on the prototype board. Power is on the edges
with 5 VDC on one edge and 12 VDC on the other edge. The four resistors are
current limiting resistors to limit the current going through the LEDs. The 12 pin
header is where the switches plug into the board. The headers provide power for
everything in the box. 5 VDC for the Raspberry Pi and the Alamode. 12 VDC for
the fans and the 12 VDC circuitry on the CNC Controller shield and for the 12
VDC path through the relays. The black connector on the prototype board is
used to provide the grounds for the signals being controlled by the relay stack.
Notice that I tied all of the grounds together on the power distribution board.
I used a temporary breadboard to figure out how to get the LEDs to work the
way I wanted them to work. Then I moved the circuit to an Adafruit Perma-Proto
Half-sized Breadboard PCB. It went pretty quickly and easily.

There are pull up resistors in the Alamode (Arduino) that pull up the voltage to
near Vcc on the Alamode for each of the functions. A function change of state is
sensed when the voltage is pulled lo or to ground. The CNC Controller shield
provides the function pins and matching ground pins. Shorting the function to
ground changes the state of the function and is sensed by the Arduino code. I
wired up the switches to do just that. Press the switch and the function is
connected to its respective ground pin. However, I also ran a wire from each of
the switches to one of the four Inverters that I used (two of the inverters in the
HEX Inverter chip are not used). So that when the switch is open a high or Vcc
is on the input to the inverter which results in a low is on the output and the LED
is off. Pressing the switch puts a low or ground on the input to the inverter and
hence the output of the inverter transitions to a hi and the LED turns on.

Step 9: Putting It All Together


(/file/F1N4UZ4HV85MFWS/)

(/file/F0Z2K1UHV85MG3P/)

(/file/FLOO3L8HV85MFDD/)

(/file/FEG27ETHV85MFJ7/)

I looked into connecting a video display to the enclosure but did not have
enough USB ports. So I bought a 3-port USB hub. It came in a black plastic
housing but that was way too big to fit into my box. So I took it out of its housing
and then used a zip tie to anchor it to my carrier. Now I have four usable USB
ports. One has a wireless network adapter in it. I also used one with a miniature
keyboard but I am not using it now as I am using the Remote Desktop
Connection instead. I also looked at adding an LCD display to the box but found
that I just do not have enough room in the box. Another of the USB ports would
have been used to connect a touch screen to the system.
Next I attached the stack to the top side of the carrier and the power distribution
board to the bottom side with nylon standoffs.

The last pieces to go onto the carrier were the relays. There are three relays.
One for the spindle, One for spindle direction and the last one for spindle
cooling. They got put into a stack and mounted on the carrier with nylon
standoffs too.

Step 10: Wiring the Carrier


(/file/FJFE1QDHV85MGJO/)

After getting all of the pieces mounted on the carrier they needed to be
connected electrically. I built a small wiring harness to connect the relays to the
power distribution board and to the CNC Controller board. Each relay connects
to its control pin on the CNC Controller board (the white expandable sleeving
bundle). Then each relay gets connected to the power distribution board for 12
VDC power. On the other side of the relays I made a couple of cables that
provide the ground for the signals being controlled by the relays and a very
small cable to connect the relays to the spindle connector. It is sleeved with
yellow on this side as it connects directly to the Spindle connector on the side of
the box. I used inline connections to allow me to more easily disconnect the
cables and get the carrier into and out of the box.

The relays are controlled directly from the Alamode via the CNC Controller
shield. Of course, you could use these three relays to control the functions
mentioned but they could also be used to control the functions of the print head
and heat pad on a 3D printer or a LASER in a laser engraver along with a fume
extractor or whatever. I plan on being able to move this control system between
all of those environments in the future - unless I decide to dedicate this one and
build more of them for my future machines. It would also be really easy to use
the 5 VDC relays to switch 12 VDC and then use that to control a solid state
relay or whatever is wanted.
I built another small wiring harness to connect 12 VDC from the power
distribution board to the CNC Controller shield. This 12 VDC is used to power
the stepper motors.

Step 11: Installing the Carrier


(/file/F3UNNXCHV85MJV0/)

Now it was time to install the carrier with all of its boards and cables into the
enclosure. The hardest part is connecting the power to the power distribution
board. First I plugged in the connector to the LEDs that are in the switches. Next
comes the fans and finally the power. Everything is color coded because I am
notorious for incorrectly connecting things. The cables that are attached to the
switches and the connectors have to be gently pushed and pulled to get the
carrier in the box but once there is sits comfortably.

Step 12: Connecting to the External World

(/file/FRGOSSBHV85MK3Q/)

After getting the carrier board connected and in place and then screwed down at
its corners the remaining steps are to connect the switches to the CNC
Controller shield. Followed by connecting the axes cables to the CNC Controller
shield. Finally the last connections are the relays and the ground for the spindle
connection. It is tight but there is enough room for everything to fit nicely into the
box.
Step 13: Testing

(/file/FO3QVWSHV0KXRXL/)

Show All Items

After getting everything hooked up I powered up the box and started testing
everything. The switches worked and I was able to control the system as I
thought it should work.

Next I went to my laptop and used the Remote Desktop Connection to log into
my Raspberry Pi.

I had already installed the Arduino IDE on the Raspberry Pi and done a lot to
prepare to run the system. It was a learning experience and I did not know what
else I might need to do to make everything work. So I got the software working
before I ever put anything in the box. The biggest difference between my getting
the software working and the current state is that I now have the switches too
and can control the system by pressing those buttons and it all works.

I ran the Grbl Control program on my Raspberry Pi and connected to the Grbl
program that is running on the Alamode. I opened a file that I had created (a
modified coaster tutorial) and ran the program. It ran all the way through and
stopped as I expected it to.

I checked to make sure that nothing got hot. Now I have to get out my milling
machine and get it back together and try to make something.

Thanks for reading my instructable.


Let me know what might have done differently. Maybe I will make another one.
We have a be nice comment policy.
Please be positive and constructive. w I Made it! Add Images Post Comment

SM51 (/member/SM51) a day ago Reply

this is absolutely fantastic cdtaylor51! thank you very much! I am building my


second cnc machine (I am doing all traditionally though - linuxcnc, stepper
motors, etc.) and I know what it takes to design and build your own. you've
done great job!

X cdtaylor51 (/member/cdtaylor51) (author) . SM51 (/member/SM51) Reply


|
8 17 hours ago
Thanks for taking a look. Good luck on building your machine.

Chrome98 (/member/Chrome98) a month ago Reply

you left a description and purchase link for almost everything but the 8 pin
connectors, both male & female, used to connect steppers to the box. please let
us know what they are called and where we can buy them. Thanks much!

X cdtaylor51 (/member/cdtaylor51) (author) . Chrome98 (/member/Chrome98)


|
8 a month ago Reply
Try this and there is another parts list in the
comments, way back.
http://m.ebay.com/itm/110983775612?_mwBanner=1
This link worked a few minutes ago.

Chrome98 (/member/Chrome98) . cdtaylor51 (/member/cdtaylor51) Reply

a month ago
Worked perfectly. Thanks much.

Chrome98 (/member/Chrome98) 4 months ago Reply

I've been a maker for 50 of my 58 years and an Instructable reader for as long
as they have been around. I can say with certainty that this is one of the best
written that I've ever read. Clear, consise, well thought out, well written. if you
had entered a contest I would have voted for it! very well done. you have a
future in technical writing should you persue that line of work.

X cdtaylor51 (/member/cdtaylor51) (author) . Chrome98 (/member/Chrome98)


|
8 4 months ago Reply
Thanks for the kind words. I am now 66 and have
been tinkering for a long time. I am a disabled Viet Nam veteran and fully
retired now. I actually did work as a technical writer for a few years and in
my last job, before I retired, I worked as a Test Program Engineer and
wrote test plans and test procedures for sophisticated electronic systems.
I also designed and built prototype electronic test equipment and fixtures
and mentored more junior associates. I don't really think that I ironed out
every instance where there could have been some misunderstanding but I
think my write up is pretty good. I never thought that it would get as many
views as it has. When I look at the number of views it always surprises
me. I tried to enter it in a contest but was not allowed to as I submitted it a
couple of days before the contest started. I would have really liked to have
won a laser engraver but I still feel pretty good about it just due to the
number of people who have read it, tried it, and made comments about it.
I recently purchased a 3D printer from a Chinese place and I am enjoying
learning about it. Maybe I will write another instructable about that
someday. Thanks again for reading my 'able and your comments.

Chrome98 (/member/Chrome98) . cdtaylor51 (/member/cdtaylor51) Reply

4 months ago
I too am a disabled vet and I apologize for assuming you were
a young person!

X cdtaylor51 (/member/cdtaylor51) (author) . Chrome98 (/member/Chrome98)


|
8 4 months ago Reply
No problem at all. I thought that it was kind of funny
that mentioned that I could be employeed as technical writer, as I had
actually been one for many years. Thanks for helping me to feel a bit
younger than I am.

JessyR8 (/member/JessyR8) 4 months ago Reply

Can you point me in the direction you used to get LinuxCNC installed and
running on your RPI, I have everything else working on my setup including
talking to my alamode board. Thank you!

X cdtaylor51 (/member/cdtaylor51) (author) . JessyR8 (/member/JessyR8) Reply


|
8 4 months ago
I am sorry, but I do not use LinuxCNC at all. I am using the
Grbl Controller software on my RPi and the Grbl firmware on my
Alamode/Arduino. I am not aware that LinuxCNC can be run on a RPi at
this time. At least, I have never tried to do that. I am not sure that
LinuxCNC would run very well on an RPi either. perhaps someone else
has done it and maybe give you more positive feedback. Check out the
liinks in my write up and you should be able to get Grbl working pretty
quickly (if you are familiar with Linux/Unix). Good luck.

JessyR8 (/member/JessyR8) . cdtaylor51 (/member/cdtaylor51) Reply

4 months ago
Well that makes more sense! I musta missed that step. Thank
you

Bverysharp (/member/Bverysharp) 6 months ago Reply

Great instructable. Thanks for all the detail and extensive references. Good
photos. Well done!

X cdtaylor51 (/member/cdtaylor51) (author) . Bverysharp (/member/Bverysharp)


|
8 6 months ago Reply
Thanks

GonzaloO6 (/member/GonzaloO6) 8 months ago Reply

Hi, not found realy 5VDC 12 VDC, please Help!!!

X cdtaylor51 (/member/cdtaylor51) (author) . GonzaloO6 (/member/GonzaloO6)


|
8 8 months ago Reply
Here is where I got the relays that I used:

https://www.itead.cc/electronic-brick-5v-relay.html
U AnuraajA (/member/U AnuraajA) 10 months ago Reply

It was a great help for me. I am trying to make one.


I have a request and a question please.

Question

Can I disconnect my PC or Laptop from the RPi after upload the G-Code into
the RPi. I don't want to monitor the process but I want to run the machine
without allocating a PC for the operation continuously.

Request

Can you please provide the necessary codes for the arduino and RPi.

Thanks in advance.

X cdtaylor51 (/member/cdtaylor51) (author) . U AnuraajA (/member/U AnuraajA)


|
8 10 months ago Reply
If you built a system like mine then you should be
able to test your theory to see if it works - I am able to connect wirelessly
to my RPi, transfer files, start Grbl and connect to the Arduino (Alamode)
and then set up the machines and eventually start making the part. I can
disconnect from my RPi at any time and reconnect at any time.

I am not sure as to how to answer your request.

There are newer versions of the Grbl code that you might be interested in
on the GitHub Grbl site here:

https://github.com/grbl/grbl

The code for the Alamode is available from the WyoLum site here:

http://wyolum.com/projects/alamode/

How to setup the Grbl code is available from the Protoneer site here:

http://blog.protoneer.co.nz/arduino-cnc-shield/

I like the new CNC hat from Protoneer that works with the newer RPi's
because it does not need the Alamode functions as they are incorporated
into the CNC hat (so the Alamode is not needed) and it includes an
Arduino Nano that is pre-programmed with the Grbl software. They,
Protoneer, also have a link to download their own customized version of
the software for the RPi (includes everything you need on the RPi already
installed and ready to go) with just one download. You download it and
then install it on your SD/TF memory module and then boot your RPi and
you are up and running. Only thing left to do it set up you wireless
networking on you RPi (make sure that you get a wireless module that is
known to work with the RPi to avoid a lot of frustration). Good luck, I hope
I answered your questions as you needed to have them answered.

aleDotAR (/member/aleDotAR) . cdtaylor51 (/member/cdtaylor51) Reply

10 months ago
Your box looks great, inside and outside. Like a pro, you
could sell them! Thank you so much for sharing and for giving additional
information that I also will need. Very nice instructable!

X cdtaylor51 (/member/cdtaylor51) (author) . aleDotAR (/member/aleDotAR)


|
8 10 months ago Reply
Thanks, I hope you build one too.

U AnuraajA (/member/U AnuraajA) . cdtaylor51 (/member/cdtaylor51)


Thank you for your quick reply with concern. 10 months ago Reply

I think you made it clear what I have needed. Thank you so much

ozybard (/member/ozybard) 10 months ago Reply

A great write up. Many thanks for taking the time to compile this. Very helpful

X cdtaylor51 (/member/cdtaylor51) (author) . ozybard (/member/ozybard) Reply


|
8 10 months ago
Your welcome.

X cdtaylor51 (/member/cdtaylor51) (author) . ozybard (/member/ozybard) Reply


|
8 10 months ago
Your welcome.

ershler (/member/ershler) 11 months ago Reply

This is a very nice description of all the guts of a CNC controller. But if you want
to dodge most of the bits and pieces to assemble this, you can buy a 4 channel
CNC controller board from http://synthetos.myshopify.com/products/tinyg. It
sells from their store for $129.00. It has a USB input and can be driven from
most any computer using the free Chili Pepper software. You will still need fans,
a power supply, case and switches etc, but going this route will result in a much
more compact and complete CNC controller. If this idea has been described
further down in the comments, I apologize. In addition I have no connection with
Synthetos other that being a very happy customer.

X cdtaylor51 (/member/cdtaylor51) (author) . ershler (/member/ershler) Reply


|
8 11 months ago
Thanks for letting us know about that. There are many
solutions out there for building a CNC controller, this certainly is not the
only way to do it. It is how I did it and it works well, and I learned a lot
doing it. Why not write you own instructible about what you are
proposing? I am sure that others would like to see how you did it and what
it looks like along the way.

ghostmaker1 (/member/ghostmaker1) 11 months ago Reply

Nice work! Can I ask where you got your panel mount cable connectors? ...and
buttons while we're at it.

X cdtaylor51 (/member/cdtaylor51) (author) . ghostmaker1 (/member/ghostmaker1)


|
8 11 months ago Reply
You can try the ones that I mentioned in a previous
comment:

http://m.ebay.com/itm/110983775612?_mwBanner=1

The buttons came from Adafruit.

Hope that helps.

tklus (/member/tklus) a year ago Reply

Is it possible to just connect to the arduino through a usb cable on the pi? I
already have the arduino and cnc shield set up and using my PC to control.

Also, can a touch screen be used to display and control the jogging of the
machine with the pi?

Looks awesome!

X cdtaylor51 (/member/cdtaylor51) (author) . tklus (/member/tklus) Reply


|
8 a year ago
The communications between the RPi and the Arduino happens
through the UART on the RPi and the UART on the Arduino. In my project
this connection is provided by the Alamode boad (including the required
voltage translation between the RPi and the Arduino). It doesn't
necessarily have to be that way but the software expects it to be that way.
Could you use the USB to communicate between the RPi and the Arduino
- I am sure it could be done but you would probably have to write some
extensive code to do that. I also believe that you would loose some
functionality on the Arduino. Someone else might have better insight into
doing that sort of thing than I do. What I did was use the software that I
found as easily as possible - I was not interested in trying to invent an
alternate way, I was just interested in trying to get everything to work
together. As for the touchscreen monitor to run the machine: I have done
that on several occasions. I just connected an HDMI touchscreen to the
RPi and could control everthing - actually, I never got the touchscreen to
work correctly with the RPi so I just used a miniature wireless USB
keyboard that has a touchpad built in to run everything. I have not tried to
get the touchscreen to work in a while. Using the remote desktop is just so
much easier that I just have no desire to try to get the touchscreen
working any longer. Touchscreens have their own set of problems on top
of everything else. So I just dropped it and went with the remote desktop
instead. My HDMI monitor is something like 5 inches wide and the
touchscreen was More accurate enough for me to use it effectively. If you
have a larger screen thenyou might have better results. I hope I answered
your questions. Perhaps others might give you different answers. Check
out what the Grbl guys have to say on Github too. Good luck.

X cdtaylor51 (/member/cdtaylor51) (author) . cdtaylor51 (/member/cdtaylor51)


|
8 a year ago Reply
I meant LESS ACCURATE More More accurate. Auto
correct strikes again!

jflapao1 (/member/jflapao1) a year ago Reply

Hello, cdtaylor51 very good job. I work with a CNC in my day to day and want to
build one for me to be able to test work that may be made no real scale. I have
ordered some stuff, I have a raspberry pi, ordered the shield alamode, and cnc,
lack ordering stepmotors but do not know what type / model to buy, you can
provide me a link? Now I have more technical issues in my day to day use the
PC to design and create the G code and send to as the machine is operating
the machine with some switches and a touch screen of 15 "wanted my cnc
could have a screen to show me what you're doing, but more importantly as the
grbl only supports 3 axes would be possible to double the system to have 6-
axis? X, Y, Z to the movements a and C to swivel and tilt head and an extra
lathe with interpolation with the other 5-axis, using either a PC or another
raspberry pi to control the other 2 raspberry pi, or using one raspberry pi but
two alamode shells and two cnc, it would be interesting to create a CNC
complete the small scale.

X cdtaylor51 (/member/cdtaylor51) (author) . jflapao1 (/member/jflapao1) Reply


|
8 a year ago
I believe that I understand your question and I have to say that
you are already far beyond my knowledge level about CNC. I would
suggest that you get in touch with the guys who are working on Grbl on
github. As for the stepper motors: you have to match up the stepper
motors with the drivers that you want to use and the motors need to have
enough power to move the axes at the speed you want and enough
torque to hold as you need. The most important factors are the maximum
current specified for the motors and the maximum voltage and current that
the drivers can handle also microstepping is an important feature (as you
no doubt already know). You will need to understand these relationships
to get everything you work. Otherwise buy a kit that has the motors,
matching drivers and the high current power supply included - that is the
easiest way to go. If you want to build a controller like mine then you may
want to consider the new CNC Controller board from Protoneer (no
Alamode board needed). I have a couple of them and I am working on a
new version of my controller using that new board (look at some of the
other comments for more information about the new board). I don't work
for them or anything but I really like the way these boards are made and
work. You can use the A4988 type plug-in drivers or external drivers that
can handle much higher current and voltage (meaning larger, more
powerful motors).
I am not sure if I answered all of your questions or not but good luck. I
would really like to see what you come up with. I am still trying to learn
about CNC... Maybe I will take a class or something...

tringuyen95 (/member/tringuyen95) a year ago Reply

Hi cdtaylor51 (https://www.instructables.com/member/cdtaylor51/),

Thank you for your great instruction!


I just have a quick question. You were saying an arduino is not able to process
itself, and thus u have to include a raspberry pi, is that because you are running
the nc file totally without a laptop or a desktop to generate and command the
gcode?
If I want to use laptop to create, process and command gcode directly to the
arduino, do I still need a raspberry pi?

Thank you very much!

X cdtaylor51 (/member/cdtaylor51) (author) . tringuyen95 (/member/tringuyen95)


|
8 a year ago Reply
Your question is interesting. I have discussed it before
but maybe not directly as you asked. There are a few reasons for the RPi
to be part of the project. The Arduino/Alamode is pretty busy. It is taking
care of the "real time" management of the signals that are causing the
motion in the CNC machine. It is also monitoring the limit switches
continuously. On the other hand the RPI is not doing very much. It parses
the .nc file and sends one gcode statement at a time to the Arduino. It
also keeps track of what has been done and what is yet to be done. The
RPi also provides a means to monitor the progress of a design that is
being processed. Of course, I monitor that progress on a separate
computer that has a monitor as there is no monitor on my controller. I like
being able to just kick off a design and let it go without monitoring it at all.
If I want to then I can reconnect to RPi at any time I desire to see how far
along it is.

Does it have to be that way? Not at all. It is just the way that I did it. You
need to have something that sends the gcode statements to the Arduino.
The RPi does that by running the Grbl Controller. There are other software
tools that you could use or you could write something to do that yourself.
Finally I suggest that you take a look at the Grbl wiki for more insight into
what else the Grbl Controller does - it does not have to be run on an RPi.
It could be run on a separate computer instead.

You would not want to do any design work on the RPi. It is just much too
slow for that. So my advise is that you do your design work on the fastest
computer you can use. Then you can run the Grbl Controller on that
computer or some other one that will stay connected to the Arduino for the
entire time that the design is being processed on your CNC machine. I
chose to let the RPi stay connected all of the time and just connect my
laptop to it (wirelessly) when I wanted to copy a file to it for processing or
to start the processing or to monitor the processing. It works well. It also
off loads the requirement of keeping my laptop tied to my CNC machine
for the entire time it takes to make a part. Still, other options are possible.
This is just what I did. I hope you get the idea.

tringuyen95 (/member/tringuyen95) . cdtaylor51 (/member/cdtaylor51) Reply

a year ago
Thanks a lot for your detailed comment! I quite got the idea now.
I'll try do do more research on Grbl!

Mile_zdr (/member/Mile_zdr) . tringuyen95 (/member/tringuyen95) Reply

a year ago
Yes The Raspberry pi is just acting like computer . You can use
lap top and arduino + arduino cnc shield for making cnc
Search on google GRBL arduino

tringuyen95 (/member/tringuyen95) . Mile_zdr (/member/Mile_zdr) Reply

a year ago
Hi Mile,

Thanks a lot for your comment. I'm very new to this stuffs, but u've made it
a lot clearer!

stefano di maria (/member/stefano di maria) a year ago Reply

hello, really amazing, I'm 13 years old, I built a 3 axis cnc controller with grbl, I
would like to build a 5-axis I do not very well understand the links you send me
a diagram as much detail as possible? what have you loaded into rasperry
more 2? softwere that you use? I would like to know as much as possible! thank
you so much for your help! my email stefanodimaria03@gmail.com excuse for
my English I'm utillizando google translator thanks again.

X cdtaylor51 (/member/cdtaylor51) (author) . stefano di maria (/member/stefano di


|
8 maria) a year ago Reply

Okay, I have read your messages. I do not have any information on


building a 3D printer or any other 5-axis machine. Grbl is limited to 3-axes.
You might want to look at the RepRap wiki as it is essentially a 5-axis
machine. Grbl is the only thing that I have loaded on the RPi in addition to
the operating system.

skaufman3 (/member/skaufman3) a year ago Reply

I made this diagram based off of what I could see from your Instructable, could
you tell me if this is wired correctly or not?

(https://cdn.instructables.com/FQK/63LD/ILGXLGA4/FQK63LDILGXLGA4.LARGE.jpg)

X
cdtaylor51 (/member/cdtaylor51) made it! (author) . skaufman3
|
8
a year ago Reply
(/member/skaufman3)
I like your diagram. It is pretty much accurate however it appears that
there a couple of things that I think may need to be cleared up. Of course,
you can do whatever you want to do. In my build I used 8-pin aviation
connectors and the Endstop / Limit switch wires are connected to four of
the pins of the aviation connectors. In your diagram you ran all of the limit
switches to a separate 6-pin connector. That's okay by me but it is not the
way that I did it in my build. I also noticed that you tied the limit switches
together in your diagram. I did not do that in my build. Each of the
switches are completely separate. I don't know that it matters. That would
be a question that the would have to be posed to the Grbl guys.
Another thing that I would like to draw your attention to is that the colors
for the axes are not correct. X should be red, Y should be green and Z
should be blue. I got it wrong in my build but because of some of the
feedback that I got (read the earlier comments for more info about the
colors coding of the axes). The purple and yellow were completely
arbitrary on my part. There may be some standard for those too but I am
not aware of what it might be.
It might be more useful if you labelled the USB connectors for the different
things that they go to. One goes to the Raspberry Pi and the other one
goes to the Alamode. It might also be useful to label the switches.
I got the wires going to the steppers a bit mixed up in my photos too. Pin 1
in my build is blue, Pin 2 is red, pin 3 is green and pin 4 is black.

Just in case is was not noticed: There are four current limiting resistors on
the power distribution board that are there to limit the current that goes
through the LEDs in the switches.

I have attached a few pictures to this reply to show some of what I have
mentioned.

(https://cdn.instructables.com/F9E/AV4M/IDLI1Z0Q/F9EAV4MIDLI1Z0Q.LARGE.jpg)

(https://cdn.instructables.com/FTU/MYQF/HV85MLBA/FTUMYQFHV85MLBA.LARGE.jpg)

(https://cdn.instructables.com/FWE/6J49/HV85MFOR/FWE6J49HV85MFOR.LARGE.jpg)

SantiagoS21 (/member/SantiagoS21) a year ago Reply

Hi, first of all congratulations, you did a very good work.


My question is if I don't have the Alamode shield for raspberry, it's possible to
use Arduino UNO, I have seen in new RPI CNC BOARD that just connect 10
pin from RPI, to RPI this pins are I2C and UART I think they are the principals.
I have your cnc shield (the red one) but I don't have Alamode shield.

Thanks, I hope your answer.


Sorry for my English. :)
X cdtaylor51 (/member/cdtaylor51) (author) . SantiagoS21 (/member/SantiagoS21)
|
8 a year ago Reply
Yes, you can use an Arduino UNO if you want to. You
will still have to use a voltage translator so that the RPi and the UNO can
communicate with each other. Its no big deal but it is required that you
provide some way for the +5V on the Arduino UNO to work with the +3.3V
on the RPi. Otherwise, you run the risk of destroying either or both of the
boards. A voltage translator can easily be made with a couple of
MOSFETs for each pin that is going to be connected to the other device.
You could also use the voltage translators that are provided by Sparkfun
or Adafruit or something of your own design. Take a look at these, I think
that either one will work.

SparkFun Voltage-Level Translator Breakout - TXB0104


(https://www.sparkfun.com/products/11771)

Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter -


BSS138 (https://www.adafruit.com/products/757)

I have attached an image that shows what each of the pins on the new
CNC board are used for (it only uses 7 of the 10 pins). The new board that
you mentioned has the voltage translators built in and it includes a pre-
programmed Arduino Nano in the price. That might be your simplest
choice depending on what you are trying to do.

As I have mentioned previously, the Alamode board made it easy for me


to tightly couple the RPi to the Arduino and the CNC shield. I didn't want
to have an extra PCB in my solution. You could easily put the voltage
translator underneath with the power distribution board - that is probably
what I would have done if I would not have had the Alamode. You could
also make your own voltage translator PCB or build a voltage translator
on an Arduino prototype PCB.

I have to tell you that the RPI CNC board is really nice too. If it would
have been available I probably would have gone with that solution rather
than what I did. I did not use most of the functionality that is built into the
Alamode but I did use the real time clock and the voltage translators.

I am in the process of building a new controller using the new board. I will
be making a new instructable too but it will take a few more weeks for me
to get that done. In the mean time you might want to look at the new card
too. It solves the voltage translation problem very nicely.

(https://cdn.instructables.com/F73/SRRS/IK75B61J/F73SRRSIK75B61J.LARGE.jpg)

X cdtaylor51 (/member/cdtaylor51) (author) a year ago Reply


|
8 With a local display you could control the system locally. I personally don't see
that as very useful. You could also monitor the progress of your project. That
might be more useful but definitely not essential. As I mentioned previously I
can completely control and/or monitor my system with my Remote Desktop
Connection. I do not have a display on my system locally. I just use my laptop to
do everything. I might someday decide to build a pendant to do things
"manually". Then a local display might be more advantageous.

Replacing the push buttons with touch screen buttons would be an interesting
thing to do. The push buttons are physically connected to the Arduino not the
Raspberry Pi. So you would have to change the way things are wired up and
then you would have to write some code to capture the touch screen button
functions press / release / hold (or whatever you need) and then follow that up
with some code that would send the captured event to the Arduino to effect the
press of the button. Lastly, you would have to write something to run on the
Arduino to "hear" the button presses on the Pi. I would suggest that this might
be the hardest part as you would not want to interfere with Grbl which is already
loaded and running on the Arduino (you might be able to control relays from the
Pi to effect the button actions on the Arduino). It would be a substantial amount
of work but I think it could be done - you might find some libraries on the
Internet to help. I have not researched this at all. It is so much easier to just
connect the buttons to the Arduino at this point. The code on the Arduino
(Alamode) is already there and works. If you decide to do that sort of thing, I am
sure that others would be interested in that too. Good luck with your project.

8 Arizno (/member/Arizno) a year ago Reply

if i was to add a touch screen would it be wired to Pi or to Arduino

X cdtaylor51 (/member/cdtaylor51) (author) . Arizno (/member/Arizno) Reply


|
8 a year ago
It would be easiest to just plug a touch screen LCD into the
HDMI port on the Pi. The touch screen itself would actually get plugged
into one of the USB ports on the Pi. I don't think it would be possible to
run it with the Arduino - it is already very busy controlling the stepper
motors and the spindle and at the same time monitoring the buttons and
the limit switches. On the other hand the Pi is not very busy. Don't expect
very fast response times on a local display and you will need to monitor
the temperature on the Pi with a local display running. Those are the
concerns that I had that pushed me towards using a Remote Desktop
Connection. Hope that helps. I probably would have put a local
LCD/Touchscreen on my build if I would have had a bit larger enclosure.

8 Arizno (/member/Arizno) . cdtaylor51 (/member/cdtaylor51) a year ago Reply

2 questions, one is silly and one serious.


Silly Question:
Would you have put an LCD for the cool factor or do you so an actual
need?

Seriously though:
I was curious if the push-buttons can be replaced by touch screen
buttons?

BTW, thank you for your prompt reply. You rock my friend.

JoeK17 (/member/JoeK17) a year ago Reply

wow!!!! very,very nice.... appreciate the way the wires were harnessed, the
placement of the boards...thumbs up!!!

X cdtaylor51 (/member/cdtaylor51) (author) . JoeK17 (/member/JoeK17) Reply


|
8 a year ago
Thanks for your omments.

I More Comments

advertisement
Ad
+oscilloscope +rigol On Sale
Need +oscilloscope +RIGOL? Huge Stock. Fast
Service, Buy Now!
tequipment.net/Rigol

FEATURED CHANNELS

Woodworking Paper Kitchen Hacks Puzzles Laser Cutting Space Homesteading 3D Printing Sewing
(/tag/type- (/tag/type- (/tag/type- (/tag/type- (/tag/type- (/tag/type- (/tag/type- (/tag/type- (/tag/type-
id/category- id/category- id/keyword- id/category- id/category- id/keyword- id/category- id/category- id/category-
workshop/channel- craft/channel- kitchen%20hacks/?play/channel- workshop/channel- astronomy/? home/channel- technology/channel-craft/channel-
woodworking/) paper/) sort=FAVORITES) puzzles/) laser-cutting/) sort=FAVORITES)homesteading/) 3D-Printing/) sewing/)
Newsletter About Us
Let your inbox help you discover Who We Are (/about/)
our best projects, classes, and Advertise (/advertise/)
contests. Instructables will help Contact (/about/contact.jsp)
you learn how to make anything!
Jobs (/community/Positions-available-at-Instructables/)

enter email I'm in! Help (/id/how-to-write-a-great-instructable/)

Find Us Resources
Facebook (http://www.facebook.com/instructables) For Teachers (/teachers/)
Youtube (http://www.youtube.com/user/instructablestv) Residency Program (/pier9residency)

Twitter (http://www.twitter.com/instructables) Gift Premium Account (/account/give?sourcea=footer)


Forums (/community/?categoryGroup=all&category=all)
Pinterest (http://www.pinterest.com/instructables)
Answers (/tag/type-question/?sort=RECENT)
Google+ (https://plus.google.com/+instructables)
Sitemap (/sitemap/)

Terms of Service (http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=21959721) |


Privacy Statement (http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=21292079) |
Legal Notices & Trademarks (http://usa.autodesk.com/legal-notices-trademarks/) | Mobile Site (https://www.instructables.com)
(http://usa.autodesk.com/adsk/servlet/pc/index?id=20781545&siteID=123112)
2016 Autodesk, Inc.

Das könnte Ihnen auch gefallen