适用于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);
}