Both sides previous revisionPrevious revisionNext revision | Previous revision |
hal [2019/11/30 21:14] – [Configure the Outputs for the Motors] graf | hal [2021/06/11 15:59] (current) – [Hardware Abstraction Layer] ursgraf |
---|
====== Hardware Abstraction Layer ====== | ====== Hardware Abstraction Layer ====== |
EEROS for the Beagle Bone Blue is using the [[https://github.com/StrawsonDesign/librobotcontrol|robotis_cape_library]]. You'll find the wrapper and its functions in the ''bbblue-eeros'' folder. To learn more about the hardware abstraction layer read [[http://wiki.eeros.org/eeros_architecture/hal/start|HAL]] | EEROS for the Beaglebone blue is using the [[https://github.com/StrawsonDesign/librobotcontrol|robotis_cape_library]]. You'll find the wrapper and its functions in the ''bbblue-eeros'' folder. To learn more about the hardware abstraction layer read [[http://wiki.eeros.org/eeros_architecture/hal/start|HAL]] |
| |
===== Configure the Outputs for the Motors ===== | ===== Configure the Outputs for the Motors ===== |
If you want to run a motor with EEROS you need to define a //Peripheral Output// with the respective ''signalId'' used in the HAL configuration file. As you can see in the configuration file //HwConfigBBBlue.json// the ''subdevice2'' comprises the analog outputs for the 4 motors. In the EEROS application for the Delta roboter you can set a motor voltage of -8.0V to 8.0V. The HAL gets this values and wraps it to match the values of the robotics_cape_library which then runs the motors with the desired voltage. | If you want to run a motor with EEROS you need to define a //Peripheral Output// with the respective ''signalId'' used in the HAL configuration file. As you can see in the configuration file //HwConfigBBBlue.json// the ''subdevice2'' comprises the analog outputs for the motors. In the EEROS application for the Delta roboter you can set a motor voltage of -8.0V to 8.0V. The HAL gets this values and wraps it to match the values of the robotics_cape_library which then runs the motors with the desired voltage. |
{{ :delta:software:hal-motor.jpg?350 |HAL-Configuration for the motors}} | {{ :delta:software:hal-motor.jpg?350 |HAL-Configuration for the motors}} |
| |
=====Configure the Encoder Inputs ===== | =====Configure the Encoder Inputs ===== |
The Delta roboter has two different motors with different encoders and gears. You'll find the datasheets of the two types in [[hardware|]]. | The Delta roboter three motors with encoders and gears. You'll find the datasheets in [[components|]]. |
==== Encoders on the Axis Motors ==== | |
The axis motors are equipped with a gear with the ratio of //76:1// and with an encoder //ieh2-4096//, which provides //4096 lines per revolution//. The quadrature decoder function, which counts the encoder ticks, delivers 4 counts per line. \\ | The axis motors are equipped with a gear with the ratio of //76:1// and with an encoder //ieh2-4096//, which provides //4096 lines per revolution//. The quadrature decoder function, which counts the encoder ticks, delivers 4 counts per line. \\ |
To account for this in the configuration file of the HAL, we add three blocks. These blocks mirror the physical behavior of the decoder, encoder, and gear.\\ | To account for this in the configuration file of the HAL, we add three blocks. These blocks mirror the physical behavior of the decoder, encoder, and gear.\\ |
The total scale will be calculated by the HAL as (76 * 4096 * 4) / 2π. | The total scale will be calculated by the HAL as (76 * 4096 * 4) / 2π. |
| |
==== Encoders on the Tool Center Point Motor ==== | |
The TCP motor are equipped with a gear with the ratio of //120:1// and with an encoder //hem3-256w//, which provides //256 lines per revolution//. The quadrature decoder function, which counts the encoder ticks, delivers 4 counts per line. \\ | |
| |
{{ :delta:software:hal-hem3.jpg?500 |HAL config for HEM3 encoder}} | |
| |
The total scale will be calculated by the HAL as (120 * 256 * 4) / 2π. | |
| |