Loading
Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Dr.RobotLabs Repstrap Openscad Library

by htsrjdrouse, published

Dr.RobotLabs Repstrap Openscad Library by htsrjdrouse Feb 19, 2013

Description

When I have tried to make repstraps in past I get stuck not having openscads sometimes.

I updated this a little to improve the stability of the box and to make it more square (corner_block(), angled_alignments(), and xymotormount_support().

So wanted to make a totally openscad assembly like seeing it all together while building.

This is a openscad function library listing parts of repstrap that was put together for doing liquid handling tasks and automated microscope imaging. I like to think its an appropriate design for doing these things but I am sure it will change as things go.

The idea behind the openscad library is that you sort of put together the robot virtually.

Recent Comments

view all
thanks for the feed back I am working on improving the frame by putting corner brackets, also I want to make the openscad library less cryptic by having some more examples. ideally I want to have the frame sort of scaleable the designer can input the variables the thing changes size
i am building something similar, the outer dimensions will be 580x520x520. im also using open rail and v bearings instead of smooth rod, although i may decide to change it up and use smooth rods for the z axis, as that wont suffer as much abuse as the x and y. currently i have a prusa mendel, and i think the whole moving bed is stupid. it makes the whole thing wobbly and it makes the footprint of the whole machine large, i think the darwin and ultimaker style is the best way to go.
you should definitely look at the z-axis of cartesio by mauk. if i´m getting it right, they added linear brass bushings below and above their platform mountings right on the threaded rods. it seems to give sufficient stabilityy to the axis.

btw. i´m building a cubish cartesian out of extruded aluminum too, and searched for inspiration on designing the z axis, as right now I'm finished with the y and x axis.

Good work you two !

More from Engineering

view more

Liked By

view all

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag

Instructions

Here is list of openscads thus far. We are still adding features one thing is that it needs corner brackets to make stronger like so http://www.thingiverse.com/thing:39591 and I want two belt clamps on axis sliders ...

Also I do not include the pulleys, probably have to import them as .stls since maybe too CPU intensive. That is a bummer about openscad but the good thing is that its totally parametric.

It may be my inexperience but not all the objects render all in one openscad for example the xymotormount() doesn't render unless you color it (#xymotormount()). I have seen this for the cross_slider_assy(). So if you want to see them, just call the object individually. Eventually when this is in better shape we will export the .stls and maybe show the .stls assembled.

You can see the whole assembly if you do something like this.

Open a new openscad, call the library like so:

include .. your dr.robotlab_repstrap.scad library complete_assembly();

Also made a web tool for editing gcode for liquid handling: https://github.com/htsrjdrouse/Flask-microArray-gcode. So you make gcode then run it in pronterface.

--module-- anglecornersupport() - top corner support used to cap the tslot end tooaxis_slider_assay() - is the total axis slider assembly axis_slider_base() - is the base of the total slider assembly axis_slider_beltplate() - is the plate for screwing timing belt onto the axis slider connected to axis slider axis_slider_plate() - is the plate for screwing timing belt onto the axis slider not connected to axis slider axis_slider() - is axis slider base part not including bearing holder axis_slider_beltclamp() - is the one side of axis slider assembly that is used for clamping timing belt axis_slider_shaft() - is the shaft part of the axis slider bearingmodel - just to help visualize the rod alignments box(w,h,d) - basic box library (its from thingiverse) BottomRodHolder() - bottom smooth rod support it has a m4locknut for clamping BottomThreadRodHolder() - bottom thread rod support Bearingholder() - sized for holding a 608 bearing for Z drive Bearingholder() - sized for holding a 608 bearing for XY drive .. the original holder which was too loose for the smooth rods bearing() - LM8UU bushing holder inspired/derived from: http://www.thingiverse.com/thing:14814. Note: LM8UU_dia varies sometimes I have 15.2 other times 16.2 //for cross slider use 16.2 this is current ... because I have different bearings ... 16.2 for axis sliders. mount_plate() works with it.

CornerscadB(cx,cy,cz) - Part B for the top corner brackets (both for threaded and smooth) CornerscadA() - Part A for the top corner brackets (both for threaded) cornerelement() - calls CornerscadA and CornerscadB for rendering the corner for threaded rod also calls the Bearingholder complete_assembly(x,y,z,br) - is the complete assembly with all parts on it cornersupport() - top corner support right next to anglecornersupport() cubeassembly() - is the tslot assembly of the whole instrument carriagebearing() - is the linear bearing holder that fits with the cross slider plate carriagebearing_h() - is the linear bearing holder that fits with the cross slider plate that is 9mm higher cross_slider_assy() - is the cross slider assembly with bearings fitting in crossslider_coupler() - is the part that is connected to the cross_slider_plate that interfaces with the carriagebearing cross_slider_plate() - is the cross slider plate which the extruder / dispenser can be connected to dancross_slider() - calls Dan's original cross slider plate dan_m3locknut(l) - is m3 lock nut extrusioncube() - calls the extruded aluminum part footbase() - adjustable feet on corners of instrument hexagon(height, depth) - basic hexagon library (its from thingiverse) m4locknut() - locknut for clamping things on a 8mm smooth rod motormount() - z motor mount just the part that holds the motor (could be used for xy motors) MotorBottomRodHolder() - is the clamp that attaches to 20mm aluminum extrusion MotorBottomRodHolder() - for holding threaded rod for z drive assembly mount_plate() - is part of LM8UU set up axis_slider_beltclamp2() - is the other side of the axis slider assembly that is used for clamping timing belt roundedBox(size, radius, sidesonly) - is Marius Kintel roundedBox library smoothCornerscadA() - Part A for the top corner brackets (both for smooth) smoothcornerelement() - calls smoothCornerscadA and CornerscadB for smooth rod also calls the m4locknut shaft() - is part of the z bed thread holder that holds the platform TopXYBearingHolderBracket() - sized for holding a 608 bearing for Z drive. This was used for the xy a 608 bearing for XY drive and its the module that you call when you want to see the whole assembly This one was tricky because the lower bearing was tight fit at 11.2 but the upper bearing loose so created another function XYBearing for this tigher fit this maybe because one side is printed in x direction and other side printed in y direction TopXYBearingHolderBracket() - sized for holding a 608 bearing for Z drive. This was used for the xy a 608 bearing for XY drive and its the module that you call when you want to see the whole assembly This one was tricky because the lower bearing was tight fit at 11.2 but the upper bearing loose so created another function XYBearing for this tigher fit this maybe because one side is printed in x direction and other side printed in y direction TopXYLowerBearingHolderBracket - this is the open bracket holder so that means its just easier to move. You need to print 2 per corner and they have to be mirror images so you use this in OpenScad command -- mirror([0,0,1]) tslot20innerbracket() - is a bottom corner support teardrop(radius, length, angle) - creates a teardrop shaped hole tslot - Nathan Zadoks 2011 tslot library tslot20(length,nut) - is part of Nathan Zadoks 2011 tslot library tslot30(length,nut) - is part of Nathan Zadoks 2011 tslot library tslot30_3060(length,nut) - is part of Nathan Zadoks 2011 tslot library XYBearingholder() - sized for holding a 608 bearing for XY drive xymotormount() - this is the xy motor mount. For some reason I have to color them to see them (#xymotormount()) zbedthread() - z bracket that travels down threaded rod for holding bed zbedclampsmooth() - z bracket that travels down smooth rod for holding bed zbedslot() - this is a cooler z bed holder for holding tslots

i am building something similar, the outer dimensions will be 580x520x520. im also using open rail and v bearings instead of smooth rod, although i may decide to change it up and use smooth rods for the z axis, as that wont suffer as much abuse as the x and y. currently i have a prusa mendel, and i think the whole moving bed is stupid. it makes the whole thing wobbly and it makes the footprint of the whole machine large, i think the darwin and ultimaker style is the best way to go.
thanks for the feed back I am working on improving the frame by putting corner brackets, also I want to make the openscad library less cryptic by having some more examples. ideally I want to have the frame sort of scaleable the designer can input the variables the thing changes size
looks a bit like my repstrap
http://www.thingiverse.com/thing:13954
nice work in scad. one thing i would do, is add linear bearings (LM8UU or something) to the z-Axis. Just 2 additional rods in z-direction, since the threadded rods do not define the bed in xy-direction (this tends to wobble)
reprap cube - speed optimized, big built aerea, replicating
by goaran
Yes its a derivative or yours and original Darwin. I like the box thing, because you can enclose it, you can snap on various positioning rods ... the thing about your smooth rod idea is that it was so wobbly for me, but the smooth rod solution is available as functions in this openscad file - smoothCornerscadA() and smoothcornerelement() ... its just not on this design, I guess want to assembly various optional functions and end users decide what they want.
you should definitely look at the z-axis of cartesio by mauk. if i´m getting it right, they added linear brass bushings below and above their platform mountings right on the threaded rods. it seems to give sufficient stabilityy to the axis.

btw. i´m building a cubish cartesian out of extruded aluminum too, and searched for inspiration on designing the z axis, as right now I'm finished with the y and x axis.

Good work you two !
Another thing I was thinking was have 2 z drive motors with the option of reprogramming one of them to make a pump or something. Also the brackets are such so you can easily mount another motor. You can also mount smooth rods for positioning stuff easy (ie., chemistry monkey bars).
Top