I have 2 problems that drive my wife nuts

1) I collect junk to make projects. I will collect junk for YEARS with a project in mind. I have totes and boxes (and a basement and a garage) full of junk for projects that are missing 1 or two bits yet before I can work on the project. I develop skills and collect junk for projects I don't intend to start for 10 years.

2) I dream up stuff. Literally dream about problems, projects, and whatnot. I am a very firm believer of 'sleeping on a problem' as I quite often will solve it in my sleep. This is part of the reason I shower in the morning right out of bed. Those solutions come to me and I am just awake enough to hold on to them for the day.

What all of this TMI boils down to, is that last night I dreamed I built a roomba vacuum cleaner out of an RC car. I've dreamed on this often since the roombas first came out. My 3d printer is actually a 'part acquisition' towards this goal.

What was different this time, is that I realized in the shower that I had all the parts to do it.

11 years of collecting junk. It took me 2 months AFTER the last piece was acquired before I realized I'd collected everything.

I can build my SAROV! A Semi-autonomous Remotely Operated Vehicle. 

I can finally build the RC car I've been dreaming up for so long. One that is controlled by an regular RC controller, but has built in 'smarts'. Things like, you can't drive it into a wall. You can't drive it off a set of stairs, but you can jump it off the stairs. You can drive it around a track, and it will drive itself around the 2nd time. I can build some pretty neat steering and traction control modes. And the most interesting one, it can sweep my floor while I am driving it around.

Oh crud, I just realized my oscilloscope leads have been misplaced over the last 10 years… I hope I don't need them or I am sunk!

In album I’ve collected all the bits for my SAROV Semi-autonomous Remotely Operated Vehicle.

The last piece I need for a 15 year dream! I’d bought it at Radio Shack on clearance in September and didn’t realize that it was the last piece.

I have some old dusty batteries that are ‘junk’. This means they probably have a single bad cell in them. Time to cut them apart and make a bigger battery pack with the good cells.

My RC car collection. Well, of the non-toy variety.  There are 2 cars and 2 trucks in this box. I’ve only got 1 good speed controller and 2 radio sets between the 4 at this point. 

The speed controller is a racing unit, so it’s forward only. A bit frustrating for confined spaces.

The motor shield will be awesome as I just got reverse! It will be low-speed as it’s not NEAR big enough for the monster motors in these vehicles, but for the small space I have, that’s fine.

I am convinced I can place an arduino in between the receiver and the speed controller and run this car via remote control or by code on the arduino.

Basically a bare chassis. I don’t have enough Electronic Speed Controllers (ESC) to go around, so the motor shield would be useful here.  Receiver to arduino, and have the motor shield provide the power to the motor.

This is my main truck. I spent a LOT of time painting it up.  I just love this thing!

Yeah, I am a dork. I glued an old CPU to the truck body. Now I can make good on the premise and have a computer control the vehicle after all these years!

I have an old cordless vacuum that I’ve been saving to make a roomba type thing out of. Excited that I can do it now!

Something useful out of all of this…

I rebuilt my RepRap, and used a CMM and a spreadsheet to help me square the Mendal…

I rebuilt my RepRap, and used a CMM and a spreadsheet to help me square the Mendal Frame using 12 data points.

A Coordinate Measuring Machine (CMM) captures XYZ measurements of differing points taken in 3d space. The one I am using is old, retired, out of calibration certification, and at it's outside edge of accuracy and repeatibility specifications. It still is a useful tool though.

I used it to take a dozen points of my printer's print bed and X carriage at their extremes of movement.

I captured the same 4 spots on the print bed both all the way forward, and all the way back by using the laser cut bed mounting holes on the Y sled. This tells me if there is any lift or fall or twist in the print bed's travel.

I also took points on the X carriage's nut captures at the four extremes of it's travel. Bottom left, bottom right, top right, top left. When compared to the Y, I can see if the X is level and square to the Y but also if the Z is square to the Y. 

My spreadsheet, 
https://docs.google.com/spreadsheet/ccc?key=0Asb6Jfk9hsyhdHVHcmZvMFFjYUI0WHFuZVdjbXZZX2c&usp=sharing does an alignment of the captured points to the print bed. This gives meaningful measurement of the motion of the machine. You can look at the numbers and it makes sense because the front left corner of the print bed – where you home the printer, is assigned 0,0,0 and all points are a meaningful distance from 'home'. The CMM captures the points based on It's idea of 'home' and looking at the numbers is basically meaningless.

