tclab


Nametclab JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/APMonitor/TCLab
SummaryPython bindings for the BYU Arduino Temperature Control Lab
upload_time2023-09-11 20:27:18
maintainer
docs_urlNone
authorBYUPRISM
requires_python
licenseApache Software License
keywords apmonitor control hardware
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            TCLab: Temperature Control Laboratory
=====================================

Master:

.. image:: https://travis-ci.org/jckantor/TCLab.svg?branch=master
    :target: https://travis-ci.org/jckantor/TCLab

.. image:: https://readthedocs.org/projects/tclab/badge/?version=latest
    :target: http://tclab.readthedocs.io/en/latest/?badge=latest

.. image:: https://badge.fury.io/py/tclab.svg
    :target: https://badge.fury.io/py/tclab

Development:

.. image:: https://travis-ci.org/jckantor/TCLab.svg?branch=development
    :target: https://travis-ci.org/jckantor/TCLab

``TCLab`` provides a Python interface to the
`Temperature Control Lab <http://apmonitor.com/pdc/index.php/Main/ArduinoTemperatureControl>`_
implemented on an Arduino microcontroller over a USB interface.
``TCLab`` is implemented as a Python class within
the ``tclab`` package.  The ``tclab`` package also includes:

* ``clock`` A Python generator for soft real-time implementation of
  process control algorithms.
* ``Historian`` A Python class to log results of a process control
  experiment.
* ``Plotter`` Provides an historian with real-time plotting within a
  Jupyter notebook.
* ``TCLabModel`` An embedded model of the temperature control lab
  for off-line and faster-than-realtime simulation of process control
  experiments. No hardware needs to be attached to use ``TCLabModel``.

The companion Arduino firmware for device operation is available at the
`TCLab-Sketch repository <https://github.com/jckantor/TCLab-sketch>`_.

The `Arduino Temperature Control Lab <http://apmonitor.com/pdc/index.php/Main/ArduinoTemperatureControl>`_
is a modular, portable, and inexpensive solution for hands-on process
control learning.  Heat output is adjusted by modulating current flow to
each of two transistors. Thermistors measure the temperatures. Energy
from the transistor output is transferred by conduction and convection
to the temperature sensor. The dynamics of heat transfer provide rich
opportunities to implement single and multivariable control systems.
The lab is integrated into a small PCB shield which can be mounted to
any `Arduino <https://www.arduino.cc/>`_ or Arduino compatible
microcontroller.

Installation
------------

Install using ::

   pip install tclab

To upgrade an existing installation, use the command ::

   pip install tclab --upgrade


The development version contains new features, but may be less stable. To install the development version use the command ::

   pip install --upgrade https://github.com/jckantor/TCLab/archive/development.zip


Hardware setup
--------------

1. Plug a compatible Arduino device (UNO, Leonardo, NHduino) with the
   lab attached into your computer via the USB connection. Plug the DC
   power adapter into the wall.

2. (optional) Install Arduino Drivers

   *If you are using Windows 10, the Arduino board should connect
   without additional drivers required.*

   For Arduino clones using the CH340G, CH34G or CH34X chipset you may need additional drivers. Only install these if you see a message saying "No Arduino device found." when connecting.

   * `macOS <https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver>`__.
   * `Windows <http://www.wch.cn/downfile/65>`__.

3. (optional) Install Arduino Firmware

   ``TCLab`` requires the one-time installation of custom firmware on
   an Arduino device. If it hasn't been pre-installed, the necessary
   firmware and instructions are available from the
   `TCLab-Sketch repository <https://github.com/jckantor/TCLab-sketch>`_.

Checking that everything works
------------------------------

Execute the following code ::

    import tclab
    with tclab.TCLab() as lab:
        print(lab.T1)

If everything has worked, you should see the following output message ::

    Connecting to TCLab
    TCLab Firmware Version 1.2.1 on NHduino connected to port XXXX
    21.54
    TCLab disconnected successfully.

The number returned is the temperature of sensor T1 in °C.


Troubleshooting
---------------

If something went wrong in the above process, refer to our troubleshooting guide
in TROUBLESHOOTING.md.

