Welcome! Log In Create A New Profile

Advanced

Cheapo90 need help

Posted by terramir 
Cheapo90 need help
August 13, 2014 12:09AM
if you look at the pictures attached you'll see some interesting choices,
#1cheap particle board a little ticker than 12 mm but that only matters with the spool holder I'll have to hack those holders.
#2 5/16 drill rod and oillite bushings are smooth as heck should last a bit and well here's where the problem starts I hacked the scad file for the bearing holder and well, here's the problem somehow the fence is off while the bearings fit only the zip tie will hold them not the fence.
module bearing_holder(bearing, bar_height, populate = false, rad = 0) {
    bearing_length = 19.1; //bearing[0];
    bearing_dia = 11.15; //bearing[1];
    below = 6 * bearing_dia / 15;
    height = bar_height + bearing_dia/2 - below;
    offset = below + height / 2 - bearing_dia / 2;
    fence = 1.2;
    fence_width = sqrt(bearing_dia * bearing_dia - 4 * below * below) + eta;
    width = bearing_holder_width(bearing);
    length = bearing_holder_length(bearing);
    fence_offset = bearing_dia / 2 - fence + (fence + 1) /2;
these are the changes I made I didn't want to mess with too much because I wanted the drill mask to still line up, could use some help
terramir
Attachments:
open | download - terramir90front.JPG (461.1 KB)
open | download - terramir90rear.JPG (573.4 KB)
Re: Cheapo90 need help
August 13, 2014 03:47AM
You shouldn't be hacking the code. Instead you should have added a new bearing definition to [github.com] and select it in the config file. The same with the thicker panels. The problem is you should have done that before generating the drill templates as the bearing holders will shrink to fit the bearing, so the screws will not be in the same place. Also the offset to the bars will change, which will affect everything, maybe even the overall size of the machine.

To make a bearing holder for a smaller bearing but with the same footprint you do need to hack the code in a big way because the size is defined as

function bearing_holder_length(bearing) = bearing[0] + 2 * (end_wall + clearance);
function bearing_holder_width(bearing) = bearing[1] + wall * 2;

So the uses of end_wall and wall in the module need to be overridden to be bigger. You will also have problems with where the centre of the bearing is as that is define by bearing_dia but you have bodged that. So you need to add new variables such as bodged_wall, bodged_bearing_dia, etc, and use those in some places and the originals in other places. You will need to do a similar thing for the x_ends.

A simpler solution might be to make a printed adapter that fits around your bushing and makes it the same size as the bearing you selected in the config.


[www.hydraraptor.blogspot.com]
Re: Cheapo90 need help
August 13, 2014 05:59AM
Yeah well I'm using almost 8mm instead of 10, which would be the sturdy so the parts I printed out mostly are for the acrylic version, but I also taped the drill templates to either top or bottom because my machine will be a little bit taller, I have not made a print bed yet because I figured I would end up with some drill issues which I would want to measure, have not decided what material I will be making the bed out of either at this time cause the thickness will make this a little hefty, unless I cut away a bunch of material in spots not needed.
well, I will have to add a fudge factor like you suggested, but right now I'm more worried about the x-ends, one thing I did figure out is that the 8mm smooth rod holders while having the same drill foot print as the 10mm the distance between the rods is over 154mm so I will need to breakout my manual caliper which is bigger to ensure the distance is accurate on both sides
I might need some help with the github definition for the oillite 5/16 here are the measurements (in which file does the definition live btw and in which file do you select that definition? outside diameter is 11.15mm length is 19mm inside diameter is approx. 7.94mm and the smooth rod diameter is 7.93 by definition wall thickness is about 1.61 measured.
I looked at the config file see the place to select the bearing, but I have not found the place to define the bearing itself. I'd also like to change the belts to gt2, I have pulleys on some of the motors winking smileyand the z-screws to approximately 6.35mm (i.e. 1/4 inch (easy to source, cheap and is just thin enough to work with tubing couplers and also would cut down on z-wobble. that would be 1/4-20


terramir

Edited 1 time(s). Last edit at 08/13/2014 06:03AM by terramir.
Re: Cheapo90 need help
August 13, 2014 07:08AM
The github link in my previous post shows where the linear bearings are defined. They are then referenced in whatever config file you are using.

If you are not making one of the standard machines you should copy the config file of the closest one, edit it and then generate all the files with make_machine. You can specify a taller Z, GT2 belts and pulleys, select your new bearings and define a new panel thickness. You can also define non metric fasteners in the various vitamin files and get nut traps in the X ends that fit 1/4", etc. All the parts, drill templates and the BOM are then generated to match.

The problem is you need to do that before you start building it! Any little change tends to slightly affect everything. For example GT2 belts will change the tooth pitch of all the belt clamps but because the thickness is less it will change the centre line of the belt slightly. That will change the height of the Y bars slightly as they are aligned with the belt. All these things cascade and make every thing a little bit different in hard to predict ways. In some cases you can get away with it, for example the belt being a fraction of a mm off centre makes no difference but where screw holes, etc, need to line up you could run into problems. As soon as you start bodging the code you run the risk of things not fitting together properly. For example with your current bodge the centre line of the bearings will be different in different parts of the code so the bed would be lower than expected and will probably hit the Y motor. Ideally you would review it in OpenScad to see everything looks sensible before printing parts.

The 10mm bearings holders don't have the same footprint as the 8mm ones. Everything scales to be no bigger than it needs to be.

Edited 1 time(s). Last edit at 08/13/2014 07:18AM by nophead.


[www.hydraraptor.blogspot.com]
Re: Cheapo90 need help
August 13, 2014 11:19AM
well gonna fix the files today I wonder do I upload a pull request on git hub to add the 5/16 rods? well not all is lost as of now I have not printed too much so I should be able to fiddle with the configuration file for the z-height and the thickness of the boards and the bushings and see what I can get away with.most of the holes I did pre drill were done with like a 1.5mm drill bit cause that's what I had handy at the time and that should not cause too much problems if I have to shift things around. I will hope that the standard frame will not change too much and I can get away with what I'm doing without too much fudging. Thanks for the link need to get some sleep, would like to know if I can just add or if I need to place it as a pull request though.
terramir
Re: Cheapo90 need help
August 13, 2014 12:32PM
You can just make the changes on your local files. When you have it working you can submit a pull request if you are familiar with git.


[www.hydraraptor.blogspot.com]
Re: Cheapo90 need help
August 14, 2014 12:07AM
got three questions right now, #1 where does MDF12 live as a definition I can find it the sturdy.scad as a variable but I dunno where it is defined.
#2 I defined the "bearing" as OL516 which is actually a sleeve type, but what would I have to change in the rest of the file in order to reflect it in the rendering. or will just adding OL516 = [19, 11.11, 7.93]; suffice


//
// Mendel90
//
// GNU GPL v2
// nop.head@gmail.com
// hydraraptor.blogspot.com
//
// Linear bearings
//
LM10UU = [29, 19, 10];
LM8UU  = [24, 15,  8];
LM6UU  = [19, 12,  6];
LM4UU  = [12,  8,  4];
OL516  = [19, 11.11, 7.93];

function bearing_length(type)  = type[0];
function bearing_radius(type)  = type[1] / 2;
function bearing_rod_dia(type) = type[2];

module linear_bearing(type) {
    vitamin(str("LM",type[2],"UU: ","LM",type[2],"UU linear bearing"));
    color(bearing_color) render() rotate([0,90,0]) difference() {
        cylinder(r = bearing_radius(type), h = type[0], center = true);
        cylinder(r = type[2] / 2, h = type[0] + 1, center = true);
    }
}

#3 I may want to add this as a machine type (as in "cheapo" or terramir's imperial sturdy) can I just resave the sturdy file with the changes under a different name and change the file name in machine.scad?

terramir
Re: Cheapo90 need help
August 14, 2014 04:54AM
1) scad/vitamins/sheet.scad.
2) It is just rendered as a grey cylinder. If you want it to look more realistic you could add a colour value to the definition. Also the bom entry assumes it is an LM11.11UU so that would also need to be part of the definition. All in all non-metric is a pain to support properly as all the measurements are fractions.

