基于单片机的步进电机控制系统课程设计内容摘要:
的电路; OUTl、 OUT2 和 OUT OUT4 之间分别接 2 个步进电机;input1~input4 输入控制电位来控制电机的正反转; Enable 则控制电机停转。 R10 10k DB0 7 DB1 8 DB2 9 DB3 10 DB4 11 DB5 12 DB6 13 DB7 14 RS 4 R/W 5 E 6 VCC 2 VL+ 15 VL 16 VSS 1 VEE 3 U2 LCD1602 SENSA1OUT12OUT23VS4IN15ENA6IN27GND8VCC9IN310ENB11IN412OUT313OUT414SENSB15U10LN298A+AB+ BU11步进电机VCCVCCVCCVCC1KR27RES1KR26RES 图 38 步进电机驱动原理图 第 4 章 软件程序设计 系统开发软件环境介绍 与其它的微处理器一样,开发基于单片机的步进电机驱动系统控制程序也需要一套完整的软件和硬件开发工具。 最常用的 Keil C51。 Keil C51 是 美国 Keil Software 公司出品的 51 系列兼容 单片机 C 语言软件开发系统,与汇编相比, C 语言在功能上、结构性 、可读性、可维护性上有明显的优势,因而易学易用。 Keil 提供了包括 C 编译器 、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个 集成开发环境 ( uVision)将这些部分组合在一起。 运行 Keil 软件需要 WIN9 NT、WIN20 WINXP 等操作系统。 如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选,即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 Keil C51 软件提供丰富的 库函数 和功能强大的集成开发调试工具,全Windows 界面。 另外重要的一点,只要看一下 编译 后生成的汇编代码,就能体会到 Keil C51 生成的 目标代码 效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。 在开发大型软件时更能体现高级语言的优势。 下面详细介绍 Keil C51 开发系统各部分 功能和使用。 C51工具包的整体结构, uVision与 Ishell分别是 C51 for Windows 和 for Dos的 集成开发环境 (IDE),可以完成编辑、 编译 、连接、调试、仿真等整个开发流程。 开发人员可用 IDE 本身或其它 编辑器 编辑 C 或汇编源文件。 然后分别由 C51 及 C51 编译器 编译生成目标文件( .OBJ)。 目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件 (.ABS)。 ABS 文件由 OH51 转换成标准的 Hex 文件,以供调试器 dScope51 或 tScope51使用进行 源代码 级调试,也可由 仿真器 使用直接对 目标板 进行调试,也可以直接写入程序存贮器如 EPROM 中。 系统主程序 系统分为电机正转、电机反转、电机加速、电机减速和液晶显示的几部分组成,其主程序框图如图 41 所示。 开 始初 始 化液 晶 初 始 化调 用 按 键 子 程 序调 用 正 反 转 子 程 序调 用 按 键 子 程 序调 用 加 减 速 子 程 序停 止 图 41 主程序框图 按键部分 查键程序用于判断 I/O 口 、 、 、 和 的值,当 为 0 时,电机正转;当 为 0 时,电机反转; 的值,电机加速; 口为 0 时,电机减速; 口为 0 时,电机停止;如图 42 所示。 开 始P 3 . 0 是 否 为 0循 环 前 进P 3 . 1 是 否 为 0P 3 . 4 是 否 为 0P 3 . 3 是 否 为 0P 3 . 2 是 否 为 0 图 42 查键部分流程图 正转部分 系统初始化之后,正转子程序标志位不同的值,改变电机转动的相序,使电机正向转动。 流程图如图 43 所示。 开 始延 时 子 程 序正 转 标 志 位 是 否 为 1正 转置 位 正 转 标 志 位 图 43 正转部分流程图 反转部分 系统初始化之后,反转子程序标志位不同的值,改变电机转动的相序,使电机饭向转动。 流程图如图 44 所示。 开 始延 时 子 程 序反 转 标 志 位 是 否 为 1反 转置 位 反 转 标 志 位 图 44 反转部分流程图 加减速部分 单片机检测判断过按键值之后,如果是按下的加速键,程序会进入加速子程序,使延时子程序中的变量减一减少延时的时间从而加快步进电机转速,同理如果按下减速键,使延时子程序中的变量加一增加延时的时间从而加快步进电机转速 开 始按 键 判 断 是 加 速 还 是 减 速正 反 转 子 程 序延 时 程 序 变 量 减 一 延 时 程 序 变 量 加 一加 速减 速 图 45 反转部分流程图 第 5 章 系统的调试与检测 程序编译时的错误与解决方法 把编好的程序(包括正反转程序、停止程序、显示程序等)合 理安排好结合到一起进行编译。 由于编译只能检查是否存在语法错误,所以还要看是否存在逻辑错误。 程序修改好以后,当显示编译 0 错误, 0 警告的时候,这说明已经没有语法错误了,是否有逻辑错误还要看接上电路板通过仿真以后,步进电机能否正常转动,显示是否正常。 硬件电路检查 电路焊接完成后,首先应该检测电源和地是否短接,各个芯片的焊接的位置是否正确、电源和地是否反接。 在焊接芯片前应该先接好稳压供电电路,看其输出是否在芯片的承受范围,正确无误后方可安装芯片。 步进电机转动错误及解决方法 步进电机一开始不能正 常转动,以为是电路焊接有问题,为了防止再次出现虚焊,首先将电路板用万用表检查了一遍,没问题。 程序也是正确的。 后来仔细看了步进电机工作原理,原来步进电机要正常实现正反转,四个相序必须弄清。 把电机接上电源,用高电平分别接触电机的引线,每接触一下电机就会向前或向后转动一下,经过几次试验,终于搞清了电机的四个相序,排列顺序分别是 1— A, 2— C, 3— B, 4— D。 弄清了相序,把电路板重新布线,焊接好,结果电机能够正常转动了。 心得体会 课程设计 是本科学习阶段一次非常难得的理论与实。基于单片机的步进电机控制系统课程设计
相关推荐
脏和大脑。 由于家用电器体积小,故要求其控制器体积更小以便能嵌入其结构之中。 而家用电器品种 多,功能差异也大,所以又要求其控制器有灵活的控制功能。 单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足家用电器的需求。 单片机主要用于计算机外设、实时控制、仪器仪表、通信和家用电器等各个领域,是计算机技术和电子技术的综合性应用,在不同应用场合其技术要求各不相同
钮开关并联于上电自动复位电路,在系统运行时,按一下开关,就在RST端出现一段时间高电平,使器件复位。 本设计采用人工复位开关电路,如图35所示。 单片机的RST脚为单片机的复位引脚,输入高电平使单片机复位,返回低电平则退出复位。 当开关闭合,复位引脚直接接电源,即高电平,RST端出现一段时间高电平,使器件复位。 开关断开时,复位脚接地(低电平),退出复位。
和高级语言 为单片机的三大主要编程语言。 机器语言 机器语言 一种 用二进制代码 “0”和 “1”表示指令和数据 的语言。 它是最早使用的程序设计语言。 因为 计算机 有个关键点它只会 识别二进制代码 , 所以 它 能够快速识别 程序命令 , 并 且 非常快的进行操作。 但 其缺点是:麻烦 、 消耗时间多 , 难以记忆,让人看不懂等。 汇编语言 汇编语言是用助记符来表示的 ,
e n v o id 12 图 11 GPS数据接收模块 流程图 部分子程序如下: } 0。 r e v _ s t o p 0。 g p s _ f l a g 0。 e r r o r _ n u m y On e ( )。 GP S _ Di s p l a R M C _ YE S。 { GP S ) )amp。 u f ,a r s e ( r e v _ b( GP S _ R M
包括包括单片机最小系统模块、LED 显示模块、蜂鸣器报警模块、矩阵键盘模块、串行口下载模块和电源 模块。 控制部分是采用单片机 STC89C52。 STC89C52 简介 STC89C52 是一种带 8K 字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8 的微处理器,俗称单片机。 该器件采用 ATMEL 搞密度非易失存储器制造 10 10 技术制造,与工业标准的 MCS51
接地, 31 脚接电源 Vcc,就构成了 AT89S52 单片机的最小系统如图 312。 在单片机最小系统的基础上外接相关的工作电路,并让这些电路按程序设计要求工作,就组成了单片机应用电路。 青岛理工大学毕业论文 12 图 312 单片机的最小系统图 无线发射电路 无线发射电路由抢答按键,编码电路,发射电路组成。 由于 F05P 对 直流电平及模拟信号是不能发射的