毕业设计_论文基于8086的步进电机控制课程设计

合集下载

基于8086的步进电机控制系统设计2说明书内容

基于8086的步进电机控制系统设计2说明书内容

目录一、电路总体设计 (2)1.1系统功能与实现方式 (2)1.2系统的总体组成 (2)二、各部分电路原理图设计 (3)2.1 8086最小方式系统 (3)2.2存储器的设计 (4)2.3步进电机控制电路 (6)2.4键盘和显示电路 (8)三、设计心得与总结 (9)四、参考资料 (9)一、电路总体设计1.1系统功能与实现方式该系统采用8086最小方式,用8255作为接口芯片,用于连接控制步进电机的变频控制器,芯片62256和2764分别作为数据存储扩展芯片和程序存储扩展芯片,步进电机的工作时间控制由82C54芯片来确定,步进电机的工作方式由按键板块接收操作信号,然后由程序判定并执行操作。

1.2系统的总体组成1)处理器芯片选用8086,当8086的MN/MX引脚接+5V电压时,8086工作在最小方式下:时钟发生器采用82C54芯片主微处理器CPU选用8086芯片数据收发器用来对数据进行缓冲和驱动,并控制数据发送和接收方向,向CPU传送I/O的数据或向IO传送CPU提供的数据。

同样由于8086中数据线只有8条,所以数据收发器只要一个8286就可以了。

地址译码器用74LS138,用地址线直接控制。

在最小方式下,8086CPU会直接产生全部总线控制信号。

2)只读存储器采用ROM芯片2764,随机存储器62256。

3)8255和82C54去控制步进电机4)键盘控电路5)时钟电路、加电复位和复位电路。

6)地址分配:8255: 00100---001FF2764: 01000---01FFF62256: 04000---07FFF键盘相关:100H—103H显示相关:140H—141H步进电机相关:200H—207H功能描述:在最小方式下,8086CPU产生全部总线控制信号,由2764和62256构成了8k的ROM和32KB 的RAM,在此基础上,分别实现接口逻辑。

本系统采用8086位处理器工作在最小方式系统下,采用8282、8286、8284构成了最小系统,形成总线逻辑。

(毕业设计)基于单片机的步进电机控制系统(汇编及C语言程序各一个)

(毕业设计)基于单片机的步进电机控制系统(汇编及C语言程序各一个)

基于单片机的步进电机控制系统设计前言步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。

控制系统通过单片机存储器、I/O接口、中断、键盘、LED 显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。

为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。

人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。

此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。

步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用,大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。

1.步进电机原理及硬件和软件设计1.1步进电机原理及控制技术由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专业设备一步进电机控制驱动器,典型步进电机控制系统如图1所示:控制器可以发出脉冲频率从几赫兹到几千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列,环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输入端,以驱动步进电机的转动,环形分配器主要有两大类:一类是用计算机软件设计的方法实现环形分配器要求的功能,通常称软环形分配器。

微机原理课程基于80x86的步进电机控制系统

微机原理课程基于80x86的步进电机控制系统

微机原理课程基于80x86的步进电机控制系统《微机原理与接口技术》课程设计姓名:厉小洋学号:0945533117班级:09电气1班专业:电气工程及其自动化学院:电气与信息工程学院江苏科技大学张家港校区2012年9月目录一理论部分 (2)1课题要求与内容 (2)2 系统方案设计 (3)3 系统硬件的设计 (4)4 系统软件设计 (5)二实践部分 (6)1 系统硬件原理简介 (6)2 系统硬件调试中出现的问题及解决措施 (10)3 系统软件 (11)3.1 软件设计 (11)3.2软件调试中出现的问题及解决措施 (14)三附录 (15)题目:《基于80x86的步进电机控制系统》第一章、理论部分一微机原理课程设计课题要求与内容内容要求:(1)使用8255A控制步进电机的运转。

(2)使用数码管LED显示速度的大小。

(3)使用8253定时器调节速度的大小。

(4)使用4个独立按键控制步进电机,即“正传”、“反转”、“停止”、“调速”。

(5)使用8259A产生中断控制按键;(6)使用DAC0832显示速度的波形。

拓展功能:(1)按键部分可以增加“加速”、“减速”等功能;(2)考虑可以加蜂鸣器来区分“正转”和“反转”;(3)其他可以有自己特色的功能均可。

二系统方案设计在课程要求的前提下,步进电机为四相八拍步进电机,这样可以用8255的一个端口控制电机的驱动,LED显示为十六位图1系统流程图在8255中可用两个端口控制,按键单元可与电机共用一个八位端口,由8254产生可编程脉冲,进入8259产生中断,反馈给80x86,控制8255。

再执行到步进电机及其LED显示上,一个脉冲步进电机一拍。

由按键读入系统状态。

具体的系统设计如图1为系统概况流程图三系统硬件设计在硬件设计中,主要是通过步进电机模块、8255模块、LED模块、8254模块。

在8255芯片上用A,B口控制数码管的显示(A为位选B为段选),C口的高四位为四个按键单元,低四位作为输出,控制步进电机。

基于80C86步进电机控制系统设计与实现

基于80C86步进电机控制系统设计与实现
丝 塑. Leabharlann 图 2 步进电机驱动原理 图
在 控 制 工 作模 式 中要 启 动 1 控 制 定 时 中断 , 个 定 时 中 断 的 个 这 优 先 权 级 别设 置 为 最 高 , 制 定 时 中 断 的 频 率 由 软 件 编程 设 置 , 控 满
足 步 进 电 机 A、 、 、 相 的相 位 要 求 。控 制定 时 中断 选 用 可 编程 计 B CD 数 器 完成 ; 数器 器 件 选 用 I E S 计 NT R I L公 司 的 8C 4 它 是 l 位 计 数 2 5, 6
I量 总 墼 线
驱 动 及 泽
L I —
线 图 和 对 力 矩 的要 求 , 波 发 生 器 的 频 率 为 2 z 3 H 方 KH ~ K z并 且 占
空 比可 调 , 占空 比可 调 范 围 是 2 ~ 5 , 功 能 用 2个 1 5 O 此 6位 计
8C6H 型-路 08 缝 码 R 塑 电
步 进 电机 是 机 电控 制 中 一 种 常 用 的 执 行 元 件 , 接 利 用 脉 冲 直 信号控制其转动 , 具有 快 速 起 停 特 性 、 位 精 度 高 、 复 性 好 、 止 定 重 停
时具有恒定力矩等特点 , 目前 已经 广 泛 应 用 在 各 类 自动 控 制 场 合 。 但 是 受 机 械 加 工 等 多 方 面 因 素 影 响 , 较 低 成 本 下 很 难 将 电 机 步 在 距角减少 , 因此 用 一 般 步进 电 机 驱 动 器 驱 动 步 进 电 机 , 易 导 致 步 容 进 电机 失 步 和 低 频 震 荡 。为 了克 服 上述 缺 点 本 文 设 计 出 了一 种 新
基于 8 C 6步进 电机控制 系统设 计与实现 08

大学毕设论文__基于8086的步进电机控制论文课程设计

大学毕设论文__基于8086的步进电机控制论文课程设计

西安电子科技大学《微型计算机原理》课程设计题目基于8086的步进电机控制学生姓名专业班级11级计嵌班学号 201院(系)信息工程学院指导教师完成时间年月日目录1 课程设计的目的 (1)2课程设计的任务与要求 (1)3引言 (1)4设计方案与论证 (2)5 设计内容及功能说明 (3)5.1 励磁线圈及其励磁顺序 (3)5.2工作原理 (4)5.3 8086 CPU (5)5.4 8255工作方式选择 (6)5.5 ULN2003A (6)5.6 74LS273 (7)5.7 74LS138 (7)6单元电路的设计(计算与说明) (7)7硬件的制作与调试 (10)8总结 (12)参考文献 (13)附录1:总体电路原理图 (14)附录2:元器件清单 (14)附录3:源程序代码 (15)1 课程设计的目的培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。

要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。

让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。

通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,了解步进电机控制的基本原理,掌握控制步进电机转动的编程方法,进一步熟练掌握8255A并行I/O口的工作方式以及编程方法,熟练应用8086以及汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。

体会系统整体设计的流程与方法,为以后系统级设计积累经验。

培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。

2 课程设计的任务与要求01.通过开关K1实现步进电机的开始与停止;02. 通过开关K2来选择步进电机的正转与反转;03. 通过开关K3,K4组成(2-4译码)四档电机转速选择;04. 对每只开关的选择情况同时通过4位8段数码管来显示;05. 扩展设计:可以在以上功能基础上,增加控制步进电机单步转动的开关;增加控制电机加速转动的开关;增加控制电机减速的开关。

基于8086步进电机课程设计

基于8086步进电机课程设计

皖西学院本科课程设计步进电机电机控制设计摘要:8255A是一种通用的可编程并行I/O接口芯片(Programmable Peripherial Interface,PPI),它是为Intel系列微处理器设计的配套电路,也可以用于其他微处理系统中。

通过它进行编程,芯片可工作于不同的工作方式。

在微型计算机系统中,用8255A作为接口是时,通长常不需要附加外部逻辑电路就可直接为CPU与外设之间提供数据通道,因此它得到了极为广泛的应用。

其次步进电机具有快速启动和停止的能力,它的步矩角和转速不受电压波动和负载变化的影响,也不受环境条件如:温度、气压、冲击和振动等影响,仅与脉冲频率有关。

它每转一周都有固定的步数,在不丢失步的情况下运行,其步矩误差不会长期累积。

正因为步进电机具有快速启动、精确步进以及能直接接收数字量的特点,所以在定位场合中得到了广泛的应用。

比如在打印机中,数控车床、自动记录仪表、数模交换装置和计算机等数字控制系统中。

随着微机的发展,步进电机的使用领域将更加广阔。

本次设计正是利用并介绍了可编程并行I/O接口芯片8255A为8086CPU与步进电机之间提供数据通道,通过芯片的A口输入,B口输出的方式来实现控制步进电机的停转、快慢及正反转。

关键词:可编程并行I/O接口芯片8255A;8086CPU;ULN2003A驱动芯片;步进电机目录1 课程设计题目及课题分析 --------------------------------------------------------------------------- 11.1课程设计题目----------------------------------------------------------------------------------- 11.2步进电机介绍----------------------------------------------------------------------------------- 11.4软硬件运行环境及开发工具----------------------------------------------------------------- 12 步进电机控制系统各部件功能原理介绍--------------------------------------------------------- 22.1设计原理及实现方法-------------------------------------------------------------------------- 22.1.1 步进电机控制原理-------------------------------------------------------------------- 22.1.2微机步进电机控制系统原理图 ----------------------------------------------------- 22.1.3 运行方式与方向的控制——循环查表法 ---------------------------------------- 32.1.4步进电机的停转及快慢控制——设置开关 -------------------------------------- 42.2步进电机控制设计流程图-------------------------------------------------------------------- 53 步进电机控制系统软件编写与仿真 --------------------------------------------------------------- 63.1 硬件设计与实现 ------------------------------------------------------------------------------- 63.2仿真结果----------------------------------------------------------------------------------------- 63.2.1 并行接口I/O芯片8255A ----------------------------------------------------------- 63.2.2 驱动部分与步进电机----------------------------------------------------------------- 73.2.3步进电机与外部开关 ----------------------------------------------------------------- 83.2.4 仿真结果-------------------------------------------------------------------------------- 83.3软件设计----------------------------------------------------------------------------------------- 93.3.1正向慢转子程序 ----------------------------------------------------------------------- 93.3.2正向快转子程序 ----------------------------------------------------------------------- 93.3.3反向慢转子程序 ---------------------------------------------------------------------- 103.3.4反向快转子程序 ---------------------------------------------------------------------- 103.3.5长延时子程序-------------------------------------------------------------------------- 103.3.6短延时子程序-------------------------------------------------------------------------- 114 系统调试与操作说明 -------------------------------------------------------------------------------- 124.1系统调试---------------------------------------------------------------------------------------- 124.2 操作说明 --------------------------------------------------------------------------------------- 125 课程设计总结与体会 -------------------------------------------------------------------------------- 13 致谢------------------------------------------------------------------------------------------------------ 14 参考文件献 ----------------------------------------------------------------------------------------------- 15 附录步进电机控制系统源程序---------------------------------------------------------------------- 16皖西学院本科课程设计1 课程设计题目及课题分析1.1课程设计题目步进电机控制设计,运用汇编语言编写程序对8255A控制,通过emu8086编译成.com文件并载入8086CPU中并用74LS373、74LS130、ULN2003A等一些列芯片通过连接实现对步进电机的控制。

毕业设计(论文)-步进电机的驱动及控制

毕业设计(论文)-步进电机的驱动及控制

(学校名称)毕业设计(论文)( *****届 )题目:步进电机的驱动及控制系别********分院专业班级*****班学生姓名* * *学号导师姓名成绩年月日目录摘要 (2)一、引言 (3)(一)论文的研究意义 (2)(二)论文的主要内容 (2)(三)设计要求 (2)(四)设计目的 (2)二、步进电机介绍 (4)(一)种类 (4)(二)工作原理 (4)(三)驱动方法 (5)1、单电压功率驱动接口 (5)2、双电压功率驱动接口 (6)3、高低压功率驱动接口 (6)4、斩波恒流功率驱动接口 (7)5、升频升压功率驱动接口 (7)6、集成功率驱动接口 (7)(四)步进电机优缺点 (9)三、步进电机的速度控制 (9)(一)工作原理 (9)(二)硬件原理框图 (9)(三)硬件原理图(见附录一) (10)(四)硬件原理介绍 (10)四、软件设计流程和描述 (12)(一)主程序流程图 (12)(二)延时程序流程图 (14)(三)源程序代码(见附录二) (14)五、总结 (15)附录 (17)参考文献 (23)致谢 (24)步进电机的驱动及控制***** ********班姓名指导教师:****摘要:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

关键词:电机脉冲频率脉冲频率一、引言步进电机是一种将脉冲信号转化为机械角位移或者线位移的控制电机, 它能够在不涉及复杂反馈环路的情况下实现良好的定位精度,并由于具有价格低廉、易于控制、无积累误差等优点,在民用、工业用的经济型数控定位系统中获得了广泛的应用,具有较高的实用价值。

基于8086的直流电机的控制

基于8086的直流电机的控制

目录一、直流电机控制的设计思路: (2)二、直流电机控制的硬件框图: (2)2.1并行I\O口输入、输出 (3)2.2输出锁存 (3)2.3电机驱动模块 (4)2.4仿真模拟图 (5)三、软件设计 (6)3.1程序流程图 (6)3.2程序代码 (7)四、项目体会 (9)一、直流电机控制的设计思路:1)通过按键改变电动机的启动与停止,当启动后再由按键选择工作方式。

2)通过改变pwm的极性从而改变电机的转向,实现正反转。

3)可实现顺、逆旋转的直接切换,不用按下停止后再启动反向运转。

二、直流电机控制的硬件框图:通过按钮来控制电机的顺、逆时针转,并且可以实现顺、逆旋转直接切换,无需中间停顿。

2.1并行I\O口输入、输出采用8255A作为信号的输入与输出接口,使用前需设置芯片的控制字来确定其工作方式,以及端口的使用。

本次采用的控制字为90H,即A组工作在方式0,作为输入接口,连接按钮,B组工作在方式0,作为输出接口连接电机驱动模块。

8255AI\O接口使用2.2输出锁存使用常见的74HC373芯片来实现输出锁存,由于按钮具有复位功能,当按钮按下后的一瞬间才产生输入,所以需要输出锁存来保持电机的连续运转,本次采用两块74HC373,一块与8255A的A0、A1口连接作为电机运行信号的控制,另一块与3-8译码器74H138相连,接入8255A的片选信号输入端,选中8255A运行。

74H373接口使用2.3电机驱动模块通过对IN1、IN2的状态改变来控制L293D芯片的输出,从而实现电机的顺、逆时针转动电机驱动模块2.4仿真模拟图三、软件设计3.1程序流程图当按下按键时,检测A口是否为01H,若是即跳转到子程序MOT1,实现电机顺时针旋转,否则检测A口是否为02H,若是即跳转到子程序MOT2,实现电机逆时针旋转,否则检测A口是否为04H,若是即跳转到子程序MOT3,使电机停止转动。

再进入循环。

3.2程序代码CODE SEGMENT 'CODE'ASSUME CS:CODE,SS:STACK,DS:DATA ;定义数据段IOCON EQU 8006HIOA EQU 8000HIOBEQU 8002H 定义端口的地址 IOC EQU 8004HSTART:MOV AX, DATAMOV DS, AXMOV AX, STACKMOV SS, AXMOV AX, TOP1MOV SP, AXMOV AL,90H A 口为输入,B 口为输出 MOV DX,IOCON 控制字设置,AB 端口为“0”方式下,控制字10010000B OUT DX,AL NOP NOP TEST_BU:MOV DX,IOA IN AL,DX 检测总线系统 MOV DX,IOA IN AL,DX NOP test_1: TEST AL,01HJE MOT1 test_2: TEST AL,02HJE MOT2 test_3: TEST AL,04HJE MOT3 JMP TEST_BU MOT1:MOV AL,0FEHMOV DX,IOB 往B 端口中输出1111 1110B=0FEH 使电机顺时针旋转OUT DX,AL MOV DX,IOA IN AL,DX ;从A 口读入数据 TEST AL,02H ;测试是否等于0000 0010即按下逆时针按钮 JE MOT2 ;如果是按下逆时针按钮,则跳转到MOT2 TEST AL,04H JE MOT3 JMP MOT1 MOT2:MOV AL,0FDHMOV DX,IOB向B 端口中输入1111 1101B=0FDH使电机逆时针旋转 OUT DX,AL MOV DX,IOA IN AL,DX ;从A 口读入数据 TEST AL,01H 测试A 口数据是否为01H ,若是则跳到 JE MOT1 MOT1顺时针旋转模式 TEST AL,04H 测试A 口数据是否为04H,JE MOT3 若是则跳转到MOT3停止模式JMP MOT2 ;否则跳转到MOT2逆时针旋转模式 MOT3:MOV AL,0FFHMOV DX,IOB 向B 端口输出11111111B=0FFH 使电机停止 OUT DX,AL MOV DX,IOAIN AL,DX TEST AL,01H JE MOT1TEST AL,02H JE MOT2JMP MOT3CODE ENDSSTACK SEGMENT 'STACK' STA DB 100 DUP(?) TOP1 EQU LENGTH STA STACK ENDS DATA SEGMENT 'DATA' DATA ENDSEND START四、项目体会微机原理与接口技术的课程历时一个学期,通过自己编写、运行程序,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

