Giter VIP home page Giter VIP logo

filament_watch's Introduction

filament_watch

Pauses or stops OctoPrint if the 3D printer filament jams or runs out

Setup

  1. Purchase:

1.1) Quadrature encoder. The STL files are designed for the "Signswise 600p/r Incremental Rotary Encoder Dc5-24v Wide Voltage Power Supply 6mm Shaft" [Amazon link]

1.2) M3-0.5 x 20mm screws [Amazon link]

1.3) Adafruit Metro Mini 328 - 5V 16MHz [Adafruit link]

1.4) Optional: 2 x 0.1" pitch header blocks [Adafruit link]

  1. Print the base and wheel to hold the encoder in place.

  2. Optional: 3D print the mini metro enclosure

  3. Wire up the Metro Mini 328 to the encoder, optionally soldering on the header blocks first:

4.1) Encoder red (power) - 5V

4.2) Encoder black (ground) - GND

4.3) Encoder green (output 1) - digital pin 3

4.4) Encoder white (output 2) - digital pin 2

  1. Connect the Metro Mini by USB to the computer running OctoPrint. Attach the wheel to the encoder and place it in the base. Feed the filament through the base.

  2. Check out this git repository onto the computer running OctoPrint.

git clone https://github.com/rllynch/filament_watch.git
  1. Compile and flash arduino/filament_watch/filament_watch.ino into the Metro Mini using either the Arduino IDE, or the command line scripts shown below:
cd filament_watch/arduino
./setup.sh
./upload.sh
cd ../..
  1. Recommended: create a virtualenv for filament_watch and activate it
virtualenv filament_watch_env
. filament_watch_env/bin/activate
  1. Install filament_watch
cd filament_watch
python setup.py install
  1. Go to Settings in OctoPrint and in the API page, note the API key, enabling it if necessary. Launch filament_watch with --apikey argument, supplying the API key, and an open TCP port for the web interface.
filament_watch --apikey 11111111111111111111111111111111 --httpport 8081
  1. Point a web browser at the selected port and start a print. The graph will show the actual movement of the filament graphed against the movement specified in the gcode (averaged over two minutes). If the two lines approximately track each other, then filament_watch is working correctly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.