You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

2.1 KiB

  1. 不同的电机,不同的负载,不同的速度,需要配置不同的参数 ----->
  2. 电机存在一个参数列表
  3. 归零时,清零编码器

电机驱动 1. 初始化电机参数,对电机参数进行优化。 2. 电机单圈精度配置,需要在电机驱动程序中完成。 3. 参数配置是一个指令集合(list)。 4. 驱动器的参数可以根据项目写死。

驱动器配置完成后的目标: 1. 一圈的脉冲数和应用对齐。例如单位是mm,或者单位是0.01度 2. 编码器对于上层来说是透明的,如果驱动器使用了编码器,则上报编码器的真实位置。 3. 底层自己检查丢步事件。当丢步事件发生时,上报丢步事件。(丢步事件的检查 允许误差,由底层调整) 4. 上层不需要对电机进行任何配置,直接使用。(特殊情况下,如果不方便更新代码,可允许临时覆盖部分参数) 5. 归零只需要上层下发一条指令。 6. 归零存在归零超时这个参数,由底层自己配置

单片机层需要设置好: 1. 默认速度(快速,慢速,中速) 2. 上层可修改速度等级(例如快速,慢速,中速) 3. 每种速度等级可能需要微调部分参数。 加速度,减速度........ 每种速度使用一样的参数

4. 

上位机需要支持脚本加载。

cmdType, regadd regval speedlevel local_reg 0/default subdevice_reg


去现场版本: 1. 上位机&驱动 2.

不去现场版本: 1. 读取编码器真实位置() 1. 读取编码器处理过后的位置() 2. 清零,清零编码器 3. 经过设置的编码器数值(配置好转换因子)

1. 参数配置同以前保持一致
2. 增加一个set_cover_reg的指令
3. readpos读取的位置是编码器的位置(如果有编码器)
4. 底层检查位置是否有偏差,如果出现偏差则报错。
5. 上层可以读取偏差数值。
6. 上层可以设置编码器偏差数值。
7. 添加终点光电检测,这个检查需要上层自己检查。(上层应该抽象出两个指令,开门,关门,附带检查的自定义指令)
8. 归零时,清零编码器,清零驱动器位置。
9.  上层可以读到编码器的数值

setspeedlevel 覆盖部分配置

设置部分参数()

move_to_zero 归零