步进电机控制的课程设计

步进电机控制的课程设计

步进电机控制的课程设计一、课程目标知识目标:1. 学生能理解步进电机的原理、结构和分类,掌握其工作方式及相关参数。

2. 学生能掌握步进电机控制的基础知识,包括驱动电路的原理和编程控制方法。

3. 学生能了解步进电机在不同应用场景中的选型和使用要点。

技能目标:1. 学生能运用所学知识,设计简单的步进电机控制电路,并进行调试。

2. 学生能编写简单的步进电机控制程序,实现电机的精确运动控制。

3. 学生能通过团队合作,解决实际工程问题,提高实践操作能力。

情感态度价值观目标:1. 学生对步进电机控制产生兴趣,激发学习动力,培养自主学习能力。

2. 学生通过课程学习,认识到科技进步对生活的改变,增强社会责任感和创新意识。

3. 学生在团队合作中,学会相互尊重、沟通协作,培养良好的团队精神和职业素养。

本课程针对高年级学生,结合课程性质、学生特点和教学要求,将目标分解为具体的学习成果。

课程以实用性为导向,注重理论与实践相结合,旨在提高学生的动手能力、创新意识和团队合作精神。

通过本课程的学习,为学生后续相关课程和实际工作打下坚实基础。

二、教学内容1. 步进电机原理及分类:介绍步进电机的结构、工作原理、特点及分类,对应教材第3章。

- 磁阻式步进电机- 永磁式步进电机- 混合式步进电机2. 步进电机驱动电路:讲解步进电机驱动电路的原理、分类及设计方法,对应教材第4章。

- 驱动电路的原理- 驱动电路的分类- 驱动电路的设计方法3. 步进电机编程控制:介绍步进电机的编程控制方法,包括脉冲信号生成、运动控制算法等,对应教材第5章。

- 脉冲信号生成- 运动控制算法- 编程实践案例4. 步进电机应用与选型:分析不同场景下步进电机的应用和选型要点,对应教材第6章。

- 常见应用场景- 步进电机选型要点- 实际应用案例5. 实践环节:安排步进电机控制电路设计、编程控制及调试,对应教材第7章。

- 控制电路设计- 编程与调试- 团队合作实践教学内容按照以上大纲进行安排和进度规划,确保学生能够系统、全面地掌握步进电机控制相关知识,为实际应用奠定基础。

基于8086的计算机+步进电机控制

基于8086的计算机+步进电机控制

