I Turned PET Bottles Into A 3D Printed Pi Case - DIY Bottle Recycler

Sdílet
Vložit
  • čas přidán 3. 07. 2024
  • A few weeks ago I published a project on the controller that I designed for a PET bottle recycler that I've been working on. I've now completed the rest of the design and at the end of the video, I use it to turn a few old PET bottles into a new case for my Raspberry Pi.
    ADDITIONAL INFORMATION
    ---------------------------------------------------
    Visit my blog for the 3D print files, PCB Gerber files and build guide - www.the-diy-life.com/i-turned...
    Visit my GitHub repository for the code - github.com/mklements/PETRecyc...
    PURCHASE LINKS
    ---------------------------------------------------
    608 Ball Bearings - amzn.to/48GFegl
    M8 Threaded Rod - amzn.to/45ojNOc
    M8 Nuts - amzn.to/3ZP7BFl
    M3 Button Head Screws (8mm and 40mm) - amzn.to/3Q6vQvo
    M3 Brass Inserts - amzn.to/3Q7TvLR
    M2.5 Button Head Screws (6mm) - amzn.to/3rInSiB
    M2.5 Brass Inserts - amzn.to/3Q7TvLR
    Aluminium Strip - amzn.to/3tou9jV
    M5 Button Head Screws (10mm) - amzn.to/3ZPbDNC
    M5 V-slot Nuts - amzn.to/3tou6Vh
    2020 V-Slot Extrusion 500mm - amzn.to/45hRfGg
    3D Printer Hotend - amzn.to/3ZOrZpT
    3mm Plywood Sheet - amzn.to/48MOEXC
    GT2 60 Teeth Pulley 8mm Bore - amzn.to/3LRzarN
    GT2 30 Teeth Pulley 8mm Bore - amzn.to/3LRzarN
    GT2 Timing Belt - amzn.to/3LRzarN
    Nema17 27:1 Geared Stepper Motor - amzn.to/46GOPlG
    Dia. 8mm x 200mm Shaft (To Cut In Assembly) - amzn.to/48LiL1D
    M3 Nylon Standoffs - amzn.to/45vsu9O
    TMC2208 Stepper Motor Driver - amzn.to/46UWtcP
    Arduino Pro Mini 5V - amzn.to/3tuq39S
    IRFZ44N Mosfet - amzn.to/3NZTKpT
    I2C OLED Display - amzn.to/3Q10whM
    1/2W Resistors - amzn.to/3K1AXJC
    Capacitors - amzn.to/3OjSTSx
    Rotary Pushbutton - amzn.to/3rDP3uo
    2 Pin Screw Terminals - amzn.to/44w8QL4
    Barrel Jack Socket - amzn.to/3OlQR4r
    12V Power Supply (US Plug Linked) - amzn.to/3rHgyDY
    Tool & Equipment Used:
    Pokit Pro Multimeter - bit.ly/3FkcfRX
    Creality Ender 3 S1 Pro - amzn.to/39lxlTX
    InfiRay P2 Pro Thermal Camera - amzn.to/48SxWq7
    Jobi Gorilla Pod - amzn.to/43lVRef
    USB C Electric Screwdriver - amzn.to/3aOeDVa
    Hakko Soldering Iron - amzn.to/3NBeUe3
    Hakko Brass Insert Tips - amzn.to/3NtfR84
    Some of the above parts are affiliate links. By purchasing products through the above links, you’ll be supporting this channel, at no additional cost to you.
    CHAPTERS
    ---------------------------------------------------
    0:00 Intro
    1:09 Designing The PET2Print
    1:35 Assembling The Cutter
    4:25 Hot End First Attempt
    4:56 Assembling The Reeler
    7:56 Assembling The Controller
    8:46 Programming & Controller Setup
    12:08 Hot End Second Attempt
    13:29 First Filament Pulls
    15:26 Test Prints
    16:36 Raspberry Pi Case Print
    17:33 Final Thoughts
    If you've got any ideas for Raspberry Pi, Arduino, or other Electronics projects or tutorials you'd like to see, let me know in the comments section.
  • Věda a technologie