3) Yes you change the file name. You don't manually change machine.scad. It is generated by make_machine to which you pass the machine name. All the files are then built in a sub directory of that name.


[www.hydraraptor.blogspot.com]
Re: Cheapo90 need help
August 16, 2014 01:45PM
well having some problems with python will try today on my dual boot lappy with windowz.
#2 in sheets scad the first definition is MD I assume for MDF, I'd like to change that to PB for particle board however I dunno where that definition lives
#3 PB5/8 is actually 16mm thick almost down to the 1/100 of a mm, goes to show you at least in pressed wood products metric has crawled inself into existence
anyways this is my update so far.
terramir
Re: Cheapo90 need help
August 17, 2014 09:19PM
need some help with some values again because I'm measuring m3, m4, m8 nuts I have an well I cannot assume the corresponding values, because I can't match measured values very well
for example my m3 regular nut is 5.49 between flats and 6.19 between points but the second value is 6.4, but my nyloc m3 nuts may be different
M2_nut    =   [2, 4.9, 1.6, 2.4,  M2_washer,     M2_nut_trap_depth];
M2p5_nut  = [2.5, 5.8, 2.2, 3.8,  M2p5_washer, M2p5_nut_trap_depth];
M3_nut      = [3, 6.4, 2.4, 4,    M3_washer,     M3_nut_trap_depth];
M4_nut      = [4, 8.1, 3.2, 5,    M4_washer,     M4_nut_trap_depth];
M5_nut      = [5, 9.2,   4, 6.25, M5_washer,     M5_nut_depth];
M6_nut      = [6, 11.5,  5, 8,    M6_washer,     M6_nut_depth];
M6_half_nut = [6, 11.5,  3, 8,    M6_washer,     3];
M8_nut      = [8, 15,  6.5, 8,    M8_washer,     M8_nut_depth];
A definition like i.e. // m(x) nut =[ diameter of screw, measured distance between flats (I am assuming) or measured distance between flats plus fudge factor or measured distance between points),nut_height?, something, m2washer =diameter (or thickness) of washer(variable lives in file x.scad), m2_nut_trap_depths= height of nut plus layer height for example (variable lives in file y.scad)