课程设计课程名称题目名称步进电机的角度控制(1)学生学院专业班级学号学生姓名指导教师2009年 6 月25日题目1:按要求控制步进电机,使步进电机每转360度停5秒;程序如下:#include<conio.h>#define CON 0x63#define PA 0x60#define PB 0x61#define PC 0x62#define uchar unsigned char#define uint unsigned intuchar step[]={0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90};void delay(uint zz){uint x,y;for(x=zz;x>0;x--)for(y=110;y>0;y--);}void main(){int,I,j;outp(CON,0x81);while(1){for(j=0;j<12;j++){for(i=0;i<8;i++){outp(PC,step[i]);delay(5);}delay(200);}delay(5000);}}题目2:按要求实现键盘显示程序设计的程序如下:#include<conio.h>#define CON 0x63#define PA 0x60#define PB 0x61#define PC 0x62#define uchar unsigned char#define uint unsigned intuchar table[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xfb}; uchar xuan[]={0x7f,0xbf,0xdf,0xef};uchar temp,flag,num,key;uchar jiou;uchar a1,a2,a3,a4;void delay(uint zz);void display(uchar w4,uchar w3,uchar w2,uchar w1);uchar keyscan();void main(){flag=0;jiou=0;outp(CON,0x81);while(1){display(a4,a3,a2,a1);key=keyscan();if(flag==1){flag=0;a4=a2;a3=a2;a2=a1;a1=key;}}}void display(uchar w4,uchar w3,uchar w2,uchar w1) {outp(PA,table[w1]);outp(PB,xuan[0]);delay(5);outp(PA,table[w2]);outp(PB,xuan[1]);delay(5);outp(PA,table[w3]);outp(PB,xuan[1]);delay(5);outp(PA,table[w4]);outp(PB,xuan[1]);delay(5);}uchar keyscan(){outp(PB,0xef);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){flag=1;temp=inp(PC);temp=temp&0x03;switch(temp){case 0x02:num=9;break;case 0x01:num=5;break;}while(temp!=0x03){outp(PB,0xef);temp=inp(PC);temp=temp&0x03;display(a4,a3,a2,a1);}}}outp(PB,0xdf);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){flag=1;temp=inp(PC);temp=temp&0x03;switch(temp){case 0x02:num=0;break;case 0x01:num=6;break;}while(temp!=0x03){outp(PB,0xdf);temp=inp(PC);temp=temp&0x03;display(a4,a3,a2,a1);}}}outp(PB,0xbf);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){flag=1;temp=inp(PC);temp=temp&0x03;switch(temp){case 0x02:num=1;break;case 0x01:num=7;break;}while(temp!=0x03){outp(PB,0xbf);temp=inp(PC);temp=temp&0x03;display(a4,a3,a2,a1);}}}outp(PB,0x7f);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){flag=1;temp=inp(PC);temp=temp&0x03;switch(temp){case 0x02:num=2;break;case 0x01:num=8;break;}while(temp!=0x03){outp(PB,0x7f);temp=inp(PC);temp=temp&0x03;display(a4,a3,a2,a1);}}}return num;}void delay(uint zz){uint x,y;for(x=zz;x>0;x--)for(y=110;y>0;y--);}题目3:测试AD转换器的性能程序如下:#include<conio.h>#define CON 0x63#define PA 0x60#define PB 0x61#define PC 0x62#define uchar unsigned char#define uint unsigned intuchar table[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xfb}; uchar xuan[]={0x7f,0xbf,0xdf,0xef};uchar temp,flag,num,key;uchar jiou;uchar a1,a2,a3,a4;void delay(uint zz);void display(uchar w4,uchar w3,uchar w2,uchar w1);void main(){outp(CON,0x81);while(1){uint dat;outp(0x00,0x0d);dat=inp(0x00);a3=dat/16;a4=dat%16;display(0,0,a3,a4);dat=inp(0x00);}}void display(uchar w4,uchar w3,uchar w2,uchar w1){outp(PA,table[w1]);outp(PB,xuan[0]);delay(5);outp(PA,table[w2]);outp(PB,xuan[1]);delay(5);outp(PA,table[w3]);outp(PB,xuan[1]);delay(5);outp(PA,table[w4]);outp(PB,xuan[1]);delay(5);}void delay(uint zz){uint x,y;for(x=zz;x>0;x--)for(y=110;y>0;y--); }题目四:步进电机的角度控制(1)设计的程序如下:#include<conio.h>#define CON 0x63#define PA 0x60#define PB 0x61#define PC 0x62#define uchar unsigned char#define uint unsigned intuchar step[]={0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90};uchar table[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xfb}; uchar xuan[]={0x7f,0xbf,0xdf,0xef};uchar temp,num,key;uchar jiou;int max;uchar set,clr,start;uchar ge,shi,bai;int ge1,shi1,bai1;int xianshi;int adc();void clear();void dianji(int degree);void delay(uint zz);void display(uchar w4,uchar w3,uchar w2,uchar w1);void keyscan();void main(){int tt,kk,chazhi;max=0;xianshi=0;tt=0;kk=0;chazhi=0;xianshi=0;jiou=0;ge=0;shi=0;bai=0;ge1=0;shi1=0;bai1=0;outp(CON,0x81);while(1){keyscan();if(set==1){ge=0;shi=0;bai=0;while(1){display(0,bai,shi,ge);keyscan();if(clr==1){clear();break;}if(start==1)break;}if(start==1){max=bai*100+shi*10+ge;while(clr!=1){kk=max/15*(adc())/0xff; //下一次的角度;tt=kk-(xianshi/15);//和上一次相差的度數;if(tt!=0)dianji(tt);keyscan();}clear();}}display(0,0,0,0);}}void display(uchar w4,uchar w3,uchar w2,uchar w1){bai1=xianshi/100;shi1=xianshi%100/10;ge1=xianshi%10;outp(PA,table[w1]);outp(PB,xuan[0]);delay(5);outp(PA,table[w2]);outp(PB,xuan[1]);delay(5);outp(PA,table[w3]);outp(PB,xuan[1]);delay(5);outp(PA,table[w4]);outp(PB,xuan[1]);delay(5);}void keyscan(){outp(PB,0xef);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){temp=inp(PC);temp=temp&0x03;switch(temp){case 0x02:set=1;break;case 0x01:break;}while(temp!=0x03){outp(PB,0xef);temp=inp(PC);temp=temp&0x03;display(0,bai,shi,ge);}}}outp(PB,0xdf);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){temp=inp(PC);temp=temp&0x03;if(set==1){switch(temp){case 0x02:clr=1;break;case 0x01:if(start==0){shi++;if(shi>9)shi=0;}break;}}while(temp!=0x03){outp(PB,0xdf);temp=inp(PC);temp=temp&0x03;display(0,bai,shi,ge);}}}outp(PB,0xbf);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){temp=inp(PC);temp=temp&0x03;if(set==1){switch(temp){case 0x02:if(start==0){ge++;if(ge>9)ge=0;}break;case 0x01:start=1;break;}}while(temp!=0x03){outp(PB,0xbf);temp=inp(PC);temp=temp&0x03;display(0,bai,shi,ge);}}}outp(PB,0x7f);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){delay(5);temp=inp(PC);temp=temp&0x03;while(temp!=0x03){temp=inp(PC);temp=temp&0x03;if(set==1){switch(temp){case 0x02:break;case 0x01:if(start==0){bai++;if(bai>9)bai=0;}break;}}while(temp!=0x03){outp(PB,0x7f);temp=inp(PC);temp=temp&0x03;display(0,bai,shi,ge);}}}}void dianji(int degree) //电机程序,精度为15度{int i,j,k,l;if(degree>0){for(i=degree;i>0;i--){if(jiou==0){for(j=0;j<4;j++){outp(PC,step[j]);display(0,bai1,shi1,ge1);}jiou=1;goto loop_1;}if(jiou==1){for(k=4;k<8;k++){outp(PC,step[k]);display(0,bai1,shi1,ge1);}jiou=0;goto loop_1;}loop_1: xianshi=xianshi+15;display(0,bai1,shi1,ge1);}}if(degree<0){for(i=-(degree);i>0;i--){if(jiou==0){for(j=7;j>3;j--){outp(PC,step[j]);display(0,bai1,shi1,ge1);}jiou=1;goto loop_2;}if(jiou==1){for(k=3;k>-1;k--){outp(PC,step[k]);display(0,bai1,shi1,ge1);}jiou=0;goto loop_2;}loop_2: xianshi=xianshi-15;display(0,bai1,shi1,ge1);}}}void clear(){int huiwei;huiwei=-xianshi;huiwei=huiwei/15;if(huiwei!=0)dianji(huiwei);ge=0;bai=0;shi=0;xianshi=0;start=0;set=0;clr=0;}int adc() //ad转换函数{uint dat;outp(0x00,0x0d);dat=inp(0x00);display(0,bai1,shi1,ge1);dat=inp(0x00);return dat;}void delay(uint zz){uint x,y;for(x=zz;x>0;x--)for(y=110;y>0;y--);}系统设计说明:此系统运行后,如果没有按set键,按其他键不起任何作用;当按下set后,可以由相应的个位键、十位键、百位键,以每按一次加一的形式输入任意三位数。

基于单片机控制的步进电机的毕业论文课程设计

基于单片机控制的步进电机的毕业论文课程设计

第一章前言1.1步进电机简介步进电机最早是在1920年由英国人所开发。

1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。

以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。

在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。

随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。

步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。

步进电机可以直接用数字信号驱动,使用非常方便。

一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。

步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。

在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。

因此非常适合于单片机控制。

步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。

步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。

传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。

步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。

第二章步进电机工作原理及系统方案论证2.1步进电机工作原理2.1.1步进电机结构电机转子均匀分布着40个小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定子和转子的展开图:图2.12.1.2 步进电机的旋转:如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。

步进电机控制系统设计 (毕业设计论文)

步进电机控制系统设计 (毕业设计论文)

附一:封面**********学院毕业设计(论文)题目:步进电机控制系统设计专业:班级:姓名:学号:指导教师:2055 年 5 月 5 日附二:成绩评议表*************学院毕业设计(论文)成绩评议专业班级姓名学号题目步进电机控制系统设计指导教师评阅成绩评定:指导教师:年月日评阅教师意见评阅教师:年月日答辩小组意见答辩小组负责人:年月日中文摘要1、步进电机概述列出了步进电机的特点、技术参数和分类,并阐述了详细调速原理。

2、方案的论证确定了步进电机的控制方法、驱动方式、驱动电路以及基本方案。

3、硬件电路的设计对单片机、步进电机、驱动电路、显示电路与键盘、反馈电路进行了选择,并设计了电源电路、抗干扰及看门狗电路。

4、软件的设计对显示子程序、键盘子程序、驱动程序流程进行了设计,并绘制了正反转程序流程图。

5、总结关键词:步进电机 单片机 调速系统目录前言-----------------------------------------------05第一章步进电机概述---------------------------------061.1 步进电机的特点-----------------------------061.2 步进电机的技术参数-------------------------071.2.1步进电机的基本参数---------------------071.2.2步进电机动态指标及术语-----------------081.3步进电机的分类------------------------------101.4步进电机详细调速原理------------------------12第二章方案的论证-----------------------------------142.1控制方式的确定------------------------------142.2驱动方式的确定------------------------------162.3驱动电路的选择------------------------------172.4基本方案的确定------------------------------18第三章硬件电路的设计-------------------------------203.1单片机的选择--------------------------------203.1.1单片机的选择---------------------------203.1.2主要特性-------------------------------223.2步进电机的选择------------------------------233.2.1三相单三拍通电方式---------------------243.2.2三相双三拍通电方式---------------------253.3驱动电路的选择------------------------------293.4显示电路与键盘的选择------------------------313.5反馈电路的选择------------------------------34第四章软件的设计-----------------------------------374.1显示子程序的设计----------------------------374.2键盘子程序的设计----------------------------374.3驱动程序流程的设计--------------------------384.4正反转程序流程图----------------------------394.4.1正反转程序流程图----------------------394.4.2转速快慢程序流程图--------------------404.4.3定时中断流程图------------------------41五总结-------------------------------------------42前言第一章步进电机概述1.1步进电机的特点:1)一般步进电机的精度为步进角的3-5%,且不累积。

步进电机毕业设计

步进电机毕业设计

步进电机毕业设计步进电机毕业设计引言:在现代工业自动化领域,步进电机作为一种常见的执行器,广泛应用于各种机械设备中。

其特点是控制精度高、运动平稳、结构简单等,因此在毕业设计中选择步进电机作为研究对象是一种不错的选择。

本文将介绍步进电机的原理、设计要点以及实验过程和结果。

1. 步进电机的原理步进电机是一种将电脉冲信号转化为角位移的电动机,其工作原理基于磁场和电流的相互作用。

步进电机通常由定子和转子两部分组成,定子上布有相互平行的线圈,而转子上则有磁极。

当线圈通电时,产生的磁场与转子上的磁极相互作用,从而使得转子发生旋转。

2. 步进电机的设计要点在进行步进电机的毕业设计时,需要考虑以下几个重要的设计要点:2.1 选型和参数确定步进电机的选型和参数确定是设计的第一步。

需要根据实际需求确定电机的转矩、步距角、额定电流等参数。

同时,还要考虑电机的尺寸和重量等因素,以便与实际应用场景相匹配。

2.2 驱动电路设计步进电机的驱动电路设计是关键之一。

通常采用的是双H桥驱动电路,其作用是将控制信号转化为合适的电流输出,从而驱动步进电机旋转。

在设计过程中,需要考虑电流的控制方式、保护电路的设计以及电源的选择等因素。

2.3 控制算法设计步进电机的控制算法设计是保证电机正常运行的关键。

常用的控制算法包括开环控制、闭环控制以及微步控制等。

在设计过程中,需要根据实际需求选择合适的控制算法,并进行相应的编程实现。

3. 步进电机毕业设计的实验过程和结果在步进电机毕业设计的实验过程中,首先需要进行电机的装配和接线工作。

然后,根据设计要点进行驱动电路和控制算法的设计与搭建。

接下来,通过编写相应的程序代码,实现步进电机的控制和运动。

最后,通过实际测试和数据分析,验证设计的可行性和性能指标。

实验结果显示,设计的步进电机能够按照预定的控制信号进行准确的旋转运动。

其转矩和步距角等参数符合设计要求,并且具有较高的控制精度和运动平稳性。

同时,实验还验证了所设计的驱动电路和控制算法的可靠性和有效性。

步进电动机正反转控制系统设计..

步进电动机正反转控制系统设计..

课程设计报告题 目 步进电动机正反转控制系统设计课 程 名 称 微机原理及应用院 部 名 称 机电工程学院专 业 电气工程及其自动化班 级学 生 姓 名学 号课程设计地点 工科楼 C304课程设计学时 20指 导 教 师金陵科技学院教务处制摘要步进电机是工业生产过程控制及仪表中的主要控制元件之一。

在数字控制系统中,由于它可以直接接受计算机输出的数字信号,而不需要进行数/模/转换,用起来非常方便。

此次微机原理的课程设计,是对计算机系统和微处理器以及汇编语言、外围芯片的研究学习。

本设计就是基于8086CPU的微机控制,利用汇编语言、74273、74LS244芯片、ULN2003A驱动等综合应用实例,连接上硬件驱动电机电路,通过对按键输入信号的检测实施对步进电动机正反转的控制。

