1、 1 / 5第一讲 步进电机驱动器的使用步进电机控制原理图项目开发中采用了雷赛科技公司型号为 DM542 的步进电 机驱动器。处理器型号为STC89C52,本 项目中选用 57 系列步进电机,力矩 5NM,满足要求。 细分数可以通过驱动器上的拨码开关(红圈中就是拨码开关)设定, 细分数就是步 进电机转一圈需要的脉冲数。2 / 5DM542 配 57 电机典型接法如 图所示使用步进电机驱动器大大降低了驱动步进电机工作的难度,只需要用三路信号就可以驱动步进电机运动。他们分别 是 PUL-、DIR-和 ENA-,具体情况看下表。硬件设计时PUL+、DIR+和 ENA+需要接直流+5V。为了能够使步进
2、电机能够正常运转,单片机通过 IO 口给出的信号要满足上图中的时间3 / 5顺序。首先需要让使能信号置 为高电平。 这就相当于告诉驱动 器,我要开始控制你了。然后就是给驱动器一个方向信号,高速 驱动器要控制电机 顺时针转动还是逆时针转动。而且这个时间是有要求的,要大于 5 微秒。就是使能信号 给 出后,大于 5 微秒后再给一个方向信号。接下来就是让步进电机转起来,通 过单片机输出脉冲信号,送给步进电机驱动器,进而控制步进电机。方向信号给了之后,也是需要至少大于 5 微秒之后再 给脉冲控制信号。具体操作请看下面的程序/本程序可以实现蜗轮蜗杆减速器输出轴转动 1 圈 ,细分数 400,减速比 1:
3、10,4000 个脉冲转一圈/-头文件区-/包括:单片机芯片的配置头文件/ 其他编程中需要调用的 C 语言自带头文件/ 自己编写的专用头文件/- #include /-自定义区-/包括:常量、变量、符号等/-sbit pul=P02; / 脉冲sbit dir=P01;/ 方向 4 / 5sbit ena=P00;/ 使能 /-函数声明-void Delay_ms(unsigned int t);/ t ms 延时程序函数声明/-主程序-/包括:器件初始化、变量初始化、程序主循环void main()unsigned int l;Delay_ms(2000);dir=0; ena=0;Delay_ms(1); / 电机使能ena=1;Delay_ms(1);for(l=0;l0;i-) /3 重循环完成精确 1ms 延时5 / 5for(j=2;j0;j-)for(k=246;k0;k-);