Skip to content

felipe-m/freecad_filter_stage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

One-axis stage to move a filter

This is a parametrizable open-source hardware (OSH) stage to move an optical filter. The dimensions of the filter and the stage are parametrizable in order to change the dimensions of the stage, the filter and any other components (stepper motor, belt tensioner, aluminum profiles,..) The printable pieces are described using FreeCAD Python scripts. It can be compared with the OpenSCAD version: https://github.com/felipe-m/oscad_filter_stage

  1. License
  2. Description
  3. Assembly
  4. Main parameters
    1. Filter Holder Parameters
    2. Belt Tensioner
  5. Project organization
  6. Printable Parts
    1. Parts with step by step tutorial
    2. The rest of the parts
  7. Print settings

The pictures of this readme.md are reduced in size to make the document more readable larger pictures can be found in the img folder (see Project organization)


License

Hardware License: CERN 1.2 (https://ohwr.org/cernohl)

Software License: LGPL 3.0

Documentation License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

ES000004

This project has been certified as open source hardware by the Open Source Hardware Association.

Description

The components of the stage are:

  • Filter holder
  • Timming belt
  • Belt tensioner
  • Stepper motor with pulley
  • Motor holder
  • Linear guide
  • Some nuts and bolts

Filter Stage Names


Assembly

Filter holder

The filter holder holds an optical filter and it is attached to a linear guide.

Filter Holder Names

It has various holes to be able to fit in different linear guides

Filter Holder Exploded

Belt tensioner

The belt tensioner is composed by 2 printable parts, and idler pulley:

  • Tensioner holder
  • Idler tensioner
  • Idler pulley
  • Leadscrew with nut

Belt tensioner front

Back view of the belt tensioner:

Belt tensioner back

Exploded view of the belt tensioner:

Belt tensioner exploded

By turning the leadscrew, the idler pulley will retract or extend, tightening or loosening the belt.

Retracted belt tensioner:

Belt tensioner retracted

Extended belt tensioner:

Belt tensioner extended

The idler pulley can be made out of a bearing, a bolt, a nut and some washers. For example, if using a DIN 912 bolt, it can be built this way:

Idler pulley bearing


Main Parameters

Following, the main parameters are explained. There are some other parameters that can be seen in the Python code.


Filter Holder Parameters

Filter holder parameters

Example of 2 filter holders having different parameters:

2 Filter holder size


Belt tensioner Parameters

Idler tensioner size depending on the idler pulley:

Idler tensioner size depending on the idler pulley


The tensioner stroke can be modified:

tensioner stroke


The thickness of the walls can be modified

tensioner wall thick


The metric size of the leadscrew can be modified:

Leadscrew size


These modifications lead to automatic modifications on the tensioner holder size:

Tensioner holder size


The belt height is parametrizable, leading to modifications on the tensioner holder:

Belt height


Belt height


The base width, ie. the aluminum profile width, is parametrizable:

Base width


Project organization

 +--- scr: Source files in Python
    +--- comps: functions in Python for FreeCAD, https://github.com/felipe-m/fcad-comps
 +--- scr_cq: Source files in Python using CadQuery   
 +--- freecad: Saved FreeCAD designs
 +--- stl: Parts exported to STL
 +--- imgs: Images of the 4 parts in png format
    +--- small: reduced size images
    +--- tens_hold_steps: images for the step by step explanation for the tensioer holder
    +--- idler_tens_steps: images for the step by step explanation for the idler tensioner
    +--- belt_tensioner: belt tensioner images
    +--- filter_holder: filter holder images
    +--- filter_stage: filter stage images

comps: are python functions and classes to make the shapes easier. Check https://github.com/felipe-m/fcad-comps


Step by step explanations :

Step by step explanations :

  1. tensioner_holder.md Detailed explanation for the tensioner holder. It also includes information on how to execute the Python scripts. Tensioner Holder
  2. idler_tensioner.md Detailed explanation for the idler tensioner Idler Tensioner

You can compare the same pieces designed using OpenSCAD: https://github.com/felipe-m/oscad_filter_stage


Designs with no step by step explanations :

  1. The tensioner_set.py module has no detailed explanation, but the code is explained based on the previous. This code combines the parts of the tensioner set and uses Python classes and methods. Tensioner Set
  2. filter_holder_clss.py Filter holder, similar to the one made with OpenSCAD (https://github.com/felipe-m/oscad_filter_stage) Filter Holder
  3. filter_stage.py In the same design includes the filter holder, the belt tensioner and the motor holder, and also some other non-printable models, such as the stepper motor, aluminum profile, linear guide, belt and pulleys Filter Stage
  4. CadQuery designs have no step-by-step explanations, but there are comments in the code:

Print settings :

There is no need to have supports as long as the parts are printed with the following orientation:

Print orientation

About

Filter stage designed using FreeCAD Python scripts

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages