TA的每日心情 | 无聊 2024-3-25 09:23 |
---|
签到天数: 67 天 [LV.6]维修爱好者2级网红
中级会员
- 积分
- 1252
|
Arduino CNC Shield v3简介:
Arduino Uno开发板+电机驱动扩展版
CNC Shield V3.0可用作雕刻机,3D打印机等的驱动扩展板,板上一共有4路步进电机驱动模块的插槽,可驱动4路不进电机,而每一路步进电机都只需要2个IO口,也就是说,6个IO口就可以很好的管理3个步进电机,使用起来非常的方便,告别传统步进电机操作繁琐。将Arduino CNC Shield V3.0插到Arduino UNO上,并且安装GRBL固件就可以快速DIY一台CNC雕刻机出来。
#define EN 8 //步进电机使能端,低电平有效
#define X_DIR 5 //X轴 步进电机方向控制
#define Y_DIR 6 //y轴 步进电机方向控制
#define Z_DIR 7 //z轴 步进电机方向控制
#define X_STP 2 //x轴 步进控制
#define Y_STP 3 //y轴 步进控制
#define Z_STP 4 //z轴 步进控制
/*
//函数:step 功能:控制步进电机方向,步数。
//参数:dir 方向控制, dirPin对应步进电机的DIR引脚,stepperPin 对应步进电机的step引脚, steps 步进的步数
//无返回值
*/
void step(boolean dir, byte dirPin, byte stepperPin, int steps)
{
digitalWrite(dirPin, dir);
delay(50);
for (int i = 0; i < steps; i++) {
digitalWrite(stepperPin, HIGH);
delayMicroseconds(800);
digitalWrite(stepperPin, LOW);
delayMicroseconds(800);
}
}
void setup(){//将步进电机用到的IO管脚设置成输出
pinMode(X_DIR, OUTPUT);
pinMode(X_STP, OUTPUT);
pinMode(Y_DIR, OUTPUT);
pinMode(Y_STP, OUTPUT);
pinMode(Z_DIR, OUTPUT);
pinMode(Z_STP, OUTPUT);
pinMode(EN, OUTPUT);
digitalWrite(EN, LOW);
}
void loop(){
step(false, X_DIR, X_STP, 200); //X轴电机 反转1圈,200步为一圈
step(false, Y_DIR, Y_STP, 200); //y轴电机 反转1圈,200步为一圈
step(false, Z_DIR, Z_STP, 200); //z轴电机 反转1圈,200步为一圈
delay(1000);
step(true, X_DIR, X_STP, 200); //X轴电机 正转1圈,200步为一圈
step(true, Y_DIR, Y_STP, 200); //y轴电机 正转1圈,200步为一圈
step(true, Z_DIR, Z_STP, 200); //z轴电机 正转1圈,200步为一圈
delay(1000);
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?邀请注册
×
|