关键词:8086CPU;正反转;步进电机目录摘要……………………………………………………………………………………一、概述………………………………………………………………………………1.1 课程设计的目的………………………………………………………………1.2 课程设计的要求………………………………………………………………二、总体设计方案及说明……………………………………………………………2.1 系统总体设计方案……………………………………………………………2.2 系统工作框图…………………………………………………………………三、系统硬件电路设计………………………………………………………………3.1 8086微处理器的简介………………………………………………………3.2 74273和74LS244芯片的简介………………………………………………3.3 ULN2003A的简介…………………………………………………………3.4 步进电机的工作原理…………………………………………………………3.5 微型处理器最小控制模块…………………………………………………3.6按键输入模块………………………………………………………………3.7驱动电动机模块…………………………………………………………3.8系统电路原理图…………………………………………………………四、系统软件部分设计………………………………………………………………4.1 系统流程图……………………………………………………………………4.2 系统软件源程序………………………………………………………………五、课程设计体会…………………………………………………………………5.1 系统调试………………………………………………………………………5.2 问题分析与解决方案…………………………………………………………5.3 心得体会………………………………………………………………………六、参考文献…………………………………………………………………………附录:原理图……………………………………………………………………………一、概述1.1 课程设计的目的通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。

步进电机控制系统设计毕业设计

步进电机控制系统设计毕业设计

附表:附表 A学生用表1.唐山学院毕业设计(论文)开题报告2.毕业设计 ( 论文 ) 中期检查表(学生用)3.唐山学院优秀毕业设计 ( 论文 ) 审批表附表 B指导教师用表1.首次指导毕业设计 ( 论文 ) 教师审批表2.唐山学院毕业设计(论文)题目申报表3.唐山学院毕业设计(论文)任务书4.毕业设计 ( 论文 ) 指导记录(教师用)5.唐山学院优秀毕业设计(论文)指导教师审批表附表 C系、教研室用表1.唐山学院毕业设计(论文)题目汇总表2.毕业设计(论文)选题工作总结3.毕业设计 ( 论文 ) 答辩委员会及答辩小组组成名单4.唐山学院毕业设计(论文)成绩汇总表5.唐山学院毕业设计 ( 论文 ) 工作总结附表 D评阅用表1.毕业设计 ( 论文 ) 指导教师评议书 (1)2.毕业设计 ( 论文 ) 评阅教师评议书 (2)3.毕业设计 ( 论文 ) 答辩小组评议书 (3)4.答辩委员会意见5.毕业设计 ( 论文 ) 评议书 (4) ( 二次答辩专用 )附件E其它1.唐山学院毕业设计(论文)撰写规范2.唐山学院毕业设计(论文)规范样本附表 A1唐山学院毕业设计(论文)开题报告设计(论文)题目:步进电机控制系统设计系别: __________机电工程系 _______________专测控技术与仪器业: _________________________刘耀程姓名: _________________________张帆指导教师: _________________________辅导教师: _________________________年月日题目类型(打√选择)设计()论文()一、文献综述1步进电机的基本原理与优缺点:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安电子科技大学《微型计算机原理》课程设计题目基于8086的步进电机控制学生姓名专业班级11级计嵌班学号 201院(系)信息工程学院指导教师完成时间年月日目录1 课程设计的目的 (1)2课程设计的任务与要求 (1)3引言 (1)4设计方案与论证 (2)5 设计内容及功能说明 (3)5.1 励磁线圈及其励磁顺序 (3)5.2工作原理 (4)5.3 8086 CPU (5)5.4 8255工作方式选择 (6)5.5 ULN2003A (6)5.6 74LS273 (7)5.7 74LS138 (7)6单元电路的设计(计算与说明) (7)7硬件的制作与调试 (10)8总结 (12)参考文献 (13)附录1:总体电路原理图 (14)附录2:元器件清单 (14)附录3:源程序代码 (15)1 课程设计的目的培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。

要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。

让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。

通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,了解步进电机控制的基本原理,掌握控制步进电机转动的编程方法,进一步熟练掌握8255A并行I/O口的工作方式以及编程方法,熟练应用8086以及汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。

体会系统整体设计的流程与方法,为以后系统级设计积累经验。

培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。

2 课程设计的任务与要求01.通过开关K1实现步进电机的开始与停止;02. 通过开关K2来选择步进电机的正转与反转;03. 通过开关K3,K4组成(2-4译码)四档电机转速选择;04. 对每只开关的选择情况同时通过4位8段数码管来显示;05. 扩展设计:可以在以上功能基础上,增加控制步进电机单步转动的开关;增加控制电机加速转动的开关;增加控制电机减速的开关。

3 引言步进电机的原理是基于最基本的电磁铁作用,其模型起源于1830年之1860年,1870年后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为是最初的步进电机,此后步进电机被广泛使用[1]。

步进电机是将脉冲信号转换成角位移或线位移的开环控制源步进电机件。

在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按固定的方向旋转一定的角度,称为:“步距角”,它的旋转是以固定的角度一步一步运行的,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电机转动的角速度和加速度,从而达到调速的目的[2]。

步进电机不需位移传感器就可精确定位,所以在精确定位系统中应用广泛。

目前,计算机外围设备,打字机,数控机床,传真机等设备,都使用了步进电机。

随着电子计算机技术的发展,步进电机必将发挥它的控制方便,准确控制的特点,在工业控制的领域取得广泛的应用。

4 设计方案与论证本设计采用电压为DC12V 的四相八拍步进电机35BYJ46型电机,用ULN2003作为步进电动机驱动电路主芯片,以8255A 作为8086并行输出接口,8086对步进电机的控制信号则通过8255A 送到ULN2003.根据课题要求,用8086处理器和可编程并行接口芯片8255组成控制系统,控制步进电机正转、反转以及转速控制,步进电机不能直接由8255驱动,而需要用相应的驱动芯片,因此,控制系统直接控制电机驱动即可控制步进电机。

转向分别用逆时针转动片段转速和顺时针转动片段则通过调用延时子程序,当调用延时较长的子程序时,则步进电机转速慢,当调用延时较短的子程序时,步进电机转速快。

设计流程图如下:图4-1 总体设计流程图本步进电机控制系统通过四个键盘来控制步进电机的正转、反转、启动和停8086CPU 8255步进 电机步进 电机 驱动止以及转速,步进电机旋转的角度取决于键盘接通时间长短,接通时间越长,旋转角度越大,其功能表如表4—1所示。

表4-1 键盘功能表 键盘状态电机动作 K1接通电机启动 K1断开电机停止 K2接通电机顺时针旋转 K2断开电机逆时针旋转 K3接通电机2档转速 K4接通电机4档转速 K3、K4接通 电机3档转速5 设计原理及功能说明在该步进电机控制系统中,需要接收键盘信息并识别,然后将数据传送给步进电机使步进电机旋转,采用8086CPU 和8255接口芯片是可行的[3],系统框图如图5-1所示图5-1系统方框图 5.1 励磁线圈及其励磁顺序Intel 8086CPU 8255并行接口锁存器键盘控制模块步进电机模块数据地址总线驱动芯片图5-2励磁线圈图表5-3励磁顺序表5.2 工作原理:4相步进电机示意图四相步进电机示意图见下左图,转子由一个永久磁铁构成,定子分别由4组绕组构成图5-4电机定子和转子示意图图5-5电气连接示意图当S1连通电源后,定子磁场将产生一个靠近转子为N极,远离转子为S极才磁场,这样的定子磁场和转子的固有磁场发生作用,转子就会转动,正确地S1、S4的送电次序,就能控制转子旋转的方向。

例如:若送电的顺序为S1闭合断开S2闭合断开S3闭合断开S4闭合断开,周而复始的循环,在定子1 2 3 4 5 6 7 85 + + + + + + + +4 - - -3 - - -2 - - -1 - - -和转子共同作用下,电机就瞬时针旋转:图5-6电机旋转模拟图若送电的顺序为S4闭合断开S3闭合断开S2闭合断开S1闭合断开,周而复始的循环,则电机就逆时针旋转,原理同理。

图5-78255A向步进电机发出的控制脉冲5.3 8086 CPU:现将8086的引脚图和各引脚功能列出如下[4]:8086CPU的40条引脚信号可按功能分可分为四类,它们是:地址总线,数据总线,控制总线,其它(时钟与电源)。

在最小模式下各引脚功能(MN/MX接+5V):① AD15~AD0,地址/数据总线② A19/S6~A16/S3,地址/状态总线③ BHE/ S7,高8位数据允许/状态线④MN/MX,最小/最大模式控制信号,输入⑤RD,读信号⑥WR,写信号⑦M/IO,存储器/输入输出控制信号⑧ALE,地址锁存允许信号⑨READY(Ready),准备就绪信号⑩INTR,可屏蔽中断请求信号⑪INTA,中断响应信号⑫NMI,非屏蔽中断请求信号⑬RESET,系统复位信号⑭DEN,数据允许信号⑮DT/R,数据发送/接收控制信号⑯HOLD,总线保持请求信号输入⑰HLDA,总线保持响应信号⑱TEST,测试信号⑲CLK,时钟输入信号⑳VCC(+5V),GND5.4 8255工作方式选择:8255有三个数据端口(A口、B口、C口),8255有三种基本的工作方式,分别为:方式一(基本输入/输出方式),方式二(选通输入/输出方式),方式三(双向总线I/O方式)。

其中A口可选择三种方式中的任意一种,B口只能选择方式0或方式1,C口常用作两个4为端口,若工作于方式0,其高四位工作方式与A端口一致,低四位与工作方式与端口B一致;若工作于其余两种方式,端口的部分信号作为A口和B口的控制联络信号。

5.5 ULN2003A:ULN2003A是高压大电流达林顿晶体管阵列,由功率电路来扩展输出电流以满足被控元件的电流,电压[5]。

具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

ULN2003A芯片主要用于如下领域:伺服电机,步进电机,电磁阀,可控照明灯。

5.6 74LS273:74LS273是一种带清除功能的8D触发器, 1D~8D为数据输入端,1Q~8Q 为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。

5.7 74LS138:74LS138为3线-8线译码器。

引出端口号:B、C译码地址输入端G1选通端/(G2A)、/(G2B)选通端(低电平有效)Y0~Y7 译码输出端(低电平有效)6 单元电路的设计(计算与说明)本电路采用8086CPU来控制,8086是16位CPU,采用高性能的N沟道、耗尽型负载的硅栅工艺制造8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器。

资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。

它提供64K 8 位元的输出输入,以及固定的向量中断。

大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。

运算结果会储存在操作数中的一个。

8086有四个内存区段寄存器,可以从索引寄存器来设定。

区段寄存器可以让 CPU 利用特殊的方式存取1 MB内存。

8086 把段地址左移 4 位然后把它加上偏移地址。

8086 的寻址方式改变让内存扩充较有效率。

8086处理器的时钟频率介于4.77MHz和10 MHz之间。

以8086CPU构成的微型计算机系统,有最小模式和最大模式两种配置。

最小模式是单机系统,系统中所需要的控制信号全部由8086CPU本身提供;最大模式可以构成多处理机系统,系统中所需要的控制信号由总线控制器8288提供。

CPU 工作模式的选择是由硬件决定的,当CPU的管脚接高电平时,构成最小模式;当接低电平的时候,构成最大模式。

因为步进电机控制系统是一个单处理机系统,因而接高电平,构成最小模式。

8086通过16根数据总线来实现与8255的通信,高八位通过74HC373锁存器控制8255的四个端口,低八位与8255进行数据交换[6]。

8255四个端口的地址见表2.2.1所示表6-1 8255各端口地址分配8255端口端口地址A端口IOY0+00H*4B端口IOY0+01H*4C端口IOY0+02H*4控制端口IOY0+03H*48255与CPU连接部分:8255能并行传送8位数据,所以其数据线为8根D0~D7。

由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C 口及控制寄存器,故地址线为两根A0~A1。

A0、A1的组合与端口关系如表2.2.2所示。

表 6-2 A1、A0组合与端口关系A1A08255端口IOY0+00H*4A口地址RD W RIOY0+01H*4B口地址IOY0+02H*4C口地址IOY0+03H*4控制口地址此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。

相关文档
最新文档