getting_started:tutorials:oneaxis
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
getting_started:tutorials:oneaxis [2019/10/11 11:08] – [Build Application] graf | getting_started:tutorials:oneaxis [2023/04/12 14:55] – [Build Application] ursgraf | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Control a Single Motor ====== | ====== Control a Single Motor ====== | ||
- | This tutorial will show you how to control a single motor using EEROS. This example is located in a separate repository [[https:// | + | This tutorial will show you how to control a single motor using EEROS. This example is located in a separate repository [[https:// |
- | + | ||
- | Navigate to the directory '' | + | |
=====Theoretical Background===== | =====Theoretical Background===== | ||
Line 16: | Line 13: | ||
D is the damping factor and we choose it as 0.9. | D is the damping factor and we choose it as 0.9. | ||
- | |||
- | |||
=====Experimental Setup===== | =====Experimental Setup===== | ||
- | A maxon motor controller (50V / 5A) delivers the necessary power. | + | The motor we use has the following properties: |
| **Properties** | | **Properties** | ||
Line 28: | Line 23: | ||
We use three different platforms for running the Simple Motor Controller. | We use three different platforms for running the Simple Motor Controller. | ||
- | * A regular PC (x86-64) together with a National Instrument card: PCIe - 6251 (M-Series). The card requires the //comedi// library together with the EEROS hardware wrapper, see [[eeros_architecture: | + | * [[oneaxis_comedi|]] |
- | {{ oneAxis_setup.png? | + | * [[oneaxis_bbb|]] |
- | * A [[https:// | + | * [[oneaxis_cb20|]] |
- | * Our cb20 controller board ([[http:// | + | |
- | + | ||
- | Connect all the necessary signals according to your hardware configuration file, notably | + | |
- | * analog output and enable signal to the motor controller | + | |
- | * encoder outputs (A/B signals) to the decoder inputs | + | |
- | * motor controller ready signal to a digital input | + | |
- | * emergency button to a digital input | + | |
- | + | ||
- | IMPORTANT On the beaglebone blue board, you don't need a motor controller. Hence, you do not need the enable signal. Tie the ready signal to logic one. | + | |
=====Build Application===== | =====Build Application===== | ||
- | - Install EEROS and necessary hardware libraries as described in [[getting_started: | + | - Proceed with [[getting_started: |
- | - Build [[getting_started: | + | - After cloning |
+ | - [[getting_started:deploy|]] to the target system if necessary. | ||
=====Test Application===== | =====Test Application===== | ||
You will find different hardware configuration files depending on the hardware platform. | You will find different hardware configuration files depending on the hardware platform. | ||
- | * HalComedi.json | + | * HwConfigComedi.json |
- | * HalFlink.json | + | * HwConfigFlink.json |
- | * HalBBB.json | + | * HwConfigBBB.json |
Start our application by choosing the appropriate configuration file, e.g.: | Start our application by choosing the appropriate configuration file, e.g.: | ||
< | < | ||
- | $ sudo ./ | + | $ sudo ./ |
</ | </ | ||
+ | The application logs the motor position once per second. By activating the emergency button, the safety system will immediately switch to an emergency state. Deactivating this button causes the system to switch back to running mode. | ||
+ | |||
+ | ===== Develop your own Application Further ===== | ||
+ | For further development we recommend to use an integrated development environment as described in [[getting_started: | ||
+ | |||
=====Implementation===== | =====Implementation===== | ||
Line 65: | Line 56: | ||
==== Safety System ==== | ==== Safety System ==== | ||
Safety levels and events are declared in '' | Safety levels and events are declared in '' | ||
- | [{{ : | + | [{{ : |
Two critical inputs are defined: " | Two critical inputs are defined: " |
getting_started/tutorials/oneaxis.txt · Last modified: 2023/04/13 11:29 by ursgraf