




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。 数字直流调速装置,从技术上,它能成功地做到从给定信号、调节器参数设定、直到触发脉冲的数字化,使用通用硬件平台附加软件程序控制一定范围功率和电流大小的直流电机,同一台控制器甚至可以仅通过参数设定和使用不同的软件版本对不同类型的被控对象进行控制,强大的通讯功能使它易和PLC等各种器件通讯组成整个工业控制过程系统,而且具有操作简便、抗干扰能力强等特点,尤其是方便灵活的调试方法、完善的保护功能、长期工作的高可靠性和整个控制器体积小型化,弥补了模拟直流调速控制系统的保护功能不完善、调试不方便、体积大等不足之处,且数字控制系统表现出另外一些优点,如查找故障迅速、调速精度高、维护简单,使其具备了广一阔的应用前景。 国外主要电气公司如瑞典的ABB公司、德国的西门子公司、AEG公司、日本的三菱公司、东芝公司、美国的GE公司、西屋公司等,均已经开发出多个数字直流调速装置,有成熟的系列化、标准化、模板化的应用产品。我国从20世纪60年代初试制成功第一只硅晶闸管以来,晶闸管直流调速系统也得到迅速的发展和广泛的应用。目前,晶闸管供电的直流调速系统在我国国民经济各部门得到广泛的应用。我国关于数字直流调速系统的研究主要有:综合性最优控制,补偿PID控制,PID算法优化,也有的只应用模糊控制技术。19随着新型电力半导体器件的发展,IGBT(绝缘栅双极型晶体管)具有开关速度快、驱动简单和可以自关断等优点,克服了晶闸管的主要缺点。因此我国直流电机调速也正向着脉宽调制(pulse width modulation,简称PWM)方向发展。16我国现在大部分数字化控制直流调速装置依靠进口。但由于进口设备价格昂贵,也给出了国产全数字控制直流调速装置的发展空间。目前,国内许多大专院校、科研单位和厂家也都在开发全数字直流调速装置。1.1 设计任务此设计要实现的功能如下:1. 编程实现在现有实验箱上整合步进电机、直流电机、交通灯等实验项目。2. 三个实验可以通过键盘进行模式选择来切换(1步进电机控制,2直流电机控制,3交通灯控制,4三个实验同时进行),并在LED左数第一位上显示模式。3. 步进电机和直流电机的正反转、加减速在键盘上进行控制,并在LED上显示步进电机和直流电机的运行状态。4. 交通灯控制时应在LED上显示时间的变化。交通灯东西、南北的时间可通过键盘设定。5. 三个实验同时进行时只显示模式,各实验的参数都可通过键盘设置。1.2 设计原理:利用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 步进电机的设计框图程序框图:以循环寻址方式发送四相单四拍脉冲信号根据参数设定占空比根据不同的按键键码设定步进电机旋转方向和速度参数初始化DSP开始2.1.2 步进电机的控制键 实验箱上 : 0表示步进电机模式, 4表示正转, 5表示反转, 6表示加速, 7表示减速2.2 直流电机的控制了解直流电机控制的基本方法。利用DSP的I/O操作编制程序输出一串脉冲控制电机的正转、反转、加速、减速、停止。利用DSP的定时器、硬件中断测速,通过DSP I/O控制输出脉冲宽度。该实验所需的硬件主要是DSP、CPLD、74LS373、TIP127。编写定时器初始化程序(用于测速)、外部硬件中断服务程序,根据占空比速度=常数的原则进行调速。2.2.1 设计框图开始初始化DSP读取电机旋转方向和速度参数根据参数设定占空比发送脉冲信号驱动直流伺服电机程序框图:2.2.2 直流电机的控制键 实验箱上 : 1表示步进电机模式, 4表示正转, 5表示反转, 6表示加速, 7表示减速。2.3 交通灯的控制能够正确的模拟交通灯,能响应硬件中断和定时中断。主要使学生掌握DSP的硬件中断、定时器、I/O访问的原理。该实验所需的硬件是DSP、CPLD、74LS373(数据锁存)、发光二极管。用定时器定时,用I/O口控制红绿黄灯的开关,用硬件外部中断模拟急救车的到达。有急救车到达时,两向为全红,以便让急救车通过。急救车通过后,交通灯恢复硬件中断前的状态。2.3.1 设计框图开始初始化DSP全部红灯亮延时1秒南北绿灯亮、东西红灯亮,延时20秒南北绿灯闪3次、东西红灯亮南北黄灯亮、东西红灯亮延时3秒南北红灯亮、东西绿灯亮延时20秒南北红灯亮、东西绿灯闪3次南北红灯亮、东西黄灯亮延时3秒开始保护现场全部红灯延时10秒恢复现场结束000105060203040708程序框图: 中断服务程序: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;id_t;i+)for(j=0;j=bj_speed) t0=0; t1+; bjcode=t1%4; if(bj_derect) bjcode=3-bjcode; if(t0_dj=dj_speed&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=1) dj_speed-;break; /*减速6*/ case 8: if(dj_speeddj_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,0x0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市更新电动汽车充电桩建设方案
- 劳务派遣加盟协议书3篇
- 设备经营租赁合同
- 2025云南省曲靖市麒麟区珠街街道社区卫生服务中心招聘编外专业技术人员(7人)备考练习试题及答案解析
- 2025年趣味数学情景题目及答案
- 装饰公司员工劳动合同
- 私人房屋装修合同
- 2025年绥化绥棱县公开招聘急需紧缺专业工作人员2人考试参考试题及答案解析
- 2025西安三博脑科医院招聘(10人)考试参考试题及答案解析
- 2025年柳河县总工会公开招聘工会社会工作者(2人)备考练习题库及答案解析
- 开学第一课+课件-2025-2026学年人教版(2024)七年级英语上册
- 全过程工程咨询服务详细清单
- 法律法规法学 - 马工程《宪法学》重点整理
- 小学四年级道德与法治上册教材分析
- 淋巴瘤基础知识
- GB/T 4956-2003磁性基体上非磁性覆盖层覆盖层厚度测量磁性法
- GB/T 14038-2008气动连接气口和螺柱端
- 胰十二指肠切除术课件
- 风险分级管控责任清单(市政道路工程)
- (临床治疗)继发性甲旁亢课件
- UNIT 1 LESSON 1 LIFESTYLES课件第一课时
评论
0/150
提交评论