实验四 步进电动机转速转向控制(3学时)
1.1 目的
(1)了解步进电动机工作原理; (2)熟悉步进电机驱动器使用方法; (3)掌握步进电动机转速转向控制编程.
1.2 要求
(1)简要说明二相步进电动机工作原理; (2)熟记步进电机驱动器的使用方法;
(3)完成步进电动机转速转向控制编程与实现;
(4)提交经调试通过的程序一份并附实验报告一份(实验步骤、 内容、结果及分析等)。
1.3 预备知识:
1)二相步进电动机工作原理
简单的讲,步进电机驱动器根据外来的脉冲,通过其内部的逻辑电路控制步进
电机的绕组按一定的次序正反通电,从而实现其运转。
电机将电能转换成机械能,步进电机将电脉冲转换成特定的旋转运动。每个脉冲所产生的运动是精确的,并可重复,这就是为什么步进电机在定位应用中如此有效的原因。图2显示了一个两相电机的典型的步进顺序。在第1步中,两相定子中的A相被通电,因异性相吸,其磁场将转子固定在图示位置。当A相关闭、B相被通电时,转子顺时针旋转90°。在第3步中,B相关闭、A相被通电,但极性与第1步相反,这促使转子再次旋转90°。在第4步中,A相关闭、B相通电,极性与第2步相反。重复该顺序促使转子按90°的步距角顺时针旋转。
2)步进电机驱动器使用方法
1、输入短接线说明:
输入信号共有三路,它们是:①步进脉冲信号PUL-;②方向电平信号DIR-;③脱机信ENA-。此驱动器采用共阳极接法,+V连到Arduino的电源上,脉冲输入信号通过 Pul-接入,方向信号通过 Dir-接入,使能信号通过 EN-接入。
注:EN 端可不接,EN 有效时电机转子处于自由状态(脱机状态),这时可以手动转动电机转轴,做适合您的调节。手动调节完成后,再将 EN 设为无效状态,以继续自动控制.
2、系统接线图:
驱动器与Arduino、电机、电源的接线,以共阳接法为例,如下图:
3、拨码开关设定:
拨码开关 SW1、 SW2、SW3 设定动态电流,S3,S4 设定细分数,S5,S6设定衰
1
变模式。
1.4实验内容
1) 熟悉驱动器的使用,设定动态电流和细分数; 2) 连接好驱动器与电机;
3) Ardunino的程序编写与编译, 下载; 4) 编程实现两步进电机的转速转向控制。
1.5实验步骤
1.准备好实验所需材料;
2.把Arduino、步进电机、驱动器、可调电源连接好; 3.编写控制程序;
4.把下载线连接到电脑上进行下载; 5.试验完成后整理好自己的材料。
1.6 实验设备
Arduino实验箱一套(包括:Arduino控制板一个,步进电机驱动器一个,USB下载线一个,杜邦线若干,步进电动机两个); PC机一台及其它附件; 可调电源一台。
2
1.7思考
(1)如何通过程序来实现转速转向控制? (2)如何合理选择细分数?
1.8提高部分(选做)
(1)通过编程实现转角控制。
1.9部分程序样例
#include
pinMode(DIR,OUTPUT); pinMode(EN,OUTPUT);
digitalWrite(EN,HIGH); //启动 InitTimersSafe(); }
void loop() {
digitalWrite(DIR,LOW); //正转
for(i=100;i<=1000;i++) //逐渐加速 {
SetPinFrequencySafe(CP,i); pwmWrite(CP, 127); delay(50); }
delay(5000);
for(i=1000;i>=100;i--) // 逐渐减速 {
SetPinFrequencySafe(CP,i); pwmWrite(CP, 127); delay(50); }
digitalWrite(DIR,HIGH); //反转
for(i=100;i<=1000;i++) //逐渐加速
3
{
SetPinFrequencySafe(CP,i); pwmWrite(CP, 127); delay(50); }
delay(5000);
for(i=1000;i>=100;i--) // 逐渐减速 {
SetPinFrequencySafe(CP,i); pwmWrite(CP, 127); delay(50); }
digitalWrite(EN,LOW); }
//停止 4
附一、实验报告格式
题目: 目的: 要求:
实验方案:(采取什么样的实验方案) 实验步骤:
实验结果与分析:(应包含有图、表和相应的分析)
5