陈拓 2023/04/01-2023/04/05
在《Arduino Uno开发板+电机驱动扩展版CNC Shield V3.0硬件说明》
https://blog.csdn.net/chentuo2000/article/details/129851439?spm=1001.2014.3001.5501
一文中我们介绍了CNC Shield V3.0的引脚功能以及和Arduino Uno开发板引脚位置的对应关系。在此基础上,本文我们讲述用D1 R32 – ESP32+Arduino CNC Shield通过A4988步进电机驱动模块控制NEMA17步进电机。
这种步进电机和驱动器的组合适用于许多需要位置控制的应用,如3D打印机、CNC机床、机器人、自动化机床等。
D1 R32 – ESP32+Arduino CNC Shield是一套低成本的组合,特别适合个人DIY。
这是一块与Arduino UNO开发板外型相似的ESP32开发版。
这是一块Arduino CNC扩展板,CNC是计算机数字控制(Computerized Numerical Control )的英文缩写。
这块CNC扩展板可以支持A4988、DRV8825等步进电机驱动模块。
重要注意事项!!!
CNC扩展板上右侧上拉A4988 EN引脚的10K电阻必须拆掉,因为EN引脚通过D1 R32 – ESP32开发板连接到ESP32的GPIO12引脚,而GPIO12在启动时必须为低电平。
Arduino CNC扩展板可用于驱动3D打印机、机械臂或机器人系统中的NEMA17电机(俗称42步进电机,因为1.7英寸约等于42mm)。
NEMA 17(42)步进电机有多种型号,有不同的功率,它们的安装面都是一样的,不同的是长度,长度越长功率越大,所需的驱动电流也越大。常见的长度有23mm、33mm、38mm、40mm、47mm等。
Arduino Uno CNC Shield D1 R32 - ESP32
D0 RX RX0
D1 TX TX0
D2 X-STEP IO26
D3 Y-STEP IO25
D4 Z-STEP IO17
D5 X-DIR IO16
D6 Y-DIR IO27
D7 Z-DIR IO14
D8 EN IO12 拆掉CNC板子上的10K上拉电阻
D9 X-、X+ IO13
D10 Y-、Y+ IO05
D11 Z-、Z+ IO23
D12 A-STEP、SpinEn IO19
D13 A-DIR、SpinDir IO18
D14 Abort IO02
D15 Hold IO04
D16 Resume IO36
D17 CoolEn IO34
D18 SDA IO38
D19 SCL IO39
参考《Arduino CLI命令行ESP32开发环境搭建(Linux Ubuntu操作系统)》
https://blog.csdn.net/chentuo2000/article/details/129472612?spm=1001.2014.3001.5501
详细操作步骤请看:
https://blog.csdn.net/chentuo2000/article/details/129472612?spm=1001.2014.3001.5501
cd ~/bin
arduino-cli sketch new cnc_a4988
cd cnc_a4988
nano cnc_a4988.ino
const int DIR = 16;
const int STEP = 26;
const int steps_per_rev = 200;
void setup() {
Serial.begin(115200);
pinMode(STEP, OUTPUT);
pinMode(DIR, OUTPUT);
}
void loop() {
digitalWrite(DIR, HIGH);
Serial.println("Spinning Clockwise...");
for(int i = 0; i
代码详细说明见:
https://microcontrollerslab.com/stepper-motor-a4988-driver-module-esp32/
arduino-cli compile -besp32:esp32:esp32 cnc_a4988.ino
arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:esp32:UploadSpeed=115200 cnc_a4988.ino
电机已经动了。
arduino-cli monitor -p /dev/ttyUSB0 -c baudrate=115200