实验六电机转动控制实验.doc

上传人:wux****ua 文档编号:7885321 上传时间:2020-03-25 格式:DOC 页数:5 大小:75.50KB
返回 下载 相关 举报
实验六电机转动控制实验.doc_第1页
第1页 / 共5页
实验六电机转动控制实验.doc_第2页
第2页 / 共5页
实验六电机转动控制实验.doc_第3页
第3页 / 共5页
点击查看更多>>
资源描述
实验六电机转动控制实验C语言实现方法08通信(2)班 王文龙 E08680222一、实验目的1熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置。2编程实现ARM系统的PWM输出和I/O输出,前者用于控制直流电机,后者用于控制步进电机。3了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。4掌握带有PWM和I/O的CPU编程实现其相应功能的主要方法。二、实验内容学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。学习ARM知识,掌握PWM的生成方法,同时也要掌握I/O的控制方法。1编程实现ARM芯片的一对PWM输出用于控制直流电机的转动,通过A/D旋钮控制其正反转及转速。2编程实现ARM的四路I/O通道实现环形脉冲分配用于控制步进电机的转动,通过A/D旋钮转角控制步进电机的转角。3通过超级终端来控制直流电机与步进电机的切换。三、实验设备及工具硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。软件:PC机操作系统win98、Win2000或WinXP、ARM SDT 2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。四、实验步骤1新建工程,将“Exp6电机转动控制实验”中的文件添加到工程。2编写直流电机初始化函数(MotorCtrl.c),其流程图如图2-27所示。#include .startup44b.h#include MotorCtrl.h#define MOTOR_SEVER_FRE1000/20kHz#define MOTOR_CONT(MCLK/2/2/MOTOR_SEVER_FRE)#define MOTOR_MID(MOTOR_CONT/2)void init_MotorPort()/Dead Zone=24, PreScalero1=2;rTCFG0=(024)|2;/divider timer0=1/2;rTCFG1=0;rTCNTB0= MOTOR_CONT;rTCMPB0= MOTOR_MID;rTCON=0x2;/update mode for TCNTB0 and TCMPB0.rTCON=0x19;/timer0 = auto reload, start. Dead Zonevoid SetPWM(int value)rTCMPB0= MOTOR_MID+value;图2-27 直流电机初始化数3控制直流电机的程序流程如图2-28所示。Uart_Printf(nBegin control DC motor.ttPress any key to control step motor.n);for(;)ADData=GetADresult(0);Delay(10);SetPWM(ADData-512)*MOTOR_CONT/1024);Delay(10);if(rUTRSTAT0 & 0x1)/有输入,则跳出*Revdata=RdURXH0();goto next;图2-28 控制直流电机程序流程图4控制步进电机的程序流程如图2-29所示。SetPWM(0);Uart_Printf(nBegin control step motor.tPress any key to control DC motor.n);lastADData=GetADresult(0);Delay(10);for(;)loop:if(rUTRSTAT0 & 0x1)/有输入,则返回*Revdata=RdURXH0();goto begin;Delay(10); ADData=GetADresult(0);if(abs(lastADData-ADData)=0)/转角大于零for(j=0;jcount/8;j+)for(i=0;i=7;i+)SETEXIOBITMASK(stepdatai, 0xf0);Delay(200);else/转角小于零count=-count;for(j=0;j=0;i-)SETEXIOBITMASK(stepdatai, 0xf0);Delay(200); lastADData=ADData;图2-29 控制步进电机的程序流程图五、实验心得熟悉了ARM本身自带的六路即三对PWM,掌握相应寄存器的配置。编程实现ARM系统的PWM输出和I/O输出,前者用于控制直流电机,后者用于控制步进电机。了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。掌握带有PWM和I/O的CPU编程实现其相应功能的主要方法。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


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

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


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