• Home
  • "BubsBuilds" Projects
      • Back
      • Assorted (hopefully) "Useful Stuff" Projects
      • Games
      • Generative Design Projects
      • Just Playin and Concept Demo Projects
          • Back
          • Print-in-Place
          • Flexure Fun
      • Pet Stuff
      • Printer Projects
      • Tool-related Projects
      • AgTech Projects
          • Back
          • Hydration and Hydroponics Projects
              • Back
              • Pumpin
              • Valvin
          • System-level Projects
              • Back
              • Project Fireplace
  • Tech Refs and Such

Latest Articles

  • Cam Valve - Gen3
  • Fractal Vise Jaws - Mechanical Bearings
  • High Flow Peristaltic Pump
  • Mech Tester
  • Axial Flow Compressor Concept Tester

Most Popular

  • 2020 Aluminum Extrusion stuff
  • Displacement Sensor - Double Compound Flexure-based
  • Bolt-Sorting Sieve
  • Flexure Fractal Vise Jaws
  • Saturn Platen Removal Tool
  • Precision Dosing Pump
  • Mech Tester

BubsBuilds Projects

Print-in-Place Designs

Details
Parent Category: Just Playin and Concept Demo Projects
Category: Print-in-Place Designs
Last Updated: 09 June 2023

Roller Bearing 

Printed in Overture PETG Orange
0.6 nozzle, 0.48mm layers

A print-in-place rolling element bearing. I've got some plans for incorporating this concept into a bigger project, but I think bearing came out as a fun little desk toy/fidget toy in its own right! (at  least to me :) )

Print should not require any supports, brims, etc. I printed the one pictured coarsely with a 0.6 nozzle @ 0.48 layers in PETG.

I think I was a bit too conservative on the clearances for the rolling elements, but she holds together and rolls pretty well! I've got some ideas for things I want to experiment with to get a preload into the bearing. So hopefully there will be some fun follow-ups coming soon

Find it on Printables

 

 

No comments on “Print-in-Place Designs”

Automated Cat Toy Laser Turret

Details
Parent Category: BubsBuilds Projects
Category: Pet Stuff
Last Updated: 03 November 2024

It’s an automated cat torture device! Ok, not exactly, it’s a 2-axis turret with a cheapo laser pointer mounted in it, run off of a budget microcontroller :) But as shown in the little clip below, my little dude finds it quite entertaining (I actually have to hide it in a drawer if I’m not letting him play with it…I’m actually working on an idea for an upgraded version that I hope will help with this, but who knows if I’ll actually get to it ¯\(ツ)/¯)

*If you have any questions or if you want to cast a vote for me to write up a detailed assembly how-to, drop me a comment!

 

 

BOM

Printed Parts

  • Base_Housing (heatsets)

  • Base_Lid

  • Base_BearingMount

  • LaserMount

  • PreloadFlexure

  • Tail (optional)

Purchased/COTS Parts

  • SG90 Micro Servo — I have bought this 10 pack twice now, but obviously for this project you’ll only need one (I just can’t resist me a bulk discount on motors :) ). Any SG90 Micro Servo should work just fine.
  • MG996R Servo — Again, this is the multi-pack that I have bought a couple of times now. Of the twelve servos in those, I’ve had one break….but I hesitate to blame the servo on that one…tee hee ¯\(ツ)/¯
  • Kitty laser pointer — Unfortunately on this one, you would likely need to make your own custom “LaserMount” part if you go with an alternative option. Any laser pointer should work, but just keep in mind that you will want one that you can somehow commandeer from a microcontroller if you want the fully automated ability. NOTE: While you don’t HAVE to get this hot pink one….you CAN….just sayin
  • 6806–2RS Bearing — I’ve been absolutely loving using these large ID bearings for servo-driven projects lately. So damn convenient being able to just run the horn right up the middle! That being said, you definitely don’t need 10 of them if you aren’t going to make use of them elsewhere. So any 6806–2RS is fine (really you can probably get away with any bushing/bearing that’s 30x42x7mm given the low loads, but I personally think it’s worth the couple of bucks for that buttery smoothness :)
  • 3xAAA Battery Holder — Ok…so I feel a smidge bad about this one….the battery trays I used for this are ones I bought from a Radioshack going out of business…I told you! I’m a sucker for a bulk discount!!…But these are the same type of 3-battery, plastic tray with leads. If anyone tries these and they don’t fit, or if there is some awesome battery holder out there, please do let me know and I will update this accordingly.
  • Seeeduino Xiao — This project was my first time working with the Xiao, and I’m immediately a fan! I continue to be amazed at the power per dollar of microcontrollers hitting the market, and in a tiny form factor, and supporting Arduino and MicroPython…just delightful… But anyway, while I went with the Xiao, at a minimum you really just need two PWM outputs to give the servos their position duty cycle (and I’d recommend another I/O for on/off, but your call if you prefer minimalist).
  • Heat Set Inserts — I used Three (3) — M3x6 and Four (4) — M4x8 heat set inserts. You can safely go a couple of millimeters longer or shorter for either without issue. The link is to an assorted pack that I have and really like (although it has long been emptied of any M3s or M4s). If you would like some additional info on heat sets, I’ve started jotting some additional notes here also.
  • ON/OFF Switch — This is the one that I sized the hole for in the Base_Lid, but there are tons of options in this size range if you switch-specific.
  • Transistor for switching ‘da laser — Now we’re getting in to territory where I don’t feel like I should be making recommendations :) I know how to make these things work (usually), but I really can’t say enough how much I’m not an electrical engineer….or even a particularly good mechanica….huh? but seriously, this is what I used and it works, but I’m all ears for anyone pointing out better approaches for this stuff!
  • Breadboard — I used this lil feller to tie the room together

Code

I will never pretend to be a competent programmer, so please feel free to talk s*** on my code, but I will say, I was actually kinda proud of the randomization routine I cooked up :)

My apologies for the lack of annotation, but I originally didn’t intend it for others’ eyes (and still am not sure it will see any, haha). But I’m more than happy to answer questions if you reach out to me

#include <Servo.h>;
Servo serRot;
Servo serEl;

int pinRot = 7;
int pinEl = 10;
int pinLas = 5;
int minEl = 60;
int maxEl = 90;
int minRot = 90;
int maxRot = 180;
int nseqEl, nseqRot;
int iseqEl = 0;
int iseqRot = 0;
int stepEl, stepRot;
int signRot, signEl;
int posRot, posEl;


void setup() {
  pinMode(pinLas, OUTPUT);
  pinMode(pinRot, OUTPUT);
  pinMode(pinEl, OUTPUT);
  serRot.attach(pinRot);
  delay(50);
  posRot = (minRot+maxRot)/2;
  serRot.write(posRot);
  delay(100);
  serEl.attach(pinEl);
  delay(50);
  posEl = (minEl+maxEl)/2;
  serEl.write(posEl);
  delay(500);
  nseqRot = random(5, 30);
  nseqEl = random(1, 10);
  signRot = random(0, 1); // Sign = 0 = increasing angle
  signEl = random(0, 1);
  stepRot = random(1, 5);
  stepEl = random(1, 3);
  digitalWrite(pinLas, HIGH);

}

void loop() {
  // Calc next Rot position
  if (signRot == 0) {
    posRot = posRot + stepRot;
    if (posRot > maxRot) {
      posRot = posRot - (2 * stepRot);
      signRot = 1;
    }

  } else if (signRot == 1) {
    posRot = posRot - stepRot;
    if (posRot < minRot) {
      posRot = posRot + (2 * stepRot);
      signRot = 0;
    }
  }
  iseqRot = iseqRot + 1;
  if (iseqRot > nseqRot) {
    nseqRot = random(5, 30);
    posRot = random(minRot, maxRot);
    signRot = random(0, 1);
    iseqRot = 0;
  }
  serRot.write(posRot);

  // Calc next El position
  if (signEl == 0) {
    posEl = posEl + stepEl;
    if (posEl > maxEl) {
      posEl = posEl - (2 * stepEl);
      signEl = 1;
    }

  } else if (signEl == 1) {
    posEl = posEl - stepEl;
    if (posEl < minEl) {
      posEl = posEl + (2 * stepEl);
      signEl = 0;
    }
  }
  iseqEl = iseqEl + 1;
  if (iseqEl > nseqEl) {
    nseqEl = random(1, 10);
    posEl = random(minEl, maxEl);
    signEl = random(0, 1);
    iseqEl = 0;
  }
  serEl.write(posEl); 
  delay(random(1,400));
  
}

 

No comments on “Automated Cat Toy Laser Turret”

Filament Spool Holder

Details
Parent Category: BubsBuilds Projects
Category: Printer Stuff
Last Updated: 28 January 2024
I know there are tons of designs out there for spool holders...yeah, pretty much just that. No clue why I decided I I needed to add my take on it, but alas, here we are.
 
