直流电机控制实验Word下载.docx

上传人:b****5 文档编号:17543607 上传时间:2022-12-07 格式:DOCX 页数:11 大小:274.46KB
下载 相关 举报
直流电机控制实验Word下载.docx_第1页
第1页 / 共11页
直流电机控制实验Word下载.docx_第2页
第2页 / 共11页
直流电机控制实验Word下载.docx_第3页
第3页 / 共11页
直流电机控制实验Word下载.docx_第4页
第4页 / 共11页
直流电机控制实验Word下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

直流电机控制实验Word下载.docx

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

直流电机控制实验Word下载.docx

3.显示当前的年月日、星期、时分秒;

4.实现步进电机的调速和正反转;

可用旋转按钮W1或按键控制调速,在超级终端和数码管上同步显示其正反转和转速信息;

三、实验基本原理

1.S3C2410A具有117个通用I/O口,分为A—H等8个端口,由于每个I/O口都有第2功能,甚至第3功能,所以需要通过设置GPxCON寄存器来选择GPx口I/O口功能,其中x可以为A、B、C、D、E、F、G表示相应的I/O端口。

当I/O口设置为GPIO输出模式(Output模式)时,可以通过写GPxDAT控制相应I/O口输出高电平或低电平,GPxDAT为1的位对应I/O输出高电平,为0的位对应输出低电平。

2.工程模板中包含有串口软件包UART.C,用户可以调用相应的接口函数】进行串口数据发送和接收,串口的波特率需要在config.h文件中进行设置,本实验使用默认的115200波特率。

对串口进行初始化时,首先要设置相应I/O口为TXD0,TRD0功能引脚,然后通过ULCON0来设置通讯波特率。

3.S3C2410A具有实时时钟(RTC)功能,能够提供时、分、秒,年、月、日的计时功能,还具有定时报警功能。

RTC单元采用独立的后备电池供电,独立是时钟源(采用32.768KHz晶振),即使系统关闭电源,RTC还可以正常工作。

要初始化RTC的时间值,首先要给RTCON寄存器写为0x01,使能RTC接口(即允许写RTC操作),然后对年寄存器BCDYEAR、月寄存器BCDMON、日寄存器BCDDATE、时寄存器BCDHOUR、分寄存器BCDMIN、秒寄存器BCDSEC、星期寄存器BCDDAY进行初始化,时间值为BCD格式。

初始化完成,将RTCCON寄存器写为0x00,禁能RTC接口(即禁止写RTC操作),接下来就可以直接读取RTC时间寄存器的值来使用了。

4.步进电机是一种将电脉转化为角位移的数据控制电机,即给它一个脉冲信号,它就按设定的方向转动一个固定的角度。

用户可以通过设置脉冲的个数来控制角位移量,从而实现准确的定位操作;

另外,通过控制脉冲频率来控制电机转动速度和加速度,从而实现调速的目的。

当然,对于步进电机各组绕组(即内部线圈)的控制脉冲要有一定的顺序,否则电机无法正常旋转。

MagicARM2410试验箱上的步进电机为四项步进电机,电机驱动为18°

S3C2410A的GPIO驱动能力有限,必须通过ULCN2003达林顿集成驱动芯片驱动步进电机,在步进电机和驱动电路之间连接了电阻,防止控制紊乱造成电机的损坏。

四、主要仪器设备及耗材

硬件:

PC机一台,MagicARM2410教学实验开发平台一套

软件:

Windows98/XP/2000系统,ADS1.2集成开发环境,超级终端程序,JTAG仿真器

五、实验步骤

1.安装WigglerJTAG仿真器并打开;

2.运行超级终端,新建一个连接;

3.启动ADS1.2,建立工程,在src组中的main.c中编写主程序代码;

4.选用DebugRel生成目标,编译链接工程,选择【Debug】,进行JTAG仿真;

5.按照超级终端上的提示信息操作;

6.根据实验箱及超级终端上的反馈结果调试程序。

7.主要参考程序如下

intmain(void)

{

uint8g_getch;

inti=0;

UART_Select(0);

//选择UART0

UART_Init();

//UART0初始化

LED_init();

//LED相关初始化

EINT_init();

//外部中断初始化

while

(1)

{

fun_test();

switch(g_getch=UART_GetKey())

{

case'

1'

:

{

UART_SendByte(g_getch);

UART_SendStr("

\n"

);

for(i=0;

i<

16;

i++)

{

LED_DispNum(i);

//以二进制形式显示十六进制

DelayNS(5);

if(i==15)

i=0;

if(UART_GetFlag()==0x1B)//检测是否按下'

Esc'

break;

}

\nTestLED_DispNumtestisOver!

break;

}

2'

Addsubmuldiv();

//加减乘除测试模块

UART_SendStr("

\nTestAddsubmuldiv_TestisOver!

3'

DateWeekTime_Test();

\nTestDateWeekTime_TestisOver!

4'

StepMOTO_Test();

\nTestStepMOTO_TestisOver!

default:

break;

}

}

六、实验数据及处理结果

1、选择Debug进行JTAG仿真后进入选择操作情况界面选择1,可看到实验箱上4个LED灯按16进制数闪亮,最左边的灯为最低位,最右边的灯为最高位。

按esc键返回。

2、输入2,可观察到能实现两位数的加减乘除,按esc键返回。

其超级终端显示如下图:

减法,结果为正值

减法,结果为负值

除法

3、输入3,按提示信息,按任意键输出当前时间,超级终端显示如下图:

4、输入4,观察步进电机的转动情况,可通过旋转W1调节电机的正反转方向和转速情况。

超级终端显示如下图:

七、实验心结

由于这是第一次自己设计程序做实验,刚开始总不知道如何下手。

之后,我们冷静分析,先用基础实验中的简单实验实现了超级终端的正确显示。

之后,又用基础实验中相关的程序,先实现了16进制的显示。

加减乘除就按照C语言编写,然后步进机通过延迟控制转速。

其实,最难的是把上面实现的各个功能输入到超级终端,通过超级终端显示。

我们通过向其他同学请教,并且自己上网查到了相关的实现程序,之后经过多次修改最终得出正确显示。

通过这第一个自己设计的实验,学到了程序的编写,跟MagicARM2410实验箱硬件的实现,受益匪浅,为以后的实验打下了基础。

八、参考资料

《S3C2410实验实验手册》

《嵌入式系统开发与实验教程》

附录:

#include"

config.h"

main.h"

//功能测试选择数组

charselect_test[][50]=

"

\n\nPleaseinput1~4toselecttest:

1LED_DispNume\n"

2Addsubmuldiv_Test\n"

3Dateweektime_Display\n"

4StepMOTO_Test\n"

Pleaseinputanumyouwanttotest:

"

};

voidDelayNS(uint32dly)

{

uint32i;

for(;

dly>

0;

dly--)

for(i=0;

i<

50000;

i++);

}

//串口接收字符临时变量

voidfun_test(void)

for(i=0;

14;

UART_SendStr(select_test[i]);

return0;

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

当前位置:首页 > PPT模板 > 图表模板

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

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