直流电机控制实验

上传人:xt****7 文档编号:102353325 上传时间:2022-06-06 格式:DOC 页数:11 大小:293.01KB
收藏 版权申诉 举报 下载
直流电机控制实验_第1页
第1页 / 共11页
直流电机控制实验_第2页
第2页 / 共11页
直流电机控制实验_第3页
第3页 / 共11页
资源描述:

《直流电机控制实验》由会员分享,可在线阅读,更多相关《直流电机控制实验(11页珍藏版)》请在装配图网上搜索。

1、实验一 直流、步进电机综合控制系统设计一、 实验目的1. 初步熟悉实验GPIO口的初始化设置,并熟悉实验箱各个模块的功能2. 掌握步进机的控制原理及利用延时脉冲来改变步进电机速度3. 掌握直流电机的控制原理及利用pwm占空比控制来改变速度4. 学习IIC总线读取和写数据原理,并掌握对CAT1025 E2PROOM操作方法5. 学会控制数码管的显示UART串口函数,并初步掌握中断处理函数的写法二、 实验要求以MagicARM2410为实验平台,设计一个通过串口通信交互控制的综合型控制系统。具体来说,可在启动时,自动列出一些选项,通过键盘选择某个选项而实现其功能;考虑到实时性,再按某个控制键能立刻

2、停止当前功能而回到初始的待选状态。具体功能要求如下:1. 实现四个LED灯按照十六进制的规则依次亮灭;2. 在超级终端上输入两个两位数,实现两位数的加减乘除并显示运算结果;3. 显示当前的年月日、星期、时分秒;4. 实现步进电机的调速和正反转;可用旋转按钮W1或按键控制调速,在超级终端和数码管上同步显示其正反转和转速信息;三、 实验基本原理1. S3C 2410A具有117个通用I/O口,分为AH等8个端口,由于每个I/O口都有第2功能,甚至第3功能,所以需要通过设置GPxCON寄存器来选择GPx口I/O口功能,其中x可以为A、B、C、D、E、F、G表示相应的I/O端口。当I/O口设置为GPI

3、O输出模式(Output模式)时,可以通过写GPxDAT控制相应I/O口输出高电平或低电平,GPxDAT为1的位对应I/O输出高电平,为0的位对应输出低电平。2. 工程模板中包含有串口软件包UART.C,用户可以调用相应的接口函数】进行串口数据发送和接收,串口的波特率需要在config.h文件中进行设置,本实验使用默认的115200波特率。对串口进行初始化时,首先要设置相应I/O口为TXD0,TRD0功能引脚,然后通过ULCON0来设置通讯波特率。3. S3C2410A具有实时时钟(RTC)功能,能够提供时、分、秒,年、月、日的计时功能,还具有定时报警功能。RTC单元采用独立的后备电池供电,独

4、立是时钟源(采用32.768KHz晶振),即使系统关闭电源,RTC还可以正常工作。要初始化RTC的时间值,首先要给RTCON寄存器写为0x01,使能RTC接口(即允许写RTC操作),然后对年寄存器BCDYEAR、月寄存器BCDMON、日寄存器BCDDATE、时寄存器BCDHOUR、分寄存器BCDMIN、秒寄存器BCDSEC、星期寄存器BCDDAY进行初始化,时间值为BCD格式。初始化完成,将RTCCON寄存器写为0x00,禁能RTC接口(即禁止写RTC操作),接下来就可以直接读取RTC时间寄存器的值来使用了。4. 步进电机是一种将电脉转化为角位移的数据控制电机,即给它一个脉冲信号,它就按设定的

5、方向转动一个固定的角度。用户可以通过设置脉冲的个数来控制角位移量,从而实现准确的定位操作;另外,通过控制脉冲频率来控制电机转动速度和加速度,从而实现调速的目的。当然,对于步进电机各组绕组(即内部线圈)的控制脉冲要有一定的顺序,否则电机无法正常旋转。MagicARM2410试验箱上的步进电机为四项步进电机,电机驱动为18。S3C2410A的GPIO驱动能力有限,必须通过ULCN2003达林顿集成驱动芯片驱动步进电机,在步进电机和驱动电路之间连接了电阻,防止控制紊乱造成电机的损坏。四、 主要仪器设备及耗材 硬件:PC机一台, MagicARM2410教学实验开发平台 一套 软件:Windows98

6、/XP/2000系统,ADS 1.2集成开发环境,超级终端程序,JTAG仿真器五、 实验步骤1. 安装Wiggler JTAG仿真器并打开;2. 运行超级终端,新建一个连接;3. 启动ADS 1.2,建立工程,在src组中的main.c中编写主程序代码;4. 选用DebugRel生成目标,编译链接工程,选择【Debug】,进行JTAG仿真;5. 按照超级终端上的提示信息操作;6. 根据实验箱及超级终端上的反馈结果调试程序。7. 主要参考程序如下int main(void)uint8 g_getch ;int i = 0;UART_Select(0); /选择UART0UART_Init();

7、/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 0; dly-) for(i=0; i50000; i+);/ 串口接收字符临时变量void fun_test(void)int i = 0;for(i = 0; i 14; i+)UART_SendStr(select_testi);int main(void)uint8 g_g

8、etch ;int i = 0;UART_Select(0); /选择UART0UART_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

9、) /检测是否按下Esc键break;UART_SendStr(nTest LED_DispNum test is Over!n);break;case 2:UART_SendByte(g_getch);UART_SendStr(n); Addsubmuldiv(); /加减乘除测试模块 UART_SendStr(nTest Addsubmuldiv_Test is Over!n);break;case 3:UART_SendByte(g_getch);UART_SendStr(n); DateWeekTime_Test();UART_SendStr(nTest DateWeekTime_Test is Over!n); break;case 4:UART_SendByte(g_getch);UART_SendStr(n);StepMOTO_Test();UART_SendStr(nTest StepMOTO_Test is Over!n);break;default: break;return 0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!