I then calculate some correction values at certain points of the printer frame knowing what's easy to adjust and what's hard to adjust.

I assume that the frame is assembled fairly square (I used a jig and measured it with the CMM so this is a reasonable assumption on my printer), so I adjust the moving bits within the frame. The Y sled is given a rotation movement distance, and the Z tower bottom ends are given movement distances as well.

A half dozen adjustments at the bottom of the printer drastically improved the squareness of the printer. 

While +Jerry Rodberg helped me immensely on the spreadsheet, I am still validating my assumptions, the spreadsheet's correctness and the validity of it's recommended moves. It is currently provided suggested corrections that are based off of the RepRap Prusa Mendal frame and how that style of printer can be adjusted.

I don't know that these are actually indeed the best way to correct squareness, and I am sure I will iterate the spreadsheet as I gain experience with it and people's suggestions. Printers of similar axis arrangement should also work with the spreadsheet with a bit of thought on alternate ways to get the desired corrections into the frame. Any Cartesian printer frame likely can be figured out using the same 12 points, and I plan on adding suggestions for different styles, such as gantry frames e.g printrbots.

I am also looking into using the CMM to square a Rostock style printer and verifying dimensions such as the 120 degree, equidistant towers, and that there is no twist going up the printer. But I expect that will require a different spreadsheet.

In album Squaring of my RepRap’s motion

The tweaks suggested in the spreadsheet using the data captured on this CMM improved the printing accuracy dramatically. It’s not perfect yet, but I am iterating the process as I am figuring out the steps that need to be taken.

Here you can see the whole of the ROMER portable CMM I used to measure the RepRap. It’s about all the arm wanted to do to fit in and around the printer. Being able to work off the surface plate – a very flat surface – sure did help a lot.

Assuming the jaws of my mic are square, you can see how bad this first print is by the light gap.

The first and 2nd print after the RepRap rebuild. The 2nd one is after tweaks suggested by my spreadsheet. It measures much more square and is visually better as well.

This is a whiteboard plan for measuring 12 points on a RepRap Mendal Prusa and calculating frame corrections to square up the XYZ in relation to each other.

This one isn’t perfect, but you can see it is a vast improvement.

I am in the process of rebuilding my Prusa Mendel RepRap

I bent the Z threaded rods pretty bad learning about the various ways to not use the printer. The Z wobble isolators helped, but it still had issues.

I had a few parts left to print out for an 'upgrade' that allows the printer to print much taller. I printed these in the last of my red ABS, because it was already loaded.

Slic3r just came out, so I used the wizard to create a new set of profiles. WOW, did the prints come out nice. Well, except for one weird thing where parts where embedded into the neighbors.

I tweaked some of my smooth rods that had some bow in them. They aren't perfect, but once bent, they never will be!  Rolling them on my surface plate shows the bends. Straighten them like a wooden arrow shaft, but without the heat.

I used a ROMER arm to square up the frame. The frame is pretty square. I am working out how to square the printer's motion now. I have an idea, but the math is beyond me. Hopefully somebody will help me with that.

In album Slic3r 1.0b Default Settings

I’ve never had such a perfect bridge in 2 years of printing on this printer!

This part is ‘designed for manufacturing’ with break away bridge supports. Awesome!

The leg on the bottom left is designed to break away as is the upper bridge arch. Very clever. Makes good use of the good bridging.

I try to get all ‘points’ directed towards the inside so that I have no long, thin fingers which are prone to lift when printed in ABS. I also use a fairly wide brim to keep all the bits connected to each other.  These two tricks has helped me print directly to heated glass with ABS reliably.

Note the highlighted part has a good gap between the main part. The top left part is basically lined up with the big part.

A fairly clean part. The problems visible here are not Slic3r’s fault but mechanicals on the printer such as some Z issues from bent Z rods and a thermal issue near the top of the tall tower where the printer somehow doesn’t get updated temps and the hot end temp climbs.

This is a problem, these two parts are buried into the next part. There was a good gap on the plating screen.

