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