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

前言:这是一个课程设计,比较简单,线路、程序完全是我们自己做出来的(两天时间),分享给需要的同学参考一下。stm32f1单片机也用过,欢迎交流哦!

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

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

    1. 设计要求和设计参数

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

    2.设计思路

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

其中,弱点接线信号:

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

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

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

PUL-:脉冲信号地。

DIR-:方向信号地。

ENA-:使能信号地。

 

其中,强电接线信号:

GND:直流电源地。

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

A+A-:电机A相。

B+B-:电机B相。

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

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

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

单片机控制主程序流程图如图所示:

完整代码链接: https://pan.baidu.com/s/1oP0XoOt_xnRh1zb6ZW35QA   提取码: hjhp 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_40820983/article/details/84888525