3D Printing


(Pixelchain) #41

same here :smiley:


(Jac Kersing) #42

I have some Taulman nylon and that most definitely requires a sealed bag, or even better drybox. Made the mistake to store it in a bag with a hole and now it needs drying because it hisses and cracks like mad.

Also a big no no is to store (some) filament where UV can get to it. ABS Filament became brittle and snapped (in the printer head).


(Duineuk) #43

Yup, nylon is extremely hygroscopic and needs to be kept dry.

TBH, none of the filaments react well to moisture, but keeping mine in an internal cupboard in the dark has working fine so far. I’ve got spools > 9 months old that are still OK. But the correct advice is definitely to keep them sealed.


#44

an antenna mount to be printed on a 3d printer (ask @gonzalo what type it is) for an N-type connected antenna with a N-Type to SMA adapter like this


The antenna adapter looks like this

in the model and when printed

The 3d model was created with OpenScad (www.openscad.org) rendered by pressing F6 and then exported as .stl and finally printed on my 3d printer. OpenScad is a 3d design language, i.e. needs some programming skills and experience to be used.
The code to produce the part is this

// A mount for a LoRa antenna pole.
// Created by Hanspeter from funlab.ch
// Version with a middle part to hold an N-Type Antenna by its N-Type to SMA adapter
// Hacked together code, not fully customizable. If dimensional setting values are
// changed, other hardcoded parameters must be adapted too. 

$fn=250;   // for making pretty round circles

// dimensional setting values
base_width = 90;
base_hight = 70;
base_thickness = 7;
outer_diameter = 31.2;
inner_diameter = 21.2;
middle_diameter = 16.3;
length_of_middlepart = 8.5;	
mounthole_diameter = 3.2;		

difference(){
// create the antenna fixing
union(){
roundedBox(base_hight,base_width,base_thickness,2);
translate([0,0,16])rotate([0,90,0])tube2(base_hight,inner_diameter,outer_diameter,center=true);
translate([5,0,16])rotate([0,90,0])tube2(length_of_middlepart,middle_diameter,outer_diameter,center=true);
rotate([15,0,0])translate([0,16.5,3])cube([base_hight,5,15],center=true);
rotate([15,0,0])translate([0,14,1])cube([base_hight,7,7],center=true);
rotate([-15,0,0])translate([0,-16.5,3])cube([base_hight,5,15],center=true);
rotate([-15,0,0])translate([0,-14,1])cube([base_hight,7,7],center=true);
};

// create the mounting holes
union() {
translate([25,32,-5])cylinder(base_thickness+3,d=mounthole_diameter);
translate([25,-32,-5])cylinder(base_thickness+3,d=mounthole_diameter);
translate([-25,32,-5])cylinder(base_thickness+3,d=mounthole_diameter);
translate([-25,-32,-5])cylinder(base_thickness+3,d=mounthole_diameter);
}
// the final part is the full fixing minus the mounting holes 
}
/*
 *  Partial OpenSCAD Shapes Library (www.openscad.org)
 *  Copyright (C) 2009  Catarina Mota
 *  Copyright (C) 2010  Elmo Mäntynen
 *
 *  License: LGPL 2.1 or later
*/

// size is a vector [w, h, d]
module box(width, height, depth) {
  cube([width, height, depth], true);
}

// size is a vector [w, h, d]
module roundedBox(width, height, depth, radius) {
  size=[width, height, depth];
  cube(size - [2*radius,0,0], true);
  cube(size - [0,2*radius,0], true);
  for (x = [radius-size[0]/2, -radius+size[0]/2],
       y = [radius-size[1]/2, -radius+size[1]/2]) {
    translate([x,y,0]) cylinder(r=radius, h=size[2], center=true);
  }
}

// with inner and outer diameters
module tube2(height, ID, OD, center = false) {
  difference() {
    cylinder(h=height, r=OD/2, center=center);
    cylinder(h=height, r=ID/2, center=center);
  }
}

#45