Next Steps
----------

The notebook directory provides examples on how to use the TCLab module.
The latest documentation is available at
`Read the Docs <http://tclab.readthedocs.io/en/latest/index.html>`_.

Course Websites
---------------

Additional information, instructional videos, and Jupyter notebook
examples are available at the following course websites.

* `Arduino temperature control lab page <http://apmonitor.com/pdc/index.php/Main/ArduinoTemperatureControl>`__ on the BYU Process Dynamics and Control course website.
* `CBE 30338 <http://jckantor.github.io/CBE30338/>`__ for the Notre Dame
  Chemical Process Control course website.
* `Dynamics and Control <https://github.com/alchemyst/Dynamics-and-Control>`__ for notebooks developed at the University of Pretoria.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/APMonitor/TCLab",
    "name": "tclab",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "apmonitor control hardware",
    "author": "BYUPRISM",
    "author_email": "john_hedengren@byu.edu",
    "download_url": "https://files.pythonhosted.org/packages/84/82/2790f9830074b673c656a50c65f5ce93b5e39f1364ffdba53ae67fa3450e/tclab-1.0.0.tar.gz",
    "platform": null,
    "description": "TCLab: Temperature Control Laboratory\n=====================================\n\nMaster:\n\n.. image:: https://travis-ci.org/jckantor/TCLab.svg?branch=master\n    :target: https://travis-ci.org/jckantor/TCLab\n\n.. image:: https://readthedocs.org/projects/tclab/badge/?version=latest\n    :target: http://tclab.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://badge.fury.io/py/tclab.svg\n    :target: https://badge.fury.io/py/tclab\n\nDevelopment:\n\n.. image:: https://travis-ci.org/jckantor/TCLab.svg?branch=development\n    :target: https://travis-ci.org/jckantor/TCLab\n\n``TCLab`` provides a Python interface to the\n`Temperature Control Lab <http://apmonitor.com/pdc/index.php/Main/ArduinoTemperatureControl>`_\nimplemented on an Arduino microcontroller over a USB interface.\n``TCLab`` is implemented as a Python class within\nthe ``tclab`` package.  The ``tclab`` package also includes:\n\n* ``clock`` A Python generator for soft real-time implementation of\n  process control algorithms.\n* ``Historian`` A Python class to log results of a process control\n  experiment.\n* ``Plotter`` Provides an historian with real-time plotting within a\n  Jupyter notebook.\n* ``TCLabModel`` An embedded model of the temperature control lab\n  for off-line and faster-than-realtime simulation of process control\n  experiments. No hardware needs to be attached to use ``TCLabModel``.\n\nThe companion Arduino firmware for device operation is available at the\n`TCLab-Sketch repository <https://github.com/jckantor/TCLab-sketch>`_.\n\nThe `Arduino Temperature Control Lab <http://apmonitor.com/pdc/index.php/Main/ArduinoTemperatureControl>`_\nis a modular, portable, and inexpensive solution for hands-on process\ncontrol learning.  Heat output is adjusted by modulating current flow to\neach of two transistors. Thermistors measure the temperatures. Energy\nfrom the transistor output is transferred by conduction and convection\nto the temperature sensor. The dynamics of heat transfer provide rich\nopportunities to implement single and multivariable control systems.\nThe lab is integrated into a small PCB shield which can be mounted to\nany `Arduino <https://www.arduino.cc/>`_ or Arduino compatible\nmicrocontroller.\n\nInstallation\n------------\n\nInstall using ::\n\n   pip install tclab\n\nTo upgrade an existing installation, use the command ::\n\n   pip install tclab --upgrade\n\n\nThe development version contains new features, but may be less stable. To install the development version use the command ::\n\n   pip install --upgrade https://github.com/jckantor/TCLab/archive/development.zip\n\n\nHardware setup\n--------------\n\n1. Plug a compatible Arduino device (UNO, Leonardo, NHduino) with the\n   lab attached into your computer via the USB connection. Plug the DC\n   power adapter into the wall.\n\n2. (optional) Install Arduino Drivers\n\n   *If you are using Windows 10, the Arduino board should connect\n   without additional drivers required.*\n\n   For Arduino clones using the CH340G, CH34G or CH34X chipset you may need additional drivers. Only install these if you see a message saying \"No Arduino device found.\" when connecting.\n\n   * `macOS <https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver>`__.\n   * `Windows <http://www.wch.cn/downfile/65>`__.\n\n3. (optional) Install Arduino Firmware\n\n   ``TCLab`` requires the one-time installation of custom firmware on\n   an Arduino device. If it hasn't been pre-installed, the necessary\n   firmware and instructions are available from the\n   `TCLab-Sketch repository <https://github.com/jckantor/TCLab-sketch>`_.\n\nChecking that everything works\n------------------------------\n\nExecute the following code ::\n\n    import tclab\n    with tclab.TCLab() as lab:\n        print(lab.T1)\n\nIf everything has worked, you should see the following output message ::\n\n    Connecting to TCLab\n    TCLab Firmware Version 1.2.1 on NHduino connected to port XXXX\n    21.54\n    TCLab disconnected successfully.\n\nThe number returned is the temperature of sensor T1 in \u00b0C.\n\n\nTroubleshooting\n---------------\n\nIf something went wrong in the above process, refer to our troubleshooting guide\nin TROUBLESHOOTING.md.\n\nNext Steps\n----------\n\nThe notebook directory provides examples on how to use the TCLab module.\nThe latest documentation is available at\n`Read the Docs <http://tclab.readthedocs.io/en/latest/index.html>`_.\n\nCourse Websites\n---------------\n\nAdditional information, instructional videos, and Jupyter notebook\nexamples are available at the following course websites.\n\n* `Arduino temperature control lab page <http://apmonitor.com/pdc/index.php/Main/ArduinoTemperatureControl>`__ on the BYU Process Dynamics and Control course website.\n* `CBE 30338 <http://jckantor.github.io/CBE30338/>`__ for the Notre Dame\n  Chemical Process Control course website.\n* `Dynamics and Control <https://github.com/alchemyst/Dynamics-and-Control>`__ for notebooks developed at the University of Pretoria.\n\n\n",
    "bugtrack_url": null,
    "license": "Apache Software License",
    "summary": "Python bindings for the BYU Arduino Temperature Control Lab",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/APMonitor/TCLab"
    },
    "split_keywords": [
        "apmonitor",
        "control",
        "hardware"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "15c3c9eda299ce9ae2edff6bda60ce6e81a0d69aea9471611f88941741ad740e",
                "md5": "7ec39d4888200ef8984a3e22f01411be",
                "sha256": "40fa767e1ebfe49d8124f83774d0af1b3928cd3c753d8d9ae04e19118e202b82"
            },
            "downloads": -1,
            "filename": "tclab-1.0.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7ec39d4888200ef8984a3e22f01411be",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 20792,
            "upload_time": "2023-09-11T20:27:17",
            "upload_time_iso_8601": "2023-09-11T20:27:17.111266Z",
            "url": "https://files.pythonhosted.org/packages/15/c3/c9eda299ce9ae2edff6bda60ce6e81a0d69aea9471611f88941741ad740e/tclab-1.0.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "84822790f9830074b673c656a50c65f5ce93b5e39f1364ffdba53ae67fa3450e",
                "md5": "e9f8cac45d30a7c3a0a95e55aa471d2a",
                "sha256": "714cc0f7a18e6915922242daa76626148613107ef3c344c301b67e8a69cee63b"
            },
            "downloads": -1,
            "filename": "tclab-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e9f8cac45d30a7c3a0a95e55aa471d2a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 23048,
            "upload_time": "2023-09-11T20:27:18",
            "upload_time_iso_8601": "2023-09-11T20:27:18.416604Z",
            "url": "https://files.pythonhosted.org/packages/84/82/2790f9830074b673c656a50c65f5ce93b5e39f1364ffdba53ae67fa3450e/tclab-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-11 20:27:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "APMonitor",
    "github_project": "TCLab",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "tclab"
}
        
Elapsed time: 0.11231s