




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江南大学物联网工程学院课程设计报告课程名称: 单片机原理及应用 设计题目:基于单片机的步进电机控制器的设计 班 级: 自动化*班 姓 名: * 学 号: 0704* 指导教师: * 评 分: 2013年 6 月 29 日一,步进电机概述步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、 Pulse motor或Stepper servo,其应用发展已有约80年的历史。步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转一角度,使得转子的一对磁极磁场方向与定子的磁场方向一着该磁场旋转一个角度。因此,控制电机转子旋转实际上就是以一定的规律控制定子绕组的电流来产生旋转的磁场。每来一个脉冲电压,转子就旋转一个步距角,称为一步。根据电压脉冲的分配方式,步进电机各相绕组的电流轮流切换,在供给连续脉冲时,就能一步一步地连续转动,从而使电机旋转。步进电机每转一周的步数相同,在不丢步的情况下运行,其步距误差不会长期积累。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,同时步进电机只有周期性的误差而无累积误差,精度高,步进电动机可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制等,这是步进电动机最突出的优点。正是由于步进电机具有突出的优点,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。比如在数控系统中就得到广泛的应用。目前世界各国都在大力发展数控技术,我国的数控系统也取得了很大的发展,我国已经能够自行研制开发适合我国数控机床发展需要的各种档次的数控系统。近年来由于微型计算机方面的快速发展,使步进电机的控制发生了革命性变革。优点明显的步进电机被广泛应用在电子计算机的许多外围设备中,例如打印机,纸带输送机构,卡片阅读机,主动轮驱动机构和存储器存取机构等,步进电机也在军用仪器,通信和雷达设备,摄影系统,光电组合装置,阀门控制,数控机床,电子钟,医疗设备及自动绘图仪,数字控制系统,工具机控制,程序控制系统以及许多航天工业的系统中得到应用。因而,对于步进电机控制的研究也就显得尤为重要了。二,设计目的通过具体小型测试系统设计,实践单片机系统设计及调试的全过程,以加深对单片机内部结构、功能和指令系统的理解,并进一步学习单片机开发系统的应用及一些外围芯片的接口和编程方法,初步掌握单片机系统的硬、软件设计技术及调试技巧。三,设计要求 1)电机转速可以平稳控制 2)通过键盘和显示器可以设置电机的转速 3)显示电机的速度趋势四,仪器设备 1、STC89C52RC单片机芯片 一片 2、ULN2003驱动芯片 一片 3、MT03641BR八位共阳数码管芯片 一片 4、8550PNP 四个 5、不同阻值电阻 若干 6、30pF电容 两个 7、12M晶振 一个 8、按键 四个 9、28BYJ-48电机 一个 10、+5V电源 一个五,硬件线路图及主要芯片说明 28BYJ-48四相八拍步进电机 主要技术参数相数:四相 电压:5VDC电流:92mA 电阻:130步距角:5.625 减速比:1/64 空载牵出频率:800pps空载牵入频率:500pps牵入转矩:78.4mN.m 接线指示:A(橙)、B(黄)、C(蓝)、D(灰)、E(红,中点接+5V) 28BYJ-48图AABBBCCCDDDA0x010x030x020x060x040x0c0x080x09 四相八拍相序表 如果需要电机正转,只需要从A-AB-B-BC-C-CD-D-DA依次通电即可,反转,则需要反过来依次通电。 ULN2003 ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。 引脚1:CPU脉冲输入端,端口对应一个信号输出端。引脚2:CPU脉冲输入端。 引脚3:CPU脉冲输入端。 引脚4:CPU脉冲输入端。 引脚5:CPU脉冲输入端。 引脚6:CPU脉冲输入端。 引脚7:CPU脉冲输入端。 引脚8:接地。 引脚9:该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。 引脚10:脉冲信号输出端,对应7脚信号输入端。 引脚11:脉冲信号输出端,对应6脚信号输入端。 引脚12:脉冲信号输出端,对应5脚信号输入端。 引脚13:脉冲信号输出端,对应4脚信号输入端。 引脚14:脉冲信号输出端,对应3脚信号输入端。 引脚15:脉冲信号输出端,对应2脚信号输入端。 引脚16:脉冲信号输出端,对应1脚信号输入端。ULN2003的输出端可达500mA/50V. 输出端的二极管学名续流二极管,英文freewheel diode。如果ULN2003的达林顿管输入端输入低电平使其截止,其驱动的元件是感性元件,则电流不能突变,此时会产生一个高压;如果没有二极管,达林顿管会被击穿,所以这个二极管主要起保护作用。 由于ULN2003是集电极开路输出,为了让这个二极管起到续流作用,必须将COM引脚(pin9)接在负载的供电电源上,只有这样才能够形成续流回路。ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350mA,9脚可以悬空。 三极管8550三极管8550是一种常用的普通三极管,它是一种低电压、大电流、小信号的PNP型硅三极管。相关参数如下 类型:开关型 极性:PNP 材料:硅最大集电极电流(A):0.5 A直流电增益:10 to 60功耗:625 mW最大集电极发射电压(VCEO):25频率:150MHz 三极管8550管脚图 STC89C52RCSTC89C52RC单片机是新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12 时钟/机器周期和 6 时钟/机器周期可以任意选择。主要特性如下: 1. 增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任意选择,指令代码完全兼容传统 8051. 2. 工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机) 3. 工作频率范围:040MHz,相当于普通 8051 的 080MHz,实际工 作频率可达 48MHz 4. 用户应用程序空间为 8K 字节 5. 片上集成 512 字节 RAM 6. 通用 I/O 口(32 个)复位后为: , P1/P2/P3/P4 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。 7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片8. 具有 EEPROM 功能 9. 具有看门狗功能 10. 共 3 个 16 位定时器/计数器。即定时器 T0、T1、T211. 外部中断 4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒 12. 通用异步串行口(UART),还可用定时器软件实现多个 UART 13. 工作温度范围:-40+85(工业级)/075(商业级) 14. PDIP 封装 STC89C52RC 引脚功能说明VCC(40 引脚):电源电压 VS S(20 引脚):接地 MT03641BR八位共阳数码管 主要参数工作电压:2V工作电流:510mA数码管显示原理数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp 的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。段码表如下:01234567890xc00xf90xa40xb00x990x920x820xf80x800x90根据表中所给的段码,只需要送入相应的数码管即可。数码管内部结构 硬件线路图(见附图)六,系统工作原理本程序包括按键处理程序、显示处理程序、中断处理程序、数据处理程序四个主要部分 按键处理程序按键处理安排在主程序当中,使其处于不断检测状态,当有按键按下能够及时对其进行相应的处理。同时,对于按键还应该进行消抖处理,避免系统误动作。其主要程序如下: if(k1=0)delay(5); /延时消抖 if(k1=0)TR0=TR0;k+;/启动/停止 while(!k1); / 等待按键释放 if(k2=0)delay(5); /延时消抖 if(k2=0)time=time-150; / 加速 while(!k2); / 等待按键释放 if(k3=0)delay(5); /延时消抖 if(k3=0)time=time+150;/减速 while(!k3);/ 等待按键释放 if(k4=0)delay(5); /延时消抖 if(k4=0)f+; / 正/反转 while(!k4);/ 等待按键释放 中断处理程序中断程序中安排对P1口赋值及对定时器重新装入初值,每次进入中断程序时,先判断是否执行反转,如是,则送反转编码,否则,送正转编码。其主要程序如下: void timer0()interrupt 1 if(f%2)P1=FFj+;if(j=8)j=0; / f为奇数时代表反转,则送反转编码到P1口 else P1=ZFj+;if(j=8)j=0; / 否则送正转编码到P1口 TH0=(65536-time)/256; TL0=(65536-time)%256;/重新装初值 显示处理程序显示程序则通过对相应数码管的通断,然后送段码。以这种方式来控制其动态显示,同时需要主要每个数码管都应该延时亮一段时间。并且要对其消隐。以获得较好的显示效果。其主要程序如下: void display(uchar a,uchar b,uchar c,uchar d) if(f%2)P2=0xfe; P0=0xbf; /f为奇数时代表反转,则第一个数码管显示“-”,否则不显示 delay(1); P0=0xff; /消隐P2=0xfd; P0=SMa; /显示十位delay(1); P0=0xff; /消隐P2=0xfb; P0=SMb&0x7f;/显示个位(带小数点)delay(1); P0=0xff; /消隐P2=0xf7;P0=SMc; /显示小数点后第一位小数delay(1); P0=0xff;/消隐P2=0xef;P0=SMd; /显示小数点后第二位小数delay(1); P0=0xff; /消隐 数据处理程序 通过对数据进行处理来获得电机的转速,可以先计算出1ms时电机的速度,然后通过改变时间间隔来计算电机的转速。其主要程序如下: void dispose() temp1=14648/time; h=temp1/10; /十位 w=temp1%10; /个位 temp2=14648%time; p=temp2/1000;/ 小数点后第一位小数 q=temp2%1000*10/1000;/小数点后第二位小数根据以上四个主要部分来把整个系统划分成相应模块,有利于提高系统的抗干扰能力。能较好的保证系统运行的可靠。七,程序清单#include /头文件#define uint unsigned int /宏定义#define uchar unsigned char /宏定义uchar code ZF8=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09; /正转编码表uchar code FF8=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01; /反转编码表uchar code SM10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/数码表sbit k1=P32;/定义K1为启动/停止按键sbit k2=P33;/定义K2为加速按键sbit k3=P34; /定义K3为减速按键sbit k4=P35; /定义K4为正/反转按键uchar j=0;uint time=12000;/time为每两拍之间的间隔时间uint temp2;uchar temp1,h,w,p,q,f;/*1ms延时函数(12M晶振下)*/void delay(uchar z) uchar s,v; for(s=0;sz;s+) for(v=0;v125;v+); /一个for循环8个机器周期(125*8*1us=1ms) /*显示函数*/void display(uchar a,uchar b,uchar c,uchar d)if(f%2)P2=0xfe; P0=0xbf; /f为奇数时代表反转,则第一个数码管显示“-”,否则不显示delay(1); P0=0xff; /消隐P2=0xfd; P0=SMa; /显示十位delay(1); P0=0xff; /消隐P2=0xfb; P0=SMb&0x7f;/显示个位(带小数点)delay(1); P0=0xff; /消隐P2=0xf7;P0=SMc; /显示小数点后第一位小数delay(1); P0=0xff;/消隐P2=0xef;P0=SMd; /显示小数点后第二位小数delay(1); P0=0xff; /消隐/*数值处理函数*/void dispose() temp1=14648/time; h=temp1/10; /十位 w=temp1%10; /个位 temp2=14648%time; p=temp2/1000;/ 小数点后第一位小数 q=temp2%1000*10/1000;/小数点后第二位小数/*主函数*/void main() uchar k; TMOD=0x01;/定义定时器0工作方式1 EA=1; / 开总中断 ET0=1; /开定时器0中断 TH0=(65536-time)/256; TL0=(65536-time)%256; /装定时器初值 TR0=1;/开定时器0 while(1) if(k1=0)delay(5); /延时消抖 if(k1=0)TR0=TR0;k+;/启动/停止 while(!k1); / 等待按键释放 if(k2=0)delay(5); /延时消抖 if(k2=0)time=time-150; / 加速 while(!k2); / 等待按键释放 if(k3=0)delay(5); /延时消抖 if(k3=0)time=t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生心理健康教育 课件 第四章大学生学习心理
- 应急安全和防汛培训课件
- 2025石油石化职业技能鉴定考试练习题附参考答案详解【模拟题】
- 秋季腹泻病程发展规律与预后评估
- 新生儿苯丙酮尿症筛查与饮食管理
- 共建房屋合同(标准版)
- 儿童常见传染病预防与护理
- 2025辽宁省灯塔市中考数学复习提分资料及参考答案详解【完整版】
- 执业药师之《药事管理与法规》题库检测试题打印及答案详解【基础+提升】
- 2025自考公共课能力检测试卷【重点】附答案详解
- 青少年无人机课程大纲
- 2025-2030中国耳鼻喉外科手术导航系统行业市场发展趋势与前景展望战略研究报告
- 剪彩仪式方案超详细流程
- 2024年二级建造师考试《矿业工程管理与实物》真题及答案
- 人教版初中九年级化学上册第七单元课题1燃料的燃烧第2课时易燃物和易爆物的安全知识合理调控化学反应课件
- 发电厂继电保护培训课件
- 校企“双元”合作探索开发轨道交通新型活页式、工作手册式教材
- 肺癌全程管理
- 2024年考研英语核心词汇
- 信息系统定期安全检查检查表和安全检查报告
- 颅脑外伤患者的麻醉管理专家共识(2021版)
评论
0/150
提交评论