I recently rearranged my printer setup to move all of my filament printers only a single wire shelf (I say "all", it's 3, which is a lot to me, but I know, not exactly a print farm :) ). My two  Prusa Mk3ses fit on one shelf, and the monster (aka Elegoo Neptune 4 Max) takes up another. Although I had the vertical space to just have the shelves spaced far enough apart to fit the OEM  spool holders, I thought it would be preferable to have a single "filament shelf" and then route filament from there to the printer. This would allow me in the future to enclose that shelf as a large dry box/dryer as well as keeping filament nice and centralized. All them eggs in one spot where I can see 'em!
 
Printables  |   Thingiverse 

Design Overview

 SpoolHolder_model1281_0a9bc.jpeg
The main structure of the spool holder is  provided by the 'Mount Race' part. It secures to the wire shelves with the Cap with two M5 heat sets. The Cap is intended to straddle the central brace that runs along the length of the shelf to provide resistance against rotation.   
The 'race' aspect of the Mount Race comes in the form of a v-groove that runs circumferentially around the rim.  It is filled with 16 bearing balls and mated with a matching groove in either a Spool Blank or Spool Post.
 
Another Spool Post is  then mirrored on the first with a single ball  making a "jewel bearing". This jewel bearing serves two purposes. The first is that it allows the two spools to spin independently, and the second is that it allows for angular misalignment between the Mount Race and Retainer Race.
 
Speaking of the Retainer Race, it sits on top of another 16 balls in the top of the race of the   Spool Post. It is secured to the Mount Race with six M3s, with heat sets inserted into the perimeter of the Mount Race.
 
The result is that the load from the left spool is transmitted directly into the rigid mount via  the bearing. The load from the right spool passes through the Retainer and throught the bolted flange to the rigid Mount Race.
 
CAD: If you want to dive into the dumpster fire of a CAD model yourself, you can find it on OnShape here.

Build

 BOM

  • Printed 
    • (1) MountRace  - Mostly Sunlu PETG, with a touch of green Polymaker PETG on the base
    • (1) RetainerRace - White Sunlu PETG
    • (1)  Cap - Black Sunlu PETG
    • (1 or 2) SpoolPost - Green Polymaker PETG
    • (0 or 1) SpoolBlank - Only needed if using for a single spool. Shown in the gif above. Green Polymaker PETG
    • (?) Spacers - The number and thickness of spacers depends on how much preload you want to put in your bearing.
  • COTS
    • (33) 9.5mm balls  - 16 in each race and one for the center 'jewel bearing'. I actually use 3/8" 'slingshot ammo', but it's technically modeled for 9.5mm...close enough :)
    • (6) M3 heat set insert - I went with  6mm lengths. Anything up to 10 should be fine.
    • (6) M3   BHCS - Length will depend on  spacers, but  likely between 10 and 12 mm lengths should work.
    • (2) M5 heat set inserts - For the Cap
 I feel like the above GIF kinda covers the assembly, but in case ya like words:
  1. Insert six M3 heat sets in Mount Race
  2. Insert two M5 heat sets in Cap
  3. TIP: if you're planning to set it up for two spools, I'd recommend setting the Mount Race up in a vise or the like with the bearing race aiming up.  This will make the next steps much easier.
  4. Drop in the 16 balls in the Mount race.
  5. Set the  Spool Blank or Spool Post onto the Mount Race  so that the bearing races nest. It should spin pretty freely. If it doesn't, now's a good time to check for any print blobs or the like that might be getting in the way.
  6. Place a single ball into the cone on the back side of the Spool Post (or Blank)
  7. Set the other Spool Blank on top...like a little top hat...
  8. Add the remaining 16 balls to the race of the Spool Blank.
  9. Slide the Retainer Race over the post of the top Spool Post and into position. Be careful to not knock over the post to avoid playing 16 ball pickup. Also, I found it easier to insert the fasteners in their holes before lowering the retainer onto the assembly.
  10. Tighten the retainer fasteners, preferably using a star pattern to close the bearing evenly. You want to tighten these fully (I don't have a torque spec for ya, but 'fully tightened for M3 in polymer...?). If the bearing feels too tight for your liking, you can add in one or more of the Spacers to get your preferred level of preload or play.
 Printables  |   Thingiverse 

 some Design Notes

2024/01/16 - Initial Design

To keep on trend for my recent projects, I'm yet again playing with an integrated bearing. Although I haven't had any failed prints from it, I'm frequently made nervous by the tension required on the filment to overcome the sliding friction between the spool and holder. 
 
SpoolHolder_v1_model1_563c3.jpeg
 
 But, as usual, I also can't leave well-enough alone, and so I'm trying something a bit different for  providing the preload into the bearing. Instead of relying on a planar diaphram flexure on the plane of the bearing race(s), I'm trying  integrating compliance into the walls of the retainer.
spoolholder_model1271_b8620.jpeg
Not sure how viable this approach will be more generally, but I thought it was worth a go, and this project isn't going to be particularly sensitive to preload. So why not. 
 
....Ok, so.... full disclosure, I forgot to finish these notes on 1/16, and as I fill it in here on 1/27 I have realized that the flexure design above isn't going to flex...I'm a damn fool :) Instead of redesigning this to play with this concept further, I'm going to just make some spacers that allow for dialing in the preload.  
 
 
 
 
No comments on “Filament Spool Holder”
  1. Saturn Platen Removal Tool
  2. i3 Printer Stand
  3. Mech Tester
  4. Axial Flow Compressor Concept Tester
  5. Rotary Table
  6. Heat set Helper
  7. Toolbox Prints
  8. Productive Susan Gen 2
  9. Work Table Upgrade - V2
  10. Articulating Arm(s)

Subcategories

Assorted (hopefully) "Useful Stuff" Projects Article Count:  12

Like the bucket of assorted fasteners on that bottom shelf, this category is for stuff that I didn't know how to group...oh, and speaking of those fasteners, check out the little sortin fella!

2020 Aluminum Extrusion Hardware

Quick Bolt Sorter

General Purpose Turntable - Gen1

Games Article Count:  1

Generative Design Projects Article Count:  3

During the good financial decision-making times of Covid lockdowns, etc. I decided it was a good idea to buy a license for the Fusion360 Generative Design extension...Good news, I did finally pay that off :) I had worked around, and been somewhat involved in a handful of Topology Optimization/Generative Design projects through my work, and I've found the tech super interesting for some time. So after the free trial, and feeling like I was just starting to gain some level of competence in Fusion360's tool....I done did it, and bought the year. Ok, now that I'm done justifying that to myself...I mean you...