All the little parts are shifted. The part that was on the upper left in the previous screen is now strongly overlapped. Two of the parts have been shifted into the big part body.  It literally printed the overlapping areas twice – as if Slic3r thought they where properly spaced. Bizarre behavior.  I wonder if it’s a repeatable bug? Possibly related to the 3mm brim?

The heat climbed up crazy high again. I jiggled my wires, the printer ‘caught’ the right temp and thermal shut down the hot end as it was near 300c!  I figured out this ‘jamming’ issue i’ve been having at last. Good thing this is the LAST part print for printer upgrades. The printer will get tore down and get the Z issues fixed and the temp probing will get double wired so hopefully this won’t happen again unless both sets of wires break.

I just moved the Z down manually and let it pick up. I lost about 1mm but I think that’s OK. I hope that’s not a critical measurement in this part.  Ugly print, but good enough for now. I may re-print this part when I get the printer rebuilt.

Stripped the printer back down to the frame.  A sad day.

I had to cut the printed parts apart from the shift. How bizzarre.

At least the part I needed (the big one) is in a good way. The little bits are basically junk. Too much removed from one side to be usable.

I’d tried the tablets on the bench here to run the printer before I tore it apart, no luck. Maybe after it gets put back together?

Lots of measuring. Lots of moving the carriages about and re-measuring. Trying to make sure that they track straight. Ideally, I’d like to know that they are tracking perpendicular to each other, but I can’t figure out how to measure that directly. Going to need to measure a calibration print and check that for squareness I guess.

Here you can see the whole of the arm I used to measure the RepRap. It’s about all the arm wanted to do to fit in and around the printer. Being able to work off the surface plate sure did help a lot.

I am struggling with some math (surprise, surprise!)

I have figured out how to square up my RepRap 3d Printer with my ROMER arm. I am just unable to do the math to make it happen.

If I take a total of 12 XYZ points. 4 on the print bed with it all the way forward, 4 with it all the way back, and then 1 point on the X carriage with it in the 4 extremes of it's movement, I can calculate how square each axis is to each other.

I just need to transform the input data into a new coordinate system so my mind can make sense of the points.

A-B should be along the X axis and A-D should be along the Y axis. This is called an alignment – I am just redefining the coordinates to something on the printer as opposed to those captured by the measuring device.

Rotated thusly, I can look at C and know if it's high or low. I can also look at EFGH and know if my print bed is tracking correctly. IJKL can be tweaked to be perpendicular to the print bed's travel using actual, real measurements of adjustment.

I remember matrices from college. I remember flunking the class they where in repeatedly. I remember changing majors to something that doesn't require that class. I've looked for some example spreadsheets, downloaded them, and they are as opaque to me now as they where back then.

I need a spreadsheet where I enter my 12 XYZ coordinates, and next to them I get the transformed points. The calculations should happen below on that sheet. Could somebody help me (read as 'make this for me')? 

My wife bought me a $50 black Friday seven inch Android tablet

It charges via a barrel jack. It has USB OTG.

I must connect it to an arduino. I must connect it to my RepRap!

I must make a USB OTG cable. I grabbed an old USB charger and started to work with that. I broke one of the pins off. DOH!

So I attacked a new USB cable I'd gotten to charge my phones. It only has 4 pins! Careful examination shows that the 5th is short and is buried in the plastic. So I clipped some of the plastic off and solder bridged it to the ground pin.

It worked! I got it to talk to my arduino clone. Its a little bit flakey, not every upload is successful.

In album USB OTG

The tablet talks to the arduino! Success!

I thought I was clever by using wires to stub out the pins to verify my solder bridge worked. Took me a while to figure out I was grounded to the housing. I ended up measuring to the far end of the cable to check it before I plugged it into anything.

I was upset the cable didn’t work at first with the mouse. Can you tell I was tired?
It worked much better when I plugged it in instead of the cut off bit of USB cable.

4 spots when I need 5. Solder bridge to the rescue.

The bridge is buried in there on the left side.

I Strip the wires short…

As the heat from tinning them well expose more wire.

Tolerable job on the cable I think. The sheild ground isn’t actually connected to the jack on either side it appears even though there is a pin for that purpose on the micro usb side.

WordPress Appliance - Powered by TurnKey Linux