ARDUINO 步进电机驱动(按键控制 速度+位置+复位)

前言:这是一个课程设计,比较简单,线路、程序完全是我们自己做出来的(两天时间),分享给需要的同学参考一下。

1、因为没有限位开关,所以用一个按键代替前后的限位开关。用步进电机的转动圈数作为位置(计算实际位移其实只要几个公式就行),用脉冲的周期作为速度(实际速度也很好计算的啦)。

2、因为时间和单片机限制(arduino只有两个外部中断口),没有采用中断的形式读取按键。大家可以在此基础上改进哦!

 

1、设计要求和设计参数

该模组由57BY系列两相混合步进电机驱动,电机相关参数如下:额定电压:12~48V,额定电流2A,步距角:1.8°,扭矩0.294~0.882N.m。要求:实现对模组速度和位置控制,并有复位功能和限位保护功能。

2、设计思路

本设计采用M415B步进电机驱动器控制步进电机,核心控制模块采用Arduino-UNO单片机,通过控制脉冲个数来控制电机的角位移量,从而达到准确定位的目的,通过控制脉冲频率来控制电机转动的速度和加速度,从而到达调速的目的。此外,采用五个按键下达命令:加减速、变向、开始停止、复位、限位开关。系统设计如图 1所示。

其中,弱电接线信号:

PUL+:脉冲信号,上升沿有效,每当脉冲由低变高时电机走一步。

DIR+:方向信号,TTL电平驱动。

ENA+:使能信号,禁止或允许驱动器工作,低电平禁止。

PUL-:脉冲信号地。

DIR-:方向信号地。

ENA-:使能信号地。

 

其中,强电接线信号:

GND:直流电源地。

+V:直流电源正极,典型24V。

A+A-:电机A相。

B+B-:电机B相。

3、其他

电机驱动板上还有四个拨码开关,改变拨码开关的组合从而实现精度细分。如果开关都为on(默认情况下),是200脉冲/圈。其他细分情况如下表:

步进电机驱动的相关连接:https://blog.csdn.net/ylzmm/article/details/78942660

步进电机AB相的确定及连线:http://m.gkong.com/bbs/439136.ashx?page=1

4、单片机控制主程序流程图

5、 程序下载链接https://download.csdn.net/download/weixin_40820983/11187868

 

 

 

 

 

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值