Close



Page 2 of 8 FirstFirst 1234 ... LastLast
Results 11 to 20 of 72
  1. #11
    Engineer-in-Training
    Join Date
    Sep 2013
    Location
    San Diego
    Posts
    210
    I think this hack is fun because there are lots of ways to pull it off, I suspect. I started work on one too, here are some pics.
    CAM00083.jpg
    My casting setup, with megablocks, clay, and a magnet. This cast failed, it needed to be larger. Setup is the same though.

    CAM00086.jpg
    Successful casts with flash still on.

    CAM00087.jpg
    Trimmed, and you can see the magnet through the plastic a little. I will be coating it in silicone sealant, so it's cool.

    I'll get some pics of the housing when its done, hopefully tomorrow.

  2. #12
    Technician
    Join Date
    Nov 2013
    Location
    Cambridgeshire UK
    Posts
    55
    Quote Originally Posted by Slatye View Post
    Pete - I think that what you require is a diaphragm pump
    Sold!

    Quote Originally Posted by Slatye View Post
    The challenge with these ones is that there's no feedback of any sort - you don't know how many cycles it's done.
    I assume these are going quite fast, I'll find out soon enough, couldn't we just use the mic input as a mic, quick FFT and then you have pump frequency....?

    Quote Originally Posted by Slatye View Post
    With that said, I can see the attraction of Rylan's design. A pump would give you direct control over the water level but often that's not actually the best approach. The direct electromagnetic valve approach seems fairly simple and is definitely mostly analogue, which would make integration easier.
    I'm open to this but I'm still not convinced...I was playing with water in a tube the other day to sense drips (turns out saltwater gives nicer pulses than tap water but surprisingly not because it's more conductive [I'll post some captures later in the week]). I'm concerned having done this that pressure may have more to do with flow rate in a drip system than a valve, if you take the original concept of reservoir on top of reservoir then the head changes constantly throughout the print and could be siginificantly different at start and end. I don't know if this is solved if the head is >>higher than the print but then I imagine this would be more of a flow valve than drip governor?

  3. #13
    Engineer-in-Training
    Join Date
    Oct 2013
    Posts
    219
    Light Dependent Resistor Electric Circuit.png
    Here's the circuit for a light activated switch, just substitute Rylan's valve in place of the LED and 500R. With this solution, the Peachy Basic can be part of the variable z resolution revolution. All you have to do is fire the peachy laser at the LDR and the transistor turns on and operates the valve. This could be an optional extra for the basic. It could plug into a socket on the peachy to supply 5v for the rail (therefore no additional power required, it wud only take a few milliamps from the rail) and Rylan's valve and could be sold as a 'variable z add on'
    Last edited by mike_biddell; 03-11-2014 at 08:28 AM.

  4. #14
    Peachy Printer Founder
    Join Date
    Sep 2013
    Posts
    308
    Wow

    great work everyone!

    ok so in testing the design i had posted last we have found some major problems.
    It did work great for a short time here are a list of problems we had:

    - it got gummed up by resin and or salt
    - it required about 400 mA to work reliably ( way to much power)
    - its rather large
    - the relays in the circuit combined with the coils were creating a very strong radio wave ( from the spark gap ) and
    caused the serial port to time out! (ugg this took a while to figure out!!)

    We are just attempting to do some larger prints and so this drip governor could be really valuable to that end.
    So me and Erik took some time the other night working on new hardware for this hack

    Erik has one that's almost done hopefully he will post some pics of it here tonight.

    I went into my head for a few hours and came up with a design with the following features in mind

    - much lower power required ( more efficient use of the magnetism )
    - super easy to take apart and clean
    - easy to make with a stack of rings cut out by the laser cutter
    - moving part needs to be guided very well
    - very small and inexpensive in volume
    - use power mosfet instead of relays ( works great!)
    - move to an H bridge, revesing polarity on the coil.

    here are my blend files and i wipped up another animation ...
    https://github.com/Rylangrayston/Ran...drip%20govener





    My next step is to make this same design in open s cad, with the intention of cutting it out of a stack of disks and rings on the laser cutter.
    if that docent work well I may just make it on my metal lathe for now.

    Speaking of which dose anyone here use open s cad ?
    We could alwase use help coding highly parametric designs !
    esp for hacks like this.

    @Pete
    I thought the salt water was better because it was more conductive .. tell me more! What is it about salt that makes the pulses better!
    although i must say this topic may need its own thread. Also yes your on to something ... we have noticed that the size of a drip grows by 30 percent
    as the drip frequency goes from 1 drip per second to about 5 drips per second. We doubt that this is linear and it needs much more testing before
    we can do a good job of accounting for it. luckily we know the drip frequency, and if the frequency stays the same then the drip size is very stable.
    so it looks like a very solvable problem.


    @Anuvin
    great stuff, if i make one on the lathe ill def use your lego casting idea to make a few more!! very cool, plus its something i can do with my son
    Any thing to do with lego and he is in! I think if we made a Lego spoon he would eat broccoli with it lol.

    @Mike_Biddell
    So simple, just love it, how about using a power mosfet to replace the transistor you used and then also adding a capacitor to its gate so when the switch gets a short pulse of light
    it charges the cap quickly which holds the mosfet on for a few seconds. That way the peachy can ask for say 10 drips at a time, and spend very little time on the LDR.
    Last edited by rylangrayston; 03-11-2014 at 08:53 PM.

  5. #15
    Engineer-in-Training
    Join Date
    Oct 2013
    Posts
    219
    Rylan, power mosfet is good. The switch could be an adjustable 3 stage mono-stable as you suggest. Coarse, medium and fine. Just set the monostable to the required setting before you start the print. The time constant for the capacitor would be set by switching between 3 resistors. The laser wud then just fire at the LDR and move on. The monostable wud hold on the FET for the required time (drips). Or a 555 timer could be used.

  6. #16
    Engineer-in-Training nka's Avatar
    Join Date
    Sep 2013
    Location
    Quebec, Canada
    Posts
    215
    Could also be turned on by laser and off by the drip sensor. So, when the laser target the LDR it's turn on, then we wait for "X" drips to turn it off again.

    If we use an ajustable valve, we could also use the laser to ajust speed... everytime the laser hit the LDR, the valve open a little more. Every drip, she's closing a little, so if you want to have it stable, you hit the LDR one time each drip, if you want +1, you need to hit the LDR 2 time on a drip. Dont know if this could be viable, since I didnt saw how fast the drip goes and how fast the LDR react.

  7. #17
    Engineer-in-Training
    Join Date
    Oct 2013
    Posts
    219
    Sebastian, you are correct, there are many possibilities with a light operated switch. LDRs are so cheap, you could have more than one

  8. #18
    Peachy Printer Founder
    Join Date
    Sep 2013
    Posts
    308
    hmm ya I think nka is on to something too

    how about 2 LDRs , shinning on LDR1 turns the dripping on, Shinning on LDR 2 turns the dripping off... with a setup like that the printer can chose exactly how many drips it wants with two quick flicks of the laser beam

    Mike do you know how to make a switch like that?
    If you post a circuit diagram and ill try it out, all tho it might take me a week as Im away from the shop right now.

  9. #19
    Peachy Printer Founder
    Join Date
    Sep 2013
    Posts
    308
    ok so progress is coming along nicely on the openscad version
    of that last animation i posted..
    Screenshot.jpg
    I did the hole thing in modules of rings and discs that can be cut with the laser cutter
    and the hole thing is almost completely parametric, with parameters for
    everything at the top.


    All that's left to do is a bit of clean up as well as finish the laserCutterLayout() module
    so that all the pieces can be exported to dxf for laser cutting.

    Open s cad is a way to program or code objects instead of draw or model them
    like you would in a conventional program like blender or cad.
    You can grab it here:
    http://www.openscad.org/

    Note, I did implement an animation in open s cad , just click view --> animate
    to play with it.
    here is the open S Cad code!
    Copy paste it into openscad and enjoy

    Code:
     // ID and OD stand for inside and ouside diameter
     
    
     explodeDistance = 1;// 1+5*$t;
     split = 3;//1+1*$t;
     
    
     IDClearTubing = 4;
     wallThickness = 1+1*$t;
     tubingConnectorLength = 9;
     
    
     magnetThickness = 3;
     magnetOD = 6;
     
    
     coilWidth = 3;
     coilID = 4;
     coilOD = 8;
     
    
     pinOD = 1;
     pinLength = 10;
     pinThickness = .5;
     
    
     flowHoleID = 1;
     flowHoleOffset = 2;
     
    
     valveORingID = 3;
     valveORingOD = 4;
     valveORingThickness = (valveORingOD-valveORingID)/2;
     
    
     housingORingID = magnetOD+1+.5;
     housingORingOD = housingORingID +1;
     housingORingThickness = (housingORingOD-housingORingID)/2 ;
     
    
     outerORingGap = .5;
     
    
     
    
     
    
     
    
     module tubingConnector()
     {
         difference()
         {
             cylinder(tubingConnectorLength,IDClearTubing,IDClearTubing,center= true);
             cylinder(tubingConnectorLength+1,IDClearTubing-wallThickness+1,IDClearTubing-wallThickness+1,center = true);
         }
     }
     
    
     module magnet()
     {
         color("green",.9)
             cylinder(magnetThickness,magnetOD,magnetOD, center = true);
     }
     
    
     module pin()
     {
         color("purple",.9)
             union()
             {
             cylinder(pinThickness,magnetOD,magnetOD, center = true);
             translate([0,0,pinLength/2])
             cylinder(pinLength,pinOD,pinOD,center = true);
             }
     }
     
    
     module pinAndFlowHole()
     {
         cylinder(10,pinOD,pinOD,center = true);
         translate([flowHoleOffset,0,0])
             cylinder(10,flowHoleID,flowHoleID,center = true);
     }
     module coilSpoolWall()
     {
         difference()
         {
             color([0,1,0,0.5])cylinder(wallThickness,coilOD,coilOD, center = true);
             pinAndFlowHole();
         }
     }
     
    
     module coilSpool()
     {
         union()
         {
             coilSpoolWall();
             translate([0,0,wallThickness/2+coilWidth/2])
             {
                 difference()
                 {
                     color([0,0,1,0.8]) cylinder(coilWidth,coilID,coilID, center = true);
                     pinAndFlowHole();
                 }
                 translate([0,0,coilWidth/2+wallThickness/2])
                     coilSpoolWall();
                 
             }        
         }
     }
     
    
     
    
     module valveORing()
     {
         difference()
         {
             cylinder(valveORingThickness+wallThickness,valveORingOD,valveORingOD, center= true);
             //cylinder(100,valveORingID,valveORingID,center= true);
         }
     }
     
    
     
    
     module inerFacePlate()
     {
         difference()
         {
             cylinder(wallThickness,magnetOD+1+wallThickness,magnetOD+1+wallThickness,center= true);
             pinAndFlowHole();
             valveORing();
         }
     }
     
    
     module outerFacePlate()
     {
         difference()
         {
             cylinder(wallThickness,magnetOD+1+wallThickness+wallThickness, magnetOD+1+wallThickness+wallThickness, center =true );
             pinAndFlowHole();
             
         }
     }
     
    
     
    
     module housingORing()
     {
         difference()
         {
             cylinder(housingORingThickness+wallThickness,housingORingOD+wallThickness,housingORingOD+wallThickness, center= true);
             cylinder(8,housingORingID,housingORingID,center= true);
         }
     }
     
    
     
    
     
    
     module housingORingSeat()
     {
         difference()
         {
             cylinder(wallThickness,magnetOD+1+wallThickness,magnetOD+1+wallThickness,center= true);
             cylinder(wallThickness+1,magnetOD+1,magnetOD+1,center= true);
             //pinAndFlowHole();
             housingORing();
         }
     }
     
    
     module inerHousing()
     {
         difference()
         {
             cylinder(wallThickness,magnetOD+1+wallThickness,magnetOD+1+wallThickness,center= true);
             cylinder(wallThickness+1,magnetOD+1,magnetOD+1,center= true);
             
             
         }    
     }
     
    
     module outerHousing()
     {
         difference()
         {
             cylinder(wallThickness,magnetOD+1+wallThickness+wallThickness, magnetOD+1+wallThickness+wallThickness, center =true );
             cylinder(wallThickness +1, magnetOD+1+wallThickness+outerORingGap, magnetOD+1+wallThickness+outerORingGap, center= true);
         }
     }
     
    
     module assemble()
     {
         tubingConnector();
         translate([0,0,tubingConnectorLength/2+wallThickness/2*explodeDistance])
         
         coilSpool();
         translate([0,0,tubingConnectorLength/2+wallThickness*2+wallThickness/2+coilWidth*explodeDistance])
         {
            inerFacePlate();
             translate([0,0,wallThickness*explodeDistance])
             color("red",.5)housingORingSeat();
             translate([0,0,wallThickness*2*explodeDistance])
             inerHousing();
     
    
             translate([0,0,wallThickness*3*explodeDistance])
             {
                 inerHousing();
             }
             translate([0,0,wallThickness*3*explodeDistance+split/2])
             {
                 magnet();
                 translate([0,0,magnetThickness/2+pinThickness/2])
                 pin();
     
    
                 rotate([0,180,0])translate([0,0,magnetThickness/2+pinThickness/2])
                 pin();
             }
     
    
     
    
             translate([0,0,split])
             {
                 translate([0,0,wallThickness*4*explodeDistance])
                     outerHousing();
                 translate([0,0,wallThickness*5*explodeDistance])
                     outerHousing();
                 translate([0,0,wallThickness*6*explodeDistance])
                     outerFacePlate();
                 translate([0,0,wallThickness*7*explodeDistance])
                     coilSpool();
                 translate([0,0,(wallThickness*8+wallThickness/2+coilWidth+tubingConnectorLength/2)*explodeDistance])
                     tubingConnector();
             }
     
    
             //translate([0,0,housingORingThickness+10])
                 //housingORing();
             //translate([0,0,housingORingThickness+6])
                 //    magnet();
         
         }
     }
     
    
     
    
     module laserCutterLayout()
     {
         translate([20,0,0])
         tubingConnector();
         translate([20,0,0])
         magnet();
     }
     
    
     laserCutterLayout();
     assemble();
    Last edited by rylangrayston; 03-12-2014 at 11:38 PM.

  10. #20
    Engineer-in-Training
    Join Date
    Oct 2013
    Posts
    219
    Rylan, it occurs to me that we could simply use one LDR as a toggle switch. So fire laser and valve is on, fire laser at same ldr and valve is off. I can think of two solutions, one using a 555 timer and the other using a picaxe 08m. The 08m is cheap, about £2 sterling, but an advantage of using it as a toggle switch, is that it could also provide the scanner drive for the Peachy basic, with few additional components (maybe none). Plus you can change the behaviour of the circuit just by re-programming it (it is therefore more flexible). But I'll try to find time today, to put the circuits into my simulator and get them both working that way. If they work in the sim, they work in real life.

Page 2 of 8 FirstFirst 1234 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •