步进电机课程设计_第1页
步进电机课程设计_第2页
步进电机课程设计_第3页
步进电机课程设计_第4页
步进电机课程设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 目录目录 1 实验要求与设计 2 1 1 设计目的 2 1 2 设计要求 2 1 3 设计思路 2 2 设计原理及分析 3 2 1 步进电机控制系统的组成 3 2 2 单片机最小系统 3 2 3 键盘控制电路 4 2 4 LED 数码显示电路 5 3 系统的总体方案设计 6 3 1 步进电机总体设计框图 6 3 2 驱动控制系统组成 6 3 3 脉冲信号的产生 6 4 软件设计设计及调试 7 4 1 主程序流程图 7 4 2 INTO 中断子程序框图 7 4 4 程序代码 9 5 实验心得与体会 16 参考文献 17 附 课程设计评分表 18 附 步进电机电路图 19 2 1 实验要求与设计实验要求与设计 1 1 设计目的设计目的 以单片机为核心设计出一个单片机控制步进电机的控制系统 本系统采用 AT89C51 作为控制单元 通过键盘实现对步进电机转动方向及转动速度的控制 并且将步进电机的转动速度动态显示在 LED 数码管上 1 2 设计要求设计要求 1 利用键盘按键来控制步进电动机的加速减速以及控制电动机的正转 反 转 启动 停止等操作 达到显示的目的 2 了解步进电动机的工作原理 会计算其各个量之间的转换 例如 速度 时间 频率与步进角之间的关系 3 显示以 51 单片机为核心的实用控制电路 并进行调试出结果 1 3 设计思路设计思路 采用 51 系列单片机实现对步进电动机进行调速控制 首先利用键盘按键来 控制步进电动机的加速减速以及控制电动机的正转 反转 启动 停止等操作 达到显示的目的 最终使步进电动机的控制能更加灵活 本实验采用 89C51 做单片机运行的 所用本实验只需要将其四相连接 P1 口 得 P1 0 P1 3 口就行了 在 AEDK 实验教学机上 数码管和 8279 内部已经连接 好 不需再连线 本实验使用的步进电机用直流 12V 电压 电机线圈由 A B C D 四相组 成驱动方式为四相四拍方式 各线圈通电顺序如下表 表中首先向 A 线圈输入驱 动电流 接着 B C D 线圈驱动 最后又返回到 A 线圈驱动 按这种顺序切 换 电机轴按顺时针方向旋转 若通电顺序相反 则电机轴按逆时针方向旋转 3 2 设计原理及分析设计原理及分析 2 1 步进电机控制系统的组成步进电机控制系统的组成 步进电机控制系统共分为六个模块 单片机最小系统模块 键盘控制模块 数码显示模块 测速模块 步进电机驱动模块和电源模块 1 单片机最小系统主要由复位电路和时钟电路组成 复位电路为单片机系 统提供可靠复位 使单片机能正常启动 时钟电路采用外部时钟方式 保证单 片机个功能部件都是以时钟频率为基准 有条不紊地一拍一拍地工作 2 键盘控制模块包括方向控制键 加速键和减速键 启停键 实现对步进 电机的控制 并且键盘上连接有发光二极管 以指示键盘状态 3 数码显示模块采用共阴极数码管来动态显示步进电机的实际转动速度 4 测速模块采用开关霍尔片对安放在步进电机转盘上的小磁片的磁信号进 行检测 步进电机转盘每次带动小磁片经过霍尔片时 其都将有脉冲信号从霍 尔片输出 单片机外部中断口对信号进行采集 2 2 单片机最小系统单片机最小系统 近年 由于 CHMOS 技术的进步 大大地促进了单片机的 CMOS 化 CMOS 芯 片除了低功耗特性之外 还具有功耗的可控性 使单片机可以工作在功耗精细 管理状态 这也是今后以 80C51 取代 8051 为标准 MCU 芯片的原因 因为单片机 芯片多数是采用 CMOS 金属栅氧化物 半导体工艺生产 CMOS 电路的特点是低 功耗 高密度 低速度 低价格 采用双极型半导体工艺的 TTL 电路速度快 但功耗和芯片面积较大 随着技术和工艺水平的提高 又出现了 HMOS 高密度 高速度 MOS 和 CHMOS 工艺 CHMOS 和 HMOS 工艺的结合 目前生产的 CHMOS 电 路已达到 LSTTL 的速度 传输延迟时间小于 2ns 它的综合优势已在于 TTL 电 路 因而 在单片机领域 CMOS 正在逐渐取代 TTL 电路 单片机是通过内部总线把计算机的各主要部件接为一体 其内部总线包括 4 地址总线 数据总线和控制总线 其中 地址总线的作用是在进行数据交换时 提供地址 CPU 通过它们将地址输出到存储器或 I O 接口 数据总线的作用是 在 CPU 与存储器或 I O 接口之间 或存储器与外设之间交换数据 控制总线包 括 CPU 发出的控制信号线和外部送入 CPU 的应答信号线等 考虑到经济和可靠性的要求 本设计中采用 AT89C51 单片机 它宏晶科技 设计生产的单时钟 机器周期 1T 的单片机 是高速 低功耗 超强抗干扰的新 一代 8051 单片机 指令代码完全兼容传统 8051 但速度快 8 12 倍 1 AT89C51 单片机参数 工作电压 5 5V 3 8V 3 3V Flash 程序存储器字节 4K 定时器 T0 T1 有 中断优先级 2 2 AT89C51 单片机优点 超低功耗 超强抗干扰 超强抗静电 输入输出口多 最多有 40 个 I O 速度快 1 个时钟 机器周期 可用低频率晶振 2 3 键盘控制电路键盘控制电路 键盘在单片机应用系统中能实现向单片机输入数据 传送命令等功能 是 人工干预单片机的主要手段 键盘实质是一组按键开关的集合 键盘所用开关 为机械弹性开关 利用了机械触点的合 断作用 一个电压信号在机械触点的断开 闭合过程中 都会产生抖动 一般为 5 10ms 两次抖动之间为稳定的闭合状态 时间由按键动作所决定 第一次抖 动前和第二次抖动后为断开状态 按键的闭合与否 反映在输出电压上就是呈现出高电平或低电平 通过对 输出电平的高低状态的检测 便可确认按键按下与否 在本设计中 高电平表 示按键断开 低电平表示按键闭合状体 并且 为了能直观形象的表示按键闭 合与否 还为每个按键相应增加了发光二极管 按键断开时 发光二极管灭 5 当有键闭合时 相应的发光二极管变亮 为了确保单片机对一次按键动作只确认一次按键 必须消除抖动的影响 消除按键抖动通常采用硬件 软件两种方法 由于硬件消抖电路设计复杂 本 设计中没有采用 在此不再详细叙述 软件消抖适合按键较多的情况 方便简 单 其原理是在第一次检测到有键按下时 执行一段延时 10ms 的子程序后在确 认该键电平是否仍保持闭合状态电平 如果保持闭合状态电平则确认为真正有 键按下 从而消除了抖动的影响 其原理图如图 2 3 所示 图 2 1 键盘控制模块原理图 2 4 LED 数码显示电路数码显示电路 发光二极管 LED 是一种通电后能发光的半导体器件 其导电性质与普通二 极管类似 LED 数码显示器就是由发光二极管组合而成的 1 种新型显示器件 在单片机系统中应用非常普遍 6 图 2 2 数码管显示电路 3 系统的总体方案设计系统的总体方案设计 3 1 步进电机总体设计框图步进电机总体设计框图 图 3 1 总体设计框图 本系统是单片机软件程序来产生脉冲分信号 即把数字控制技术的高精 度等方面的优势有效的应用于步进电机控制系统 本电路包括开关控制电路 时钟电路 功率放大器电路等的选择 3 2 驱动控制系统组成驱动控制系统组成 使用控制步进电机必须由环形脉冲 功率放大等组成的控制系统 方框图 7 3 2 如下 图 3 2 控制系统组成图 3 3 脉冲信号的产生脉冲信号的产生 脉冲信号一般由单片机或 CPU 产生 一般脉冲信号的占空比为 0 3 0 4 左 右 点击转速越高 占空比越大 4 软件设计设计及调试软件设计设计及调试 4 1 主程序流程图主程序流程图 步进电机控制系统的主程序在对 8279 系统初始化后主要完成定时中断及定 时器处理的功能 如图 4 1 所示 8 开始 8279初始化 启动定时中断 等待1ms Y 电机控制程序 N 等待20ms 定时器处理程序 Y N 图 4 1 主程序 系统上电复位后 先调用初始化子程序 对步进电机各端口 相关参数进 行初始化 启动定时中断 实现电机控制程序和定时器处理程序的功能 4 2 INTO 中断子程序框图中断子程序框图 1 中断程序框图 图 4 2 主要负责步进电机的正 反转功能 9 入口 现场保护 是否为A键 电机正转 Y 否 电机反转 是否B键 速度减 是否A键 速度加 是否C键 是否B键启动 是 是 电机停止 现场恢复 返回 否否 图 4 2 INTO 中断子程序框图 2 中断子程序框图 图 4 3 负责处理键盘功能 首先初始化实际键值参数 然后扫描键盘 读缓存 执行键盘之程序里的 指令 将相应的变量值改变 为键盘处理子程序做准备 入口 现场保护 扫描键盘 读缓存 速度显示 返回 图 4 3 INTO 中断子程序框图 10 4 4 程序代码程序代码 Z8279 入口地址 Z8279 EQU 8701H 8279 状态口地址 D8279 EQU 8700H 8279 数据口地址 74LS273 入口地址 PI EQU 8300H 定义 RAM 字节单元 DIRE EQU 30H 转的形式 STAS EQU 31H 相位 SPED EQU 32H 速度指针 0 3 SPEDED VAL EQU 33H KEY VAL EQU 34H DISPED SBUF0 EQU 35H DISPED SBUF1 EQU 36H DISPED SBUF2 EQU 37H ORG 0000H LJMP START ORG 000BH LJMP INT0 P ORG 001BH LJMP INT1 P ORG 0100H START MOV SP 60H LCALL INTI8279 LCALL INT T0 LCALL INT T1 MOV DIRE 02H MOV SPED 04H MOV STAS 077H SETB EA 8279 初始化子程序 INTI8279 MOV DPTR Z8279 清除命令 MOV A 0D3H MOVX DPTR A 11 MOV DPTR Z8279 键盘显示命令 MOV A 000H MOVX DPTR A MOV DPTR Z8279 时钟编程命令 MOV A 038 MOVX DPTR A NOP RET 初始化定时器 0 INT T0 MOV TMOD 011H MOV TH0 0FFH MOV TL0 0FEH CLR PT0 SETB ET0 SETB TR0 RET 初始化定时器 1 INT T1 MOV TMOD 011H MOV TH1 04CH 定时时间为 50mS MOV TL1 000H SETB PT1 SETB ET1 SETB TR1 RET 定时器 0 处理程序 根据参数控制直流电机 INT0 P PUSH ACC 堆栈 步进电机控制程序 LCALL LP0 EXIT0 MOV TH0 0FFH 重装定时初值 MOV TL0 0FEH POP ACC RETI 12 步进电机控制程序 入口参数 LP0 MOV R7 SPEDED VAL LP1 LCALL DELAY DJNZ R7 LP1 MOV A DIRE CJNE A 00H LP2 顺时针转 MOV A STAS RL A MOV STAS A ANL A 0FH MOV P1 A 相位输出 LJMP LP5 LP2 CJNE A 01H LP3 逆时针转 MOV A STAS RR A MOV STAS A ANL A 0FH MOV P1 A 相位输出 LJMP LP5 LP3 CJNE A 02H LP5 停转 LJMP LP5 LP5 NOP RET 延时子程序 DELAY MOV R3 20H 延时子程序 DELAY1 MOV R4 04FH DJNZ R4 DJNZ R3 DELAY1 RET 定时器 1 处理程序 键盘 INT1 P PUSH ACC 堆栈 LCALL KD KB LCALL SBUF DISPED0 LCALL LEDD PROC0 EXIT1 MOV TH1 04CH 重装定时初值 MOV TL1 000H 13 POP ACC RETI 8279 键盘译码处理主程序 KD KB MOV DPTR Z8279 读状态字 MOVX A DPTR ANL A 0FH JZ KD KB1 MOV A 40H 读 FIFO 传感器 RAM 命令 MOVX DPTR A MOV DPTR D8279 MOVX A DPTR ANL A 3FH 键值最大为 64 屏蔽不用 位 MOV KEY VAL A LCALL JP0 KD KB1 NOP RET 功能键处理子程序 入口参数 KEY VALU KEY0 MOV A KEY VALU CJNE A 0AH KEY1 LCALL KA0 LJMP KEY8 KEY1 CJNE A 0BH KEY2 LCALL KEY0 LJMP KEY8 KEY2 CJNE A 0CH KEY8 LCALL KEY0 LJMP KEY8 KEY8 NOP RET 键 A 处理子程序 键 A 为切换到正转键或者 正转级数参数更改键 KA0 MOV A DIRE CJNE A 00H KA2 INC SPED MOV A SPED CJNE A 04H KA1 14 MOV SPED 00H KA1 LCALL SPEDED LOAD0 LJMP KA5 KA2 MOV SPED 00H MOV DIRE 00H MOV SPEDED VAL 61H LJMP KA5 KA5 NOP RET 装载正转占空参数 SPEDED LOAD0 MOV A SPED CJNE A 00H SPEDED LOAD1 MOV SPEDED VAL 050H LJMP SPEDED LOAD8 SPEDED LOAD1 CJNE A 01H SPEDED LOAD2 MOV SPEDED VAL 020H LJMP SPEDED LOAD8 SPEDED LOAD2 CJNE A 02H SPEDED LOAD3 MOV SPEDED VAL 00AH LJMP SPEDED LOAD8 SPEDED LOAD3 CJNE A 03H SPEDED LOAD8 MOV SPEDED VAL 005H LJMP SPEDED LOAD8 SPEDED LOAD8 NOP RET 键 B 处理子程序 键 B 为切换到反转键或者 反转级数参数更改键 KB0 MOV A DIRE CJNE A 01H KB2 INC SPED MOV A SPED CJNE A 04H KB1 MOV SPED 00H KB1 LCALL SPEDED LOAD0 LJMP KB5 KB2 MOV SPED 00H MOV DIRE 01H MOV SPEDED VAL 61H LJMP KB5 KB5 NOP 15 RET 键 C 处理子程序 键 C 为切换到停止键 KC0 MOV A DIRE CJNE A 02H KC1 LJMP KC5 KC1 MOV DIRE 02H MOV SPED 04H LJMP KC5 KC5 NOP RET 数码显示子程序 入口参数 DISPED BUF0 DISPED BUF5 SBUF DISPED0 MOV A SPED MOV DPTR SPEDED TAB MOVC A A DPTR MOV B 100 DIV AB MOV DISPED SBUF0 A MOV A B MOV B 10 DIV AB MOV DISPED SBUF1 A MOV DISPED SBUF2 B MOV DPTR Z8279 写显示命令 MOV A 090H MOVX DPTR A MOV R0 DISPED SBUF2 MOV R6 03H SBUF DISPED1 MOV DPTR LEDSEG TAB MOV A R0 MOVC A A DPTR MOV DPTR D8279 MOVX DPTR A DEC R0 DJNZ R6 SBUF DISPED1 SBUF DISPED2 NOP RET 笔形码表 16 LEDSEG TAB DB 03FH 006H 05BH 04FH 066H 06DH 07DH 007H 07FH 06FH 0 1 2 3 4 5 6 7 8 9 DB 0BFH 086H 0DBH 0CFH 0E6H 0EDH 0FDH 087H 0FFH 0EFH 加点的数值 DB 000H 灭码 SPEDED TAB DB 010H 050H 090H 0F0H 000H END 17 5 实验心得与体会实验心得与体会 经过这么长时间的努力终于将课程设计完成了 在这次设计中 我们的电 路知识得到了很好的补充和巩固 还使我提高了将理论知识运用到实际中的能 力 通过这次课程设计 更深一步掌握了 51 单片机的原理 了解了简单步进电 机控制系统的组成原理 并初步掌握了步进电机设计及测试方法 提高了动手 能力和排除故障的能力 同时通过本次设计与调试 巩固了已学的理论知识 将单片机的理论和实践相结合 了解到步进电机各单元电路之间的关系及影响 从而能正确设计 计算定时计数的各个单元电路 初步掌握步进电机控制系统 的设计及测试方法 提高了动手能力和排除故障的能力 这次设计使我们学到了以前书本知识中所不曾了解的知识 更加明白了在 如今的信息时代下电子技能知识的重要性 丰富了我们对实际

温馨提示

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

评论

0/150

提交评论