机器人控制器编程实践指导书旧版-实践四 步进电机(执行器)

2022-09-21 09:11:15 浏览数 (1)

适用于UNO/2560/DUE/ESP8266/ESP32,2021年之前使用版本。


4.1 实践目的

  • 掌握Arduino[ESP32]对步进电机控制的软硬件测试。

4.2 实践设备

  • PC机一台
  • Arduino[ESP32]开发板及配件等
  • 万用表和示波器等

4.3 实践原理

  • 初级:无
  • 中级:步进电机调速。

原理图

示意图

  • 高级(ROS选修):

使用电脑键盘按键控制步进电机转速。

4.4 实践内容

阅读4.3中示意图、原理图和代码,在Arduino[ESP32]平台上完成实践。

4.5 实践问题

4.5.1 步进电机转速如何调节?

改变极对数变数

变频调速

换向器电机调速

串子调速

定子调压调速

电磁转离合器调速

转子串电阻调速

4.5.2 步进电机转速如何精确控制?

可以采用专用的步进电机驱动器。电脑只需向驱动器输出两个信号:脉冲和调向信号。脉冲信号的频率控制步进电机的转速,脉冲的个数控制步进电机的转角;调向信号控制步进电机的转向。

步进电机只能够由数字信号控制运行的,当脉冲提供给驱动器时,在过于短的时间里,控制系统发出的脉冲数太多,也就是脉冲频率过高,将导致步进电机堵转。要解决这个问题,必须采用加减速的办法。就是说,在步进电机起步时,要给逐渐升高的脉冲频率,减速时的脉冲频率需要逐渐减低。所以步进电机在高速启动时,需要采用脉冲频率升速的方法,在停止时也要有降速过程,以保证实现步进电机精密定位控制。

4.6 实践总结

回顾本次实践,遇到哪些问题,如何解决,经验和启发有哪些?

使用ESP32 驱动步进电机

void setup() {

  //设置转速

  myStepper.setSpeed(120);

  Serial.begin(115200);

}

void loop() {

  Serial.printf("顺时针");

  myStepper.step(2048);

  delay(500);

  Serial.printf("逆时针");

  myStepper.step(-1024);//倒转半圈

  delay(500);

}

0 人点赞