please help confused smiley

terramir

Edited 2 time(s). Last edit at 08/17/2014 09:35PM by terramir.
Re: Cheapo90 need help
August 18, 2014 08:19AM
Quote
terramir
well having some problems with python will try today on my dual boot lappy with windowz.
#2 in sheets scad the first definition is MD I assume for MDF, I'd like to change that to PB for particle board however I dunno where that definition lives
terramir

"MD" isn't a definition it is just an arbitrary string used to construct unique part numbers that I use myself for stock management. "PB" will work fine.


[www.hydraraptor.blogspot.com]
Re: Cheapo90 need help
August 18, 2014 08:39AM
The nut's diameter is specified across the corners of the notional hexagon I use to model them. They are not measured, they come from engineering data sites. Actual nuts have rounded corners and tolerances, so if you measure them they will be a bit smaller. Multiply across flats by 1/cos(30) to convert.

The two heights are for the plain and nyloc versions.

Mendel90 is written in an object oriented style so all objects are represented by lists of attributes that are then passed to functions and modules that operate on those objects. M2_washer is such an object modelled as a list in vitamins/washers.scad.

In general you can see what the attributes are by looking at the accessor functions under the table.

Edited 1 time(s). Last edit at 08/18/2014 08:40AM by nophead.


[www.hydraraptor.blogspot.com]
Re: Cheapo90 need help
August 21, 2014 11:52PM
I'm not making much progress I'm afraid because I cannot get the python scripts to work in either macosx or windowz
But I posted about this in another thread here!!!
terramir
Sorry, only registered users may post in this forum.

Click here to login