View Full Version : 90 ton 1/14 metal excavator scratch build w/embedded PC
SteinHDan
10-18-2015, 06:16 PM
I've always wanted to build an excavator, and now the time has come!
The main goal of this project is to build an excavator that can dig normal dirt like you'd find in your own back yard.
Some subgoals:
- Minimize work
- Try to make a simple design (input wanted! :-))
- Minimize cost
- Realistic sound
- Realistic operation (smooth movements, etc)
I'm trying to minimize work and cost by using off-the-shelf standard components like ball bearings and sprockets. I also try to design the parts so that the CNC cuts are simple and quick, and the same thing for the 3D-printed parts. But even so, the project is probably going to turn out to be a massive amount of work anyway.. ;-)
I've selected the CAT 390 as the model for the project, but I'm not trying to make a scale replica. Rather, I just want a functioning machine with a simple design, and that will in many cases not be similar to the original CAT.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0001.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0002.jpg
The 90 tom CAT is large enough to dig some serious dirt while still at the 1/14 scale that will match my other construction RCs.
For the controls, I want to use an embedded PC for this project too. It gives complete control of the controls, the movements, the sound and also video streaming (for first-person views from the driver's seat). I've made two projects previously with this approach, and I felt it worked our well:
- Bruder MAN truck: http://www.scale4x4rc.org/forums/showthread.php?t=80393
- Bruder CAT delta loader: http://www.rcsparks.com/forum/threads/bruder-delta-loader-rc-conversion-w-embedded-pc.36063/
Here is the design for the undercarriage:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0010.jpg
Stein :-)
SteinHDan
10-18-2015, 06:41 PM
The two side rails (is that the right name?) are made of a aluminum + ABS sandwich construction. The outer sides are 3mm 6082 aluminum, which is easy to machine. The ABS in the middle is 3D printed black ABS (Verbatim), printed at 50% infill (very strong).
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0651.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0652.jpg
The motor mount for the drive motor is milled from 6mm 6082 aluminum.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0653.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0654.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0655.jpg
The bottom rollers are industrial ball bearings with a U-groove:
- SG20 U Groove 6x24x11mm Sealed Ball Track Guide Bearing
The bolts are standard hex socket cap M6 bolts 40mm long. I'm going to use black bolts when the undercarriage has been painted.
The washers are 1mm thick. I use two in the middle to get the right width.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0656.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0657.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0658.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0659.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0660.jpg
jack van
10-18-2015, 07:09 PM
looks good
Cooper
10-18-2015, 09:00 PM
Off to a great start, this looks like it will be nice , heavy duty. Keeps the pics coming!!
SteinHDan
10-19-2015, 02:46 PM
The main frame is made very strong, as this component is the one that prevents twisting in the undercarriage.
It consists of a roof and a floor in 6mm aluminium and the vertical parts in 12mm aluminum. I've not mounted the floor yet, as I want to have some room to build the swing mechanism.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0675.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0676.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0677.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0679.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0680.jpg
The main frame attaches to the side rails with eight M4 40mm bolts. I'll use black bolts when the undercarriage has been painted.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0681.jpg
SteinHDan
10-19-2015, 03:20 PM
I was thinking a lot about if a track tensioner is needed. It adds quite a lot to the complexity of the undercarriage, and one of the goals was to keep it simple. But after some testing, I found that I think it's needed. With the large weight and powerful motor, something has to give when for example rocks comes between the drive sprocket and the track, and it keeps the track tensioned so that it doesn't detach so easily.
I ended up with this:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0685.jpg
In this picture:
- A milled idler mount in 12mm aluminum
- An idler sprocket with a ball bearing, 4SR16 (16teeth, 08B)
- Two springs
- Two very long M6 bolts where I cut off the heads
- 16mm steel tube, 18mm long, inner diameter 12mm
- 12mm steel tube, 18mm long, inner diameter 8mm
- 8mm steel tube, 18mm long, inner diameter 6mm
- M6 40mm bolt
- M6 spacer 4mm long
The track I'm using is an industry standard roller chain, but it doesn't have much room for an idler wheel. That's why I'm using an idler sprocket. It helps to avoid derailing the track. The chain type is British Standard 08B roller chain, similar to the ANSI #40 roller chain (1/2" pitch).
The springs are quite strong to give enough tension to the tracks. Currently they push 15kg - 18kg outwards on each track, depending on their position in the milled slot. This seems to be fine. It can't be to low, as the track would loosen when driving into something.
Ebay links:
- Idler sprocket: http://www.ebay.com/itm/British-Standard-Steel-Idler-Sprocket-05B-06B-08B-10B-12B-16B-20B-Roller-Chain-/191502712638
- Springs: http://www.ebay.com/itm/191650948305
- Steel tubes: http://www.ebay.com/itm/111668876683
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0686.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0689.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0717.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0718.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0720.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0721.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0722.jpg
Temporarily holding back the tensioner with a strip while securing it with a bolt:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0723.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0724.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0726.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0728.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0729.jpg
pontiacmann
10-19-2015, 04:03 PM
:jaw::jaw::jaw: Very nice Work.
SteinHDan
10-19-2015, 06:02 PM
The drive motor drives the drive sprocket directly. A 12mm steel tube (inner diameter 8mm) matches the inner diameter of the drive sprocket and also extends the gear motor axle somewhat.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0730_a.jpg
The gear motor is a very common GW31ZY 12V 14RPM 30Kg/cm. The drive sprocket is an industry standard 08B 16 teeth sprocket. The plastic part is just a part I used for finding the correct distance when drilling the holes. On this drive sprocket it currently serves to hold the pin (a M4 bolt cut to size) in place. On the other sprocket I opted to place the hole inside the sprocket and thus no extra part is needed to keep it in place.
Ebay links for the parts:
- Drive sprocket: http://www.ebay.com/itm/321308379034
- Gearmotor: http://www.ebay.com/itm/291536954105
- Gearmotor alt.: http://www.ebay.com/itm/301680855441
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0730_b.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0730_c.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0732.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0733.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0734.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0735.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0737.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0738.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0740.jpg
Dieselchopper
10-19-2015, 07:54 PM
Like it. Great Job.
SteinHDan
10-20-2015, 11:27 AM
The top rollers are similar to the bottom rollers, but a bit smaller.
The type is SG15 U Groove 5x17x8mm Sealed Ball Track Guide Bearing.
Ebay link:
- http://www.ebay.com/itm/400561381584
The top rollers use an M5 40mm bolt and two M5 4mm spacers on each side to get the right width and position (I've not received the spacers yet, so I just used some washers in these pictures).
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0741.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0745.jpg
The mount is a bit different than the original CAT 390 (and most other excavators). Normally, the top rollers are only mounted on the inside. I guess this is to avoid rubble being stuck under the roller as it slides down on the tilted suface of the rail. But for this build, keeping it simple, I've just mounted it on both sides like the bottom rollers.
SteinHDan
10-20-2015, 12:33 PM
The tracks are made of an industry-standard roller chain and track pads. The roller chain I'm using is a British Standard 08B 1/2" pitch chain, similar to the ANSI #40 chain. I'm using this chain as it is one of the more commonly used types, and thus the price is lower. It is a bit too big for this model. The 1/2" pitch means that every track pad is 25.4 mm long, and it should really be something more like 15mm long.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0746.jpg
The "ears" are called attachments and there are various standard types. These ones are name "k1 attachments". There are wider versions that also can be used called "wk1". They have two mounting holes on each side. Search for "roller chain k1 attachments" on google to get more info.
- https://www.google.no/search?q=roller+chain+k1+attachments&source=lnms&tbm=isch
- https://www.google.no/search?q=roller+chain+wk1+attachments&source=lnms&tbm=isch
I originally planned to mill all the track pads in aluminum. But then I though I just make some temporary ones on the 3D printer, and they became very tough, so now I'm thinking that I'll keep the plastic ones until they break (or maybe they won't break). It is also a benefit to be able to drive inside without scratching the floors.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0749.jpg
The pads attach to the chain with two M4 bolts 10mm long. I chose a slotted head, as I think it will be easier to unscrew than philips or hex when the tracks get full of mud. On the other side I use two M4 locking nuts with nyloc locking mechanism.
Ebay links:
- Screw: http://www.ebay.co.uk/itm/261605587451
- Nut: http://www.ebay.com/itm/321386920963
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0751.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0754.jpg
I also overdid the width on purpose, but now I regret it a bit. I like the wide-tracks look, but I guess this is a bit too much. The real model in scale would be something like 60mm wide tracks. Mine are currently 70mm wide.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0757.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0758.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0761.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0762.jpg
SteinHDan
10-20-2015, 12:44 PM
The first test drive:
https://www.youtube.com/watch?v=AoB3Eev6npk
Cooper
10-20-2015, 05:59 PM
Doing an excellent job, for an excavator I think you will be fine with the track pads you printed. abs is pretty durable stuff and by the sounds of it you probably printed them solid. I think they will hold up for you very well. Keep up the good work, can't wait to see what else you come up with. And it's nice you are sharing where you sourced your parts. Always good to know places to get things. :)
Rakthi
10-20-2015, 09:20 PM
A top notch build and an excellent documented progress report - pure eye candy!
As Cooper already said, the links where you got the parts are an added bonus!
Looks like you put in a lot of time to figure it all out. :)
K-Man
10-20-2015, 11:00 PM
Outstanding work. Thanks so much for posting the links where you got some of the parts used in this build. It'll surely help us when we want to start our own project.
Azonic
10-21-2015, 06:22 AM
Very nice job, great ideas and parts used, the motors seems perfect for this application, strong and fits perfect!
Well done!
modelman
10-21-2015, 01:22 PM
Nice start on this build. It's just my opinion but the problem I see is in the next to last picture. The large gaps between the track pads is why I do not like roller chain but I understand why you went this way. It works perfect and is readily available.
SteinHDan
10-21-2015, 03:43 PM
Yes, I also don't like the large gaps. I think on this model it has mostly got to do with the track pad length being too long (25.4mm VS the 18mm it should have been if it were to scale) caused by me using a 1/2" pitch roller chain. I think with a 3/8" pitch roller chain (and the 7mm overlap of the pads that I already have) it would be almost no gap. But even the original model has some gap, though, visible in the very first picture in this thread.
So maybe I'll change the chain to a 06B (3/8" pitch) or ANSI #35 at some point.
That said, after having fastened 38 x 2 pads with 2 screws each = 152 screws by hand, I don't really miss having more pads per track ;-)
Stein :-)
RCKiwi
10-21-2015, 08:17 PM
Looks great! Very precise. :cool: Hasn't printing in 3d changed this hobby? Imagine where we'll be in a few more years!
Keep up the good work and keep posting pic's :)
Cooper
10-21-2015, 08:32 PM
On our scale the gap in track pads can't be big enough. If they are very close 1.5mm < they will arch up because of dirt/sand particles getting in between them. Not as bad on a crawler track but a pusher track is worse (dozer)
liftmys10
10-22-2015, 01:35 AM
Awesome job!! I love the fact that you provide a link to all these materials. That's a first that I've seen. Keep up the great work.
I used to have a 1/16 scale CAT 390D. So a 1/14 scale would do some serious digging. You can look mine up for ideas on here.
RCTech9
10-22-2015, 03:39 AM
Looks like a great start.
SteinHDan
10-22-2015, 07:04 AM
Thanks!
I bought the chain in a local shop, but I see that you can buy the same on Amazon by the meter:
- 1M 08B K1 attachments: http://amzn.to/1W71CaA
Stein :-)
crusher
10-24-2015, 04:01 PM
Probably the best presentation of a build I have ever seen, also great work on the project, have you considered drawing up plans for your build and selling them? I for one would definitely be interested in purchase.
Terry
SteinHDan
10-24-2015, 05:35 PM
Hi Crusher!
Thanks!
No, no plans to sell, but you can have it for free:
- http://d1t2tbzmskak12.cloudfront.net/cat-excavator/undercarriage_4%20v122.f3d (5MB)
Just download the free Autodesk Fusion 360 and then upload this file into that program. Then you can export any part to STL (for 3D printing) or I've also added the CAM setup for CNC cuts of some of the parts. And you can export the parts to other formats.
See the Autodesk Fusion 360 tutorials on YouTube for more info on how to use the program.
Don't pay any attention to the parts above the undercarriage. They are just placeholders for now.
Stein :-)
SteinHDan
10-24-2015, 07:48 PM
I wanted to create a very simple swing mechanism, but ended up with something not that simple. I tried various types of bearings, and I was very close to just stack 5 of these on top of each other, but it didn't roll very well:
- http://www.ebay.com/itm/262008651254
Also it would have had to be machined and the tolerance was very low.
So I ended up with two tapered bearings facing each other. It is very sturdy.
Here are the parts:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0771.jpg
All of the milled parts are from 6mm aluminum. The slip ring is not the one I'm going to use, but the same size. There is also a slip ring mount printed in ABS (50% infill) that both hold the slip ring in position but also helps align everything before the different parts are bolted in place.
Ebay links:
- Slip ring that I will use: http://www.ebay.com/itm/141778017008
- Slip ring from picture: http://www.ebay.com/itm/371343809973
- Bearing: 30212 http://www.ebay.com/itm/160994544123
The bolts are countersunk M6 80mm and countersunk M4 50mm.
The M4 nuts are locking nuts.
First, the slip ring is mounted inside the slip ring mount:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0773.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0778.jpg
It's important that the M6 bolts are countersunk, because they are rotating and the wires are not, and I don't want the bolt heads to catch or damage the wires when rotating.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0779.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0780.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0782.jpg
The static part is made up of 6 rings. If I should do it again, I would make the two similar pieces above and below the bearing mount plate into just one piece each of 12mm aluminum instead of two pieces of 6mm aluminum.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0783.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0784.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0785.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0786.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0787.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0788.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0789.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0791.jpg
And then the previous assembly goes in from the bottom:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0793.jpg
Underneath, the wires from the drive motor meet up with the slip ring wires:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0795.jpg
SteinHDan
10-24-2015, 08:00 PM
The swing drive consists of a drive motor, a milled bevel gear and a set screw:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0798.jpg
The drive motor is a 12V 50RPM gear motor. The set screw is M4. I'm going to use one that is slightly longer in the final version (10mm long).
Ebay links:
- Motor: http://www.ebay.com/itm/321622024429
The gear is milled from a 12mm aluminum sheet, where 6mm is the gear and the other 6mm is the part where the set screw sits. The set screw hole was drilled with a 3.5 mm drill and the tapped to M4 thread.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0802.jpg
I 3D printed a test plate to find the right fit for the gears before milling the real bottom plate of the excavator:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0804.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0806.jpg
SteinHDan
10-24-2015, 08:21 PM
Milling the main bevel gear:
- https://youtu.be/_9gfQj9GZf4
crusher
10-24-2015, 09:45 PM
Thank you for your offer re plans, I have downloaded Autodesk Fusion 360, now have to figure out how to download your drawings, not very computer literate. The pictures of your turntable look great.
Terry
SteinHDan
10-25-2015, 07:05 PM
Hi Crusher,
Just click on the link and then save to your computer. Then start fusion 360 and select Upload and select the file you downloaded.
To create a drawing from the design, you can do as in these tutorials:
- https://www.youtube.com/watch?v=d4SY7RaL3K4
- http://knowledge.autodesk.com/support/fusion-360/learn-explore/caas/CloudHelp/cloudhelp/ENU/Fusion-Fabrication/files/GUID-A476C8D8-1EE2-4AA1-9A97-88DB74A4E837-htm.html
Best regards,
Stein :-)
crusher
10-25-2015, 07:30 PM
Thank you for your reply and help, I will give it another try. As I said earlier I am not good at using the computer so appreciate your help.
Terry
Marquez81
10-25-2015, 07:48 PM
I consider the project whatyou doing, a spectacular job Stein !
I am monitoring the project these to show.
You will put the various phases of the project complete the excavator ?
Best regards!
SteinHDan
10-26-2015, 09:41 AM
Hi Marquez81,
Thanks!
I'm not sure if I understood you correctly, but if you ask if I plan to do the same as this for the rest of the components of the excavator, then the answer is yes. (even if I'm in that phase of the project where it dawns on you just how much work that is left... ;-). Just got to make sure to have a little bit of progress every day, and it will get done eventually. )
Best regards,
Stein :-)
SteinHDan
11-01-2015, 06:21 PM
I started work on the upper frame and base:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0808.jpg
All the parts are milled from 6mm 6082 aluminum.
The base is 10 mm less wide on all sides than the finished base will be. I'm planning on 3D printing parts that will go down to the same depth as this base plate, to try to avoid having to paint so much.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0809.jpg
The upper frame is put together with two middle parts perpendicular to each other and that slot into the sides. This gives the upper frame support in all directions. The sides bolt together with two 110 mm long M6 hex bolts (not shown in the pictures).
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0816.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0817.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0818.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0820.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0821.jpg
The uper frame then goes onto the base. It will be fixed in place with an 20 x 20 x 2 mm aluminum angle bar, 310 mm long (not shown in the pictures).
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0822.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0828.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0829.jpg
SteinHDan
11-23-2015, 05:45 PM
Stepping back a few steps and mounting the new slip ring, adding PTFE protective tubing to the drive motor wires and mounting the angle bars that hold the upper structure in place.
The PTFE teflon tubing is this one:
- http://www.ebay.com/itm/111392849268
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0842.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0844.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0848.jpg
SteinHDan
11-23-2015, 06:06 PM
Mounting the boom
I'm going to try to use electric gear motors first. If that doesn't work out, I'll make the excavator hydraulic instead.
I'm using some quite powerful gear motors for all of the joints.
Ebay link:
- http://www.ebay.com/itm/221515025957
These are 10 rpm 320 kg / cm stall torque motors. Two in parallel should produce 640 kg / cm.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0849.jpg
The two motors mount to the upper structure with 8 M5 countersunk bolts.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0850.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0852.jpg
The boom itself is constructed with two milled 6mm aluminum profiles. At the end, another gear motor is mounted with another 8 M5 countersunk bolts.
I bought the hubs on aliexpress:
- http://www.aliexpress.com/item/10mm-Stainless-Steel-Key-Hub-18029/1922964248.html
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0853.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0856.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0858.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0859.jpg
I'm using gas springs where the hydraulic cylinders would normally go.
The gas springs functions in many interesting ways in this configuration:
- Equalize the weight of the arm, so that the gear motor only have to lift the payload
- Dampen sudden movements and protect the gear motor
- A sound that is similar to a hydraulic cylinder
- Visually resembles a hydraulic cylinder.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0861.jpg
Item links:
- Gas springs: http://www.ebay.com/itm/181788326018
- Clevis: http://www.ebay.com/itm/161559757356
- Rod eyelet: http://www.ebay.com/itm/5mm-Female-Thread-Gas-Spring-Rod-End-Fitting-Eyelet-Connector-Silver-Tone-2pcs-/181888111312
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0863.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0864.jpg
SteinHDan
11-23-2015, 06:13 PM
The stick consists of these parts:
- Sides in 3mm aluminum
- Hubs in 12mm aluminum
- Gear motor (similar to the previous ones)
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0867.jpg
Again, the gear motor is mounted with 8 M5 countersunk bolts.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0882.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0883.jpg
Mounting the stick onto the boom:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0885.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0886.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0887.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0889.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0890.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0891.jpg
SteinHDan
11-23-2015, 06:19 PM
The bucket linkage is milled from 12mm aluminum. The gear motor is driving the bucket through these links, so they need to be strong.
The pins are M8 x 80mm pins bought here:
- http://www.ebay.co.uk/itm/291511678072
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0891_1.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0892.jpg
SteinHDan
11-23-2015, 06:28 PM
I've tried to construct a bucket without welding. It looks pretty ok and feels strong even if I've just printed it in ABS for now. I'll mill these parts in 10mm aluminum shortly. But I just had to print one to see how it fit. I think it's a little wide, so I believe I will make it a 5-teeth one instead of a 6-teeth one.
The construction uses a center slice that is tapped with M3 thread. All the other parts just have a 3.18mm hole in them.
10 M3 60mm long countersunk bolts are then inserted from each side, and bolt into the threaded center slice.
Bolts are added to odd-number holes on the one side and even-number holes on the other side.
The good thing about this approach, is that the width of the bucket can easily be changed. It would also be super simple to create a sifting bucket.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0893_1.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0893_3.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0893_5.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0893_6.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0893_7.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0893_8.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0893_9.jpg
Borrowing the cab from a Bruder CAT 320 1/14 to see how it will look with a cab on:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0894.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0899.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0901.jpg
Rakthi
11-23-2015, 08:38 PM
That will be one impressive machine once finished! Interesting/brilliant way of doing the bucket. Gives you the possibility to easily make various widths.
Personally, I do not think the bucket is too wide at all.
SteinHDan
11-24-2015, 01:06 PM
Thanks, Thuangs!
I'll upload some videos as soon as I have the excavator running again.
I guess I'll make a hydraulic version too at some point. Do you have any pointers to good cylinders that I can use?
The sizes I need:
- Boom stroke: 106,50 mm (4,19 inches)
- Boom total: 300,00 mm (11,81 inches)
- Stick stroke: 142,50 mm (5,61 inches)
- Stick total: 345,00 mm (13,58 inches)
- Bucket stroke: 102,00 mm (4,02 inches)
- Bucket total: 247,50 mm (9,74 inches)
Stein :-)
Lil Giants
11-24-2015, 03:45 PM
Fumotec offers unassembled cylinder kits so you can make any length cylinder you want. Just specify desired diameter when ordering.
http://www.funktionsmodellbau-brueckner.com/attachments/Image/IMG_604.JPG?template=generic
With this electric version of yours, how will you regulate its digging power so it doesn't destroy itself?
SteinHDan
11-24-2015, 05:49 PM
Hi Lil Giants!
I love your threads and builds!
Thanks for the link to the Fumotec cylinders. Those look very nice and very suitable for this model.
I'm going to control the force of the electric motors by current limiting. I'm using the Monster Motor Shield for Arduino (a cheap way to get the same driver chips as the Pololu quik controller), and I'm planning on doing it mostly the same way that this guy does:
- https://www.youtube.com/watch?v=7sr93cD--tg
Lots of options on the behavior. Cut off right away, exponential backoff, constant current (force), or more advanced like keep the current for a while and then back off. We'll see what works better.
Stein :-)
Lil Giants
11-26-2015, 07:42 PM
I think I found a similar video with English... it's interesting how the motor shield works, is it possible to adjust reaction time from a stall? I'll look forward to seeing how well you're able to make it perform Stein. ;) :cool:
You might need two set screws on every part? ...maybe three? :eek: :D
Fired up
12-03-2015, 10:21 PM
Very nice work. Interesting system.
SteinHDan
12-04-2015, 04:48 PM
I think I found a similar video with English... it's interesting how the motor shield works, is it possible to adjust reaction time from a stall? I'll look forward to seeing how well you're able to make it perform Stein. ;) :cool:
You might need two set screws on every part? ...maybe three? :eek: :D
Yes, or four ;-) I think the biggest problem will be too much backlash in the gears. But we'll see.
For the motor shield, you can program any behavior you want. The motor shield just makes available the current measurement output from the driver chip out to the attached Arduino. You can add the logic of what to do either on the Arduino or even further out if you have something else that controls the Arduino.
Stein :-)
SteinHDan
12-04-2015, 04:53 PM
Hi, Fired up!
Very nice work. Interesting system.
Thanks!
I saw from another thread that you are planning on building your own, and that you want to use standard parts. That sounds very similar to what I'm trying to do here. Keep me updated on your progress! :-)
I'm going to share all the 3D files for this build, in case you want to reuse some of the parts from here.
Stein :-)
SteinHDan
12-05-2015, 11:38 AM
I am using a Raspberry Pi 2 model B as the embedded PC for this project.
The Raspberry Pi will control:
- The ESCs (speed controllers) for the seven gear motors via USB serial ports
- Individual lights via GPIO pins
- Engine sound via the 3.5mm audio jack
- Remote control via a USB wireless gamepad
- FPV from the CAB with the Raspberry Pi Camera
- Configuration, reprogramming and telemetry via a USB WiFi.
Amazon links:
- Raspberry Pi 2 Model B - 1GB RAM - 900MHz Quad-Core CPU (http://amzn.to/1Hj8pFC)
- Raspberry PI 5MP Camera Board Module (http://amzn.to/1XJgJYM)
http://d1t2tbzmskak12.cloudfront.net/bruder-man-truck/lo/81KTdjV1JTL__SL1500_.jpg
I'm using a 4GB SD memory card I had laying around. Looks very much like this one:
- Kingston 4GB microSDHC Class 10 (http://amzn.to/1FESCMQ)
I downloaded the Raspbian (Debian) image on my computer from here:
- http://www.raspberrypi.org/downloads/
and installed it on the SD card as described on that download page.
Then I connected it to a monitor, mouse and keyboard and powered it up. In the setup menu, I selected:
- Terminal only (no graphical GUI)
- Enable camera
- Enable ssh
- Disable serial port console
This completes the setup and the Raspberry is now running with the operating system I want.
SteinHDan
12-05-2015, 02:03 PM
I'm adding WiFi because I want to use it for easy programming and for the FPV video link.
It's a good idea to use a very standard WiFi adapter, for example any adapter with a RealTek chipset, like this one:
- 150Mbps 11n Wi-Fi USB Adapter, Nano Size (http://amzn.to/1JDFdJz)
because that is known to work well.
Just plug it into the Raspberry PI, and then add the name of your WiFi network and the password:
1. Run this command: sudo nano /etc/network/interfaces
2. Edit the file so that it looks like this:
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
3. Save the file by pressing CTRL-O
4. Exit the editor by pressing CTRL-X
5. Run this command: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
6. Edit the file so that it looks like this:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="TheNameOfYourNetwork"
psk="YourPassword"
}
network={
ssid="TheNameOfYourOtherNetworkIfAny"
psk="YourPassword"
}
I'm typically adding both my home WiFi and my mobile phone Wifi HotSpot so that I can access the Raspberry wherever I might be.
7. Save the file by pressing CTRL-O
8. Exit the editor by pressing CTRL-X
9. Restart with command: sudo shutdown -r now
When the Raspberry has restarted, you can see if the WiFi connection was successful by running this command:
- ifconfig wlan0
This command should output something like this
pi@raspberrypi ~ $ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:0f:13:05:12:4e
inet addr:192.168.0.107 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:142807 errors:0 dropped:21 overruns:0 frame:0
TX packets:21617 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:34717556 (33.1 MiB) TX bytes:3289493 (3.1 MiB)
If you get an IP ("inet addr") here, then the WiFi has connected successfully. You can try the connection with a simple ping command:
- ping 8.8.8.8
(CTRL-C to exit)
Should output this if successful:
pi@raspberrypi ~ $ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=2 ttl=56 time=30.8 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=56 time=32.3 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=56 time=23.2 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3005ms
rtt min/avg/max/mdev = 23.209/28.797/32.357/4.000 ms
pi@raspberrypi ~ $
After I have set up the WiFi, I disconnect the monitor, keyboard and mouse, because I can now logon to the Raspberry Pi from my laptop by using SSH to the IP listed in the ifconfig output. I'm using the program Putty for the connection:
- http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
but any SSH-client can be used to connect to the device.
SteinHDan
12-05-2015, 04:13 PM
I'm doing most of my work in JavaScript these days. It's a good choice for doing anything, like web pages (all browsers run JavaScript), web server and web services (with node.js) and also robotics and RC with node.js.
To get Node.js (the runtime for JavaScript programs) onto the Raspberry, just run these two commands:
1. wget http://node-arm.herokuapp.com/node_latest_armhf.deb
2. sudo dpkg -i node_latest_armhf.deb
Now, you can write a JavaScript program in a text file (e.g. myprogram.js) and run it with node.js like this
- node myprogram.js
SteinHDan
12-05-2015, 04:29 PM
Any USB joystick or gamepad can be used for controls.
I'm using a very accurate gamepad from LogiTech. It also has a tiny receiver, which is good when the space is limited:
- Logitech F710 (http://amzn.to/1IyQMmU)
together with the npm joystick (https://www.npmjs.com/package/joystick)module:
Reading the gamepad is done like this:
var joystick = new (require('joystick'))(0, 3500, 350);
joystick.on('axis', function(event) {
// Typical Event: { time: 22283520, value: 32636, number: 3, type: 'axis', id: 0 }
var value = event.value / 32768; // Normalize to the range -1.0 - 0 - 1.0
if (event.number === 3) { // 3 is left/right on the right pad
steeringPos = value;
}
});
SteinHDan
12-05-2015, 05:18 PM
I could have used standard ESCs for the gear motors and controlled them using PWM output from the Raspberry like a normal RC receiver.
But for this project I want:
- Programmable current limiting (to avoid burning the motors)
- Current sense (to output a different engine sound if the load is high)
- Acceleration control
I've beem using the Pololu Qik (https://www.pololu.com/product/1112) controller for some previous projects. It's a very good controller, but expensive. But you can actually get a better solution to a fraction of the cost by just combining these two items:
- Monster Motor Shileld for Arduino (http://amzn.to/1Hnwyel)
- Arduino Leonardo (http://amzn.to/1KZLu4l)
So for this project, I'm going to try that approach.
I'll program the Arduino to be compatible with the Pololu controller commands. That way the controllers can be swapped if I want to do that later.
The Arduinos connect to the Raspberry via USB and will show up as serial ports on the Raspberry Pi (/dev/ttyUSB0, /dev/ttyUSB1, etc..). The Arduinos are also powered by this same USB cable, so no additional power cable is needed.
To write motor controller commands to the serial port, I'm using the Node.js Serialport module:
To install:
- npm install serialport
Typical code:
var SerialPort = require("serialport").SerialPort
var serialPort = new SerialPort("/dev/ttyUSB0", {
baudrate: 9600
});
serialPort.on("open", function () {
serialPort.write(controllerCommand);
});
SteinHDan
12-06-2015, 10:46 AM
Hi, Kevin!
Wow, 50 kg.. that's a heavy machine! :-)
This one is at 30 kg currently, after adding 8 kg lead ballast. It's getting tricky to lift. How do you move yours?
Stein :-)
SteinHDan
12-14-2015, 06:31 AM
Just a couple of pictures showing the scale VS a 1/14 Bruder man:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0904.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0906.jpg
SteinHDan
12-14-2015, 07:30 AM
Wiring the electronics:
I ended up buying the motor controllers and the Arduinos on Ebay. The Arduinos ar Nhduinos, a Chinese clone that is a bit cheaper than the original Arduino.
Soldering the Monster motor shield:
I think the motor shield usually ships without the through-hole components soldered. The ones I bought also came without the screw terminals, so I had to use some that I had laying around. I used a quite big one on the battery connector, so that I can add a standard XT60 connector and leads to it:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0911.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0914.jpg
I cut away the ISP header on the Arduino as it was in the way of the bigger screw terminal and I'm not going to use it anyway:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0916.jpg
The monster motor shield then snaps onto the Arduino.
Adding a standard XT60 connector:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0918_BURST005.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0920.jpg
This is how the motor controller connects to the Raspberry Pi (USB) and a gear motor:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0921.jpg
Adding a 3S LiPo battery and a 5V BEC. The standard servo connector on the BEC incidentally fits exactly onto the 5V header input on the Raspberry PI:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0925.jpg
Finally, adding the wireless gamepad and receiver.
The setup isn't that different from a normal RC setup. In this picture, each of the components have the same role as their normal RC counterpart:
- Remote control: Wireless gamepad
- Receiver: Raspberry Pi
- ESC: Monster motor shield
- Battery: Battery
- BEC: BEC
- Motor: Motor
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0926.jpg
To control six gear motors, I use three motor drivers. To control them all at the same time, I use a self-powered USB hub:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0927.jpg
And I made this crude power switch with three outputs:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0937.jpg
SteinHDan
12-14-2015, 08:12 AM
To program the motor drivers so that they are Pololu Qik compatible (for the commands "GetDeviceId", "SetMotor1Speed" and "SetMotor2Speed"), follow these steps:
1. Connect the USB cable to a PC
2. Download the Arduino programmer: https://www.arduino.cc/en/Main/Software
3. Copy and paste the code below into the programming tool
4. Set the device ID on the second line (any number from 0 to 255, used to identify the controller later) I'm using device IDs 10, 11 and 12 for this build.
5. Click the "Upload" button
Done!
I also added a serial command timeout, which means that the motor driver will stop the motor if it has not received a motor command for one second. Usually the Raspberry Pi will send a motor command 50 times per second, but in the case it loses power or is disconnected for some reason, the motor will stop.
I've not added current sensing or limiting yet.
/* Based on the MonsterMoto Shield Example Sketch by: Jim Lindblom */
int deviceId = 10;
#define BRAKEVCC 0
#define CW 1
#define CCW 2
#define BRAKEGND 3
#define CS_THRESHOLD 100
// VNH2SP30 pin definitions
int inApin[2] = {7, 4}; // INA: Clockwise input
int inBpin[2] = {8, 9}; // INB: Counter-clockwise input
int pwmpin[2] = {5, 6}; // PWM input
int cspin[2] = {2, 3}; // CS: Current sense ANALOG input
int enpin[2] = {0, 1}; // EN: Status of switches output (Analog pin)
// Serial state
int inByte = 0;
int command = 0;
unsigned long lastCommandTime = 0;
unsigned long timeoutMillis = 1000;
void setup() {
setPwmFrequency(5, 8);
setPwmFrequency(6, 8);
// Initialize digital pins as outputs
for (int i=0; i<2; i++)
{
pinMode(inApin[i], OUTPUT);
pinMode(inBpin[i], OUTPUT);
pinMode(pwmpin[i], OUTPUT);
}
// Initialize motors braked
motorGo(0, BRAKEGND, 0);
motorGo(1, BRAKEGND, 0);
// start serial port at 9600 bps:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
}
void loop() {
// if we get a valid byte, read analog ins:
if (Serial.available() > 0) {
// get incoming byte:
inByte = Serial.read();
if (inByte > 127)
command = inByte;
else if (command != 0) {
int speed = inByte * 2; // From 0-127 range to 0-254 range
int motor = -1;
int direction = CW;
switch(command) {
case 0x88: motor = 0; direction = CW; break;
case 0x8A: motor = 0; direction = CCW; break;
case 0x8C: motor = 1; direction = CW; break;
case 0x8E: motor = 1; direction = CCW; break;
case 0x83: motor = -1; Serial.write(deviceId); break;
}
if (motor != -1) {
motorGo(motor, direction, speed);
}
command = 0;
lastCommandTime = millis();
}
} else {
if (millis() - lastCommandTime > timeoutMillis) {
motorGo(0, BRAKEGND, 0);
motorGo(1, BRAKEGND, 0);
}
}
// if ((analogRead(cspin[0]) < CS_THRESHOLD) && (analogRead(cspin[1]) < CS_THRESHOLD))
}
/* motorGo() will set a motor going in a specific direction
the motor will continue going in that direction, at that speed
until told to do otherwise.
motor: this should be either 0 or 1, will selet which of the two
motors to be controlled
direct: Should be between 0 and 3, with the following result
0: Brake to VCC
1: Clockwise
2: CounterClockwise
3: Brake to GND
pwm: should be a value between 0 and 255 */
void motorGo(uint8_t motor, uint8_t direct, uint8_t pwm)
{
if (motor <= 1)
{
if (direct <=4)
{
// Set inA[motor]
if (direct <=1)
digitalWrite(inApin[motor], HIGH);
else
digitalWrite(inApin[motor], LOW);
// Set inB[motor]
if ((direct==0)||(direct==2))
digitalWrite(inBpin[motor], HIGH);
else
digitalWrite(inBpin[motor], LOW);
analogWrite(pwmpin[motor], pwm);
}
}
}
/**
* Divides a given PWM pin frequency by a divisor.
*
* The resulting frequency is equal to the base frequency divided by
* the given divisor:
* - Base frequencies:
* o The base frequency for pins 3, 9, 10, and 11 is 31250 Hz.
* o The base frequency for pins 5 and 6 is 62500 Hz.
* - Divisors:
* o The divisors available on pins 5, 6, 9 and 10 are: 1, 8, 64,
* 256, and 1024.
* o The divisors available on pins 3 and 11 are: 1, 8, 32, 64,
* 128, 256, and 1024.
*
* PWM frequencies are tied together in pairs of pins. If one in a
* pair is changed, the other is also changed to match:
* - Pins 5 and 6 are paired on timer0
* - Pins 9 and 10 are paired on timer1
* - Pins 3 and 11 are paired on timer2
*
* Note that this function will have side effects on anything else
* that uses timers:
* - Changes on pins 3, 5, 6, or 11 may cause the delay() and
* millis() functions to stop working. Other timing-related
* functions may also be affected.
* - Changes on pins 9 or 10 will cause the Servo library to function
* incorrectly.
*
* Thanks to macegr of the Arduino forums for his documentation of the
* PWM frequency divisors. His post can be viewed at:
* http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1235060559/0#4
*/
void setPwmFrequency(int pin, int divisor) {
byte mode;
if(pin == 5 || pin == 6 || pin == 9 || pin == 10) {
switch(divisor) {
case 1: mode = 0x01; break;
case 8: mode = 0x02; break;
case 64: mode = 0x03; break;
case 256: mode = 0x04; break;
case 1024: mode = 0x05; break;
default: return;
}
if(pin == 5 || pin == 6) {
TCCR0B = TCCR0B & 0b11111000 | mode;
} else {
TCCR1B = TCCR1B & 0b11111000 | mode;
}
} else if(pin == 3 || pin == 11) {
switch(divisor) {
case 1: mode = 0x01; break;
case 8: mode = 0x02; break;
case 32: mode = 0x03; break;
case 64: mode = 0x04; break;
case 128: mode = 0x05; break;
case 256: mode = 0x06; break;
case 1024: mode = 0x7; break;
default: return;
}
TCCR2B = TCCR2B & 0b11111000 | mode;
}
}
SteinHDan
12-14-2015, 06:57 PM
On the Raspberry PI I run the below code. I keep it in a file /home/pi/dev/excavator/control.js
To run this program automatically when the Raspberry Pi gets power applied, just add this one line to /etc/rc.local (just before the "exit 0" line):
cd /home/pi/dev/excavator/ && sudo /usr/local/bin/node control.js &
The contents of /home/pi/dev/excavator/control.js:
var fs = require('fs');
// Set a deadzone of +/-0 (no deadzone) (out of +/-32k) and a sensitivty of 100 to reduce signal noise in joystick axis
var joystick = new (require('joystick'))(0, 0, 100);
// State / config
var speeds = {
leftTrack: { current: 0, wanted: 0, accel: 1 },
rightTrack: { current: 0, wanted: 0, accel: 1 },
swing: { current: 0, wanted: 0, accel: 1 },
boom: { current: 0, wanted: 0, accel: 1 },
stick: { current: 0, wanted: 0, accel: 1 },
bucket: { current: 0, wanted: 0, accel: 1 }
}
// Upate current speeds based on wanted speed from joystick and accelleration limits
var accelInterval = 20;
setInterval(function () {
for (var propName in speeds) {
if (speeds.hasOwnProperty(propName)) {
var speed = speeds[propName];
var accel = speed.accel * accelInterval / 1000;
if (Math.abs(speed.current - speed.wanted) < accel) {
speed.current = speed.wanted;
} else {
speed.current += speed.current > speed.wanted ? -accel : accel;
}
}
}
}, accelInterval);
var leftTrackReverse = false;
var rightTrackReverse = false;
// Read the remote control
joystick.on('axis', function (event) {
// console.log(JSON.stringify(event));
// Typical event: { time: 1585158, value: 8783, number: 0, type: 'axis', id: 0 }
var value = event.value / 32768; // Now in the -1 -> 0 -> 1 range
value = value * Math.abs(value); // Exponential
switch (event.number) {
case 0: speeds.swing.wanted = -value; break; // Left stick horizontal / swing
case 1: speeds.stick.wanted = -value; break; // Left stick vertical / stick
case 3: speeds.bucket.wanted = -value; break; // Rigth stick horizontal / bucket
case 4: speeds.boom.wanted = -value; break; // Rigth stick verical / boom
case 2: speeds.leftTrack.wanted = (leftTrackReverse ? -1 : 1) * ((value + 1) / 2); break;
case 5: speeds.rightTrack.wanted = (rightTrackReverse ? -1 : 1) * ((value + 1) / 2); break;
}
});
joystick.on('button', function (event) {
// console.log(JSON.stringify(event));
// Typical event: { time: 1607722, value: 0, number: 0, type: 'button', id: 0 }
if (event.number === 4) { // Left top shoulder
leftTrackReverse = event.value !== 0;
}
if (event.number === 5) { // Rigt top shoulder
rightTrackReverse = event.value !== 0;
}
});
// The motor controllers
var SerialPort = require("serialport").SerialPort;
function startMotorControllerOn(devicePath) {
var serialPort = new SerialPort(devicePath, { baudrate: 9600 });
serialPort.on('open', function () {
serialPort.on('data', function (data) {
var deviceId = data[0];
console.log('Got device id: ' + deviceId + ' from ' + devicePath);
clearInterval(idInterval);
setInterval(function () {
var motor0Speed = 0;
var motor1Speed = 0;
switch (deviceId) {
case 10: motor0Speed = speeds.leftTrack.current; motor1Speed = speeds.rightTrack.current; break;
case 11: motor0Speed = speeds.swing.current; motor1Speed = speeds.boom.current; break;
case 12: motor0Speed = speeds.stick.current; motor1Speed = speeds.bucket.current; break;
}
var cmd = motor0Speed >= 0 ? 0x88 : 0x8A;
serialPort.write([cmd, Math.abs(motor0Speed) * 127]);
cmd = motor1Speed >= 0 ? 0x8C : 0x8E;
serialPort.write([cmd, Math.abs(motor1Speed) * 127]);
// console.log(JSON.stringify({ d: deviceId, a: motor0Speed, b: motor1Speed}));
}, 50);
});
var idInterval = setInterval(function () {
console.log('Sending request for device id... to ' + devicePath);
serialPort.write([0x83, 0]);
console.log('Sent request for device id... to ' + devicePath);
}, 1000);
});
}
startMotorControllerOn('/dev/ttyUSB0');
startMotorControllerOn('/dev/ttyUSB1');
startMotorControllerOn('/dev/ttyUSB2');
SteinHDan
12-14-2015, 07:22 PM
The first test drive of the full working skeleton!
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/skeleton_video_1.jpg
(https://youtu.be/ueaT-cYe8B4)
https://youtu.be/ueaT-cYe8B4
The lead ballast is not mounted in this video. And as as you can see in the video, it really needs to be added. Too little weight in the back. :-)
I'm quite happy with the handling. It is very precise and very strong. Also, it's dead quiet except for the swing motor. I don't know why that motor is making so much noise. I have ordered another one just to make sure it isn't just that one particular motor.
Rvjimd
12-15-2015, 09:21 AM
Stein,
Thanks for the great detail in your build thread!
Jim
RCP57
12-15-2015, 11:52 AM
Very nice job! It's nice to see something different although the control boards are way over my head.lol
On a different note. How did you post your video(embed) like that on this site? I didn't think we could do that here. I'm glad we can!
Keep up the great work!
Reg
SteinHDan
12-15-2015, 04:38 PM
Thanks, Kevin, Jim and Reg! :-)
On a different note. How did you post your video(embed) like that on this site? I didn't think we could do that here. I'm glad we can!
I don't think this site support video embedding. What I did above is just to add a screenshot of the embedding in a link to YouTube. I did that because I was afraid that the video would drown in all the (boring) programming code I was pasting in the previous posts. and so I wanted it to stand out and look like a video.
How I did it:
1. Upload the video to YouTube
2. Copy the embed code from YouTube
3. Paste the embed code into "TryIt Editor" - http://www.w3schools.com/html/tryit.asp?filename=tryhtml_basic
4. Take a screenshot
5. Crop the screenshot to only include the image of the embedded player
6. Upload the player screenshot to my image server
7. Add the image to the forum post
8. Add a link to the video on YouTube around the image (e.g. [ url= ..] [ img=.. [ /img ] [ /url ] ) so that the image becomes clickable.
Quite a few steps. Not sure if I'm going to do it again. :-)
Best regards,
Stein :-)
fhhhstix
12-15-2015, 07:09 PM
This is awsome, I really enjoy seing the all electric builds and this one is top shelf.
Travis
SteinHDan
12-27-2015, 06:34 PM
Moving some snow:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/skeleton_video_2.jpg (https://youtu.be/3Uzl0L9bS7g)
https://youtu.be/3Uzl0L9bS7g
Lil Giants
12-27-2015, 11:17 PM
http://www.freesmileys.org/smileys/smiley-think004.gif (http://www.freesmileys.org/smileys.php) <- This smiley pretty much sums up my ability to fully comprehend your elaborate programming code to make this beasty of a model function. :D
It's looking pretty good so far... it'll be even more interesting to see you get it dialed in for digging dirt. :cool:
What's a rough calculation of the total investment so far with this innovative creation?
Jolipe
12-28-2015, 09:57 AM
Your job is complete, thanks for links, and the instructions, etc.
Awesome!
Machfab
02-24-2016, 01:47 PM
Very impressive craftsmanship!
logger/dirtman
02-26-2016, 10:13 PM
nice build and the links are very helpful
Machfab
03-06-2016, 09:35 AM
Question....
Will the gamepad/pc controller give you proportional control of the gearmotors or just on/off control?
Nice build!
SteinHDan
03-06-2016, 04:11 PM
Hi Machfab!
> Will the gamepad/pc controller give you proportional control of the gearmotors or just on/off control?
The gamepad gives full proportional control for all the gear motors, including the track motors. I'm using the front analog triggers for the track motors, and I use the two front buttons to reverse the track directions. The swing, boom, stick and bucket controls are on the two joysticks and equal to running a normal excavator (ISO-mode).
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/Logitech-F710.jpg (http://amzn.to/1IyQMmU)
This particular gamepad (the Logitech F710 (http://amzn.to/1IyQMmU)) doesn't stand back in sensitivity or accuracy in control from any of my normal RC transmitters. But most cheaper gamepads have less accurate analog control and also a larger deadspace in the middle / neutral position.
I would say the pros and cons VS a normal RC transmitter:
- Pros: Smaller, cheaper, 2 analog joysticks, 2 analog triggers, 1 digital four-directional pad and 10 digital buttons
- Cons: Short range (10m), no telemetry
Machfab, are you by any chance affiliated with http://machfabengineering.co.uk/ ? I just asking, because it would be interesting to get a quote on how much it would cost to get all the aluminum parts cut at a professional shop. I'd buy a set myself if someone could make it (depending on the price of course).
Best regards,
Stein :-)
SteinHDan
03-06-2016, 04:15 PM
Hi Lil Giants!
What's a rough calculation of the total investment so far with this innovative creation?
I think it's very roughly around $1000 at the moment, but I'll set up a full bill of materials when I get it a bit more finished.
Best regards,
Stein :-)
SteinHDan
03-06-2016, 04:21 PM
Hi all!
Thanks for all the comments! I've not posted many updates lately because I've started working on the finish that will go over the skeleton and make the excavator look more like the CAT 390F that is the basis for this model. Here is a sneak peak at my current design:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0938.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0939.jpg
Best regards,
Stein :-)
Machfab
03-07-2016, 06:04 AM
Hi Machfab!
> Will the gamepad/pc controller give you proportional control of the gearmotors or just on/off control?
The gamepad gives full proportional control for all the gear motors, including the track motors. I'm using the front analog triggers for the track motors, and I use the two front buttons to reverse the track directions. The swing, boom, stick and bucket controls are on the two joysticks and equal to running a normal excavator (ISO-mode).
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/Logitech-F710.jpg (http://amzn.to/1IyQMmU)
This particular gamepad (the Logitech F710 (http://amzn.to/1IyQMmU)) doesn't stand back in sensitivity or accuracy in control from any of my normal RC transmitters. But most cheaper gamepads have less accurate analog control and also a larger deadspace in the middle / neutral position.
I would say the pros and cons VS a normal RC transmitter:
- Pros: Smaller, cheaper, 2 analog joysticks, 2 analog triggers, 1 digital four-directional pad and 10 digital buttons
- Cons: Short range (10m), no telemetry
Machfab, are you by any chance affiliated with http://machfabengineering.co.uk/ ? I just asking, because it would be interesting to get a quote on how much it would cost to get all the aluminum parts cut at a professional shop. I'd buy a set myself if someone could make it (depending on the price of course).
Best regards,
Stein :-)
No, not them. Just own a machine shop here in the US.
Also a user of Fusion360
Plan to do this build. Very nice! Thanks
SteinHDan
03-19-2016, 07:20 AM
I've added some bronze self-lubricating bearings to the bucket linkage. I don't think they were really required, and it goes against one of the goals of this project, to keep it simple, but it just pains me to know that there is a load-bearing joint without any form of bearing in it. So it had to be done! :-)
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0964.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0967.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0970.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0973.jpg
The parts:
- Clips: HSP 02053 Body Clip (http://amzn.to/1VmzE8D)
- Bearings: 8 x 10 x 12 oilless bronze bearing (http://amzn.to/1Rag5ev)
SteinHDan
03-19-2016, 07:51 PM
3D printed the ABS plastic parts that go in between the aluminum sides in the boom and stick sandwiches. I also re-did the boom sides in 3mm aluminum, as by mistake I made them 6mm thick the first time, which made me have to add 3mm spacers in many other places.
The ABS parts are printed with 16% infill, except the mounts for the stick and bucket cylinders, which are printed with 25% infill.
The filament used is this one:
- eSUN ABS 1.75mm Gold (http://amzn.to/1pBftYV)
This filament's color isn't really that close to the Caterpillar yellow, but it's the closest that I've found. I know there are companies that do custom colors, like www.plastic2print.com, but those are quite expensive and have order quantity minimums.
So if anyone of you guys know of a yellow ABS filament that is a closer match to the Caterpillar yellow, I'd very much like to hear about that.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0976.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0978.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0983.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0988.jpg
RobotArms24
03-20-2016, 01:07 AM
Can you explain a bit about infill on 3d parts please. Is it something you put in the model, or something the printer settings control? What does it look inside when its partially filled in? Is it honeycomb or some other pattern? How would the strength of say 25% infill compare to 100% infill?
Thanks
SteinHDan
03-20-2016, 04:37 AM
Hi RobotArms24!
The infill is set in the printer settings (not in the model) and it's typically only used for FFM-machines (the typical home desktop 3D printers). Shapeways will always make a solid model, I believe.
I usually print with something called "fast honeycomb". There are lots of alternatives, but I feel that fast honeycomb is a good combination of strength, speed, weight and also the zig-zagging gives less pull on the edges and less warping of ABS prints.
I use a software called Simplify3D. They have a lot of good information on their web site. This is a video on infill:
- https://www.youtube.com/watch?v=BMWTK2ZgJCM
And they also have and this very helpful 3D-printing troubleshooter:
- https://www.simplify3d.com/support/print-quality-troubleshooting/
I don't know exactly the strength of different infill percentages, but to the hand it feels linear, i.e. 20% feels twice as strong as 10%.
Best regards,
Stein :-)
SteinHDan
03-21-2016, 06:16 PM
Starting to paint the metal parts on the boom, stick and bucket linkage. Need a couple more layers on the stick parts.
The paint color is the closest match I could find to the ABS filament color in the previous step. It's this one:
- Dupli-Color 577789 AC 3-0600 (http://amzn.to/1RvHX2c)
Sanded (120 sand paper) and primed with aluminum etch primer first.
It's a shame, really, to cover shiny metal in this way ;-)
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG0992.jpg
SteinHDan
04-01-2016, 07:59 PM
Mounted the counterweight to the base plate. After testing with 4, 6 and 8 kg ballast, it seemed 6 kg (13 lbs) gives the best balance.
I bought 2 kg (4lbs) lead plates from a local scuba-diving shop:
- http://dykk.no/main.aspx?page=article&artno=MTDA-1
I don't like exposed lead because of the health hazards, so I covered it in liquid plastic and added a shrink wrap tube on top of that. Probably overkill and you can probably use whatever to cover the lead, but I had these things at hand.
- Polytek EasyFlo 60 Liquid Plastic (http://amzn.to/1VZlomH)
- PVC Plastic Heat Shrink Tube F/W:95mm (http://www.ebay.com/itm/221743920785)
Then I printed a 3D clamp (ABS, 30% infill) that has two very long M6 110mm hex bolts going through it.
- M6 110mm stainless steel hex bolt (http://www.ebay.com/itm/5-PACK-A2-STAINLESS-HEX-HEAD-SET-SCREW-SETSCREWS-FULLY-THREADED-SCREWS-M5-M6-M8-/321255369149)
Finally adding some common furniture anti-skid rubber pads to both the clamp and the lead to avoid the lead sliding in the clamp.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1012.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1013.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1014.jpg
bigford
04-02-2016, 11:29 AM
looking great I cant wait to see it dig dirt!!
SteinHDan
04-03-2016, 03:34 PM
Thanks, Bigford! The snow has melted away here now, so as soon as I have it assembled again I'll make a video of it digging dirt. :-)
SteinHDan
04-04-2016, 05:34 PM
Mounting the motor controllers (ESCs)
I wanted to mount the motor controllers in a compartment that had plenty of air flow, as they are the components that need the most cooling. I put them where the radiators are on the real version and I was able to add four controllers that can then control eight motors of up to 30 Amps each. Only six is required for the main motors. The two extra channels will be used for attachments and a surprise! :-)
I also wanted to be able to get easy access to the controllers and easily replace one if I need to. So I made a seat and four slot-in module mounts:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1015_a.jpg
The motor controller modules each slide down into this seat:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1015_b.jpg
And the air flow will be ok I think with the vents as they are placed on the original:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1015_c.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1015_d.jpg
Each module consists of the motor controller as described previously and a 3D-printed (15% infill) module mount that attaches to the controller with two M3 nylon bolts. I use nylon here to avoid any kind of electrical connection in the screw.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1029.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1030.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1032.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1034.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1035.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1036.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1037.jpg
Each module is secured with one self-tapping screw. Only this screw needs to be removed to slide the module up and out again:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1040.jpg
The seat attaches to the base plate also with just one M4 50mm bolt:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1041.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1044.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1046.jpg
I'm pretty happy that I got all the motor controllers into this one spot, because it leaves more room for the other stuff. Even as large as this model is, it's going to get tight when everything is in place.
outcastrc
04-04-2016, 06:04 PM
Those mounts turned out fantastic!
DADSGARAGE
04-13-2016, 12:39 AM
Very interesting design, really like all the printed parts, well done!!!
SteinHDan
04-13-2016, 06:51 PM
Thanks, DADSGARAGE! I'm following your build with excitement! :-)
SteinHDan
04-13-2016, 07:15 PM
I really wanted this excavator to have proper sound. Deep and powerful bass. Not toy-like. I looked around a bit to try and find a large speaker that would fit, but came up empty. So I printed one instead. My biggest print to date. 21 hours and 290 grams of ABS. :-) (25% infill)
The speaker driver is this one:
- Pioneer TS-G1045R 4-Inch 210 W 2-Way (http://amzn.to/22vbVmN)
On the back there is a speaker terminal that I bought on Ebay:
- 44.8x21mm 2pin Red and Black Push Type Speaker Terminal (http://www.ebay.com/itm/261093464133)
And then there are four self-tapping screws in the front, two on the terminal, and three that fasten the speaker box to the base plate.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1054.jpg
I cut off the mounting tabs on the speaker driver, because I needed the screw holes to be closer to the cone. The flange on the self-tapping screws is now what holds the speaker driver in place:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1055.jpg
Soldered the wires that came with the speaker to the terminal:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1061.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1062.jpg
Attaching the speaker box to the base plate with three self-tapping screws. I added a soda can too, as I've seen a few others do that lately. My build is dwarfed by DADSGARAGE's and Cooper's though, but still it's not that small. :-)
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1064.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1065.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1068.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1069.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1071.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1073.jpg
Trucker_Jo
04-13-2016, 08:40 PM
Great job with all of the 3D printing, it's very fun to see what people can come up with and easily create. If the sound doesn't seem quite correct with your setup, put some insulation inside of the box like bed top foam or something like that.
SteinHDan
04-14-2016, 03:17 AM
Hi Trucker_Jo!
Yes, it's pretty cool, but this print was a pain. I started it and it ran for 5-8 hours four times before I got one successful print. The problems were lifting edges, support coming loose, support lifting and SD card error. :-)
I'm definitely going to add some dampening material inside. Initially, I tried to print something like that, but it didn't work that well, and I decided to do it the traditional way, and then completely forgot about it. Thanks for reminding me! :-)
Here are some images of my attempts at printing the inner dampening:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1077.jpg
Stein :-)
Trucker_Jo
04-14-2016, 11:08 PM
Interesting, thanks for showing us the details!
SteinHDan
04-23-2016, 04:23 PM
First test digging dirt!
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/VideoFirstDirtDig.jpg
(https://youtu.be/YNJewdL_CPk)
https://youtu.be/YNJewdL_CPk
Lil Giants
04-23-2016, 04:58 PM
Overall looks to be pretty smooth... some springiness when stick is pushing hard, but still very impressive for electric rotation. Well done Stein! :cool:
SteinHDan
04-23-2016, 05:39 PM
Thanks, Joe! That means a lot, coming from you!
I've not seen the springiness in the stick before since I haven't been pushing anything hard, but it's caused by the combination of the 6kg gas spring and the backlash in the gears. When there is no load, the gas spring pushes the stick to hang on the gears. when the stick is pushing hard, it takes over and the stick is pushed by the gears. When lifting the arm up, the gas spring is free to push the stick back over the backlash and to have it hang on the gears again.
I think I'll try to just lower the force on the gas spring to get rid of this problem or make it less of a problem. I'll try with a 3kg gas spring first. I though bigger would be better, because the gas spring offsets the force to give the stick more pull force. But it doesn't need that, and it's causing this problem, so it should be smaller.
Best regards,
Stein :-)
SteinHDan
04-23-2016, 06:06 PM
If someone is wondering why the excavator is standing on planks, then the reason is that I didn't want it to get dirt into every corner of the track when it's going right back onto my work bench. :o
Stein :-)
Lil Giants
04-24-2016, 08:17 PM
I don't recall reading where you added a gas spring, but great idea to take up the slack in the gear back lash to keep the movement tight. ;) :cool:
Whether 3kg or 6kg gas spring, the difference in length of backlash travel will always be the same... might as well leave the 6kg in place.
SteinHDan
04-25-2016, 06:21 AM
Yes, true, I just thought the 3kg would be less violent when it engages. It should probably be a pulling spring instead of a pushing spring so that the backlash is only seen when pushing hard with the stick and not when pulling hard. I'll see what I can do about it.
I also found that the set screw was loose, so the backlash is only about half of what you see in the video when the set screw is tight.
I have done a few things that I haven't documented here yet. The gas spring on the stick, a gas spring on the bucket, a mount for the CPU (the Raspberry Pi) and angle sensors for the bucket and stick. I'll get those updates up here shortly. :-)
Stein :-)
Lil Giants
04-25-2016, 12:50 PM
I also found that the set screw was loose, so the backlash is only about half of what you see in the video when the set screw is tight.
Do you have flat spots on the shaft for the set screws to anchor to? Blue locktite is adequate to keep set screws tight! But the locktite will also seep around shaft & mounted part too making it a real bytch! to get apart again. :eek: Maybe you don't want to add that just yet during testing phases, eh? :D
SteinHDan
04-29-2016, 07:32 PM
Yep, that's good advise.There is a flat spot, but I just hadn't tightened it and I only added the left set screw, not the right. Lot's of screws loose at this point, like you say, it gets taken apart all the time when when building and testing like this. I'll get it all tight at the final assembly and add some blue locktite for good measure! :-)
Stein
SteinHDan
04-29-2016, 07:41 PM
Added a simple mount for the brain (CPU) of the excavator. At the same time I replaced the Raspberry Pi 2 with the version 3. It's mostly the same, but a little bit quicker and has WiFi and BlueTooth built in.
- Raspberry Pi 3 (http://amzn.to/1roq6Po)
The mount is very simple. Four self-tapping screws to hold the PCB and then two nylon M4 bolts to hold the mount on the base plate.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1084.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1089.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1092.jpg
The audio (engine sound) has its output through that 90-degree 3.5mm jack on the top.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1094.jpg
SteinHDan
04-30-2016, 04:52 PM
Bolting together the arm
The arm sandwich of 3mm aluminum sheets with 3D-printed ABS in the middle is held together by 34 M4 countersunk stainless steel bolts and sleeve nuts.
There are different length bolts used throughout the arm:
- 23 x 50mm (for the main part)
- 5 x 75mm (80mm cut to length) for the stick hub
- 4 x 80mm for the stick mount
- 2 x 55mm for the stick angle sensor mount
Ebay links:
- Bolts: http://www.ebay.com/itm/231787670429
- Sleeve nuts: http://www.ebay.com/itm/191771467782
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1100.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1101.jpg
SteinHDan
04-30-2016, 05:13 PM
I added a gas spring from the boom to the stick. I only found the correct length, stroke and force on Aliexpress:
- 6kg (60N) gas spring: http://www.aliexpress.com/snapshot/7601366858.html
The sleeves and spacers are cut from 8mm and 12mm stainless steel tubes. The pin is also gotten from Ebay:
- 8mm (ID 4mm) tube cut to 13mm length: http://www.ebay.com/itm/121600172085
- 12mm (ID 8mm) tube cut to 4mm legnth: http://www.ebay.com/itm/121762512929
- 8x30mm pin: http://www.ebay.co.uk/itm/121851516316
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1102.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1103.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1105.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1104.jpg
SteinHDan
05-01-2016, 08:01 AM
I also added a gas spring to the bucket, mostly for the visual appearance as the bucket is already way more powerful than it needs to be.
The spacers are made the same way as previously, cut tube to length.
Ebay links:
- 8mm (ID 6mm) tube cut to 4mm length: http://www.ebay.com/itm/121762445745
- 12mm (ID 8mm) tube cut to 4mm legnth: http://www.ebay.com/itm/121762512929
- 6x30mm pin: http://www.ebay.co.uk/itm/121868709865
- 8x80mm pin: http://www.ebay.com/itm/291511678072
- Eyelets: http://www.ebay.com/itm/151838223022
The lower eyelet is drilled out to 8mm to fit the 8mm pin in the bucket linkage.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1128.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1130.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1135.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1137.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1147.jpg
SteinHDan
05-02-2016, 06:05 PM
I've had one issue with the operation, and that is that I need some way to stop the motors at the end of travel. I could have done this with limit switches like I did for my MAN truck build:
- http://www.scale4x4rc.org/forums/showthread.php?t=80393
An alternative is to use angle sensors in each joint, and I've selected this method for this build because it also allows for a host of other cool applications and features:
- End stops
- Stall detection
- Recording of movement
- Replay of movement
- Full servo capability at the joint
- Alternative control modes (e.g. for beginners), like absolute bucket movement forward/backward and up/down, not angle control
- Automatic bucket leveling
- Automatic grading
- GPS assisted digging
- GPS controlled digging
- .. and probably more.
So I've started to add some angle sensors to the arm. First the stick and the bucket. (This approach could also very well be used on hydraulic arms, btw.)
I'm reading the sensor on the corresponding motor controller. That way, the control of the motor based on the angle sensor can be completely controlled on the controller without having to bother the main CPU.
As I was already modifying the motor controller, I added some heat sinks for good measure, but those are most likely not required at all.
Ebay link:
- 18x18x13.5mm heat sink: http://www.ebay.com/itm/361352931009
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1152.jpg
To read the sensor, I'm using the unused analog inputs 4 and 5 on the Arduino. I've added longer pins to these positions so that I can attach wires on the front side. I did the same for GND and 5V.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1154.jpg
The angle sensor itself is just a 10k Ohm linear potetiometer. I'm using a thumb wheel version to get it as flat as possible. I bought these ones at SparkFun:
- Thumbwheel potentiometer, 10k linear: https://www.sparkfun.com/products/retired/11173
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1159.jpg
The potentiometer attaches to the hub adapter using one very small self-tapping screw.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1161.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1168.jpg
The hub adapter has a D-shape that fits exactly onto the D-shape of the gear motor axle:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1169.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1170.jpg
I've printed a part that mocks up a stick mount that has two purposes:
- Cover and hold the angle sensor
- Be a base when running the control an power lines to the stick.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1172.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1174.jpg
The sensor connector has three pins, that connect to the Arduino cable from the first step:
- Pin1: GND
- Pin2: Sensor output (0-5V)
- Pin3: 5V
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1177.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1179.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1188.jpg
Trucker Al
05-02-2016, 11:51 PM
Very cleaver.... you and this build amaze me ! Keep it up...
SteinHDan
05-03-2016, 03:50 PM
Thanks, Trucker Al!
I really like this forum. The positive atmosphere and the combined competence of everyone here fuel many of the builds, I think.
Best regards,
Stein :-)
SteinHDan
05-03-2016, 03:56 PM
Added angle sensor to the bucket.
The bucket angle sensor attaches in the same way as the stick angle sensor, but the cover is different. Its only purpose is to hold the sensor in place and protect it. Not my prettiest piece of work, but it'll get the job done.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1195.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1204.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1206.jpg
bigford
05-03-2016, 05:29 PM
that's cool dan!! you lost me with all the computer stuff but still a real cool build
crusher
05-07-2016, 10:11 PM
As I have written before your build is great , ton of info for us beginners, can I ask a couple of questions, what DP or MOD did you base your swing gears on, I am trying to cut a pair but cannot seem to come up with a workable combination,( do not have cnc) I am also very interested in 3D printer work, about how long does it take to produce your track pads and if I may ask what make of printer do you use? Thanks for any info you may have.
Terry
markturbo
05-07-2016, 11:16 PM
Excellent work, you are on a whole other level.
SteinHDan
05-08-2016, 12:53 PM
Hi Crusher!
I used the Spur gear generator add-in in Fusion 360 to generate the gear, but there are also many online generators:
- http://geargenerator.com/
- https://woodgears.ca/gear_cutting/template.html
- http://hessmer.org/gears/InvoluteSpurGearBuilder.html
For my main gear, these are the parameters:
- Diametral pitch: 3.175 cm (1.25 inches)
- Number of teeth: 44
- Pressure angle: 20
For the pinion gear it's the same parameters but just 7 teeth.
Then I used the 50 rpm (no load) gear motor to drive these gears to get the wanted swing speed:
- 50 RPM * ( 7 / 44) = 7.95 RPM (no load)
The swing speed from the CAT 390F official specifications is 6.2, so with load I believe my speed matches that pretty well.
I did it like this mostly because I couldn't find a gear ring that would fit and also in a way that I could cut it on my CNC. I wanted an internal gear, but my cutting bits for my CNC aren't small enough to cut inner gears, so it had to be an external gear. But I think external gears look cool, though, so all was not lost. :-)
Later I've been thinking that I should rather not cut the gears myself, but use some more time to find gear rings on the net that I could use.
I'm really happy about the track pads. They really hold up great! Not one have broken so far, even as the machine now weighs 30kg (60lbs). I was initially planning to mill them all from aluminum, but now I'm thinking that if some break, I just print some new ones.
On my 3D printer, it takes about two days of continuous printing to print 80 track pads. I have a Makerbot Replicator 2X.
- http://store.makerbot.com/replicator2x
But that's quite an old 3D printer. I think these days, you can get better offers. The only important thing is that you can print ABS, because it's so much tougher than PLA (less brittle). And you need a heated build plate for ABS printing. Maybe one of these could do the job:
- Ultimaker 2 (http://amzn.to/1XfAK74)
- Zortrax M200 Pro (http://amzn.to/23zrFpp)
- FlashForge Creator Pro (http://amzn.to/1rGyJEC)
I've not tried any of them, but I've heard some good things about them and the specs look ok. There's probably lots of reviews on youtube.
Best regards,
Stein :-)
SteinHDan
05-08-2016, 01:14 PM
Thanks, BigFord and MarkTurbo! :-)
Stein :-)
Cat966c
05-08-2016, 01:20 PM
That thing is a beast!
crusher
05-08-2016, 02:15 PM
Thank you very much for your reply re swing gears, much appreciated.
Terry
Tk421reporting
05-19-2016, 07:58 AM
I love that you made a system that you can use a controller with, I was wondering for awhile if it was possible within reason and you have proved (and gone far beyond) that it is.
Ill be copying this system as well as some more ideas of yours when I start my build a ways from now (which i will put in the build page)
Its really helpful with all the links to everything you have done and detailed comments on it, thanks for that, it will help me tons, I cant wait for the final version =)
SteinHDan
05-19-2016, 05:34 PM
Thank you for those kind and encouraging words, Tk421reporting!
I'm looking forward to following your build!
Stein :-)
SteinHDan
06-01-2016, 07:51 AM
I'm working on the house body now, and even though I wrote this in another thread already, it really belongs in this thread.
To try to get the right dimensions on all the small scale features, I typically try to find a couple of measurements from a spec sheet, and then scale a photo or diagram as a canvas in Fusion 360 to match the known sizes.
E.g. from the spec sheet of the CAT 390F excavator, I can see that the length from the center to the very back (the tail swing radius) is 4.70 meters, and the height from the ground up to the counterweight is 1.64 meters. I insert the canvas and then scale it to match the known measurements (just divide by 14, since the scale is 1/14).
After the canvas has been scaled properly, I can draw in the 3D-objects on top of it to match the sizes of the features.
Insert canvas:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/Canvas1.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/Canvas2.jpg
Switch to orthograpic view:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/Canvas3.jpg
Draw in the objects:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/Canvas4.jpg
Switch back to perspective view:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/Canvas5.jpg
Hide canvas:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/Canvas6.jpg
Voilà!
Best regards,
Stein :-)
SteinHDan
06-01-2016, 02:38 PM
On this site you can find specs for most types of construction equipment:
- http://www.ritchiespecs.com/
For example, you can find the specs for this model, the CAT 390F:
- http://www.ritchiespecs.com/specification?type=&category=Hydraulic%20Excavator&make=Caterpillar&model=390F%20L&modelid=108962
SteinHDan
06-05-2016, 04:19 PM
The angle sensors are now in place and I've added the code in the motor controllers to:
- Read the angle sensors
- Set a max movement limit
- Set a min movement limit
- Set a customizable hysteresis to avoid rapid on/off switching at the end stops if the sensor fluctuates.
- A way to read the current position from the host CPU (the Raspberry pi).
I also added acceleration and variable braking. Both are compatible with the Pololu quik controller. The acceleration was needed to avoid jerkyness when entering or leaving the end limits. The braking helps a lot when holding the arm statically and avoids back-drive of the gear motors.
The end stop logic works as I hoped, and I no longer have to worry about crashing into the end of the travel.
Just for fun, I added a visualization of the excavator on a web page. It's just the same 3D model from Fusion 360, but exported to STL to be loadable by three.js in a web page. The web page uses WebSocket to read the current position of the joints from the excavator over WiFi.
Here is a short video:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/video-anglesensor.jpg
(https://youtu.be/Z60gWvpeJ8I)
https://youtu.be/Z60gWvpeJ8I
Stein :-)
Trucker Al
06-05-2016, 07:53 PM
Fantastic !!
SteinHDan
06-06-2016, 05:04 PM
You can try the visualization on your own PC by clicking on this link:
- http://d1t2tbzmskak12.cloudfront.net/cat-excavator/visualization/index.html
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/visualization.jpg
(http://d1t2tbzmskak12.cloudfront.net/cat-excavator/visualization/index.html)
To view the client source code, just click "View source" on the web page.
The web page will try to connect to the excavator using the local IP address 192.168.0.107:8001. If it isn't able to connect, it will just play some random movements. Only computers on my network will be able to connect to my excavator, so you all will see the random movements.
On the excavator (the server in this case) I run these few lines to broadcast the positions to all clients that connect:
var ws = require("nodejs-websocket")
var server = ws.createServer().listen(8001);
setInterval(function() {
server.connections.forEach(function (conn) {
conn.sendText(JSON.stringify({bucket: state.bucket.pos, stick: state.stick.pos }));
})
}, 40);
That's all there is to it!
Best regards,
Stein :-)
SteinHDan
06-08-2016, 09:22 AM
This is now the code on the motor controllers, that has the new current limiting, position reporting and position end limits, acceleration and variable braking.
You don't need to understand any of this code to use it. Just:
1. Connect the USB cable to a PC
2. Download the Arduino programmer: https://www.arduino.cc/en/Main/Software
3. Copy and paste the code below into the programming tool
4. Set the device ID on the second line (any number from 0 to 255, used to identify the controller later) I'm using device IDs 10, 11 and 12 for this build.
5. Click the "Upload" button
Done!
SteinHDan
06-08-2016, 09:24 AM
/* Based on the MonsterMoto Shield Example Sketch by: Jim Lindblom */
#include <limits.h>
int deviceId = 10; // TODO: Set this to a unique ID for each controller!
#define BRAKEVCC 0
#define CW 1
#define CCW 2
#define BRAKEGND 3
// VNH2SP30 pin definitions
int inApin[2] = {7, 4}; // INA: Clockwise input
int inBpin[2] = {8, 9}; // INB: Counter-clockwise input
int pwmpin[2] = {5, 6}; // PWM input
int cspin[2] = {2, 3}; // CS: Current sense ANALOG input
int enpin[2] = {0, 1}; // EN: Status of switches output (Analog pin)
// Position sensors
int pospin[2] = {4, 5}; // Position sensors at ANALOG input 4,5
// Serial state
int inBytes[15];
int inBytesCount = 0;
int command = 0;
unsigned long lastCommandTime = 0;
unsigned long timeoutMillis = 1000;
// Timing
int timerDivisor = 8;
int defaultTimerDivisor = 64;
int millisDivisor = defaultTimerDivisor / timerDivisor;
// Motor state
int current[2] = {0, 0};
int currentLimit[2] = { 160, 160 };
int overcurrentDivisor[2] = {8, 8};
unsigned long overCurrentTime[2] = {0, 0};
int direction[2] = { BRAKEGND, BRAKEGND };
int directionWanted[2] = { BRAKEGND, BRAKEGND };
int speed[2] = { 0, 0 };
int speedPrev[2] = { 0, 0 };
int speedWanted[2] = { 0, 0 };
int acceleration[2] = { 100, 100 };
int position[2] = { 511, 511 };
int positionMin[2] = { INT_MIN, INT_MIN };
int positionMax[2] = { INT_MAX, INT_MAX };
bool positionMaxTriggered[2] = { false, false };
bool positionMinTriggered[2] = { false, false };
int positionHysteresis[2] = { 100, 100 };
// Loop state
unsigned long lastTime = 0;
unsigned long now = 0;
int speedScaler = 4;
void setup() {
setPwmFrequency(5, timerDivisor);
setPwmFrequency(6, timerDivisor);
// Initialize digital pins as outputs
for (int i=0; i<2; i++) {
pinMode(inApin[i], OUTPUT);
pinMode(inBpin[i], OUTPUT);
pinMode(pwmpin[i], OUTPUT);
}
// Initialize motors braked
motorGo(0, BRAKEGND, 255);
motorGo(1, BRAKEGND, 255);
// start serial port at 9600 bps:
Serial.begin(9600);
while (!Serial) {
// wait for serial port to connect. Needed for native USB port only
}
}
void loop() {
// Keep time
now = millis() / millisDivisor; // to account for the change of the timer by setPwmFrequency below
// Read commands from serial port
if (Serial.available() > 0) {
int inByte = Serial.read();
if (inByte > 127) {
inBytesCount = 0;
command = inByte;
switch(command) {
// 0x90 & 0x91: Get Motor M0 & M1 Current
case 0x90: Serial.write(current[0] / 4); command = 0; break;
case 0x91: Serial.write(current[1] / 4); command = 0; break;
// 0x94 & 0x95: Get Motor M0 & M1 position
case 0x94: Serial.write(position[0] / 4); command = 0; break;
case 0x95: Serial.write(position[1] / 4); command = 0; break;
}
lastCommandTime = now;
}
else if (command != 0) {
if (inBytesCount < 14) {
inBytes[inBytesCount] = inByte;
}
inBytesCount++;
switch(inBytesCount) {
case 1: {
int inSpeed = inByte * 2; // From 0-127 range to 0-254 range
int motor = -1;
int inDirection = CW;
switch(command) {
case 0x86: motor = 0; inDirection = BRAKEGND; break;
case 0x87: motor = 1; inDirection = BRAKEGND; break;
case 0x88: motor = 0; inDirection = CW; break;
case 0x8A: motor = 0; inDirection = CCW; break;
case 0x8C: motor = 1; inDirection = CW; break;
case 0x8E: motor = 1; inDirection = CCW; break;
case 0x83: {
if (inBytes[0] == 0) {
Serial.write(deviceId);
}
command = 0;
break;
}
}
if (motor != -1) {
speedWanted[motor] = inSpeed;
directionWanted[motor] = inDirection;
command = 0;
}
break;
}
case 4: {
// 0x84, parameter number, parameter value, 0x55, 0x2A // Set parameter
// Parameter number 8 and 9 are the current limits for motors 0 and 1 respectively
switch(command) {
case 0x84: {
int retVal = 1;
if (inBytes[2] == 0x55 && inBytes[3] == 0x2A) {
retVal = 0;
switch(inBytes[0]) {
case 4: acceleration[0] = inBytes[1]; break; // 0-127
case 5: acceleration[1] = inBytes[1]; break; // 0-127
case 8: currentLimit[0] = inBytes[1] * 8; break; // 0-1016
case 9: currentLimit[1] = inBytes[1] * 8; break; // 0-1016
case 72: positionMax[0] = inBytes[1] * 8; break; // 0-1016
case 73: positionMax[1] = inBytes[1] * 8; break; // 0-1016
case 74: positionMin[0] = inBytes[1] * 8; break; // 0-1016
case 75: positionMin[1] = inBytes[1] * 8; break; // 0-1016
case 76: positionHysteresis[0] = inBytes[1] * 8; break; // 0-1016
case 77: positionHysteresis[1] = inBytes[1] * 8; break; // 0-1016
default: retVal = 2; break;
}
}
Serial.write(retVal);
command = 0;
break;
}
}
break;
}
}
}
}
// Update motor state every 10ms
if (lastTime == 0 || now < lastTime) { // If the first time or when the millis() values wrap, we need to fix the lastTime to be before the now time.
lastTime = now;
}
if (now - lastTime >= 10) {
lastTime = now;
for (int i = 0; i < 2; i++) {
bool sameDirection = direction[i] == directionWanted[i];
direction[i] = directionWanted[i];
speed[i] = speedWanted[i];
if ((direction[i] == CW) || (direction[i] == CCW)) {
// Apply accelleration limiting
int accelSpeed = speedScaler * speed[i]; // 10ms loop time and *4 gives the 40ms as in the Pololu controller
if (direction[i] == CCW) {
accelSpeed = -accelSpeed;
}
if ((acceleration[i] > 0) &&
(!(sameDirection && (abs(accelSpeed) < abs(speedPrev[i])))) &&
(abs(accelSpeed - speedPrev[i]) > acceleration[i])) {
accelSpeed = speedPrev[i] + ((speedPrev[i] > accelSpeed) ? -acceleration[i] : acceleration[i]);
}
direction[i] = accelSpeed < 0 ? CCW : CW;
speed[i] = abs(accelSpeed / speedScaler);
speedPrev[i] = accelSpeed;
// Apply current limiting
current[i] = analogRead(cspin[i]);
// If overcurrent, kill the output
if (current[i] > currentLimit[i]) {
overcurrentDivisor[i] = 0;
overCurrentTime[i] = now;
}
// Slowly bring it back
if (now > overCurrentTime[i] + 1000 && overcurrentDivisor[i] < 8) {
overcurrentDivisor[i]++;
overCurrentTime[i] = now;
}
speed[i] = speed[i] * overcurrentDivisor[i] / 8;
}
// Apply position limits
int readPosition = analogRead(pospin[i]);
int changeLimit = positionHysteresis[i] / 2 + 10;
if (abs(readPosition - position[i]) > changeLimit) {
position[i] = position[i] + (position[i] > readPosition ? -changeLimit : changeLimit);
} else {
position[i] = readPosition;
}
if (position[i] > positionMax[i]) {
positionMaxTriggered[i] = true;
}
if (position[i] < positionMax[i] - positionHysteresis[i]) {
positionMaxTriggered[i] = false;
}
if (position[i] < positionMin[i]) {
positionMinTriggered[i] = true;
}
if (position[i] > positionMin[i] + positionHysteresis[i]) {
positionMinTriggered[i] = false;
}
if ((positionMaxTriggered[i] && direction[i] == CW) ||
(positionMinTriggered[i] && direction[i] == CCW)) {
direction[i] = BRAKEGND;
speed[i] = 255;
speedPrev[i] = 0;
}
// Stop on serial command timeout
if (now - lastCommandTime > timeoutMillis) {
direction[i] = BRAKEGND;
speed[i] = 0;
speedPrev[i] = 0;
}
motorGo(i, direction[i], speed[i]);
}
}
}
void motorGo(uint8_t motor, uint8_t direct, uint8_t pwm) {
if (motor >= 0 && motor < 2 && direct >= 0 && direct < 4 && pwm >= 0 && pwm < 256 ) {
digitalWrite(inApin[motor], (direct == BRAKEVCC) || (direct == CW) ? HIGH : LOW);
digitalWrite(inBpin[motor], (direct == BRAKEVCC) || (direct == CCW) ? HIGH : LOW);
analogWrite(pwmpin[motor], pwm);
}
}
void setPwmFrequency(int pin, int divisor) {
byte mode;
if(pin == 5 || pin == 6 || pin == 9 || pin == 10) {
switch(divisor) {
case 1: mode = 0x01; break;
case 8: mode = 0x02; break;
case 64: mode = 0x03; break;
case 256: mode = 0x04; break;
case 1024: mode = 0x05; break;
default: return;
}
if(pin == 5 || pin == 6) {
TCCR0B = TCCR0B & 0b11111000 | mode;
} else {
TCCR1B = TCCR1B & 0b11111000 | mode;
}
} else if(pin == 3 || pin == 11) {
switch(divisor) {
case 1: mode = 0x01; break;
case 8: mode = 0x02; break;
case 32: mode = 0x03; break;
case 64: mode = 0x04; break;
case 128: mode = 0x05; break;
case 256: mode = 0x06; break;
case 1024: mode = 0x7; break;
default: return;
}
TCCR2B = TCCR2B & 0b11111000 | mode;
}
}
SteinHDan
06-20-2016, 05:48 PM
Added the final angle sensor that reads the angle of the boom. This sensor is the same as the previous two, except that it's mounted a bit differently and it has no cover.
With this sensor in place it's finally possible to run the excavator without risking to break it. :-)
If I have time later I'll try to read the rest of the positions and angles with encoders for the swing and tracks, and an IMU (BNO055) + GPS for the house.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1221.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1222.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1223.jpg
SteinHDan
06-27-2016, 08:20 AM
Running lines along the arm.
I need to run the power to the bucket motor and wires for the bucket and stick angle sensors along the arm. Also, I want to attach some auxiliary lines that can be used for various attachments later.
I ran totally overboard with the auxiliary lines. I've added:
- 2 x 2 x 0.75mm2 power line with XT-60 connector (one on each side)
- 2 x USB cable (one on each side)
The power lines can run about 10A each and can be used for driving motors, lights, etc.
The USB cables can be used both as USB cables and also as just normal wire that can be used for driving servos or sending back sensor data. Each USB cable has two wires that can run 2A and two signal wires that can't really run any current, but can be used for signals, like the servo position (the white wire) or sensor output.
So the USB cable doubles as a servo cable that can control two servos, just normal power lines (2A) or sensor wires. With a small adapter from USB to Futaba connectors, it will be easy to hook up servos.
Some examples of what can be attached:
- Quick coupler (using just one power line and that stops on a set current limit)
- Impact hammer (one power line)
- Drill
- Saw (garden timmer, angle grinder, etc)
- Light
- Any USB device, like a web camera, a 3D depth camera like the Kinect, a desktop rocket launcher, a 32 channel servo driver, etc, etc.
USB cables have very varying current capabilities. The cable I'm using here has very thick power lines and the thickness and stiffness also helps to give a visual appearance more similar to hydraulic lines.
The the three-wire sensor cable, two-wire power cable and the USB cable:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1244.jpg
I've 3D-printed three different types of clamps to hold down the wires along the arm. The screws are 2.6mm x 8mm self-tapping screws.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1245.jpg
And a terminal at the stick:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1246.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1248.jpg
And it all attaches to the arm in this way:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1250.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1252.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1254.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1256.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1258.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1264.jpg
SteinHDan
07-01-2016, 06:02 PM
It's always a question where to put the required RC-components on a machine. I'm talking about things like the on/off switch, charge connector, etc. I want them accessible, but not visible.
On this machine, they could all go underneath, but I'm thinking that there might be a lot of dust, dirt, braches, leaves, etc there, and also it's not that accessible on the underside.
So on this model, I opted to put them on top, but conceal them under a lid.
I'm mimicking the engine lid from the original:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/engine_cover1.jpg
And then underneath the lid, the control panel is located. It has:
- The on/off switch
- A battery voltage meter
- A sound volume dial
The charge connectors are just a standard XT60 and a balancing connector that are accessible under the lid, not attached to the control panel.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/engine_cover8.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1266.jpg
The control panel stand also serves as the mount for the audio amplifier.
The amplifier is a 2x50w D-class amplifier. The volume control is a stereo logarithmic pot - A1k.
Ebay links:
- Amplifier: http://www.ebay.com/itm/272163830096
- Volume control: http://www.ebay.com/itm/331883285534
- Voume cap: http://www.ebay.com/itm/221309764371
- Voltage meter: http://www.ebay.com/itm/201546863361
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1267.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1268.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1269.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1270.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1271.jpg
Trucker Al
07-01-2016, 08:28 PM
Beautiful form and fit, just outstanding !!
SonoranWraith
07-04-2016, 01:38 AM
When you say charge connector...are you planning on charging a lipo in your model?
SteinHDan
08-02-2016, 05:44 PM
When you say charge connector...are you planning on charging a lipo in your model?
I want to allow for it to be charged inside the model, but most of the time, I'll take the battery out to charge it.
I know of the general rule not to charge inside the model, but I charge very lightly (only 1A out of the 1C 4.5A normal charge current) and also the compartment where the battery lies is well ventilated so heat should not build. But of course, time will tell. I guess when you charge inside the model, you should assume that everything can catch fire, and place the model in such a way that it would not burn down your house or garage if that happens.
Best regards,
Stein :-)
SteinHDan
08-02-2016, 05:48 PM
Test digging gravel and also testing the audio and the smoke generator. The engine sound will be replaced with an excavator sound and both the sound and the smoke will be made to adjust according to the power output of the machine when it's working.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/video_gravel.jpg
(https://youtu.be/MyzdAea7NRI)
https://youtu.be/MyzdAea7NRI
SteinHDan
08-07-2016, 05:29 PM
The smoke generator was the surprise that I promised earlier :-)
It works quite well as you can see on the video above. I mounted it so that the output is at the same location as the exhaust on the original CAT 390 F.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/supersmoker3.jpg
Ebay link:
- http://www.ebay.com/itm/112036055150
I have the 12V, "standard NON ESC" version with red color. I control the variable output with the first channel on the fourth motor controller.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/supersmoker1.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/supersmoker2.jpg
RexRacer19
08-07-2016, 09:11 PM
Great idea using the smoke machine. The RC drift guys have been trying to use smoke generators for a while now with mixed results. I think it should work well for your application though since it doesn't require the volume of smoke that a car needs.
SteinHDan
08-09-2016, 06:36 PM
Lately I've been working on designing and printing the house of the excavator. I want:
- To have quick access to the on/off switch, voltage meter and the sound volume control
- To have easy access to all the electronics inside the excavator house.
For the first item, I designed the lid above the control panel:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_10.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_14.jpg
So that makes it easy to quickly turn the machine on/off or to change the sound volume.
But for getting access to everything, i wanted to be able to remove as much of the house as possible in just one piece. So I designed most of the body to be just one big piece that can removed by unscrewing four thumb screws from below. The exception is the cab and the thing on the front on the other side (whatever it's called, anyone knows? :-) ). This gives very good access to everything that's mounted on the upper structure base plate:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_17.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_20.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_30.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_40.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_50.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_60.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_70.jpg
The body attaches to the base plate with four thumb screws, one in each corner:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_80.jpg
This body is much to big for my 3D printer, so I had to break it up into nine individual parts. And even each of them was almost to big for my machine.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_90.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_100.jpg
The printing time for each of these is between 10-15 hours, so that means there's more than 100 hours of continuous printing in this body.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_110.jpg
I'll add some photos of the parts and how they are connected together shortly.
Best regards,
Stein :-)
Doggy
08-10-2016, 06:36 AM
Great work, loving the details. Dont know how good your printer is, but if I were you, I would remove this grills, and print them separatly.
SteinHDan
08-11-2016, 06:18 PM
Hi Doggy!
Yes, I could probably get them even nicer if they were separate pieces. But now it's already done and also it's less pieces to handle when it's in one part. The number of parts on this machine is growing rapidly.. :-)
Best regards,
Stein :-)
SteinHDan
08-11-2016, 06:33 PM
I experimented a bit to figure out the smallest mesh size I could print without supports on my 3D printer. On the original, the meshes in the doors and in the platform look like this:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/original_1.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/original_2.jpg
I can't make that fine lines easily, so I made the meshes a bit coarser. On the platform it's supposed to be two rows of six holes, but on this model it is two rows of three.
At a distance it all looks quite similar, though.
The mesh lines are 0.8mm thick This is because the print head nozzle is 0.4mm wide and I need two lines beside each other to print the mesh nicely without supports on my machine. The layer height is 0.2mm and thus there are 4 layers in the vertical direction to make up the 0.8mm mesh line size.
Also, the mesh had to be coarse enough to allow air to flow through, as the air is needed for the cooling of the motor controllers on the inside.
Detail images:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1295.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1296.jpg
The parts:
Counterweight:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1299.jpg
Doors:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1302.jpg
Smoker air intake and smoker exhaust:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1308.jpg
Lid and temporary hinge pin mechanism:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1309.jpg
Tanks:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1310.jpg
Steps:
(this is printed in yellow and then painted partially black afterwards)
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1311.jpg
RexRacer19
08-12-2016, 11:53 AM
Your prints are coming out really nice. What 3D printer do you use? Are you able to change your nozzle size for printing some finer details?
SteinHDan
08-12-2016, 04:12 PM
Hi RexRacer19!
This is the machine I have:
- MakerBot Replicator 2X (http://amzn.to/2aPaQ5i)
It's a very standard configuration, very similar to most all 3D printers sold today. I think it is possible to get this quality with most all current printers.
If you don't, then have a look at this very good print-quality-troubleshooting page:
- https://www.simplify3d.com/support/print-quality-troubleshooting/
But mine is quite an old 3D printer. I think these days, you can get better offers. The only important thing is that you can print ABS, because it's so much tougher than PLA (less brittle). And then you need a heated build plate for ABS printing. Maybe one of these could do the job:
- Ultimaker 2 (http://amzn.to/1XfAK74)
- Zortrax M200 Pro (http://amzn.to/23zrFpp)
- FlashForge Creator Pro (http://amzn.to/1rGyJEC)
I've not tried any of them, but I've heard some good things about them and the specs look ok. There's probably lots of reviews on youtube.
I think most 3D printers that work with filament have 0.4mm nozzles. You can change to 0.2mm to get finer detail, but that will also make the print take a lot longer (4 times as long if you print the same object with the same wall thicknesses, and if the print time was 10 hours, then the new print time is 40 hours..).
Best regards,
Stein :-)
RexRacer19
08-12-2016, 08:43 PM
Stein,
Thanks for the detailed reply. That is a good printer that you have. My first printer was actually the FlashForge Creator Pro, that I purchased to use at the company that I worked for. It worked very well.
I no longer work for that company, but since bought a printer for home use. It is a Makerfarm Pegasus 10" (http://www.makerfarm.com/index.php/3d-printer-kits/pegasus-10-kit.html). It does a nice job, and has a large build volume. The hot end is a E3D V6, and I have that on a E3D Titan extruder. It is a very customizable platform, and easy to upgrade. It all runs on Simplify 3D.
I will have to post up some details and pics sometime in my 963K build thread.
-Jeff
SteinHDan
08-13-2016, 03:37 PM
I'm looking forward to that, Jeff!
Stein :-)
SteinHDan
08-13-2016, 04:05 PM
I don't like doing non-reversible operations like gluing, painting and welding, because it's then a lot a work to make small adjustments to parts. And when doing prototyping like this, you make small changes all the time. I think I've had the machine built completely up and down around five times now..
Anyways, sometimes you need to do those types of operations anyway, either because it's the only way or I'm not able to think of any other way.. ;-)
I've glued the counterweight pieces together now. First there are three 75mm M3 threaded rods. They don't screw into anything, they are just there to align the pieces and give more strength. Then the two pieces slide together:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1317.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1319.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1320.jpg
I think the best glue to use for a certain type of plastic is... more of that same plastic! Dissolved in acetone. This approach works very well with ABS.
For this model, I've just cut the yellow 3D-printer filament into very small pieces and put them into a glass jar. Then add acetone and let dissolve for a couple of days (depends on the size of the pieces).
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1322.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1324.jpg
I've also glued in the stainless steel M4 nuts that hold the body to the base plate with the thumb screws. One in each corner:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/house_body_80.jpg
Just a tiny amount of glue is needed here. We just don't want the nuts to come loose when the thumb screws are not holding them in place.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1326.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1327.jpg
Ebay link:
- Thumb screw - 10pcs M4 x 15mm (http://www.ebay.com/itm/272338385579)
SteinHDan
08-14-2016, 02:47 PM
The body goes together by using eight M3 threaded rods, four self-tapping screws and two M3 machine screws.
First M3 nuts are inserted into slots in the counterweight parts:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1329.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1330.jpg
Then the threaded rods are screwed into the nuts:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1332.jpg
The rear doors slide onto the threaded rods, and are attached with an additional two M3 20mm long bolts:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1333.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1334.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1335.jpg
The front doors also slide onto the threaded rods. They are attached to each other in the middle by three M3 bolts and locking nuts. This attachment is the bridge that holds any weight on top of the house body.
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1338.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1340.jpg
Finally the tanks and the steps slide onto the threaded rods:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1342.jpg
For these two parts, there are four additional self-tapping screws that attach the tanks and steps to the front doors:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1345.jpg
At the end of the threaded rods, there are M3 nuts countersunk into the end of the front parts. Since they are completely inside the part, a socket screw driver is needed to fasten them:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1348.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1350.jpg
SteinHDan
08-14-2016, 04:56 PM
I made a somewhat improved snap-in hinge pin assembly. I should have used some longer bolts, but I didn't find any.
The assembly consists of two M3 20mm bolts, one compression spring and an aluminum tube to hold it straight:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1355.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1357.jpg
The hinge pins are then snapping into the holes in the sides of the lid opening in the body:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1359.jpg
egronvold
08-14-2016, 05:21 PM
I think we all apreciate the detailed descriptions, and the link to the parts used. Keep up the good work!
SteinHDan
08-15-2016, 02:15 PM
Thanks, Emil! I'm loving your videos BTW. :-)
Maybe I can come over and run the excavator in your quarry some day, when it has been completed?
Best regards,
Stein :-)
SteinHDan
08-15-2016, 02:18 PM
The lid lock mechanism is just another thumb screw and another nut glued into the body:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1352.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1361.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG1362.jpg
egronvold
08-15-2016, 05:13 PM
Thanks, Emil! I'm loving your videos BTW. :-)
Maybe I can come over and run the excavator in your quarry some day, when it has been completed?
Best regards,
Stein :-)
Det kan vi nok få til :)
SteinHDan
08-15-2016, 06:24 PM
Det kan vi nok få til :)
Kult! Det blir nok ikke helt med det første, ganske mye som gjenstår. Men kanskje på denne siden av nyttår. :-)
SteinHDan
08-15-2016, 06:26 PM
Got started on the CAD work for the cab and the cab interior:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/cab_interior_1.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/cab_interior_2.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/cab_interior_3.jpg
Hofabooz
11-17-2016, 06:59 AM
Hi Stein
This is amazing work you are much further down the path I intend to follow developing my 3D drawing and printing skills.
Thank you so much for sharing as Joe on this forum says "Sharing knowledge is one thing that defies basic arithmetic logic --- the more you share, the more you get!"
This is true thanks again.
Ben1272
11-18-2016, 06:33 PM
Excellent craftsmanship! I have always been partial to the hydraulic builds, but this electric build has opened my eyes to new possibilities!
Sorry if you reported earlier and I missed it, but waht 3d printer are you using? And what mill do you use to cut your aluminum parts?
Thanks!
-Ben
SteinHDan
11-22-2016, 03:01 PM
Thanks Mark and Ben! :-)
This electric version even exceeded my expectations. I was planning on testing the electric motors and then converting to hydraulic if it didn't work out. And I didn't actually think it would work, because the arm is so long and the leverage it puts on the motor axle is enormous. But it did work quite well and it can dig normal dirt, which was the goal.
it even dug that gravel you see on the video. That's pretty tough stuff to dig.
I also got rid of that gear backlash I discussed with Joe previously. It was by most part caused by a machine key inside the gear motor that wore down and not by the gears themselves. To combat this I welded the gear motor's final gear to the axle. The weld looks so bad that I don't think I can show it here.. but it works and removed the backlash. I've only done it on the stick motor, though, and I'm planning to do it on all the motors.
The gear motors are so strong (320kg/cm) that they will rip themselves apart if not limited in some way. That's why I added the current limiting and the position sensors.
I've set the current limiting to match the scale force of the original full-size machine. For example, I've set the current limiting for the boom so that it can lift 12kgs. Multiplied by the scale (1/14)^3 (three dimensions), we get 12kgs * 2744 = 32928 kg which is around 33 metric tons. That value is close to what the real machine lifts with the same arm configuration and arm position.
So, the machine doesn't need to be any stronger to be a scale replica of the real CAT 390. I still don't feel too well about the leverage the arm has on the motor axle, though, so I've been thinking of maybe adding an external final gear that bolts directly to the arm and not feed the force from a 1m long arm through a 10mm axle. That also would remove the need to weld inside the gear motor.
I guess the things I like best about it being electric is that it's very quiet and there's no oil anywhere.
Stein :-)
SteinHDan
11-22-2016, 03:15 PM
The 3D printer I have is this one:
- Makerbot Replicator 2X (http://amzn.to/2f3yodH)
I like it a lot, and I even have two of them.. But it's quite an old 3D printer. I think these days, you can get better offers. The only important thing is that you can print ABS, because it's so much tougher than PLA (less brittle). And you need a heated build plate for ABS printing. Maybe one of these could do the job:
- Ultimaker 2 (http://amzn.to/1XfAK74)
- Zortrax M200 Pro (http://amzn.to/23zrFpp)
- FlashForge Creator Pro (http://amzn.to/1rGyJEC)
I've not tried any of them, but I've heard some good things about them and the specs look ok. There's probably lots of reviews on youtube.
My mill is a K2CNC KT-2415S with a Bosch 1617EVS 1400W spindle.
The one I have is no longer sold, but I think there are some good quite cheap alternatives, like this one:
- CNC 6040Z 3-axis, 1500W VFD spindle, 110V/220V (http://amzn.to/1MyhJdv)
https://images-na.ssl-images-amazon.com/images/I/41ZzUiGuVtL.jpg (http://amzn.to/1MyhJdv)
I've not tried it, but the spec looks ok. 1500w spindle is good for milling aluminum. Ball screws are good.
There are lots of reviews on YouTube. I saw these two:
- Review: https://youtu.be/DeRuMZKCiy8
- Cutting aluminum: https://youtu.be/kTIYiZFGcRE
Best regards,
Stein :-)
SteinHDan
11-22-2016, 03:16 PM
Now I'll get on to get the build finished! I'm working on the cab, windows, lights and webcam inside the cab at the moment.
Stein :-)
Hofabooz
01-18-2017, 05:23 AM
Hi Stein
Happy New Year
Any update of your build to share with us yet as I cannot wait :)
Thanks for sharing with us all.
SteinHDan
02-08-2017, 04:48 PM
Hi Hofabooz!
Progress is very slow these days. Too much to do at work.
But, I have an updated CAD file here, in case anyone is interested:
- http://d1t2tbzmskak12.cloudfront.net/cat-excavator/undercarriage_4+v300.f3d
A screenshot:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/2017-02-08_1.jpg
Best regards,
Stein :-)
NebraskaTrevor
02-12-2017, 07:02 PM
I downloaded your fusion 360 model and I have been marveling at it. As a fairly new fusion user I have no idea how you accomplished this but it sure is impressive to look at! I am working on a little bruder conversion at the moment but who knows I may print a few pieces of this for fun. Thanks for sharing!
Mumin
02-25-2017, 09:13 AM
Hi,
can You also exported model in step file.
Thank you in advance!
SteinHDan
02-25-2017, 01:29 PM
Hi Mumin!
Sure, here it is:
- http://d1t2tbzmskak12.cloudfront.net/cat-excavator/undercarriage_4+v301.step
Best regards,
Stein :-)
skeeter
09-21-2017, 12:48 AM
:drool: I so very much want one of these. I think next year, rather then do several small(ish/er) projects, I'll save that monies, & buy a decent milling machine at the end of the work season.
SteinHDan
06-22-2019, 02:47 AM
I found a use for it at my workplace doing promo work and I just finished it enough for that. Now it has been at my work for the past two years and I'm thinking about retiring it and taking it home to do the final pieces of work (add lights etc).
Here are two recent pictures of it in it's current shape:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG3276.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMAG3277.jpg
Stein :-)
SteinHDan
06-22-2019, 03:05 AM
One of the things I have to fix, is the left track motor. After a truck transport from the other side of Norway, the back platform had been broken off on both sides and the track motor did not run. I think maybe it was attempted lifted in the plastic, it broke and the whole thing crashed to the ground. But I don't know exactly since I wasn't there. Anyways, it has to be fixed.
Heavy as it is and with all that force on the track tensioner, I actually had to make a little plan on how to go about it, almost like on a real machine. I put it on it's side and got to work. Luckily I had a replacement motor lying around:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMG_20190615_133342.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMG_20190615_133352.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMG_20190615_133359.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMG_20190615_133407.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMG_20190615_133423.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMG_20190621_162558.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMG_20190621_162611.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMG_20190621_180725.jpg
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/IMG_20190621_191018.jpg
Finally back in shape!
Stein :-)
Riley XX-L
06-22-2019, 05:09 PM
Nice job those tracks should be plenty strong with that chain
speedy8305
06-22-2019, 10:18 PM
SteinHDan may I ask what Infill % did you use for your model
SteinHDan
06-23-2019, 06:32 PM
SteinHDan may I ask what Infill % did you use for your model
It varies depending on how strong I need that part to be. I believe I've added some info about the infill on the various parts in this build. Typically between 10% (draft) 15% lightest production part, 20 for medium strength and 35-40 for very strong parts. I'm not often using > 50% infill, but if I need the strongest possible part, I would maybe do 75%, but usually I find the additional strength doesn't weight up for the additional print time.
Stein :-)
speedy8305
06-23-2019, 08:54 PM
sounds good, Loving the machine keep up the good work
skeeter
07-01-2019, 10:43 PM
That excavator looks awesome
SteinHDan
08-16-2020, 07:22 PM
Cutting new windows for the excavator on a laser cutter:
http://d1t2tbzmskak12.cloudfront.net/cat-excavator/cat390f-windows-youtube.jpg
(https://youtu.be/9scmbmxY500)
https://youtu.be/9scmbmxY500
Stein :-)
vBulletin® v3.8.6, Copyright ©2000-2025, Jelsoft Enterprises Ltd.