您的位置 首页 基础

arm实验报告——步进电机

arm实验报告——步进电机-此次实验让我了解了如何使用C语言编程驱动步进电机。

步进电机操控试验

一、试验意图

1、学习步进电机驱动原理;

2、把握经过CPU操控步进电机的办法。

二、试验内容

1、了解步进电机的运转操控;

2、了解步进电机运转速度的操控办法;

3、了解步进电机运转方向的操控办法。

三、试验设备DM2410B十试验体系;PC机;JTTAG仿真器;串口线。

2、软件:

PC机操作体系(WINDOWS 2000);

ARM Developer Suite v1.2;

MulTI-ICE V2.2.5;

DNW 2410(或超级终端)。

程序解析:

本试验体系运用5302410的工/0口的GPF的0, 4, 5, 6四个端口。对应的驱动如下:

///////////////////////////////////////////////////////////////////////////////////

// GPF4 GPF0 GPF5 GPF6

//

//A 1 0 0 0

//

//AB 1 1 0 0

//

//B 0 1 0 0

//

//BC 0 1 1 0

//C 0 0 1 0

//CD 0 0 1 1

//D 0 0 0 1

//DA 1 0 0 1

/////////////////////////////////////////////////////////////////

下面的程序段是对各步驱动的设置:

void Avoid)

{

rGPFDAT= rGPFDAT|0x10;//GPF4=1

rGPFDAT= rGPFDAT&0xfe;//GPF0=0

rGPFDAT= rGPFDAT&0xdf;//GPF5=0

rGPFDAT= rGPFDAT&0xbf;//GPF6=0

}

void B(vvid)

{

rGPFDAT=rGPFDATI0xef;//GPF4=0

rGPFDAT=rGPFDAT|0x1;//GPF0=1

rGPFDAT=rGPFDAT&0xdf;//GPF5=0

rGPFDAT=rGPFDAT&0xbf;//GPF6=0

}

void C(void)

{

rGPFDAT=rGPFDAT&0xfe;//GPF0=0

rGPFDAT=rGPFDAT&0xef;//GPF4=0

rGPFDAT=rGPFDAT|0x0;//GPF5=1

rGPFDAT=rGPFDAT&Oxbf;//GPF6=0

}

void D(void)

{

rGPFDAT=rGPFDAT&0xfe;//GPF0=0

rGPFDAT=rGPPDAT&0xef;//GPF4=0

rGPFDAT=rGPFDAT&0xdf;//GPF5=0

rGPFDAT=rGPFDAT|0x40://GPF6=1

void AB(void)

{

rGPFDAT=rGPFDATI0x10;//GPF4=1

rGPFDAT=rGPFDATI0x1;//GPF0=1

rGPFDAT=rGPPDAT&0xdf;//GPF5=0

rGPFDAT=rGPFDAT&0xbf;//GPF6=0

}

void BC(void)

{

rGPFDAT=rGPFDAT&0xef;//GPF4=0

rGPFDAT=rGPFDATI0x1;//GPF0=1

rGPFDAT=rGPFDATI0x20;//GPF5=1

rGPFDAT=rGPFDAT&Oxbf://GPF6=0

}

Void BC(void)

{

rGPFDAT=rGPFDAT&0xfe;//GPF4=0

rGPFDAT=rGPFDAT&0xef; //GPF0=1

rGPFDAT=rGPFDAT|0x20;//GPF5=1

rGPFDAT=rGPFDAT|0x40;//GPF6=0

}

void DA(void)

{

rGPFDAT=rGPFDATI0x10;//GPF4=l

rGPFDAT=rGPFDAT&0xfe;//GPF0=0

rGPFDAT=rGPFDAT&0xdf;//GPF5=1

rGPFDAT=rGPFDAT|0x40;//GPF6=l

}

下面的程序段经过调用上面的函数完结8拍的驱动:

void Moter_ Test(void)

{int z,i,j=7;

int begin,end,direction,x;//direction麦示转向左句

int time=20;1/time表明延迟时刻,决议速度

Step_Ini t () ; //维护步进电机与驱动电路

//GPFOW GPF0 [1:0]二01:Output

//GPFOW GPF4 [1:0]二01:Output

// GPFOW GFF5 [1:01=01:Output

//GPFOW CPF6 [1:0]=01:Output

rGPFCON=INkrGPF07N&Oxd5fd;

rGPFCON=rGPFCGNI0x1501;

Uart Printf(“nINPUT DELAY TIME :1一1000:”

time=Uart_GetIntNum();

Uart Printf(“nINPUTDERECTION:I/0:”

direction=Uart _GetIntNum();

if (direction=1)

begin=1;

end=8;

x=1;

else

begin=8

end=1;

x=1:

Uart_ Printf(“nPRESSANY KEY功STOP.”);

wh ile(!Uart_GetKey())//被PC机上的任意键中止

{

i=begin;

while(!(i=end+x))//是否完结一个相位循环

{

Step_8(i);

Delay(time);

i=i十x;

}

Step_Init();//维护步进电机与驱动电路

Uart_ Printf(“nTEST FINISHED!!”);

}

//*********************************************

//功用:step_8

//称号:确认各拍的相位

//参数:s

//返回值:void

//**********************************************

void Step_8(int s)//4褶8者

[switch(s)

f

case(1):A(); break;

case(2):AB();break;

case(3):B(); break;

case(4):BC();break;

case(5):C(); break;

case(6):CD();break;

case(7):D(); break;

case(8):DA();break;

留意:不同于运用专用驱动芯片驱动步进电机,咱们为了演示驱动过程采用了通用驱动芯片L293D,一起驱动的CPU引脚是复用的。这样存在一个问题:当步进电机不处在驱动状况时有可能在某一个相位长期加上驱动电流,由于步进电机没有旋转,阻抗极小,十分简单损坏驱动电路和步进电机。为此,咱们在扩展板上设置了步进电机操控开关,进行其它试验时应保证开关处在。FF的方位,仅当驱动步进电机的程序运转后才可拨至ON的方位。

四、试验过程

1、仔细阅读试验阐明部分,了解步进电机的原理及驱动机制;

2、将试验体系光盘中“ADS试验辅导步进电机驱动试验”目录拷贝到本地硬盘,用ADS组件中的CodeWarrior for ARM Developer Suite S具软件翻开其间的MOTER.mcp T -程文件。用试验一中的办法选用相对地址中的:cat. scf文件;

3、在DebugRel方针途径下编译源文件。(详见试验一),剖析并了解程序。

4、按试验二的办法正确衔接硬件并翻开”Multi-ICE Server“和”AXDDebugger”对CPU进行初始化,导入本地硬盘上“ADS试验辅导步进电机驱动试验”中“MOTERDatalDehugRellmoter.axf“文件或光盘上的试验项目文件。(详见试验一);

5、翻开DNW2410. exe并树立PC机与试验体系的衔接(见试验二)。运转程序并依据DNW241D.exe串口终端提示进行操作。运转中首要输入延迟时刻以决议旋转时刻,然后输入数字1或0决议旋转方向。试验中的运转界面如图14-7:

arm试验报告——步进电机

五、试验心得与领会

此次试验让我了解了怎么运用C言语编程驱动步进电机,。把握经过CPU操控步进电机的办法,步进电机的运转操控,步进电机运转速度的操控办法,了解步进电机运转方向的操控办法。经过看辅导书,也让我了解了步进电机的驱动原理,了解了ADS试验环境的操作流程。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/101953.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部