打印

Arduino 雕刻机3D打印机步进电机扩展板V3.0

[复制链接]
827|2
手机看帖
扫描二维码
随时随地手机跟帖
沙发
dirtwillfly|  楼主 | 2020-2-29 15:59 | 只看该作者
例子程序:
# 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 );
}


使用特权

评论回复
板凳
dirtwillfly|  楼主 | 2020-2-29 16:00 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入TI MCU论坛      21ic TI技术交流1群:61549143(已满),  21ic TI技术交流2群:311421422 我的博客:http://blog.timcu.com/

1180

主题

34846

帖子

1117

粉丝