<engineering/design> What I really like about Generative Design is that it forces the designer to think about the thing they are trying to design from it's core requirements: Forces, Interfaces, and Keep Outs. I think it's far from perfect, especially given the still very primitive Design For Manufacture capabilities these tools have (among other shortcomings, but this one is certainly a big one to me.)

<precision engineering> One last also (for now), but ALSO, what I find exciting about these tools from a precision engineering perspective, is that the above-mentioned focus on forces and interfaces, these tools are extremely well-suited to kinematic/exact constraint designs! I think every one of the Generative Design projects below features at least some aspects of kinematic constraint (I say, "I think" because I may or may not be writing this before I go through my files and remind myself what all I actually made vs what I just thought about making ¯\_(ツ)_/¯ )

Generative Design Projects

 

 

 

JFS Projects Article Count:  13

AgTech (aka finding a way to complicate and digitize gardening) Projects Article Count:  11

Hydration and Hydroponics Projects Article Count:  8

Peristaltic Pumpin Article Count:  4

A lot of projects I work on/have worked on seem to involve the controlled movement of fluids. Below is a bit of a history of my builds involving attempts at obtaining this controlled movement for incompressible fluids. I haven’t done much myself with making custom solutions for the compressible stuff, but if you’re interested in such things, I thoroughly enjoy Major Hardware’s “Fan Showdown” series :)

This article/section is by no means intended as a thorough overview on the design and operation of pumps. While I will try to give some overview on operating principles and design considerations as I go, this is mainly just going to be a wander through my personal builds and experiences.

Peristaltic Pumps

What is a peristaltic pump?

I’m sure there are innumerable sources online for (much better) detailed discussions of the workings of peristaltic pumps. So I’m just going to hit the highlights, and I’ll try to remember to find some promising links and add them below, should a deep dive seem intriguing to ya.

Basic Operation:

The fluid being pumped is carried into the pump in a compliant tubing. This tube is routed around some portion of a circular/cylindrical path around the axis of the pump and then exits the pump. This is one interesting/attractive aspect of peristaltic pumps, the fluid never has to leave the tube that it is in, making these pumps well-suited to situations where contamination and/or leaks are highly undesirable. The housing that features the cylindrical wall that the tubing is being routed along can be considered the Stator, and that is generally the nomenclature that I tend to use.

So if there’s a Stator, there must be a Rotor…? Yup, the rotor includes some set of features that extend out to some defined gap between this feature and the Stator wall. These features, which in many peristaltic pumps are rolling element bearings, pinch the tubing to the point of sealing (ideally) the tube. As the rotor turns, this contact point proceeds around the circumference. Because the pinched point of the tube is sealed, the volume of fluid in the tube ‘ahead’ of the pinch point are, as a result, pushed forward. So, keep rotating, keep pushing….pretty much as simple as that!

Pros:

  • Positive Displacement Pump
    • Because the pinch point is (ideally) fully sealing the tubing, the amount of fluid moved is directly proportional to the movement of the pump. This makes them very good choices for things like dosing pumps or other applications where the desired volume of fluid to be moved needs to be deterministic.
    • This is a large driver for my initial interest in using peristaltic pumps. Their deterministic flow is/was very attractive for my plant growth experiments. They can give very repeatable watering volumes and nutrient concentrations.
  • Fluid Isolation
    • Because the fluid never leaves the tubing, these pumps can be suitable for moving hazardous materials. For example, I have been using a peristaltic pump for transferring 99% IPA
  • Relatively Simple Construction
    • Because the fluid does not have to be sealed within the pump, these pumps lend themselves well to DIY builds. No shaft seals, gaskets, etc. or complex (at least to do well) impeller design needed.
  • Self-priming and Head height
    • If well-sealed, these pumps are capable of self-priming (and even pumping air) and of achieving pretty impressive head heights (the measure of how high above the pump it can pump a column of water)

