Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare for kitspace #22

Merged
merged 32 commits into from
Mar 9, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
58674b9
Merge pull request #1 from amchagas/master
amchagas Nov 5, 2017
4757eb1
update to pcbs. Both SMD and new through hole. PCB is untested.
amchagas Nov 5, 2017
80c0911
update 3d print files, and start the idea of having a library for com…
amchagas Nov 5, 2017
b86c5e1
change to gerber files
amchagas Nov 6, 2017
93206b6
Merge branch 'pcb_change'
amchagas Nov 6, 2017
6ec127f
update to pcb labels (corrected inverted values)
amchagas Nov 19, 2017
d4eceed
Merge remote-tracking branch 'upstream/master'
amchagas Nov 19, 2017
6a02a47
Merge branch 'pcb_update'
amchagas Nov 19, 2017
056816f
removed matrix commands from Arduino
amchagas Dec 30, 2017
7aa04e9
major revision to python code. Reduced the number of recursive functi…
amchagas Jan 2, 2018
9c2afe9
cleaned up arduino code. Changed answer token and removed code relate…
amchagas Jan 2, 2018
bfe2d17
created individual files for each part to be 3D printed. Should make …
amchagas Jan 2, 2018
f19d5c1
updated the PCB. Removed one of the voltage regulators (as everything…
amchagas Jan 2, 2018
5200524
3D print files cleanup
amchagas Jan 2, 2018
29ed9a0
Merge branch 'master' of https://github.com/prometheus-science/Flypi
amchagas Jan 2, 2018
44d1bd7
updated pcb, so that screw holes are equidistant from board edges
amchagas Feb 2, 2018
ac9aac5
moved untested scads to a specific folder and restored the already te…
amchagas Feb 2, 2018
12a8dac
Update README.md
amchagas Feb 2, 2018
78d7e6a
Update README.md
amchagas Feb 2, 2018
0657cc3
commented out libraries necessary for matrix
amchagas Feb 21, 2018
63f6718
update arduino code for ring with 4 leds per bit
amchagas Mar 6, 2018
1aa4d46
Start a kitspace BOM for the SMD version
kasbah Mar 7, 2018
1fadd1c
Add kitspace.yaml
kasbah Mar 7, 2018
993832b
update gerber1 folder to gerber
amchagas Mar 8, 2018
a28c60e
Merge pull request #2 from kitspace-forks/master
amchagas Mar 8, 2018
3048feb
Update kitspace.yaml
amchagas Mar 8, 2018
f9ed8a6
Merge pull request #3 from prometheus-science/kitspaceTH-PCB
amchagas Mar 8, 2018
d8e95cc
move gerber zip
amchagas Mar 8, 2018
aaf0245
Merge branch 'master' of https://github.com/prometheus-science/Flypi
amchagas Mar 8, 2018
5002136
update gebers
amchagas Mar 8, 2018
6d1d30b
found bug in gerbers
amchagas Mar 9, 2018
a82514c
Merge branch 'master' into prepare_for_kitspace
amchagas Mar 9, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
547 changes: 0 additions & 547 deletions 3D_print_files/FlyPi_v21.scad

This file was deleted.

160 changes: 160 additions & 0 deletions 3D_print_files/not_tested_yet/library/base.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
/* Part library for the frame of the FlyPi.
Written by AM Chagas, CC By 4.0 -

First publication: 21.12.2017

Derived from the work of T. Baden 2015.

The complete library was rewriten from scratch to:
- Be modular, each part is described and contained in one file
- common variables and modules are contained in "global files", so that they can be called from other files, and there is no need to re-write code.
- edges are made more circular, with Minkowsky calls, which makes rendering slower, but should lead to nicer prints.
- to facilitate larger scale production.

This was originally published as part of the product development for Prometheus Science (www.prometheus-science.com). Questions and inquires can be directed to the FlyPi Forum:
www.prometheus-science.com/en_GB/forums/forum/flypi-user-forum/


This files describes the base of the frame.
*/

include <global_modules.scad>
include <global_variables.scad>

$fn=100;

module tube(tubede=conntubed,
tubedi=conntubed2,
tubeh=conntubeh){
difference(){
cylinder(d=tubede,h=tubeh,center=true);
cylinder(d=tubedi,h=tubeh+1,center=true);
}//difference

}//module


module circholes(){
cylinder(d=conntubed,h=basey+5,center=true);
translate([0,conntubed+1,0]){
cylinder(d=conntubed+tolerance,h=basey+5,center=true);
}
translate([0,-conntubed-1,0]){
cylinder(d=conntubed+tolerance,h=basey+5,center=true);
}

}//module

module stabi(){
union(){
difference(){
cylinder(d=stabid,h=2*part_border-peltiercable,center=true);

translate([stabid/2-(stabid/2)/2,0,0]){
cube([stabid/2,partz,20],center=true);
}
}//translate
}//difference
}//module


/*
module roundbase(){
//minkowski(){
cube([basex,basey,basez],center=true);
// cylinder(d=1,h=1,center=true);
// rotate([90,0,0]){
//cylinder(d=1,h=1,center=true);
// }//rotate
// rotate([0,90,0]){
//cylinder(d=1,h=1,center=true);
// }rotate
//}//minkowski
}
*/
module base(){
union(){
difference(){

union(){
cube([basex,basey,basez],center=true);
//roundbase();
//stabilizer1
translate([0,-(basey-(2*part_border-peltiercable))/2,basez/2]){
rotate([90,-90,0]){
stabi();
}//rotate
}//translate


//stabilizer2
translate([0,(basey-(2*part_border-peltiercable))/2,basez/2]){
rotate([90,-90,0]){
stabi();
}//rotate
}//translate
}//union

union(){
//wall slit
cube([partz,basey-2*part_border-peltiercable,150],center=true);

//connecting holes
translate([basex/2,0,0]){
rotate([0,90,0]){
circholes();
}//rotate
}//translate

translate([peltierx/2+partz+conntubed,0,0]){
rotate([90,90,0]){
circholes();
}//rotate
}//translate

//peltier
translate([(basex-peltierx)/2-peltierborder,0,basez/2-peltierz/2]){
cube([peltierx+2*tolerance,peltiery+2*tolerance,peltierz+1],center=true);
}//translate

//peltier cable1
translate([0,peltiery/2-peltiercable/2,basez/2-peltierz/2]){
cube([basey,peltiercable+2*tolerance,peltiercable+2*tolerance],center=true);
}//translate

//peltier cable2
translate([0,-(peltiery/2-peltiercable/2),basez/2-peltierz/2]){
cube([basey,peltiercable+2*tolerance,peltiercable+2*tolerance],center=true);
}//translate

//marker led hole
translate([0,0,basez/2-markerledd/2-markerledz]){
rotate([0,90,0]){
cylinder(d = markerledd, h = basey, center = true );
}//rotate
}//translate

//marker led window
translate([peltierx/2-7,0,basez/2]){
cube([markerx,markerx,10],center=true);
}//translate

//hole below peltier
translate([(basex-peltierx)/2-peltierborder,0,19/2-peltierz/2]){
cube([peltierx-peltierridge*2,peltiery-peltierridge*2,50], center = true );
}//translate

//cleaning up material from the back part
translate([-basex/2-stabid/2,0,5]){
cube([basex,basey,15],center=true);
}//translate
translate([-basex/2+(basey-13)/2+5,0,5]){
cube([basey-13,basey-10,35],center=true);
}//translate

}//union
}//difference
}//union
}//module
//stabi();
//base();
121 changes: 121 additions & 0 deletions 3D_print_files/not_tested_yet/library/cam_mount_servo.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
/* Part library for the frame of the FlyPi.
Written by AM Chagas, CC By 4.0 -

First publication: 21.12.2017

Derived from the work of T. Baden 2015.

The complete library was rewriten from scratch to:
- Be modular, each part is described and contained in one file
- common variables and modules are contained in "global files", so that they can be called from other files, and there is no need to re-write code.
- edges are made more circular, with Minkowsky calls, which makes rendering slower, but should lead to nicer prints.
- to facilitate larger scale production.

This was originally published as part of the product development for Prometheus Science (www.prometheus-science.com). Questions and inquires can be directed to the FlyPi Forum:
www.prometheus-science.com/en_GB/forums/forum/flypi-user-forum/


This files describes the mount part for the camera and servo motor to control the lens distance from camera.

*/
use<cam_mount_waveshare.scad>
include<global_variables.scad>
//use<library/MCAD-dev/gears/involute_gears.scad>

$fn=100;
//sep = 0; // How far apart do pieces "float" in the model
//Walls = 5; // Global thickness of all walls
//Tol = 0.2; // Global gap between all parts that need to slide
servox = 23.7;
servoy=12.2;
servoxoffset=5.5;
// height of Servo is 29 in total, which is counted from the bottom


cogwheeld = 28.2;
cogwheel_R2 = 10.5;
cogwheelh = 10;
//cogwheel_Z2 = 4;
cogwheel_nteeth = 30; // should be divisible by 3
cogwheeldinner1 = 14+tolerance; // camera radius
//cogwheel_R_inner2 = 3.7+Tol/2; // servo axis radius
servocrossz = 3;
servocrossx = 4.5+tolerance;
servocrossy = cogwheel_R2*2-1;






module servoMount(){
translate([0,-(camy+posx)/2-part_border,0]){
difference(){
minkowski(){
cube([camx+2*part_border-mink_dia,
servoy+2*part_border-mink_dia,
partz],center=true);
sphere(d=mink_dia,center=true);
}//minkowski
union(){
translate([-servoxoffset,0,0]){
cube([servox,servoy,partz+5],center=true);
translate([(servox)/2,0,0]){
cylinder( d = 8, h = partz+5, center = true );
}//translate
}//translate
}//union
}//difference
}//translate

}//module servo mount



module cogWheel(){

for (i = [1 : cogwheel_nteeth/3]) {
rotate ([0,0,(i+0.5)*360/cogwheel_nteeth]) {cylinder($fn = 3, d = cogwheeld, h = cogwheelh, center = true );} // cogs wheel 1
}

}
module wheels(){
rotate([0,180,0]){
translate([0,50,0]){
difference(){
cogWheel();
union(){
translate([0,0,-servocrossz]){
cylinder(d=cogwheeldinner1+5,h=cogwheelh,center=true);
cylinder(d=cogwheeldinner1-5,h=cogwheelh-5,center=true);
}
translate([0,0,servocrossz]){

cube([servocrossx,servocrossy,servocrossz+0.1], center = true);
cube([servocrossy,servocrossx,servocrossz+0.1], center = true);
}//translate
}//union
}//difference
translate([0,2.5*cogwheeldinner1,0]){
difference(){
cogWheel();
union(){
cylinder(d=cogwheeldinner1,h=cogwheelh+1,center=true);
translate([0,0,-2.5]){
cylinder(d=cogwheeldinner1+5,h=cogwheelh-5,center=true);
}//translate
}//union

}//difference
}//translate
}//translate
}//rotate
}//module

module camera_servo(){
translate([0,0,-(partz)/2]){
camera(part_border=part_border);
servoMount();

}
}
63 changes: 63 additions & 0 deletions 3D_print_files/not_tested_yet/library/cam_mount_waveshare.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@


/* Part library for the frame of the FlyPi.
Written by AM Chagas, CC By 4.0 -

First publication: 21.12.2017

Derived from the work of T. Baden 2015.

The complete library was rewriten from scratch to:
- Be modular, each part is described and contained in one file
- common variables and modules are contained in "global files", so that they can be called from other files, and there is no need to re-write code.
- edges are made more circular, with Minkowsky calls, which makes rendering slower, but should lead to nicer prints.
- to facilitate larger scale production.

This was originally published as part of the product development for Prometheus Science (www.prometheus-science.com). Questions and inquires can be directed to the FlyPi Forum:
www.prometheus-science.com/en_GB/forums/forum/flypi-user-forum/


This files describes the a holder for a picamera. (from waveshare)
*/


use<global_modules.scad>
include<global_variables.scad>

module camera(){
difference(){
union(){
main(camx,camy,part_border,partz);
translate([-(camx+posx)/2-part_border+1,0,0]){
rotate([0,0,90]){
attachment(posx,posy,posz,
negx,negy,negz,
screwd);}
}
}//union

union(){

translate([0,0,partz*0.75-cam_pcb_z/2]){
cube([camx,camy,cam_pcb_z], center = true);
} // Cam_hole_ridge

translate([-camx/2-CamGroove_X/2,0,0+C_Z2/2]){
cube([CamGroove_X,CamGroove_Y,C_Z2+partz/2], center = true );
} // Cam_cable_groove

translate([camx/2-MiniGrooveX/2-C_ridge,-camy/2+C_ridge/2,0+C_Z2/2]){
cube([MiniGrooveX,C_ridge,C_Z2+partz/2], center = true );} // mini groove

translate([-camx/2+CamGroove_X/2,0,0+C_Z2/2]){
cube([CamGroove_X,CamGroove2_Y,C_Z2+partz/2], center = true );
} // Cam_bmup_groove


cube([camx-C_ridge*2,camy-C_ridge*2,partz*3], center=true);
}//union
}//difference
}//module camera


//camera();
47 changes: 47 additions & 0 deletions 3D_print_files/not_tested_yet/library/diffusor_mount.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@


/* Part library for the frame of the FlyPi.
Written by AM Chagas, CC By 4.0 -

First publication: 21.12.2017

Derived from the work of T. Baden 2015.

The complete library was rewriten from scratch to:
- Be modular, each part is described and contained in one file
- common variables and modules are contained in "global files", so that they can be called from other files, and there is no need to re-write code.
- edges are made more circular, with Minkowsky calls, which makes rendering slower, but should lead to nicer prints.
- to facilitate larger scale production.

This was originally published as part of the product development for Prometheus Science (www.prometheus-science.com). Questions and inquires can be directed to the FlyPi Forum:
www.prometheus-science.com/en_GB/forums/forum/flypi-user-forum/


This files describes the a holder for a light diffuser)

*/
include<global_modules.scad>
use<global_variables.scad>


Link_Opening = 1;
partx = 40;
party = 40;
partz=4.5;

diffuserx = 38.5+tolerance;
diffusery = 38.5+tolerance;

module diffusor(){
difference(){
union(){
main(party=party-mink_dia,partx=partx-mink_dia,partz=partz);
translate([0,-(-(camx+posx)/2-part_border+1),0]){
sideattachment(posz=partz);
}//translate
}//union
cube([diffuserx,diffusery,partz+10],center=true);
}//difference
}//module

diffusor();