已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP课程设计基于DSP的实时步进电机控制设计学 院: 物理与电子信息学院 专业年级: 电子信息工程XXXX班 姓 名: XX 学 号: XX 指导教师: XXXXXX 2012年05月30日目 录摘 要3一. 绪 论41.1 设计的任务41.2. 设计原理4二. 设计的实现方案52.1 步进电机的控制62.1.1 步进电机的设计框架52.1.2 按键控制62.2 直流电机的控制62.2.1 直流电机的设计框架72.2.2 按键控制72.3 交通灯的控制72.3.1 设计结构图82.3.2 按键控制82.4 综合设计过程92.4.1 各模块地址102.4.2 主程序102.4.3 中断程序102.5 程序分析12三. 总 结12参考文献12致 谢摘 要电动机作为最主要的机电能量转换装置,其应用范围已遍及国民经济的各个领域和人们的日常生活。无论是在工农业生产,交通运输,国防,航空航天,医疗卫生,商务和办公设备中,还是在日常生活的家用电器和消费电子产品(如电冰箱,空调,DVD等)中,都大量使用着各种各样的电动机。据资料显示,在所有动力资源中,百分之九十以上来自电动机。同样,我国生产的电能中有百分之六十是用于电动机的。电动机与人的生活息息相关,密不可分。电气时代,电动机的调速控制一般采用模拟法,对电动机的简单控制应用比较多。简单控制是指对电动机进行启动,制动,正反转控制和顺序控制。这类控制可通过继电器,可编程控制器和开关元件来实现。还有一类控制叫复杂控制,是指对电动机的转速,转角,转矩,电压,电流,功率等物理量进行控制。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速,因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。在本设计方案中采用AT89C51型单片机内部的定时器改变CP脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。定义输出或输入为直流电能的旋转电机,称为直流电机,它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。步进电机最早是在1920年由英国人所开发。1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。利用TMS320VC5402的片内定时器中断分别实现直流电机延时计数器和步进电机的延时计数器,通过键盘中断分别设定两个延时计数器的计数范围来实现直流电机和步进电机调速;通过键盘中断来分别改变直流电机和步进电机方向。利用TMS320VC5402的片内定时器中断,通过键盘直流电机和步进电机的正转、反转、加速、减速。并将送往步进电机的代码显示到LED上。编写TMS320VC5402的TINT0中断服务程序和按键中断服务程序,直流电机和步进电机的控制程序,调试所编程序并下载到目标板上运行。二. 设计实现的方案 2.1 步进的电机的控制该实验所需的硬件主要是:DSP、CPLD、74CBT16244、74LS373、2003,所需的实验设备:步进电机。通过DSP的I/O控制能对步进电机调速。利用DSP的I/O总线对步进电机控制。在了解步进电机工作原理前提下,掌握DSP I/O总线控制方法,按照步进电机工作原理编写步进电机的驱动程序。使电机旋转,改变脉冲信号的频率对电机调速。1、将步进电机接口线与板上的“步进电机”接口按照正确的连接方式连接好。2、编写程序,通过键盘输入不同的键码调速。2.1.1 步进电机的设计框图程序框图:2.1.2 步进电机的控制键 实验箱上 : 0表示步进电机模式, 4表示正转, 5表示反转, 6表示加速, 7表示减速2.2 直流电机的控制了解直流电机控制的基本方法。利用DSP的I/O操作编制程序输出一串脉冲控制电机的正转、反转、加速、减速、停止。利用DSP的定时器、硬件中断测速,通过DSP I/O控制输出脉冲宽度。该实验所需的硬件主要是DSP、CPLD、74LS373、TIP127。编写定时器初始化程序(用于测速)、外部硬件中断服务程序,根据占空比速度 常数的原则进行调速。2.2.1 设计框图程序框图:2.2.2 直流电机的控制键 实验箱上 : 1表示步进电机模式, 4表示正转, 5表示反转, 6表示加速, 7表示减速。2.3 交通灯的控制能够正确的模拟交通灯,能响应硬件中断和定时中断。主要使学生掌握DSP的硬件中断、定时器、I/O访问的原理。该实验所需的硬件是DSP、CPLD、74LS373(数据锁存)、发光二极管。用定时器定时,用I/O口控制红绿黄灯的开关,用硬件外部中断模拟急救车的到达。有急救车到达时,两向为全红,以便让急救车通过。急救车通过后,交通灯恢复硬件中断前的状态。2.3.1 设计框图程序框图: 中断服务程序:2.3.2 交通灯的控制键 实验箱上 : 1表示步进电机模式, 4表示正转, 5表示反转, 6表示加速, 7表示减速.2.4 综合设计过程2.4.1 各模块的地址模 块 名 称地 址(I/O空间)硬 件 中 断交通灯模块0x5008h数码管显示模块0xB000h键盘模块扫描入口地址0xA008hINT2步进电机模块0x1008h直流电机模块0xB007h2.4.2 主程序/*main_func.c*/ #include reg_define.h#include system_init.h /*通过system_init ;调用*/#include IOport_init.h /*包含后可直接使用所定义的IO端口*/#include Timer0_init.h /*通过Timer0_init unsigned int Tmer0_VAL ;调用*/#include Timer1_init.h /*通过Timer1_init unsigned int Tmer0_VAL ;调用*/#include Interrupt_server.h /*包含可直接到所对应的中断服务程序中编中断服务程序*/#include LED_display_6.h /*通过LED_display_6 unsigned int 显示数据 ;调用*/ #include LED_display_1.h #include LED_display_2.h #include LED_display_34.h#include LED_display_56.h#include traffic.h#include unsigned int BJ_code 0x07,0x0b,0x0d,0x0e ;unsigned int bjcode,dj_code,sign,sound1,sound2,sound3;#define dtime 1000 ; void delay unsigned int d_t ;main system_init ; Timer0_init 0x6fff ; /*Tmer0_VAL为TINT0的定时时间常数*/ Timer1_init 0x0ffff ; /*Tmer0_VAL为TINT1的定时时间常数*/ while 1 switch mode case 1: BJ_ADDR BJ_codebjcode; delay 100 ; LED_display_1 key_code ; LED_display_2 BJ_codebjcode+1 ; delay 30 ; break; case 2: DJ_ADDR dj_code; delay 100 ; LED_display_1 key_code ; delay 100 ; break; case 3: traffic ; if sign 0 LED_display_34 sound1 ;delay 50 ; LED_display_56 sound2 ;delay 50 ; if sign 1 LED_display_34 sound1 ;delay 50 ; LED_display_56 sound3 ;delay 50 ; delay 150 ; LED_display_1 key_code ; delay 150 ; break; case 4: BJ_ADDR BJ_codebjcode;delay 200 ; DJ_ADDR dj_code; delay 100 ; traffic ;delay 100 ; LED_display_1 key_code ; LED_display_2 BJ_codebjcode+1 ; delay 100 ; default : break; void delay unsigned int d_t int i,j;for i 0;i d_t;i+ for j 0;j 1;j+ 2.4.3 中断程序#include IOport_init.h void traffic ;/*请在此处申明主程序中定义而在中断服务程序中要使用的变量*/*如:extern unsigned int code ;extern unsigned int keycode ;*/ extern unsigned int bjcode,dj_code,BJ_code,t_traffic; extern void delay unsigned int d_t ; unsigned int t0,t1,key_code,bj_derect 0,bj_speed 20;unsigned int t0_dj, dj_speed 5, dj_period 20,dj_derect 0; unsigned int mode,state;#define positive 0x0100;#define negative 0x0200;#define stop 0x0000; unsigned int t10 0,t11 0,light_flag;unsigned int trdcode;/*TINT0中断服务程序*/interrupt void TINT0_ISR asm NOP ;asm NOP ;t0+;t0_dj+;t_traffic+;if t0 bj_speed t0 0; t1+; bjcode t1%4; if bj_derect bjcode 3-bjcode; if t0_dj dj_speed dj_code positive;if dj_derect dj_code negative; if t0_dj dj_speed&t0_dj dj_period dj_code stop;if t0_dj dj_period t0_dj 0;return; /*INT2中断服务程序*/interrupt void INT2_ISR asm NOP ;asm NOP ;key_code KEY_ADDR;key_code& 0x001f; switch key_code case 1: mode 1;break; /*步进电机模式*/ case 2: mode 2;break; /*直流电机模式*/ case 3: mode 3;break; /*交通灯模式*/ case 4: mode 4;break; /*几个同时运行模式*/ default : break; if mode 1 /*步进电机工作模式*/ switch key_code case 5: bj_derect 0; break; /*正转4*/ case 6: bj_derect 1;break; /*反转5*/ case 7: if bj_speed 3 bj_speed-;break; /*加速6*/ case 8: if bj_speed 50 bj_speed+;break; /*减速7*/ default : break; else if mode 2 /*直流电机工作模式*/ switch key_code case 5: dj_derect 0;break; /*正转4*/ case 6: dj_derect 1;break; /*反转5*/ case 7: if dj_speed 1 dj_speed-;break; /*减速6*/ case 8: if dj_speed dj_period dj_speed+;break; /*加速7*/ default : break; else if mode 3 traffic ; /*交通灯工作模式*/ else if mode 4 /*几个同时运行*/ switch key_code case 5: BJ_ADDR BJ_codebjcode; break; case 6: DJ_ADDR dj_code; break; case 7: traffic ;break; default : break; return; 2.5 程序分析此设计的主程序和中断程序主要包含以下4个方面:(1)步进电机模式的控制程序,此程序的功能主要实现了步进电机的正转,反转,加速,减速【此在中断程序中实现】以及在第二个LED上显示步进电机的工作代码【0x07,0x0b,0x0d,0x0e】和在第一个数码管上显示0表示此时工作在步进电机状态。(2)直流电机模式的控制程序,此程序的功能主要实现了直流电机的正转,反转,加速,减速以及在第二个LED上显示直流电机的工作代码和在第一个数码管上显示1表示此时工作在直流电机状态。(3)交通模式的控制程序,此处只有调用交通灯的程序语句,没有交通灯的主要程序,其主要程序见程序源代码traffic.h文件,此时数码管LED显示状态为2表示工作在工作在交通灯的状态下。(4)这三种状态一起运作的程序,将以上三种模式的程序综合起来就可以了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年及未来5年中国稀土抛光粉行业市场供需格局及行业前景展望报告
- xx市污水处理提质增效工程风险评估报告
- 2025安徽合肥海恒集团招聘工作人员4人笔试历年常考点试题专练附带答案详解试卷3套
- 2025国家电投集团东北电力有限公司应届毕业生招聘笔试历年典型考点题库附带答案详解试卷3套
- 2025年及未来5年市场数据中国脲醛树脂胶市场竞争策略及行业投资潜力预测报告
- 2025中国交通建设集团有限公司招聘笔试历年常考点试题专练附带答案详解试卷3套
- 330kV升压储能站项目环境影响报告书
- 绿色建筑工地实施技术方案
- 2025年及未来5年市场数据中国分离式绳头组合行业发展概况及行业投资潜力预测报告
- 研学基地环境建设方案
- 第15节 辽宋夏金元的文化和科技 知识清单 高三统编版(2019)历史一轮复习(选必融合)
- 电子商务导论 记分作业资料-上海开大参考资料
- 毛发生理学和基本知识
- 2024年江苏省知识产权竞赛参考试题库(含答案)
- 疯狂动物城英语版
- 陕西蓝深特种树脂有限公司年产2000吨大孔吸附树脂生产项目环境影响报告
- 安徽大学2022年825物理化学考研真题(含答案)
- 数字经济时代的职业演进与青年职业发展
- 软件工程生涯发展展示
- 网络安全运维职业规划书
- 《金正昆西餐礼仪》课件
评论
0/150
提交评论