Cons:

  • High drive torque
    • Because of the preloading needed against the tubing, and the rolling friction, even with good rolling elements (more below on this), it can be quite easy to end up with designs that require quite a lot of drive toque.
  • Tubing wear
    • With the relatively large deformation and high number of cycles, the tubing will eventually fail, either due to material wear, fatigue cracking, or who knows what else. Because this failure mode can cause fluids leaking into your pump not designed to experience this fluid, this failure can potentially be quite problematic. So the use of high-quality tubing material and a plan for periodic maintenance, are worthwhile.

Test Build 1

A couple of years back, I had a concept for an in-line-mixing hydroponics system. The idea being that the supplies to the system would be just pure water and nutrient concentrates, and a series of pumps and valves would allow precise dosing mixes to each target plant in a system (I refer to this concept as Rail Yard Hydro, since it moves the fluids around the tubing network quite like rail cars are moved around a rail system. I’m planning to add a separate page diving into that one a bit deeper since it is the design scheme I am using in my current projects.)

Well, to facilitate this plan, I wanted to find an option for a dosing pump that I could integrate in to my control system (aka Arduinos and Raspberry Pi’s :)). Unfortunately, I quickly found that a servo-driven peristaltic pump could easily set me back north of $100….so I set out to spend many multiples of that making my own!

Actually, when I saw the pricing, I decided I should see if I could make myself a cheapo, manual version that I could use to just test out some basic questions on the Rail Hydro idea (mainly verifying that I could induce good material mixing in-line and that there was no cross-contamination between fluid reservoirs.) And so, ‘twas this endeavor that resulted in the pump I’m apparently referring to as “Test Build 1”

Design Objectives:

  • Be a peristaltic pump
  • Provide a full seal (at 100mm head)
  • Be hand-cranked
  • Not require any parts that would have to be ordered (I’m impatient)

The Build

She ain't pretty (especially after a good while of getting knocked around), but the pic above shows the dual pump setup I rigged up for my testing needs. I was VERY pleasantly surprised that, other than a tweak to the hand wheel, these things worked pretty damn well!

I decided upfront that I was going to go with a resin printed build, because I thought the high stiffness and good surface finish throughout the 'pinch region' would give me a better chance. Since I was already going to have the good surface roughness, I might as well also integrate the main bearing into the printed parts.

In the image of the model, below, the Stator is the part shown in green, and the Rotor is shown in blue(ish.) Riding on the rotor are roller skate bearings to provide the contact with the tube. Race 1 has v-grooves on both sides of the race, providing the main constraint for locating the rotor, and Race 2 has a v-groove on the Stator, but only a single plane of contact on the Rotor side. This keeps from over-constraining the bearing.

The absurdly overkill bolt running through the center is a real showcase of "using what I had on hand" :) in that these were the only bolt/nut sets I had on hand with the length I was looking for.

Valving Article Count:  3

System-level Projects Article Count:  3

Project Fireplace Article Count:  3

Just Playin and Concept Demo Projects Article Count:  8

Print-in-Place Designs Article Count:  1

Flexure Fun Article Count:  5

Pet Stuff Article Count:  1

Printer Stuff Article Count:  3

Tool-related Projects Article Count:  6

WIP Article Count:  3

A temporary home for projects I'm currently working on.

Page 12 of 16

  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

Login

  • Forgot your password?
  • Forgot your username?
  • Create an account

Please note, many of the links contained in my articles are “Affiliate” links through that vendor. Unless specifically otherwise mentioned in the context of the link, these are items that I purchased and used from that same product page for whatever the project (or prospective project) was. I use these Affiliate links to help recoup a little of what I spend on project materials, etc. (if you’d like a sense of scale….in the week that I write this, I have brought in a startling $0.75 :) ).

TERMS OF SERVICE

  • Policies
Copyright © 2022 - 2025 JFS Agri, LLC