Open bioreactor : Différence entre versions

De Nicelab
Aller à : navigation, rechercher

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 856

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 857

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 584

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 584

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 605

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 240

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 241

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 240

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 241

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948

Deprecated: assert(): Calling assert() with a string argument is deprecated in /datas/vol3/w4a157096/var/www/wiki.nicelab.eu/htdocs/includes/diff/DairikiDiff.php on line 948
(Links)
(Open Bioréactor)
Ligne 1 : Ligne 1 :
=== Open Bioréactor ===
+
=== Open Bioreactor ===
  
 
==== A polyvalent bioreactor ====
 
==== A polyvalent bioreactor ====

Version du 10 juin 2013 à 21:46

Open Bioreactor

A polyvalent bioreactor

"A bioreactor [...] refer to a device or system meant to grow cells or tissues in the context of cell culture. These devices are being developed for use in tissue engineering or biochemical engineering." wikipedia the proposed design is a plug&play unique diver's, low cost and will insure those functions:

  • Soft brewing of cells by sucking up air reflux, no helix are requiered.
  • Oxygenation and CO2 control via Arduino
  • Photosynthesis
  • Smart heating


Openbioreacteur.jpg
OpenBioreactor v2.png
His all in one design allows raw material economy, contaminant resistant by the lack of mobile jointure and adaptable to many jar. I/O signals are treated by an Arduino.

Initial volume 'll be 1 or 2 liters. More would be costly. By the way, by renewing the nutritive solution, a production mode is possible. An outside PHmeter could check the acidity of the solution by taking sample via a perilstatic pump.

It would be easy to build. All parts are easy to find and cheap. A printable version exists. For the emerging countries a reflexion on a model based on recycled raw material will be achieve.

Mechanical parts

For the first prototype the following elements should be necessary:

  • 2 plastic pipes ∅22 et ∅35
  • Crystal tube, about 2 meters
  • a fish tank pump
  • a no return valve
  • HEPA filters from a vaccum
  • a tupperware box
  • an arduino
  • heat resistant epoxy glue
  • a thermoresistor CTN type
  • a computer's power suplly
  • T5 neon
  • a 7w lightbulb starter
  • heating wire or halogen lamp
  • 4 mosfets and 4 schotty diodes
  • a 1 or 2 liter jar
  • a windscreen washer's pump (optional)

Openscad

difference() {	
	cylinder(h=200,r=11,center=true);
	cylinder (h=240,r=10,center=true);		}

difference() {
	union(){cube([2,21,160],center=true);
		rotate(120,0) cube([2,21,160],center=true);
		rotate(60,0) cube([2,21,160],center=true);}
	cylinder(h = 200, r = 8.1, center = true);
}

difference(){
 	difference() {
		translate([0,0,40]) cylinder(h= 100,r= 15);
 		translate([0,0,38]) cylinder(h= 110,r= 14);}
	translate([0,-5,60]) rotate([90,90,0]) cylinder(h=15,r =1.5);
}

translate([-3,10,40]) cube([6,4,40]);

difference() {
	translate([-3,-14,40]) cube([6,4,40]);
	translate([0,-5,60]) rotate([90,90,0]) cylinder(h=15,r =1);
}

difference() {
	translate ([0,0,90]) cylinder(h=27,r=11.1);
	translate ([0,0,89.9]) cylinder(h=27.2,r=7.5);}

difference() {
translate([0,0,-88]) cylinder(h=5,r=16,center=true);
translate ([0,0,-80]) cylinder (h=30,r=10,center=true);		}

difference() {
translate ([0,0,-100]) metric_thread(26, 2, 12);
translate ([0,0,-95]) cylinder (h=20,r=10,center=true);		}

pi = 3.14159265;

function segments(diameter) = min(50, ceil(diameter*6));

module metric_thread(diameter=8, pitch=1, length=1, internal=false, n_starts=1)
{
 
   n_turns = floor(length/pitch);
   n_segments = segments(diameter);
   h = pitch * cos(30);

   union() {
      intersection() {
         for (i=[-1*n_starts : n_turns-1]) {
            translate([0, 0, i*pitch]) {
               metric_thread_turn(diameter, pitch, internal, n_starts);
            }
         }

         translate([0, 0, length/2]) {
            cube([diameter*1.1, diameter*1.1, length], center=true);
         }
      }

      if (internal) {
         cylinder(r=diameter/2 - h*5/8, h=length, $fn=n_segments);
      } else {

         cylinder(r=diameter/2 - h*5.3/8, h=length, $fn=n_segments);
      }
   }
}

module english_thread(diameter=0.25, threads_per_inch=20, length=1,
                      internal=false, n_starts=1)
{
   mm_diameter = diameter*25.4;
   mm_pitch = (1.0/threads_per_inch)*25.4;
   mm_length = length*25.4;

   echo(str("mm_diameter: ", mm_diameter));
   echo(str("mm_pitch: ", mm_pitch));
   echo(str("mm_length: ", mm_length));
   metric_thread(mm_diameter, mm_pitch, mm_length, internal, n_starts);
}

module metric_thread_turn(diameter, pitch, internal, n_starts)
{
   n_segments = segments(diameter);
   fraction_circle = 1.0/n_segments;
   for (i=[0 : n_segments-1]) {
      rotate([0, 0, i*360*fraction_circle]) {
         translate([0, 0, i*n_starts*pitch*fraction_circle]) {
            thread_polyhedron(diameter/2, pitch, internal, n_starts);
         }
      }
   }
}

function z_fct(current_radius, radius, pitch)
   = 0.5*(current_radius - (radius - 0.875*pitch*cos(30)))
                                                       /cos(30);

module thread_polyhedron(radius, pitch, internal, n_starts)
{
   n_segments = segments(radius*2);
   fraction_circle = 1.0/n_segments;

   h = pitch * cos(30);
   outer_r = radius + (internal ? h/20 : 0); 

   inner_r = radius - 0.875*h; 

   x_incr_outer = outer_r * fraction_circle * 2 * pi * 1.005;
   x_incr_inner = inner_r * fraction_circle * 2 * pi * 1.005;
   z_incr = n_starts * pitch * fraction_circle * 1.005;
   x1_outer = outer_r * fraction_circle * 2 * pi;
   z0_outer = z_fct(outer_r, radius, pitch);  
   z1_outer = z0_outer + z_incr;
   polyhedron(
      points = [
                [-x_incr_inner/2, -inner_r, 0],                                    
                [x_incr_inner/2, -inner_r, z_incr],                    
                [x_incr_inner/2, -inner_r, pitch + z_incr],           
                [-x_incr_inner/2, -inner_r, pitch],                               
                [-x_incr_outer/2, -outer_r, z0_outer],                             
                [x_incr_outer/2, -outer_r, z0_outer + z_incr],         
                [x_incr_outer/2, -outer_r, pitch - z0_outer + z_incr], 
                [-x_incr_outer/2, -outer_r, pitch - z0_outer]                     
               ],

      triangles = [
                [0, 3, 4],  
                [3, 7, 4], 
                [1, 5, 2],  
                [2, 5, 6],  
                [0, 1, 2],  
                [0, 2, 3],  
                [4, 6, 5],  
                [4, 7, 6],  
                [7, 2, 6], 
                [7, 3, 2], 
                [0, 5, 1],  
                [0, 4, 5]   
               ]
   );
}


prototype

Prototype open bioreacteur.jpg

Electronic

Coming soon

Links

The biohackerspace "La paillasse" is working on a similar project, I invite you to see: http://www.lapaillasse.org/news/475/nom-de-code-bioreacteur/