Easy Control Library for Cubic 0.01
Loading...
Searching...
No Matches
Cubic.controller.h File Reference
#include <Arduino.h>
#include "PID.h"
#include "cubic_arduino.h"

Go to the source code of this file.

Classes

class  Cubic_controller::Controller
 Cubic制御器の抽象クラス More...
 
class  Cubic_controller::Velocity_PID
 インクリメンタルエンコーダを用いた、DCモータの速度制御を行うためのクラス More...
 
class  Cubic_controller::Position_PID
 アブソリュートエンコーダを用いた、DCモータの位置制御を行うためのクラス More...
 

Enumerations

enum class  Cubic_controller::encoderType { inc , abs }
 エンコーダの種類を示します More...
 

Functions

constexpr double degToRad (double deg)
 度数法から弧度法に変換します
 
constexpr double radToDeg (double rad)
 弧度法から度数法に変換します
 
constexpr double Cubic_controller::limitAngle (double angle, const double min=-PI)
 与えられた角度を一定範囲(min<=angle<min+2pi)に収めます
 
constexpr double Cubic_controller::encoderToAngle (const int32_t encoder, const uint16_t CPR, const double offset=-PI, const bool limit=true)
 与えられたCPRのもと、エンコーダの値から角度を計算します
 

Variables

constexpr uint16_t Cubic_controller::AMT22_CPR = 16384
 AMT22のCPRです
 
constexpr double Cubic_controller::LOOP_THRESHOLD = 5.0 * PI / 6.0
 アブソリュートエンコーダのループ閾値
 
constexpr double Cubic_controller::ALLOWED_ROTATION_RANGE = 2.0 * PI
 アブソリュートエンコーダーの回転をどこまで許容するか。
 

Enumeration Type Documentation

◆ encoderType

enum class Cubic_controller::encoderType
strong

エンコーダの種類を示します

inc: incremental encoder, abs: absolute encoder

Function Documentation

◆ degToRad()

constexpr double degToRad ( double deg)
constexpr

度数法から弧度法に変換します

Parameters
deg
Returns
constexpr double

◆ encoderToAngle()

constexpr double Cubic_controller::encoderToAngle ( const int32_t encoder,
const uint16_t CPR,
const double offset = -PI,
const bool limit = true )
constexpr

与えられたCPRのもと、エンコーダの値から角度を計算します

Parameters
encoderエンコーダの値
CPRcounts per revolution(PPRの4倍)
offsetオフセット[rad]。省略可能で、デフォルトは-PI
limit角度を一定範囲に収めるかどうか。省略可能で、デフォルトはtrue
Returns
constexpr double angle[rad](-PI<= angle < PI)

◆ limitAngle()

constexpr double Cubic_controller::limitAngle ( double angle,
const double min = -PI )
constexpr

与えられた角度を一定範囲(min<=angle<min+2pi)に収めます

Parameters
angle角度[rad]
min最低値[rad]。省略可能で、デフォルトは-PI
Returns
constexpr double 角度[rad](-PI<= angle < PI)

◆ radToDeg()

constexpr double radToDeg ( double rad)
constexpr

弧度法から度数法に変換します

Parameters
rad
Returns
constexpr double

Variable Documentation

◆ ALLOWED_ROTATION_RANGE

constexpr double Cubic_controller::ALLOWED_ROTATION_RANGE = 2.0 * PI
constexpr

アブソリュートエンコーダーの回転をどこまで許容するか。

[-ALLOWED_ROTATION_RANGE, ALLOWED_ROTATION_RANGE]の範囲で許容する。

◆ AMT22_CPR

constexpr uint16_t Cubic_controller::AMT22_CPR = 16384
constexpr

AMT22のCPRです

CPR: Counts Per Revolution