GithubHelp home page GithubHelp logo

rotary-controller-python's Introduction

Rotary Controller Python

This project is a Kivy based user interface developed for the Raspberry PI for the control of rotary tables and similar devices on manual milling machines, tool grinders and similar equipment.

This software is designed to operate with an RS485 connected control board which is responsible for the precise timing required to control stepper motors as well as the acquisition of high speed encoder signals.

Links for the hardware and firmware needed to complete the project are provided below.

This software is tested on Raspberry PI 4 and 3B and it is recommended to run it from the console using the configuration and libraries suggested by the Kivy project maintainers.

When running this kivy app from a desktop environment, a significant performance loss is evident.

Prebuilt images will be provided eventually so that installation friction can be minimized.

This is still currently under heavy development, further features and pluggable boards will eventually be provided to offer further functionality to the system.

Getting started

This software can be executed from any Python compatible operating system, it has been successfully tested on Windows, Linux and OSX. The recommended way to setup your development environment is to use pyenv for the configuration of a suitable python version in your machine and for the creation of a dedicated virtual envionment.

There are thousands of guides online for the method described above, so for now I'm not gonna write down specific instructions about it.

Once a compatible version of Python is installed with pyenv and a suitable virtual environment has been created, it will be sufficient to install the requirements found in the requirements file.

To run the application simply invoke from your favorite terminal python ./main.py

When running the software from a raspberry pi a few preparatory steps shall be followed to ensure proper operation of the touchscreen, keyboard, etc. etc.

Instructions will eventually be placed here for completeness to assist in the configuration of raspbian.

#TODO: Put here instructions for raspbian

rotary-controller-python's People

Contributors

bartei81 avatar bartei avatar thatch avatar

Stargazers

 avatar Backwoods Bob avatar Ben Browning avatar sordfish avatar Kim avatar  avatar  avatar  avatar Jag Bains avatar Jon Scott Smith avatar Caitlyn O'Hanna avatar David Stelter avatar Michael K Johnson avatar  avatar Bjørn Tore Hagen avatar  avatar James Kelly avatar BhEaN avatar Lukasz avatar Kurt-G avatar Jonas avatar akda5id avatar  avatar Russell Neches avatar Marc Shillington avatar Felix Meixner avatar  avatar  avatar  avatar Douglas McKinnon avatar  avatar Martin Chabot avatar  avatar  avatar Luka Slapnik avatar Shannon Warren avatar  avatar Christoph Schulz avatar X Anwar avatar Jelcke de Boer avatar Ali Osman Aksu avatar  avatar  avatar Gaston avatar EvilGremlin avatar Francesco Meli avatar  avatar  avatar

Watchers

Greg Kopp avatar  avatar  avatar Philip Fletcher avatar  avatar  avatar  avatar Joseph avatar Luka Slapnik avatar

rotary-controller-python's Issues

scale ratio defaults

the dialog could tell you it's the resolution in microns, and probably default to 5/1 instead of 1/20 (I assume that's the kind people will buy because it's inexpensive)

Support for basic math (Z +/- quill dro)

On a typical vertical mill, you have both a Z axis (either column, or knee movement) and a quill. To know the position of the cutter, you need to add (or subtract) these values together.

I probably only need to see the combined value most of the time, and would only zero them as a combined unit.

Exception when choosing ratio and hitting ok

Many (all?) of the ui elements that let you pick a number (for example, any of the "num" or the current index) let you hit "ok" without putting in a number. This exits the app and leaves the gui in a weird state if you're using framebuffer.

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.