通过arduino程序控制DM542驱动57步进电机

基本结构是PC串口->Arduino->DM542->步进电机(驱动丝杆滑台运动)。

如下图:


开始准备是简单的用298N接的,在42步进电机上实测通过,但是接到丝杆57步进电机由于298N输出电流不足,只是震动了一下就停止了。于是又下单买了DM542,话说542在慢速运行下完全静音,如丝般顺滑…


用arduino的单片机接DM542驱动器来控制57步进电机采用共阴极接法,即ENA不接,PUL-与DIR-串接单片机GND,PUL+接单片机9口给脉冲,DIR+接8口给高低电平(高电平正转,低电平反转),驱动器输出端A+接红,A-接绿,B+接黄,B-接蓝,供电直流24v。


定义引脚8作为方向控制,定义了9号引脚作为PWM引脚,需要将这引脚接入PUL端。 程序定义方向,stepper_direction = true,步进电机正转;stepper_direction = false反转。


通过串口输入控制指令,left/right控制前进/后退方向;直接输入数字运行,输入stop/0表示停止运行。 输入pick进行一次往复来回运行。

源代码:

https://github.com/jiashu-sh/arduino-DM542StepperCtl

Git:arduino-DM542

附录:

DM542型细分型两相混合式步进电机驱动器,采用直流18-50V供电,适合驱动电压为18V-50V,电流小于4.0A外径42-86mm的两相混合式步进电机。此驱动器采用交流伺服驱动器的电流环进行细分控制,电机的转矩波动很小,低速运行很平稳,几乎没有振动和噪音。高速时力矩也大大高于其它二相驱动器,定位精度高,广泛用于雕刻机,数控机床,包装机械等分辨率要求较高的设备。


拨码开关SW4位可设置成两种控制方式:

当设置成“OFF”时,为有半流功能。

当设置成“ON”时,为无半流功能。


电气参数:



驱动器可将电机每转的步数分别设置为400、500、800、1000、1250、1600、2000、2500、3200、4000、5000、6400、8000、10000、12800步。用户可以通过驱动器正面板上的拨码开关的SW5、SW6、SW7、SW8位来设置驱动器的步数


你可能感兴趣的:(通过arduino程序控制DM542驱动57步进电机)