OWERPRO SG90
9G舵机,25CM棕红橙线 1.重量:9g 2.尺寸:23x12.2x29mm 3.无负载操作速度:0.12秒/60度(4.8V);0.10秒/60度(6.0V) 4.扭矩:1.6kg·cm(4.8V) 5.使用温度:-30~+60摄氏度 6.死区设定:5微秒 7.工作电压:3.5V~6V 8.附件:三种功能舵角、固定螺钉,线长 25CM
舵机如图
这个舵机是模拟舵机,而非数字舵机,这两者的区别是这样,数字舵机只要给一个PWM信号即可,这个信号是目的地的位置,舵机会自动旋转到这个位置,而 模拟舵机需要一直给予目的地的PWM信号。由于舵机需要的PWM信号实际就是一个方波,所以模拟舵机就是需要不断的重复发一样的方波,直到舵机旋转到指定 的位置,并且如果需要锁定在这个位置,那么还需继续给予这个方波。
下面是MAPS-K64引脚定义与源程序
- ROOT bool ON_HW_INIT(void)
- {
- /*! you can put your code here */
- IO_CFG(
- {PC1, IO_WORKS_AS_FUNC4},
- {PC2, IO_WORKS_AS_FUNC4},
- {PC3, IO_WORKS_AS_FUNC4},
- {PC4, IO_WORKS_AS_FUNC4},
- {PC8, IO_WORKS_AS_FUNC3},
- {PC9, IO_WORKS_AS_FUNC3},
- {PC10, IO_WORKS_AS_FUNC3},
- {PC11, IO_WORKS_AS_FUNC3},
- {PD0, IO_WORKS_AS_FUNC4},
- {PD1, IO_WORKS_AS_FUNC4},
- {PD2, IO_WORKS_AS_FUNC4},
- {PD3, IO_WORKS_AS_FUNC4},
- {PD4, IO_WORKS_AS_FUNC4},
- {PD5, IO_WORKS_AS_FUNC4},
- {PB18, IO_WORKS_AS_FUNC3},
- {PB19, IO_WORKS_AS_FUNC3},
- {PA1, IO_WORKS_AS_FUNC3},
- {PA2, IO_WORKS_AS_FUNC3},
- );
- return true;
- }
复制代码
依次对舵机进行设置参数
- static void joints_calibration(joint_t *ptJoints)
- {
- if (NULL == ptJoints) {
- return ;
- }
- JOINT_CFG(
- ptJoints[LEFT_BACK_LEG_2], // 内部舵机
- LEFT_BACK_LEG_2,
- 335, //!< offset
- 42, //!< start angle
- 140, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 980, //!< K
- );
- JOINT_CFG(
- ptJoints[LEFT_MIDDLE_LEG_2],
- LEFT_MIDDLE_LEG_2,
- 310, //!< offset
- 42, //!< start angle
- 140, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 1060, //!< K
- );
- JOINT_CFG(
- ptJoints[LEFT_FRONT_LEG_2],
- LEFT_FRONT_LEG_2,
- 353, //!< offset
- 42, //!< start angle
- 140, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 980, //!< K
- );
- JOINT_CFG( //
- ptJoints[RIGHT_BACK_LEG_2],
- RIGHT_BACK_LEG_2,
- 305, //!< offset
- 50, //!< start angle
- 150, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 880, //!< K
- );
- JOINT_CFG(
- ptJoints[RIGHT_MIDDLE_LEG_2],
- RIGHT_MIDDLE_LEG_2,
- 304, //!< offset
- 40, //!< start angle
- 160, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 860, //!< K
- );
- JOINT_CFG(
- ptJoints[RIGHT_FRONT_LEG_2],
- RIGHT_FRONT_LEG_2,
- 334, //!< offset
- 51, //!< start angle
- 160, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 840, //!< K
- );
- JOINT_CFG(
- ptJoints[RIGHT_BACK_LEG_1], // 连接关节
- RIGHT_BACK_LEG_1,
- 350, //!< offset
- 90, //!< start angle
- 180, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 900, //!< K
- );
- JOINT_CFG( // GG
- ptJoints[RIGHT_MIDDLE_LEG_1],
- RIGHT_MIDDLE_LEG_1,
- 350, //!< offset
- 90, //!< start angle
- 180, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 950, //!< K
- );
- JOINT_CFG(
- ptJoints[RIGHT_FRONT_LEG_1],
- RIGHT_FRONT_LEG_1,
- 355, //!< offset
- 90, //!< start angle
- 180, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 950, //!< K
- );
- JOINT_CFG(
- ptJoints[RIGHT_BACK_LEG_0],
- RIGHT_BACK_LEG_0,
- 350, //!< offset
- 30, //!< start angle
- 140, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 950, //!< K
- );
- JOINT_CFG(
- ptJoints[RIGHT_MIDDLE_LEG_0],
- RIGHT_MIDDLE_LEG_0,
- 350, //!< offset
- 55, //!< start angle
- 145, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 850, //!< K
- );
- JOINT_CFG(
- ptJoints[RIGHT_FRONT_LEG_0],
- RIGHT_FRONT_LEG_0,
- 355, //!< offset
- 50, //!< start angle
- 140, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 810, //!< K
- );
- JOINT_CFG( //外脚
- ptJoints[LEFT_FRONT_LEG_0],
- LEFT_FRONT_LEG_0,
- 368, //!< offset
- 40, //!< start angle
- 140, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 890, //!< K
- );
- JOINT_CFG(
- ptJoints[LEFT_MIDDLE_LEG_0],
- LEFT_MIDDLE_LEG_0,
- 350, //!< offset
- 55, //!< start angle
- 140, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 920, //!< K
- );
- JOINT_CFG(
- ptJoints[LEFT_BACK_LEG_0],
- LEFT_BACK_LEG_0,
- 352, //!< offset
- 50, //!< start angle
- 148, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 1130, //!< K
- );
- JOINT_CFG(
- ptJoints[LEFT_BACK_LEG_1],
- LEFT_BACK_LEG_1,
- 80, //!< offset
- 5, //!< start angle
- 130, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 900, //!< K
- );
- JOINT_CFG(
- ptJoints[LEFT_MIDDLE_LEG_1],
- LEFT_MIDDLE_LEG_1,
- 50, //!< offset
- 2, //!< start angle
- 115, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 1000, //!< K
- );
- JOINT_CFG(
- ptJoints[LEFT_FRONT_LEG_1],
- LEFT_FRONT_LEG_1,
- 80, //!< offset
- 5, //!< start angle
- 135, //!< end angle
- 9, //!< Max Angular Speed
- 90, //!< Reset Position
- 850, //!< K
- );
- }
复制代码
注释解释的也挺清楚的
最近在做一个六足蜘蛛机器人的项目用的就是这种舵机,说实话真的挺难调的
|