Sunday, October 30, 2011

Hacksaws: Fuck em




First time I used a hacksaw I was ecstatic. Before that, it didn't seem possible to cut materials that were stronger than wood. Materials like aluminum or plastic. Since then, I've had to use a hacksaw (without a vice) for jobs as rough as cutting 1/4" thick, 2" wide steel I-beams. That takes forever and it's a workout.

Metal band saws are equally revolutionary. For something that would have taken 15-30 minutes and been shitty, I now do in about 30 seconds and it's perfect. Look at that edge: It's an exact 90 degree angle, single cut, super crisp. You can barely even seethe saw lines. 30 seconds.

Friday, October 28, 2011

Touching a far away world




This is a welding table. It's put together with bolds. I don't know what the bolts are made out of by it's not steel. Perhaps chips of old people's bones.

And it was made by hand. I can tell because the maker stripped out one of those bolts putting it together. A machine would have just fucked it up and given some error. This dude packed nicely, still totally broken, with the bolt but missing the nut he stripped. I didn't even notice it was wrong till I tried to put it together.

I think it's cute in a way that this person is probably just as annoyed with the low quality of the bolts that strip all the time as the customers whose stuff doesn't work the first time. I hope that person doesn't sweat it; we'll find extra bolts and in the end it's the cheap as company cutting those corners.

It makes you wonder a lot about that person. A tiny connection across the global distribution void.

Saturday, October 22, 2011

Macroscopic engineering: Apartments come with 240V outlets









Two important points: #1. Apartments usually come with 240V outlets. #2. You probably don't need them.

Washer/dryer and ovens often require higher power and can come in 240V models. As a result, even residential places often come with high-power outlets. My apartment was build about two years ago and it has both a 30A and a 40A circuit in it.

Of course, light industrial machines don't seem to even need that. For instance the Bandsaw I just bought only takes 7A (vs the standard 120V 15A circuit). Similarly, the MIG welder I'm going to use goes up to 20A on 120V but will probably stay below the 15A limit if I keep it turned down (we'll see).



On the subject of light industrial equipment in your apartment, I've also moved the accelerator target to down the hall to make room for all that swanky new shit.

I'd like to also give a shout out to Hazard Factory's founder Rusty. I took their welding class as an intro to heavier metal working. In part I loved it for being very informative and helpful for actually learning welding. In part I loved it because Rusty is like the nicest guy ever. You look him up on facebook and every single picture is of him smiling. I'd like to be such a person.

Sunday, October 16, 2011

ME: Paper









Process


Getting into the specifics of the design, paper and imagination was absolutely the fastest way to find basic flaws in construction. It's far faster than CAD or building it even if you're trying to make clean drawings.

Once the design is a bit more final, CAD seems like a solid choice again. This time, not using a bunch of exacting math or trying to model it all but instead just using the values you know you will and trying to get things close. I'll add more to this cad drawing as time goes on.

The problem I was solving


Lets imagine how the grabber will work. There's the threaded rod. On either side of the rod are bearings. On one end there's also a gear that the motor connects with to turn it. Sliding along the rod will be the actual grabber arm and it's electromagnet.

This poses already several questions:

#1. What keeps the grabber arm from just rotating as the rod does? We could give the arm bearings to slid along some flat surface. I think instead it's probably easiest to just connect it to the other arm. They're supposed to move in tangent anyways and the cables to power the electromagnets on either side will have to go to both of them anyways. Also, that's just a lot simpler than bearings, which are either a pain or expensive.

#2. Just how close to the user can the table get? Will the fetcher be able to bring the shelf from all the way stowed to right next to the user? Not really. So how closer? If the bearing is there, that's 1.5" and then the arm will actually have to extend over the gear, another bearing at the other end, and the length of the electromagnet. All that will be 4" at least. Now the table is 6.5" away from the user at a minimum.That's getting to be a bit awkward. We'll have to cut out any connection on the far end of the fetcher arms. Either side will extend out a bit but the center will only connect farther back. This also makes the threaded rods more convenient; we won't have to cut those and they only come in 24" while the plan for the table is to be 18" deep. Of course, given that we decided on having a cross piece in #1, we will have some offset. Probably just the width of the cross piece and the electromagnets themselves. 2" seems tolerable.

Saturday, October 15, 2011

Macroscopic engineering: Playing with hardware




How to get it


If you've never bought hardware before, I'd recommend two places: Grainger and McMasterCarr. They sell basic parts. Basic like threaded rods and gears.

Of course, there's also Ebay. But then you have to deal with buying things on Ebay: Anything you buy will take forever to ship, you'll never be able to get another one just like it, you have to shop for it using the Ebay interface which is not at all designed to help you find the right part.

Chains


One of my options for how to raise and lower the fetching shelf is to have threaded rods that can be turned to push it up or down. However, if I put that rod off to one side of the fetching shelf it will torque the shelf as it goes up. I'll need a threaded rod on each side. But I want to make sure they rotate at exactly the same time or else I'll again be torquing the shelf. So my plan is to have a chain that connects them. A single motor will drive the chain.

Originally I was thinking bike chain. It's strong enough. It's universal. There's just one problem: it's only ever used on bikes. You want to buy a bike gear that's 1/2” instead of the really specific hub threading? Well no dice, because that's all anyone ever uses bike chain for.

The rest of industry uses something called 'roller chain'. In fact, #40 roller chain is just a wider, beefier, version of the standard #40 bike chain. And when you go to that, you can get all sorts of random gears and other quipment.

Grabbers



The grabber itself will have to have a way of holding onto a shelf it's grabbing. A claw which hooks around the shelf would get complicated. Perhaps it would be a solenoid with a spring to counteract the electromagnet and it would push a pin through a hole in the shelf to grab it. That's a lot of parts. You also need to find the hole or slot in the shelf to grab on to. And you'll need to put a lot of lateral force on the pin to pull the shelf out.

The alternative is an electromagnet that can latch on to the side of a table. I picked one up that's intended to be used on locking doors and can hold at least 100lbs when powered at 20V. Running it at 14V I saw a 14mA power draw and it was invincibly strong. The only downside I saw was that it would never let go. After turning off the power on it for 2 minutes I was still unable to unstick it from the metal plate it was on unless I used significant force. Running it at 5V was able to get objects off in about 30 seconds. If it's actually too weak to pull the shelf at 5V, I'll just bump it back to a higher voltage and have a counter-acting magnet on each shelf to hold it once the grabber is supposed to have let go, as opposed to relying on friction to separate them when the engine starts pulling the magnet back.

Monday, October 10, 2011

Macroscopic engineering: It begins



The goals

Maximizing my work space, keeping my work area visually clean and ready for other tasks even when I'm in the middle of a project, and building something that's not a weapon of any sort (see accelerator and giant laser if you don't know my history here).

It's a table. You hit a button on the side of your table and the surface is automatically whisked away and a clean new table is brought to you. You want the old table surface back? Just hit the button and it comes back out of filing.

Implementation option 1

A set of shelves all stacked above each other. There are rods that go through each shelf to hold them all level and steady. Each shelf can translate along those rods up and down. When stored away, you might have surfaces #1,2,3 all pushed up toward the ceiling. When you hit the button for #2, #1 and #2 both slide down. 3# stays high. You can now work on #2. Their positions are driven by different threaded rods. Each of the threaded rods is actually only connected to one shelf. You turn the rod for that shelf and the shelf moves either up or down depending on the direction you turn the rod. A computer handles the coordination of which rods should turn and when. The problems with this design: You can't put your feet under the table while working on it because there might be other tables in the way. Similarly, there might be more overhead killing your headroom. Finally, each shelf will need limit switches, bearings, a rod and a motor. Essentially, the cost scales with the number of shelves. If the set of all those things was $200/shelf then a 6-shelf table is already $1200. Kinda steep.

Implementation option 2 (pictured)

There is a series of shelves actually on shelves. A table surface that can move vertically goes to the level of the shelf it wants, grabs and pulls that shelf onto the table's surface and then returns to the worker's level. This time there's leg room and head room. But the table is now twice as deep. However, there is often equipment you want access to regardless of which project you're doing. That can be stored on the shelf that's already at worker-level so it's not a total waste of the added depth. This system will also create a potentially less stable surface (the shelf is just resting by virtue of gravity). It does, however, scale well. The grabber can be quite complex and expensive since there's only 1 of it for all the tables.

So I considered/attempted drawing the entire thing in open-scad to really flesh everything out before I began working on it. I still very much believe that cad drafting is an excellent way to work. Openscad, however, requires significant mental computationally for the relatively minimal gain of general drafting. You must pay strong attention the whole time and even then it's still tedious. Also, the visualization system has never been it's strong suit. On the plus side, the parameterization is excellent. But that can't redeem it's value in this task. Not sure what alternative I'll use. Perhaps paper.

zoom = 1;

tableDepth=18*zoom;

tableWidth=12*4*zoom;

tableSlideGap = .5*zoom; //Also takes into account the angle thickness

tableSurfaceHeight = 1*zoom;

tableSeparation = 10*zoom;

numberOfTables = 3;

bearingOD = 0.866 * zoom;

bearingID = 0.315 * zoom;

bearingWidth = 0.275*zoom;

controlBoxHeight = 12*1*zoom;

sBarHorizDistance = tableSlideGap+tableWidth;

sBarThickness = 0.25 *zoom;

sBarWidth = 2 *zoom;

tablesTotalDistanceBetween = tableSeparation + tableSurfaceHeight;

tablesHeight = ((numberOfTables-1) * tablesTotalDistanceBetween) + sBarWidth;

sBarLength = tablesHeight + controlBoxHeight;

rollerTrackWidth = 1*zoom;

fBarBearingBuffer = .5 * zoom;

fBarBearingDistance = 10 * zoom;

fBarBearingPostLenght = (0.5 * zoom);

fBarBearingPostExtra = 0.5 * zoom;

fBarThickness = 0.25 * zoom;

fBarWidth = 3.5 * zoom;

fBarLength = fBarBearingBuffer * 2 + fBarBearingDistance;

fBarGap = 0.25 * zoom;

fBarXStandoff=fBarGap+sBarWidth+fBarThickness/2;

fBarYStandoff=fBarGap+sBarWidth+fBarThickness/2;

//----FETCHER----

module angle(width,length,thickness)

{

union()

{

cube([width,thickness,length]);

cube([thickness,width,length]);

}

}

module fBarRollerAngle()

{

angle(fBarWidth,fBarLength,fBarThickness);

}

module fRoller()

{

rotate([90,0,0])

{

translate([0,0,(fBarBearingPostLenght+fBarBearingPostExtra+bearingWidth)/2])

cylinder(h=fBarBearingPostLenght+fBarBearingPostExtra+bearingWidth,r=bearingID/2,center=true);

translate([0,0,fBarBearingPostLenght+bearingWidth/2])

cylinder(h=bearingWidth, r=bearingOD/2, center=true);

}

}

module fRollerSet()

{

translate([bearingOD/2,0,0])

fRoller();

translate([-bearingOD/2-sBarThickness,0,0])

fRoller();

}

//The inner bar has it's back against zero, the outer bar has it's inner part exactly measured to the gap.

module fBarRollerSide()

{

translate([fBarXStandoff,fBarYStandoff,0])

rotate([0,0,180])

fBarRollerAngle();

//Bottom set

translate([fBarXStandoff-fBarThickness,0,fBarBearingBuffer+bearingOD])

rotate([0,0,-90])

fRollerSet();

translate([sBarThickness,fBarXStandoff-fBarThickness,fBarBearingBuffer])

rotate([0,0,0])

fRollerSet();

//Top set

translate([fBarXStandoff-fBarThickness,0,fBarLength-(fBarBearingBuffer+bearingOD)])

rotate([0,0,-90])

fRollerSet();

translate([sBarThickness,fBarXStandoff-fBarThickness,fBarLength-(fBarBearingBuffer)])

rotate([0,0,0])

fRollerSet();

}

module fBarStaticArms()

{

translate([fBarXStandoff,fBarYStandoff-fBarWidth,fBarLength])

rotate([0,90,0])

angle(sBarWidth,tableDepth,sBarThickness);

}

module test_sideMounting()

{

angle(sBarWidth,fBarLength,sBarThickness);

fBarRollerSide();

}

module fetcher()

{

fBarStaticArms();

fBarRollerSide();

translate([0,-sBarHorizDistance,0])

rotate([0,0,-90])

fBarRollerSide();

}

//fetcher();

//----MAIN TABLE----

module shelfAngle() //TODO: replace this with the higher-level angle

{

union()

{

cube([sBarWidth,sBarThickness,tableDepth]);

cube([sBarThickness,sBarWidth,tableDepth]);

}

}

module leftShelf()

{ rotate([0,-90,0])

shelfAngle();}

module rightShelf()

{ rotate([90,0,0])

leftShelf();}

module shelfSet()

{

translate([sBarWidth-rollerTrackWidth,0])

{

rightShelf();

translate([0,-sBarHorizDistance,0])

leftShelf();

}

}

module verticleAngle()

{

union()

{

cube([sBarWidth,sBarThickness,sBarLength]);

cube([sBarThickness,sBarWidth,sBarLength]);

}

}

module mainTableStand()

{

//Verticles

verticleAngle();

translate([0,-sBarHorizDistance,0])

rotate([0,0,-90])

verticleAngle();

//Need to have some overlap with the front angle iron

translate([-tableDepth+sBarWidth-rollerTrackWidth,0,0])

{

verticleAngle();

translate([0,-sBarHorizDistance,0])

rotate([0,0,-90])

verticleAngle();

}

//Shelves

for( shelfN = [0 : numberOfTables-1])

{

translate([0,0,controlBoxHeight+(shelfN*tablesTotalDistanceBetween)])

shelfSet();

}

}

module totalSetup()

{

mainTableStand();

fetcher();

}

//translate([0,0,-20])

totalSetup();

Sunday, October 2, 2011

The new engineering center part II





Plans for building the house are well under way and the team to do so has grown: I now have a building, an architect, a pyrotechnical engineer, and a structural engineering firm. It feels strange that my largest project yet will be almost entirely built by other people. But it also makes sense: if you want something built for a good price, get people who have built many of them before.

In terms of the actual plans, the main floor is just over 1400 sqft and will be entirely devoted to engineering. I've even got a 1000lb crane that will be able to lift light vehicles from street level up the 20' to the main floor. The engineers are also giving it a more heavily reinforced 100lbs/sqft floor (vs the 40lbs that most houses have). Between those two specs I should be able to have just about any equipment needed, provided we can disassemble it enough to meet the crane's limit.

Of course, we still have to build it. One of the major issues will be getting material up onto the hill to even begin construction. I leave such things to the builder.