📄 ctrl.h
字号:
#if !defined (__CTRL_H)
#define __CTRL_H
#include <math.h>
const unsigned short INTR = 0X1C; //中断服务程序地址
const double MASS = 0.108; // 摆杆质量
const double LEN = 0.50; // 摆杆长度
const double GRAV = 9.82; // 重力加速度
const double JM =(MASS * LEN * LEN) / 12.0; /* 摆杆转动惯量 */
const double E_REF = 2 * MASS * GRAV * LEN; /* 能量参考值 */
const long COUNT = 2400; /*摆杆角度编码器脉冲当量为600pluse/r,经运动控制卡四倍频为2400)*/
const double ENCODE1 = 0.46 / 37500.0; //电机转一圈,小车在导轨移动的距离(单位为m/pluse)
const double ENCODE2 = M_PI * 2.0 / COUNT; //radian per count
const double LIMIT = 0.28; /* 软限位 */
const double INTPERIOD = 0.005; //中断时间为5ms
const double SAM = 0.0002; //运动控制卡的伺服控制周期
const double MAX_VEL = 0.2;
const double MAX_VEL_1 = 10.0; //速度参考值
const double ACC_COF = SAM * SAM / ENCODE1; //小车加速度当量
const double VEL_COF = SAM / ENCODE1; //小车速度当量,即小车在一个控制周期内电机运动的脉冲数(pulse/控制周期)
const double ENTRY_ANGLE = 0.18; /*倒立摆进入稳摆的临界角度 */
const double POS_SCREEN = 100 / LIMIT;
const double MAX_SPEED = 3.0;
#define ERR_1 100
#define ERR_2 200
#define TIME_ONE 1 //绘制曲线采样时间
#define TIME_TWO 20 //数据显示采样时间
int first_move();
void anti_cran();
void linear_up();
void handle_pendulum();
void init_interrupt();
void restore_interrupt();
void handle_sign();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -