基于单片机的步进电机控制系统课程设计内容摘要:

的电路; 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。 弄清了相序,把电路板重新布线,焊接好,结果电机能够正常转动了。 心得体会 课程设计 是本科学习阶段一次非常难得的理论与实。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。