273 lines
No EOL
19 KiB
HTML
273 lines
No EOL
19 KiB
HTML
<!DOCTYPE html>
|
||
<html class="writer-html5" lang="de" >
|
||
<head>
|
||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>Motoren — CompLib 0.2.3 Dokumentation</title>
|
||
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
||
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
||
<!--[if lt IE 9]>
|
||
<script src="../../_static/js/html5shiv.min.js"></script>
|
||
<![endif]-->
|
||
|
||
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
||
<script src="../../_static/jquery.js"></script>
|
||
<script src="../../_static/underscore.js"></script>
|
||
<script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||
<script src="../../_static/doctools.js"></script>
|
||
<script src="../../_static/sphinx_highlight.js"></script>
|
||
<script src="../../_static/translations.js"></script>
|
||
<script src="../../_static/js/theme.js"></script>
|
||
<link rel="index" title="Stichwortverzeichnis" href="../../genindex.html" />
|
||
<link rel="search" title="Suche" href="../../search.html" />
|
||
<link rel="next" title="Seeding" href="Seeding.html" />
|
||
<link rel="prev" title="Infrarot Sensoren" href="IRSensor.html" />
|
||
</head>
|
||
|
||
<body class="wy-body-for-nav">
|
||
<div class="wy-grid-for-nav">
|
||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||
<div class="wy-side-scroll">
|
||
<div class="wy-side-nav-search" >
|
||
<a href="../../index.html">
|
||
<img src="../../_static/compair-logo-white.svg" class="logo" alt="Logo"/>
|
||
</a>
|
||
<div role="search">
|
||
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||
<input type="text" name="q" placeholder="Dokumentation durchsuchen" />
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
</div>
|
||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||
<ul class="current">
|
||
<li class="toctree-l1"><a class="reference internal" href="../../gettingStarted/index.html">Erste Schritte</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../software/installation.html">Installationsanweisungen</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../faq.html">FAQ</a></li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../other/usage.html">Beispiele</a></li>
|
||
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">compLib</a><ul class="current">
|
||
<li class="toctree-l2"><a class="reference internal" href="DoubleElimination.html">Double Elimination</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="Encoder.html">Encoder</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="IRSensor.html">Infrarot Sensoren</a></li>
|
||
<li class="toctree-l2 current"><a class="current reference internal" href="#">Motoren</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="#dokumentation-der-klasse">Dokumentation der Klasse</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="#compLib.Motor.Motor"><code class="docutils literal notranslate"><span class="pre">Motor</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#genauere-informationen">Genauere Informationen</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="#power-vs-speed-vs-pulsewidth">Power vs Speed vs PulseWidth</a></li>
|
||
<li class="toctree-l4"><a class="reference internal" href="#normal-vs-multiple">Normal vs Multiple</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#beispiele">Beispiele</a><ul>
|
||
<li class="toctree-l4"><a class="reference internal" href="#vorwarts-fahren">Vorwärts fahren</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="Seeding.html">Seeding</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l1"><a class="reference internal" href="../../other/hardware.html">Hardware</a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||
<a href="../../index.html">CompLib</a>
|
||
</nav>
|
||
|
||
<div class="wy-nav-content">
|
||
<div class="rst-content">
|
||
<div role="navigation" aria-label="Page navigation">
|
||
<ul class="wy-breadcrumbs">
|
||
<li><a href="../../index.html" class="icon icon-home"></a></li>
|
||
<li class="breadcrumb-item"><a href="../index.html">compLib</a></li>
|
||
<li class="breadcrumb-item active">Motoren</li>
|
||
<li class="wy-breadcrumbs-aside">
|
||
<a href="../../_sources/lib/classes/Motor.rst.txt" rel="nofollow"> Quelltext anzeigen</a>
|
||
</li>
|
||
</ul>
|
||
<hr/>
|
||
</div>
|
||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||
<div itemprop="articleBody">
|
||
|
||
<section id="motoren">
|
||
<span id="lib-motor"></span><h1>Motoren<a class="headerlink" href="#motoren" title="Permalink to this heading"></a></h1>
|
||
<section id="dokumentation-der-klasse">
|
||
<h2>Dokumentation der Klasse<a class="headerlink" href="#dokumentation-der-klasse" title="Permalink to this heading"></a></h2>
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="compLib.Motor.Motor">
|
||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">compLib.Motor.</span></span><span class="sig-name descname"><span class="pre">Motor</span></span><a class="headerlink" href="#compLib.Motor.Motor" title="Link zu dieser Definition"></a></dt>
|
||
<dd><p>Klasse zum Ansteuern der Motoren</p>
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="compLib.Motor.Motor.multiple_power">
|
||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">multiple_power</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">arguments</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#compLib.Motor.Motor.multiple_power" title="Link zu dieser Definition"></a></dt>
|
||
<dd><p>Mehrere Motoren auf eine prozentuale Leistung der Höchstgeschwindigkeit einstellen</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameter</dt>
|
||
<dd class="field-odd"><p><strong>arguments</strong> – tuple von port, percentage</p>
|
||
</dd>
|
||
<dt class="field-even">Raises</dt>
|
||
<dd class="field-even"><p>IndexError</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="compLib.Motor.Motor.multiple_pulse_width">
|
||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">multiple_pulse_width</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">arguments</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#compLib.Motor.Motor.multiple_pulse_width" title="Link zu dieser Definition"></a></dt>
|
||
<dd><p>Setzen den Pulsbreite mehreer Motoren in Prozent der Periode</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameter</dt>
|
||
<dd class="field-odd"><p><strong>arguments</strong> – tuple von port, prozent</p>
|
||
</dd>
|
||
<dt class="field-even">Raises</dt>
|
||
<dd class="field-even"><p>IndexError</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="compLib.Motor.Motor.multiple_speed">
|
||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">multiple_speed</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">arguments</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#compLib.Motor.Motor.multiple_speed" title="Link zu dieser Definition"></a></dt>
|
||
<dd><p>Geschwindigkeit mehrerer Motoren einstellen</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameter</dt>
|
||
<dd class="field-odd"><p><strong>arguments</strong> – tuple von port, Geschwindigkeit in Radianten pro Sekunde (rad/s)</p>
|
||
</dd>
|
||
<dt class="field-even">Raises</dt>
|
||
<dd class="field-even"><p>IndexError</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="compLib.Motor.Motor.power">
|
||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">power</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">percent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#compLib.Motor.Motor.power" title="Link zu dieser Definition"></a></dt>
|
||
<dd><p>Motor auf eine prozentuale Leistung der Höchstgeschwindigkeit einstellen</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameter</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>port</strong> – Port, an welchen der Motor angestecht wird. 0-3</p></li>
|
||
<li><p><strong>percent</strong> – Prozentsatz der Höchstgeschwindigkeit. zwischen -100 und 100</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Raises</dt>
|
||
<dd class="field-even"><p>IndexError</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="compLib.Motor.Motor.pulse_width">
|
||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">pulse_width</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">percent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#compLib.Motor.Motor.pulse_width" title="Link zu dieser Definition"></a></dt>
|
||
<dd><p>Setzen den Pulsbreite eines Motors in Prozent der Periode</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameter</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>port</strong> – Port, an welchen der Motor angestecht wird. 0-3</p></li>
|
||
<li><p><strong>percent</strong> – Prozent der Periode zwischen -100 und 100</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Raises</dt>
|
||
<dd class="field-even"><p>IndexError</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="compLib.Motor.Motor.speed">
|
||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">speed</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">speed</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#compLib.Motor.Motor.speed" title="Link zu dieser Definition"></a></dt>
|
||
<dd><p>Geschwindigkeit des Motors einstellen</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameter</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>port</strong> – Port, an welchen der Motor angestecht wird. 0-3</p></li>
|
||
<li><p><strong>speed</strong> – Drehzahl, mit der sich ein Motor dreht, in Radianten pro Sekunde (rad/s)</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Raises</dt>
|
||
<dd class="field-even"><p>IndexError</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</section>
|
||
<section id="genauere-informationen">
|
||
<h2>Genauere Informationen<a class="headerlink" href="#genauere-informationen" title="Permalink to this heading"></a></h2>
|
||
<section id="power-vs-speed-vs-pulsewidth">
|
||
<h3>Power vs Speed vs PulseWidth<a class="headerlink" href="#power-vs-speed-vs-pulsewidth" title="Permalink to this heading"></a></h3>
|
||
<p>Zur ansteuerung der Motoren kann entweder <code class="docutils literal notranslate"><span class="pre">Motor.power(...)</span></code>, <code class="docutils literal notranslate"><span class="pre">Motor.speed(...)</span></code> oder <code class="docutils literal notranslate"><span class="pre">Motor.pulse_width(...)`</span></code> verwendet werden.
|
||
Der Unterschied der 3 Funktionen liegt dabei in der Einheit des 2. Parameters.</p>
|
||
<div class="line-block">
|
||
<div class="line">Bei <code class="docutils literal notranslate"><span class="pre">Motor.power()</span></code> wird dabei ein Wert zwischen -100% und 100% der maximalen Geschwindigkeit angegeben.</div>
|
||
<div class="line"><code class="docutils literal notranslate"><span class="pre">Motor.speed()</span></code> verwendet die Encoder um die Geschwindigkeit der Motoren mittels closed-loop zu steuern. Diese Funktion sollte nur verwendet werden, wenn <code class="docutils literal notranslate"><span class="pre">Motor.power()</span></code> nicht zur Ansteuerung ausreicht.</div>
|
||
<div class="line"><code class="docutils literal notranslate"><span class="pre">Motor.pulse_width()</span></code> stellt die Geschwindigkeit des Motors mittels der Pulsbreite der PWM-Steuerung des Motors ein. Diese Funktion ist so nah an der Hardware wie möglich und sollte auch nur verwendet werden, wenn es einen expliziten Grund dafür gibt.</div>
|
||
</div>
|
||
</section>
|
||
<section id="normal-vs-multiple">
|
||
<h3>Normal vs Multiple<a class="headerlink" href="#normal-vs-multiple" title="Permalink to this heading"></a></h3>
|
||
<p>Der Aufruf der funktionen kann entweder über <code class="docutils literal notranslate"><span class="pre">Motor.power(port,</span> <span class="pre">percent)</span></code> oder <code class="docutils literal notranslate"><span class="pre">Motor.power((port,</span> <span class="pre">percent),</span> <span class="pre">(port,</span> <span class="pre">percent),</span> <span class="pre">..)</span></code> erfolgen.
|
||
Der zweite Aufruf ermöglicht dem Entwickler dabei beide Motoren in einem Aufruf anzusteuern und bringt einen kleinen Vorteil in der Leistungsfähigkeit der Software.</p>
|
||
</section>
|
||
</section>
|
||
<section id="beispiele">
|
||
<h2>Beispiele<a class="headerlink" href="#beispiele" title="Permalink to this heading"></a></h2>
|
||
<section id="vorwarts-fahren">
|
||
<h3>Vorwärts fahren<a class="headerlink" href="#vorwarts-fahren" title="Permalink to this heading"></a></h3>
|
||
<p>Mit folgenden Programm drehen sich beide Motoren mit 50% ihrer maximalen Geschwindigkeit.
|
||
Dabei ist zu beachten, dass ein Motor in die entgegengesetzte Richtung zum aneren Motor gedreht werden muss, da diese spiegelverkehrt montiert sind.</p>
|
||
<p>Zusätzlich ist ein <code class="docutils literal notranslate"><span class="pre">time.sleep(5)</span></code> notwendig, welches das Programm für 5 Sekunden pausiert. Diese Pause wird benötigt, da der Roboter automatisch alle Motoren beim Ende des Progammes deaktiviert.</p>
|
||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">compLib.Motor</span> <span class="kn">import</span> <span class="n">Motor</span>
|
||
<span class="kn">import</span> <span class="nn">time</span>
|
||
|
||
<span class="n">Motor</span><span class="o">.</span><span class="n">power</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">50</span><span class="p">)</span>
|
||
<span class="n">Motor</span><span class="o">.</span><span class="n">power</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span>
|
||
|
||
<span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||
<a href="IRSensor.html" class="btn btn-neutral float-left" title="Infrarot Sensoren" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Zurück</a>
|
||
<a href="Seeding.html" class="btn btn-neutral float-right" title="Seeding" accesskey="n" rel="next">Weiter <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||
</div>
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>© Copyright 2022, Verein zur Förderung von Wissenschaft und Technik an Schulen (F-WuTS).</p>
|
||
</div>
|
||
|
||
Erstellt mit <a href="https://www.sphinx-doc.org/">Sphinx</a> mit einem
|
||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||
bereitgestellt von <a href="https://readthedocs.org">Read the Docs</a>.
|
||
|
||
|
||
</footer>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<script>
|
||
jQuery(function () {
|
||
SphinxRtdTheme.Navigation.enable(true);
|
||
});
|
||
</script>
|
||
|
||
</body>
|
||
</html> |