SimpleFOC(四)—— 闭环控制

目录

  • 一、电机的三种控制模式
    • 1、力矩控制模式
    • 2、速度控制模式
    • 3、位置控制模式
  • 二、硬件说明
    • 1、硬件清单
    • 2、硬件连接
  • 三、程序演示
    • 1、力矩控制
      • ⑴、打开例程
      • ⑵、修改程序
      • ⑶、验证上传
      • ⑷、打开串口监视器
      • ⑸、等待初始化
      • ⑹、电机观测
      • ⑺、发送指令
      • ⑻、程序说明
    • 2、速度控制
      • ⑴、打开例程
      • ⑵、修改程序
      • ⑶、验证上传
      • ⑷、打开串口监视器
      • ⑸、等待初始化
      • ⑹、发送指令
      • ⑺、电机观测
    • 3、角度控制
      • ⑴、打开例程
      • ⑵、修改程序
      • ⑶、修改PID参数
      • ⑷、验证上传
      • ⑸、打开串口监视器
      • ⑹、等待初始化
      • ⑺、电机操作

一、电机的三种控制模式

1、力矩控制模式

  ◎电机在运行过程的电流,始终等于给定的值。
  ◎比如使用电机来拉伸弹簧,设定电流值越大,弹簧被拉伸的长度越长。设定电流越小,弹簧被拉伸的长度越短。设定电流为零,弹簧不被拉伸。
  ◎在SimpleFOC项目中,受限于Arduino UNO的运行速度,大部分例程没有使用电流采样,所以设定电压值代替设定电流值。
  

2、速度控制模式

  ◎让电机始终按照设定的速度运转,不因负载的变化而变化。
  ◎速度控制一般会采用内环电流环,外环速度环的方式,所以可以限制转动过程中的电流不超过设定值。
  ◎比如传送带传送物品,给定的速度不会因为传送带上是空载或者带载发生变化,但是当负载过大,电流超过设定值的时候会报警或自动停止。
  

3、位置控制模式

  ◎精确控制电机转动到指定角度,
  ◎位置控制一般会采用内环电流环,外环速度环,最外环位置环的方式,所以可以限制转动过程中的最大速度,和最大电流。
  ◎比如机械臂从A点运动到B点,并限制挥舞过程中的最大速度和最大力矩。
  

二、硬件说明

1、硬件清单

序号 名称 数量
1 Arduino UNO 1
2 simpleFOCShield V2.0.3 1
3 带磁编码器的云台电机 1
4 12V电源 1
5 方口USB线 1

  如下图所示:

  simpleFOCShield V2.0.3购买链接:淘宝购买
  带编码器电机购买链接:淘宝购买
  

2、硬件连接

  ⑴、SimpleFOCShield V2.0.3主板与Arduino UNO主板堆叠连接,
  ⑵、USB线连接Arduino UNO主板,与主板通信并提供5V电压,
  ⑶、12V电源连接主板TB_PWR接口,注意正负极,
  ⑷、电机三根相线连接至V2.0.3主板TB_M1的3个接口,
  ⑸、电机编码器的I2C接口与排母连接,注意正负极。
  硬件连接如下图:
SimpleFOC(四)—— 闭环控制_第1张图片

  

三、程序演示

1、力矩控制

⑴、打开例程

SimpleFOC(四)—— 闭环控制_第2张图片

⑵、修改程序

  ①、修改编码器为AS5600_I2C,
  ②、修改电机极对数为7,
  例程为只读文件,可以验证上传,如需保存要“另存为”。
SimpleFOC(四)—— 闭环控制_第3张图片

⑶、验证上传

SimpleFOC(四)—— 闭环控制_第4张图片

⑷、打开串口监视器

SimpleFOC(四)—— 闭环控制_第5张图片

⑸、等待初始化

  初始化完成后,电机开始转动,
SimpleFOC(四)—— 闭环控制_第6张图片

⑹、电机观测

  此时对电机施加阻力,电机表现为固定大小的力矩,使劲捏紧电机会停止,

⑺、发送指令

  设定不同的电压值,电机转速不同,表现出大小不同的力矩,如果此时有电流表可以观测到电流也不相同,
SimpleFOC(四)—— 闭环控制_第7张图片

⑻、程序说明

  力矩模式是控制电流实现对力矩的控制,但在simpleFOC项目中,用电压代替电流,通过设定不同的电压实现对力矩的控制,
  
SimpleFOC(四)—— 闭环控制_第8张图片
  

2、速度控制

⑴、打开例程

SimpleFOC(四)—— 闭环控制_第9张图片

⑵、修改程序

  ①、修改编码器为AS5600_I2C,
  ②、修改电机极对数为7,
  例程为只读文件,可以验证上传,如需保存要“另存为”。
SimpleFOC(四)—— 闭环控制_第10张图片

⑶、验证上传

SimpleFOC(四)—— 闭环控制_第11张图片

⑷、打开串口监视器

SimpleFOC(四)—— 闭环控制_第12张图片

⑸、等待初始化

  初始化完成后,电机静止,锁定在起点位置,
  注意:不同电机需要设定不同的PID参数,参数不符可能会导致电机振动,忽快忽慢等异常,下图修改后的参数仅保证本人当前使用的电机运转平稳。PID调节方法请自行百度。
SimpleFOC(四)—— 闭环控制_第13张图片

⑹、发送指令

  设定电机速度,电机转动,比如设置T6.28,电机以6.28rad/s的速度转动,即一圈一秒,
SimpleFOC(四)—— 闭环控制_第14张图片

⑺、电机观测

  对电机施加阻力会发现,无论速度设置为多少,电机为了达到设定的转速,会持续增加动力(如果有电流表,可以看到电流不断增加),这与力矩模式中的恒定阻力截然不同。
SimpleFOC(四)—— 闭环控制_第15张图片

3、角度控制

⑴、打开例程

SimpleFOC(四)—— 闭环控制_第16张图片

⑵、修改程序

  ①、修改编码器为AS5600_I2C,
  ②、修改电机极对数为7,
  例程为只读文件,可以验证上传,如需保存要“另存为”。
SimpleFOC(四)—— 闭环控制_第17张图片

⑶、修改PID参数

  位置环内是速度环,所以要修改的参数包含速度环和位置环的两套PID参数。
  下图修改的参数并不一定适合所有电机,也不一定是当前使用电机的最佳参数,对PID的更深入了解请自行百度。
SimpleFOC(四)—— 闭环控制_第18张图片

⑷、验证上传

SimpleFOC(四)—— 闭环控制_第19张图片

⑸、打开串口监视器

SimpleFOC(四)—— 闭环控制_第20张图片

⑹、等待初始化

初始化完成后,电机静止,锁定在起点位置。输入角度指令,点击发送,
SimpleFOC(四)—— 闭环控制_第21张图片

⑺、电机操作

  设定不同角度,观察电机的转动位置。
  当前例程中,角度采用累加方式,比如当前输入指令为“T10”,电机转过10rad后停止,再输入指令“T11”,则电机沿着刚才的方向再转过1rad后停止。
SimpleFOC(四)—— 闭环控制_第22张图片


(完)
  
欢迎加入simpleFOC技术交流群:923734429
  
请继续阅读相关文章:
SimpleFOC(一)—— 简介(附有文件下载链接)
SimpleFOC(二)—— 快速入门 (开环控制)
SimpleFOC(三)—— AS5600角度读取
SimpleFOC(五)—— 双电机控制

你可能感兴趣的:(simpleFOC,simpleFOC,云台电机,电机控制)