步进电机控制实验.docx

上传人:b****8 文档编号:30349483 上传时间:2023-08-13 格式:DOCX 页数:8 大小:156.20KB
下载 相关 举报
步进电机控制实验.docx_第1页
第1页 / 共8页
步进电机控制实验.docx_第2页
第2页 / 共8页
步进电机控制实验.docx_第3页
第3页 / 共8页
步进电机控制实验.docx_第4页
第4页 / 共8页
步进电机控制实验.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

步进电机控制实验.docx

《步进电机控制实验.docx》由会员分享,可在线阅读,更多相关《步进电机控制实验.docx(8页珍藏版)》请在冰豆网上搜索。

步进电机控制实验.docx

步进电机控制实验

DSP实验报告

实验名称:

步进电机控制实验

系部:

物理与机电工程学院

专业班级:

学号:

学生姓名:

指导教师:

完成时间:

2014-5-7

报告成绩:

评阅意见:

评阅教师日期

 

 

步进电机控制实验

一、实验目的

1.掌握2812通用IO口的使用方法;

2.掌握2812对步进电机的控制。

二、实验设备

1.一台装有CCS软件的计算机;

2.DSP试验箱的TMS320F2812主控板;

3.DSP硬件仿真器。

三、实验原理

步进电机工作原理,给步进脉冲电机就转,不给脉冲电机就不转,步进脉冲的频率越高,步进控制电机就转的越快;改变各相的通电方式可以改变电机的运行方式;改变通电顺序可以控制步进电机的运行方式;改变通电顺序可以控制步进电机的正反转。

步进电机的控制问题可以总结为两点:

(1)产生工作方式需要的时序脉冲;

(2)控制步进电机的速度使它始终遵循加速-匀速-减速的规律工作。

对于I/O口有二类寄存器:

1.控制寄存器和数据方向寄存器,使用方法如下:

首先确定引脚的功能,即IO控制器寄存器,为1表示引脚功能是原模块的功能,否则为IO功能。

2.如果引脚被配置为IO功能,就需要确定它的方向:

输入还是输出。

为1表示是输出引脚,否则是输入引脚。

对于IO功能的输入或输出是通过读写相应的数据方向寄存器来实现。

输入引脚对应读操作;输出引脚对应写操作。

3.步进电机的使用至少需要三个方面的配合,一是电脉冲信号发生器,它按照给定的设置重复为步进电机输送电脉冲信号,目前这种信号大多数由可编程控制器或单片机来完成;二是驱动器(信号放大器),它除了对电脉冲信号进行放大、驱动步进电机转动以外,还可以通过它改善步进电机的使用性能,事实上它在步进电机系统中起着重要的作用,一般一种步进电机可以根据不同的工况具有多种驱动器;三是步进电机,它有多种控制原理和型号,现在常用的有反应式、感应子式、混合式等。

步进电机的速度控制是通过输入的脉冲频率快慢实现的。

当发生脉冲的频率减小时,步进电机的速度就下降;当频率增加时,速度就加快。

还可以通过频率的改变而提高步进电机的速度或位置精度。

     

  步进电机的位置控制是靠给定的脉冲数量控制的。

给定一个脉冲,转过一个步距角,当停止的位置确定以后,也就决定了步进电机需要给定的脉冲数。

在包装机控制中,给定脉冲数的多少,还与机构的参数有关,例如螺杆的直径等。

 

4.实验电路

5.试验框图

 

四、实验步骤

1.连接好仿真器、DSP实验箱,计算机;

2.本实验工程文件(Example_stepmotor.pjt),编译,下载程序到DSP;

3.全速运行,观察步进电机的运转。

五、实验结果及分析

步进电机正反转动:

六、实验心得

本次步进电机控制实验使我对步进电机控制工作原理的有所了解,对实验进行分析和修改使它与我们的理论相符合,在给步进脉冲时电机就转,不给脉冲时电机就不转,步进脉冲的频率越高,步进控制电机就转的越快。

并改变各相的通电方式可以改变电机的运行方式;在改变通电顺序可以控制步进电机的运行方式;改变通电顺序可以控制步进电机的正反转。

通过本次实验中加深对DSP系统的理解、步进电机的控制方式及工作运行方式。

进一步掌握用C语言编写DSP程序的方法,及编译、除错能力。

附页:

实验原程序代码

#include"include/DSP281x_Device.h"//DSP281xHeaderfileIncludeFile

#include"include/DSP281x_Examples.h"//DSP281xExamplesIncludeFile

voiddelay_loop(void);

voidGpio_select(void);

shortcodetab[17]=

{0x0001,0x0002,0x0004,0x0008,0x0008,0x0004,0x0002,0x0001,

0x0001,0x0002,0x0004,0x0008,0x0001,0x0002,0x0004,0x0008,0x0000};

main()

{

shorti,j;

InitSysCtrl();

EALLOW;

EDIS;

Gpio_select();

DINT;

InitPieCtrl();

IER=0x0000;

IFR=0x0000;

InitPieVectTable();

InitXintf();//Forthisexample,inittheXintf

GpioDataRegs.GPADAT.all=0;

Reg06=0x00;

while

(1)

{

for(j=0;j<400;j++)

{

for(i=0;i<4;i++)

{

GpioDataRegs.GPADAT.all=codetab[i];

Reg06=0x00;

delay_loop();

}

}

for(j=0;j<400;j++)

{

for(i=4;i<8;i++)

{

GpioDataRegs.GPADAT.all=codetab[i];

Reg06=0x00;

delay_loop();

}}

}

}

}

voiddelay_loop()

{

shorti,j;

for(i=0;i<1000;i++)

{for(j=0;j<10;j++);}

}

voidGpio_select(void)

{

Uint16var1,var2,var3;

var1=0x0000;//setsGPIOMuxsasI/Os

var2=0xFFFF;//setsGPIODIRasoutputs

var3=0x0000;//setstheInputqualifiervalues

EALLOW;

GpioMuxRegs.GPAMUX.all=var1;

GpioMuxRegs.GPBMUX.all=var1;

GpioMuxRegs.GPDMUX.all=var1;

GpioMuxRegs.GPFMUX.all=var1;

GpioMuxRegs.GPEMUX.all=var1;

GpioMuxRegs.GPGMUX.all=var1;

GpioMuxRegs.GPADIR.all=var2;//GPIOPORTsasoutput

GpioMuxRegs.GPBDIR.all=var2;//GPIODIRselectGPIOsasoutput

GpioMuxRegs.GPDDIR.all=var2;

GpioMuxRegs.GPEDIR.all=var2;

GpioMuxRegs.GPFDIR.all=var2;

GpioMuxRegs.GPGDIR.all=var2;

GpioMuxRegs.GPAQUAL.all=var3;//SetGPIOinputqualifiervalues

GpioMuxRegs.GPBQUAL.all=var3;

GpioMuxRegs.GPDQUAL.all=var3;

GpioMuxRegs.GPEQUAL.all=var3;

EDIS;

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1