I agree, I store my spools in a plastic container with a bag of silicagel to keep it try. I take the filament out of the box 1 day before printing, because when too dry it easily breaks.


(Amedee) #46

I am printing om a regular basis, but not in huge quantities. Over the years I have accumulated about 20 spools or so of different types.
They are just in plastic storage boxes, and my 3-4 years old filament still prints perfectly well.
As already said, I do however take special care of Nylon as it won’t print nicely when saturated.


(Duineuk) #47

That’s a nice case. Printing one right now… should be pretty easy to mod (if needed) for the gnz backplane:


(Amedee) #48

Compared to @dbrgn backplane, the one from @gonzalo extends to the right (in my picture), so not sure it will fit without mod…


(Note that the IMST board is not at the correct scale here :wink: )

Probably need to shift the RPI a bit on the left side…


(Duineuk) #49

I do 3d design like I write code. Do it, figure out what’s wrong, then iterate :wink:

Seriously tho, I find it easier to work and visualise like that than measuring up and laying out. Especially if it’s a mod rather than a fresh design.


(Amedee) #50

Same here – that’s also nice with 3D printing; except time it does not cost a lot to iterate.

Here is a previous iteration…

And yes, I figured out in the meantime that I had the antenna in the wrong connector :blush:


(Duineuk) #51

I might need to see if I can find an engineering assistant like yours. My cats are useless :slight_smile:


(Duineuk) #52

Looks like it fits OK, although I haven’t completely printed/assembled the case yet.


(Amedee) #53

Yep, it looks OK – The top part is absolutely symmetrical, so I think it will work :wink:


(Duineuk) #54

The only problem is the fan mounting… even if i flip it round, it’s fractionally too close to the board. I might just move it to the other end of the case.

Nice case tho!


(Amedee) #55

Would you like a longer version (1cm or so)?
I can also shift the RPI slightly to the left…
My model is parametric, so it is just the matter of changing the values (if all goes well :roll_eyes: )


(Duineuk) #56

Thanks, that’s kind. I’ve moved both the fan and SMA connector to the other end of the unit; I’m thinking of using the ‘front’ as a display. Either status LEDs from the iC880a and GPS module, or a proper LCD/OLED if I get really carried away :wink:

And I’ll probably change the power input to a micro-USB and use a standard RasPi PSU. They’re good for 2.5A, move then enough for this setup.

This is what I love about 3DP prototyping. 10 mins in an editor to mod the design, 30 mins to print, estimated cost 0.36p :slight_smile:


(Amedee) #57

For the display I was thinking using the Adafuit PiOLED or similar, this is fun for getting some infos.

But at the end, my gateway is ‘out of reach’ so it doesn’t really matter. I do monitoring with Collectd/InfluxDB/Grafana.

For the power, it makes sense to go directly to the Pi when you power with 5v – In my case I use the regulator in Danilo’s backplane, and power in 12V.


(Duineuk) #58

I’m using Resin for gateway deployment/control - overkill, as I only have a dev and a production box, but it’s a good way to learn the tool.

I’ve just got Prometheus/Grafana set up on my desktop Mac, although I’ve not got as far as setting up the dashboards.

So in the last week or so I’ve used Resin, Docker, Prometheus and Grafana for the first time. It’s reassuring my brain is still able to learn new tools and processes :wink:

I’m going to end up making a few mods to this case, I think. I’ll link through to your original on YouMagine, but more people would probably find it useful if it were on Thingiverse - would you consider uploading it there as well?


#59

lol… that supprises me to … but when your older your FIFO buffer starts working faster :rofl:


(Amedee) #60

Yeah… I am looking at Prometheus as well in case I eventually go to resin.io (as you say, with 2 gateways that will offer a huge improvement in productivity :roll_eyes: )
The thing that I don’t like too much with resin.io is that it is single app container (for now), and I prefer isolate different services in different containers (and no, I don’t want to do DIND).

Yes, I will – Also the “remix” concept is much better than the “link” they have on YouMagine…