Komentáře • 57

  • @ethanpschwartz
    @ethanpschwartz Před 8 měsíci +2

    No shame in adapting your models to print in multiple pieces, so you can distribute your filament accordingly. The clear filament with a cool infill pattern printed as a flat panel would be really fun to play with. Love how this project turned out!

  • @SatansLtlBaby
    @SatansLtlBaby Před 8 měsíci +2

    i am totally going to build this or a version 2 if it ever comes to fruition.

  • @matildagrobhinde383
    @matildagrobhinde383 Před 8 měsíci +1

    wow amazing effort :)

  • @g.s.3389
    @g.s.3389 Před 8 měsíci

    very nice!

  • @leglessinoz
    @leglessinoz Před měsícem

    Adding the facility to join lengths of filament as you make it would be handy.

  • @steveking4878
    @steveking4878 Před 8 měsíci +1

    Nice project! If you pre-cut the bottles, you could try splicing/melting the ends together to get a longer filament output, if that would fit through the hot end.

    • @MichaelKlements
      @MichaelKlements  Před 8 měsíci +3

      I see some people have had success with splicing the ends of two lengths of filament, I tried this a few times but didn't get a reliable bond. I'll keep working on it though.

  • @MisterkeTube
    @MisterkeTube Před 8 měsíci +1

    Drive the motor from an interrupt instead of the normal loop. That way you can do less critical stuff like display update in the loop and still have the motor driven at perfect timing. Does require some care for communication between both parts though ...

    • @MichaelKlements
      @MichaelKlements  Před 8 měsíci

      I tried this but couldn't get better results, even with an interrupt routine the Arduino still stopped pulsing the motor for periods of time when the display was being updated.

  • @gyrenrockz
    @gyrenrockz Před 8 měsíci

    nice vid

  • @HakkiOgrt
    @HakkiOgrt Před 2 měsíci

    thnx

  • @mattlee3044
    @mattlee3044 Před 8 měsíci

    Very good project. Great to see it work. As other commenters have suggested, how can you splice the strip at the cutter end to make longer continuous filament; OR can you make a filament splicer to join short lengths of filament after production?

  • @billstoner5559
    @billstoner5559 Před 8 měsíci

    Hi Micheal. I have been playing around with some AtTiny85 mcu’s dividing the various components of a PID controller between two AtTinys. I was wondering if you might try off loading the actual timing of the stepping pulses to an AtTiny and all you have to do is send it start/stop and speed data as desired. The motor on/off signal could come from the ardunio to the motor controller. The AtTiny only has 6 gpio pins, but it can do anything an arduino can do. Communication between the Arduino and AtTiny can be software serial, I2C, or SPI.
    Alternatively, there are number of interrupts on the arduinos that are timer driven. You might try using a timer interrupt to handle the step pulses instead of relying on the loop() function of the sketch(I’m assuming that is what you are doing). That way the stepper gets serviced on time every time and won’t be interrupted by the periodic updating of the display. Interesting project and your engineering of the device is excellent.

    • @MichaelKlements
      @MichaelKlements  Před 8 měsíci +1

      Yes, this solution would definitely solve the problem - it just seems like a waste to have two microcontrollers on one board. It might be a job for a microcontroller with two processing cores that supports simultaneous tasks.
      I tried the Arduino's interrupts in a few different ways but they either resulted in no change to the motor's behaviour or they resulted in the motor running smoothly but the display being corrupted every refresh. I think they both require quite precise timing and are sensitive to changes.

  • @michaelbauer4065
    @michaelbauer4065 Před 8 měsíci +1

    I'd be interested in seeing if this can be made to recycle multiple bottles consecutively.

  • @CB_agotchi
    @CB_agotchi Před 8 měsíci +3

    Nice but why not use easily accessible hardware like m3 screws instead of m2.5 and geared stepper instead of easy to source non geared stepper.
    Lots of people are going to have to order extra hardware that’s going to go unused 🤷🏻‍♀️

    • @MichaelKlements
      @MichaelKlements  Před 8 měsíci

      Most of the others I've seen online use an old 3D printer or very common printer parts to build them so I wanted to try make this one more "custom". The geared stepper motor is a must in this design, a non-geared motor won't have enough torque to drive the reel and you'd need a massive pulley to get the equivalent ratio from a belt drive. The other's I've seen all use 3D printed gears, I'm not sure how long these would last but you could give them a go if you don't want to get a geared motor.

  • @TheOrgonaut
    @TheOrgonaut Před měsícem

    can you weld the pet filament together ???

  • @PersingInterplayDesigns
    @PersingInterplayDesigns Před 7 měsíci

    A beautiful and elegant design!!! Any reason that the reel is so far from the hot end? Is that just for uniform winding? Wondering if the could be closer to make the whole setup more compact.

    • @MichaelKlements
      @MichaelKlements  Před 7 měsíci

      Yes it is just to reduce the angle that the filament leaves the hotend so that it winds onto the reel correctly. You could make it more compact with a small deflection/guide wheel between them.

  • @MishuuuTheWah
    @MishuuuTheWah Před 8 měsíci

    I wonder about joining the strips of pet with a hair straightener and parchment before pulltrusion for larger prints.

    • @MichaelKlements
      @MichaelKlements  Před 8 měsíci

      You need to join the filament after pulltrusion, the heating and pulling process softens any joint you're able to make and it'll pull apart.

    • @MishuuuTheWah
      @MishuuuTheWah Před 8 měsíci

      There is a video of joining filament before pultrusion by "3d_olympics" but I have my doubts for longevity of the joint after respooling and the inconsistency between filaments. Probably better after pultrusion like you say.@@MichaelKlements

  • @MeinElektronikHobby
    @MeinElektronikHobby Před 8 měsíci +1

    ... sehr interessantes und schönes Projekt. Aber meine To-Do Liste ist im Moment schon übervoll und mit Ü75 geht es nicht mehr so schnell.

  • @aleksidk
    @aleksidk Před 8 měsíci

    What about getting the reel closer to the hot end? The filament maybe is not cool enough yet and might help keeping the shape of the reel.

    • @MichaelKlements
      @MichaelKlements  Před 8 měsíci +1

      I think it would need to be very close to the hot end to do this, the filament hardens about 2-3cm from the tip of the nozzle. The main reason the reel is so far is to improve coiling onto it.

  • @davide5736
    @davide5736 Před 4 měsíci

    is it okay to use 1/4w resistors instead?

  • @iftrendup
    @iftrendup Před měsícem

    i love you bro you save my time Thnks to you

  • @jasonstreet6258
    @jasonstreet6258 Před 25 dny

    Will it operate at 24 Volts instead of 12 And if not, what parts to change to make it do so.

  • @user-bu5gv7fz6r
    @user-bu5gv7fz6r Před 5 měsíci

    how to buy this filament maker case?

  • @spuds7677
    @spuds7677 Před 8 měsíci

    Michael, I bought one of your cases a couple years ago. I wanted to know are you going to make the case adjustments for the Pi 5?

    • @MichaelKlements
      @MichaelKlements  Před 8 měsíci

      Yes, I'll definitely be updating them. I've done the adjustments on the cases based on 3D models, I just want to test them out with an actual Pi 5 before making them available.

  • @FilmFactry
    @FilmFactry Před 8 měsíci +4

    Have you considered a pellet extruder?

    • @MichaelKlements
      @MichaelKlements  Před 8 měsíci

      I've seen some neat designs, but have never tried building one myself.

  • @DYER_FF
    @DYER_FF Před 8 měsíci

    only 20-40g of filament will get from one bottle..... for 1kg of filament it needs to be in 30-50 parts ( i.e 30-50 cuts ..... will it affect printing ? )

  • @RichardHorpe
    @RichardHorpe Před 8 měsíci

    did you get your hands on the pi 5 yet?

  • @Kashey_bessmertniy
    @Kashey_bessmertniy Před 8 měsíci

    Can I use another drive 17HS4401S-PG27 instead of 17HS15-1684S-PG27. I can alter the 3D model to fit the desired dimensions, I am more interested in parametric characteristics.

    • @MichaelKlements
      @MichaelKlements  Před 8 měsíci

      I can't find a full datasheet for the drive you've linked but from the information on google it looks like it has slightly higher holding torque (which is good) and a higher gear ratio, so will just turn about 4 times slower ( itmay be a problem to get more pulses from the Arduino to speed it up).

    • @Kashey_bessmertniy
      @Kashey_bessmertniy Před 8 měsíci

      @@MichaelKlements Спасибо за ответ!

    • @Kashey_bessmertniy
      @Kashey_bessmertniy Před 8 měsíci

      @@MichaelKlements Another question. What pitch division did you configure the driver with (1/8/16/32)?

  • @FilmFactry
    @FilmFactry Před 8 měsíci +1

    I'm in California and a 2 liter bottle is worth 10 cent deposit. Is it even cost effective over say a $10-14 Kg of filament. I'll have to weigh an empty bottle:-)

    • @timonix2
      @timonix2 Před 8 měsíci +1

      comes out to about $4 per kilo equivalent with my local deposits

    • @MichaelKlements
      @MichaelKlements  Před 8 měsíci +1

      Yes, as @timonix2 has said, this works out to about $4 a kilo. We also have a 10 cent deposit on bottles in my area.

  • @Kashey_bessmertniy
    @Kashey_bessmertniy Před 4 měsíci

    Please tell me how do you send the STEP signal to the driver? I assembled the circuit and filled in the program, but when the engine is turned on, it does not move (5 volts are supplied to the dir pin, and a voltage of about 2.4 volts appears on the STEP pin, but I do not see any pulsations? Please help me! I've already spent a lot of time and effort on this project, but I can't get it started.

    • @MichaelKlements
      @MichaelKlements  Před 4 měsíci

      The step signal is generate by turning a digital pin on and off (HIGH then LOW) with a short delay between them. What are you using to measure the pulses on the STEP pin? You should definitely be able to see 5V pulses on an oscilloscope. If you watch my video on the controller design you'll see the pulses on my oscilloscope when I'm fault finding the motor issues - czcams.com/video/43kFDSPJl6w/video.html

    • @Kashey_bessmertniy
      @Kashey_bessmertniy Před 4 měsíci

      @@MichaelKlements When I turn on the board at the arduino output (pin 7, STEP signal), I get a value of 2.5 volts instead of 5 volts and I can't understand why there is such a voltage drop.But there is a frequency change on the oscilloscope. As far as I understand, 2.5 volts corresponds to a logical unit. The direction signal (DIR) is also present (5 volts), but the motor is not moving. I turned on the board without a heater and a thermistor, maybe I'm wrong not to connect them? And that's why the engine is not working. In the first part of the video, you have a heater and a thermistor connected when you check the engine, but in the second part, the engine works without a heater and a thermistor. This leads me to a dead end. What am I doing wrong?

    • @Kashey_bessmertniy
      @Kashey_bessmertniy Před 4 měsíci

      @@MichaelKlements I tried to use the Arduino nano (I changed A2 to A6 in the program, as well as A4 and A5 I took from the board (an additional four-pin pad (D10, D11, A0, A1) next to the Arduino) and the Arduino pro mini, but the situation with the D7 (step) output is the same, I get a 2.5 signal a volt instead of 5 volts.

    • @MichaelKlements
      @MichaelKlements  Před 4 měsíci

      It depends on what you are using to measure the signal - that is why I asked in my original reply. The step pin is constantly changing between 0V and 5V, multimeters will take the average over a period of time and that's why they will display 2.5V. The direction pin stays at 5V so it is displayed as 5V on a multimeter. You need an oscilloscope to actually see that the pulses are correct.
      It sounds like your motor driver is not set up or wired correctly.

    • @Kashey_bessmertniy
      @Kashey_bessmertniy Před 4 měsíci

      @@MichaelKlements I checked the STEP signal on the oscilloscope, the values match. Thanks for the advice. But the oscilloscope shows periodic signal skips. As I understand it, this is the problem that you are talking about in the video, related to updating the screen. Perhaps to eliminate it, you need to use two independent timers that do not depend on each other!?

  • @justsaying7979
    @justsaying7979 Před 8 měsíci +4

    3d print a soda bottle with the recycled soda bottles so that you have another soda bottle to recycle so you can 3d print more soda bottles...

  • @giovan79
    @giovan79 Před 24 dny

    When recording, the following error appears even though file or directory has been added
    C:\Users\Juvas\Documents\code\PET2Print\PET2Print.ino:54:1: error: 'thermistor' does not name a type; did you mean 'register'?
    thermistor therm1(temperaturePin,0); //Connect thermistor on A2
    ^~~~~~~~~~
    register
    C:\Users\Juvas\Documents\code\PET2Print\PET2Print.ino: In function 'void setup()':
    C:\Users\Juvas\Documents\code\PET2Print\PET2Print.ino:82:11: error: 'therm1' was not declared in this scope
    input = therm1.analog2temp(); //Read and set the initial input value
    ^~~~~~
    C:\Users\Juvas\Documents\code\PET2Print\PET2Print.ino: In function 'void loop()':
    C:\Users\Juvas\Documents\code\PET2Print\PET2Print.ino:103:11: error: 'therm1' was not declared in this scope
    input = therm1.analog2temp(); // read temperature
    ^~~~~~
    C:\Users\Juvas\Documents\code\PET2Print\PET2Print.ino: In function 'void runMotor()':
    C:\Users\Juvas\Documents\code\PET2Print\PET2Print.ino:300:13: error: 'therm1' was not declared in this scope
    input = therm1.analog2temp(); // read temperature
    ^~~~~~
    exit status 1
    Compilation error: 'thermistor' does not name a type; did you mean 'register'?

    • @MichaelKlements
      @MichaelKlements  Před 23 dny

      You haven't installed the thermistor library - //github.com/miguel5612/Arduino-ThermistorLibrary