mini_afsd is a program for controlling a miniturized additive friction stir deposition (AFSD) machine.
- For Python 3.7+
- Source Code: https://github.com/RyTheGuy355/MiniAFSDCode
This repository contains code for controlling a miniturized AFSD machine and is used by the Yu group at Virginia Tech.
Communication with the machine is achieved using FluidNC, and future modifications to the firmware or code inputs can be helped by looking through FluidNC's documentation.
The LJM driver from LabJack must be installed to interface with the LabJack for measuring the thermocouple outputs, which can be downloaded from https://labjack.com/support/software/installers/ljm.
The driver needed for computers to properly connect to the serial port's USB interface is available from https://oemdrivers.com/usb-cp2104-usb-to-uart-driver. (Change this in the future if the connector changes)
mini_afsd requires Python version 3.7 or later and the following Python libraries:
- labjack-ljm
- matplotlib (>=3.4)
- pyserial
All of the required Python libraries should be automatically installed when installing mini_afsd using any of the installation methods below.
Python can be installed multiple ways:
- If on Windows, the easiest way is to use WinPython. The recommended installation file (as of June 10, 2022) is WinPython64-3.10.4.0 (or WinPython64-3.10.4.0dot if you don't want any preinstalled libraries).
- Use Anaconda, which comes with many libraries preinstalled.
- Install from Python's official source, https://www.python.org/. Follow the instructions listed at https://packaging.python.org/en/latest/tutorials/installing-packages/#requirements-for-installing-packages to ensure Python and the Python package manager pip are correctly installed.
mini_afsd can be installed from pypi using pip, by running the following command in the terminal:
pip install -U mini_afsd
The sources for mini_afsd can be downloaded from the GitHub repo. To install the current version of mini_afsd from GitHub, run:
pip install https://github.com/RyTheGuy355/MiniAFSDCode/zipball/main
While not needed, an Arduino IDE (available from https://www.arduino.cc/en/software) can be used when connected to the serial port of the mill to get more detailed feedback on the messages sent to and from the port.
For default usage, mini_afsd can be ran from the a terminal (the command line if Python was install universally, from an Anaconda terminal if Python was installed with Anaconda, or from the WinPython Command Prompt if Python was installed using WinPython) using:
python -m mini_afsd
To list out the various options when using mini_afsd from the terminal, simply do:
python -m mini_afsd -h
Alternatively, mini_afsd can be used from a Python file by doing the following:
from mini_afsd import Controller
Controller().run()
Contributions are welcomed and greatly appreciated. For information on submitting bug reports, pull requests, or general feedback, please refer to the contributing guide.
mini_afsd is all rights reserved. For more information, refer to the license.
- Ryan Gottwald <insert_email_here>