实现步进电动机原理正反转及停止的控制

C语言 步进电机的正反转 启停 控制程序 求解释_百度知道
C语言 步进电机的正反转 启停 控制程序 求解释
ain(){ lcd_init();void INIT1() interrupt 2{
BYTE TL0=0x06; Ï EA=1;¤×÷
for(r=0;â Ïת¹Ä
add++;¶Ï EX0=1;¼\ÐÏÙ/÷ÖÎ
add = 0;ºÍ//Í
/ Ê&#92!= '/
/Ïstop&Ö TMOD=0x02;)
lcd_wdat(dis1[add]); }/Êâ
while(dis1[add] ;ÊêǶÔ/£Ê·û/¿±¼±ðvoid timer0()
interrupt 1{
count=count+1; EX1=1;
} } do { temp=P3; ³Ã¶±
¹ flag_status=;/ͬ¿¼Ö
while(dis1[add] ;Ϊ/ {
lcd_pos(0x0);0ʱÆêÇ
¿ TH0=0x06;ÐÏ×Ó64;0'ÊËÊ
add = 0;¶LCD
delay(10);
/ÏȨÊÊ }
}/run &1Êr&ת´Êõª± ¹Õ²üµvoid INIT0() interrupt 0{
scan_key();öàÓ&²)
lcd_wdat(dis0[add]); if(flag_status)
/Î&#190!flag_àÓÓ /
add++;Ú°´Ö³ýÐÖ¦ }while(¼£0 É1 Éλìˤ×÷Ôª/ÄÔ1ÊÄÖµ/ while(1) {
if(flag_status)
/ª/=tab[sp]) { count=0;/Ïý±Ï¯0'ä /¶ flag_cw_ccw=1!=0x08);×ÖÖ
if(flag_status==0)&#205!= '¢¶/µ delay(30);/Ð/·û¦×Ö delay(30);/ temp&=0x08; IT0=1;¾ÓÐ if(count&÷Ò¯ flag=1;Ïë¶ {
lcd_pos(0x0);¹ëª& init_disp();r++)
motor_cw_ccw();Ë ET0=1;Ö IT1=1;&#205
提问者采纳
断2.}循环是电机运转,启动-停止切换(通过切换flag_status),0停止,标志flag置1,计数器归零..。中断1,显示状态。中断0。难以确切理解。这个好像与速度有关,不知道里面有些什么操作。原程序不完整。do-while是延时。没有看到与正转反转有关的代码,读键盘,没有相应函数,flag_status是状态,计数器count增1,1转动,如果达到预设的数值tab[sp],这个就是电机动一下的函数。通过调整延时时间来调整速度;函数里面。没有scan_key()的源代码。while(1){。也许在motor_cw_ccw()、变量的定义及意义说明
我能不能给你发过去
帮我大概的解释下
过两天就答辩了
中断的定义不明确,应该在include文件里面。主程序没有什么可讲的,就是初始化、然后进入一个死循环,检查状态变量flag_status(转停指令),如果接到运转指令,调用函数motor_cw_ccw(),开动电机。所有的控制,电机的状态由几个中断来改变:中断0,键盘输入:执行手动加速、减速、改变转向指令(对应键);通过变量sp和flag_cw_ccw控制中断2和motor_cw_ccw()的行为。中断1,启动-停止电机;这个中断对应的硬件,应该是一个按钮或者开关。中断2,速度控制。通过延时和设置flag影响函数motor_cw_ccw().这个中断应该由电机电路提供。
提问者评价
太给力了,你的回答完美解决了我的问题!
其他类似问题
为您推荐:
步进电机的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁当前位置:
主题:600172 ┆ 帖子:4578899
┆ 今日新贴:1452
昨日贴数:1831 ┆ 1历史最高贴数:2056
(日)在线用户:1914人
PLC实现步进电机的正反转和调整控制
给TA发消息
加TA为好友
发表于: 15:47:31 楼主
PLC实现步进电机的正反转和调整控制
下载附件需0积分!
给TA发消息
加TA为好友 发表于: 08:41:41 1楼
kan kan & & & & & & & & & & & & &
给TA发消息
加TA为好友 发表于: 13:39:36 2楼
看看,谢谢分享了&&.
给TA发消息
加TA为好友 发表于: 14:24:39 3楼
了解一下!!!!!!!!!!!!!!11
给TA发消息
加TA为好友 发表于: 13:02:03 4楼
/s/1c0zv47A
给TA发消息
加TA为好友 发表于: 10:08:18 5楼
看看,谢谢分享了&&.
给TA发消息
加TA为好友 发表于: 16:45:38 6楼
http://www.scadacloud.net,万物万联网,通用在线组态监控平台。系统特色1、所有工作都在web浏览器上完成该,没有插件,工作站无需安装软件.2、可以在任何支持web浏览器的硬件和软件平台上操作,如PC、智能手机、iPhone、iPad,或者Window?s、Linux、Unix、Andriod。3、完整的从端到云的解决方案。4、免费注册一个账户即拥有一套功能强大、全面的监控系统。系统功能简介观察列表用户可以在观察列表中动态地观看数据点的变化,查看数据点的告警,设置数据点,观察列表中的数据点的历史数据.用户可以创建多个观察列表,每个数据点可以在多个观察列表中.观察列表可以共享给其他的用户.数据点详情数据点详情的内容包括:数据点当前的值,设置数据点,数据点的历史数据,数据点的历史图表,数据点的事件,数据点的共享情况,所有这些数据和操作都在一个页面上.编辑数据点编辑数据点设置数据点的单位,设置日志属性,清除历史数据,设置文本渲染器属性,图表渲染器属性,设置告警出发条件.画面画面用于动态地显示设备参数、系统告警、设置数据点、显示数据点告警、执行脚本. 支持丰富的基本图形,如直线、矩形、圆形、椭圆形、扇形、弧、多边形、图片列表。 支持专业的监控图形,如开关、指针、量程、刻度、实时数据图表。 支持在画面中向设备下发指令、执行脚本。.告警查询告警查询显示当前的系统告警的统计,告警的详细列表,它还可以按照用户设定的条件查询告警.报告报告报告以图表的形式,显示一个参数的历史数据,多个参数的历史数据的组合图表,告???问?耐臣菩畔ⅰ?二进制参数的统计 对于二进制参数,报告给出该参数处于某种状态下的比例。 多状态参数的统计 对于多状态参数,报告给出该参数处于某种状态下的比例。 模拟数参数的统计 对于模拟数据,报告给出该参数的最大值,最小值,平均值,总计等参数.数据源数据源分为两类,一类与物理设备对应(比如电力监控设备),这类数据源负责从物理设?福ū热绲缌?嗫厣璞福┲胁杉??荩ū热纾?缌鳎?缪梗?β剩???没У闹噶罘⑺透??备.第二类数据源没有与之相连的物理设备,它是为了实现特定功能而设计的,比如,让用户在没有物理设备的情况下体验ScadaCloud的功能的模拟设备,对物理设备的数据进行求和、求平均值运算的元设备. ScadaCloud支持两种数据采集方式,一是轮询方式,即ScadaCloud主动向设备请求数据,设备以数据作为响应。二是事件触发方式,设备主动地向ScadaCloud发送数据,ScadaCloud被动地接收数据.定时事件定时事件在用户设定的时间发生,它与事件处理器结合,使用户可以定时地执行一些操作???墓δ芾嗨朴诙ㄊ逼?组合监测器当多个事件同时发生时,这些事件按照用户设定的逻辑条件,生成新的事件,比如,用户?梢允迪帧暗笔录?挥胧录???狈⑸??蛘呤录?与事件四同时发生时,生成事件五”.组合事件与事件处理器结合,使用户可以执行复杂条件下的操作.事件处理器事件处理器负责响应事件,响应的方式有发送电子邮件,设置数据点,运行脚本,远程TTS报警、远程短信报警、远程电话语音报警。SCADACloud可以针对每类事件设置多个事件处理方式。数据点联动数据点联动可以实现在没有事件的条件下的联动,它独立于事件处理。数据点联动用于实?帧暗笔?莸阋宦?隳掣鎏跫?鄙柚檬?莸愣?闭庋?穆呒?J?莸懔??凶约旱慕疟荆??使数据点联动可以执行复杂的条件判断,可以执行复杂的数据预处理.脚本ScadaCloud用的是Mozilla FireFox的JavaScript脚本,除了页面的元素(在ScadaCloud的脚本中,这些元素是不存在的),Mozilla FireFox的JavaScript脚本的全部功能都可以在ScadaCloud中使用.脚本可以直接存取数据点的数据. 脚本与事件处理器结合,可以将一个数据点的事件放到整个系统的上下文中处理.图片集图片集管理着ScadaCloud画面配置时所需的图片.它将具有同一特征,如相同的大小,的图片归于一个集合,统一管理.用户用户实现两个功能:一是用户信息的维护,而是用户数据源与数据点与其他的用户共享.邮件列表邮件列表将用户的邮件地址组织起来,在邮件群发时将邮件列表作为收件人,使邮件群发??恿榛睢⒓蚪啵??先说乃嘉?肮?数据点层次数据点层次将数据点以树的方式组织起来,使数据点的使用更加简洁,更容易与实际的应?贸敖岷掀鹄?发布器发布器将数据点的数据、时间戳、事件发布到其他的SCADA系统.数据发布使ScadaCloud的实例之间,ScadaCloud与其他的SCADA软件之间,可以交流数据。这个功能也使ScadaCloud可以建立起层级关系,即多个应用实例的数据汇聚到一个中心站点。.维护事件当设备在维护时,维护事件一是提醒用户维护设备,而是在维护期间,过滤设备生成的报??&&
给TA发消息
加TA为好友 发表于: 15:59:21 7楼
先看一下,有没有借鉴的!!!!!
给TA发消息
加TA为好友 发表于: 16:07:16 8楼
看看,谢谢分享了 &!!!!
给TA发消息
加TA为好友 发表于: 13:57:00 9楼
PLC实现步进电机的正反转和调整控制
给TA发消息
加TA为好友 发表于: 19:53:27 10楼
先看一下,有没有借鉴的!!!!!
给TA发消息
加TA为好友 发表于: 23:32:32 11楼
下载学习下谢谢了。。。
周好评排行周回复排行
[0] [1] [1] [0] [0] [0] [22] [0] [0] [0]
[1070] [28] [26] [23] [22] [22] [20] [17] [15] [15]最新求助
[1] [0] [2] [2] [1] [3] [9] [3] [5] [2]君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
单片机课程设计步进电机启动停止正反转
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口步进电机正反转启停控制的设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
步进电机正反转启停控制的设计
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩18页未读,继续阅读
你可能喜欢&>&&>&微机原理课程设计步进电机的正反转及调速控制
微机原理课程设计步进电机的正反转及调速控制 11305字 投稿:赖蜢蜣
企业通过高新技术企业认定所能获取的优惠 一、提高企业知名度与竞争力 企业被认定为国家级高新技术企业,既是企业的对外宣传名片,又是一笔重要的无形资产,对提高企业的知名度与核心竞争力,促进企业的发展,赢得市场的认可具有积极的作用;高新技术企业资质,无论是…
黄 珍 3 6 9 @v i p 6 3 c o n 1. r 编 辑 李 黄 珍 @ 1 l趋势 叱 三 罗 j 创新让雇主变得 “ 理想’ ’ 文/ 宗 禾 F = I难 就 业 季 到 来, 住即 将 走 员工 提供 ‘ 个 有 创 造 力 的…
计算机光盘软件与应用 计算机教 学与教育信息化 C m u e O S f w r n p lc to s o p tr C o t a e a dA p i a i n 2 1 年第 1 01 4期 《 网络营销 》课程网络化教学初探 李 湘棱 ,…
课程设计报告
步进电机正反转及调速
控制系统的设计
课 程 名 称
微机原理及应用
院 部 名 称
机电工程学院
电气工程及其自动化
学 生 姓 名
课程设计地点课程设计学时
指 导 教 师
金陵科技学院教务处制
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,具有快速启动能力,定位精度高,能够直接接受数字量,因此被广泛地应用于数字控制系统中,如数模转换装置、精确定位、计算机外围设备等,在现代控制领域起着非常重要的作用。
本设计基于Proteus 7.8设计环境,运用了8086 CPU芯片以及74273芯片、74244芯片和步进电机以及7位小功率驱动芯片ULN2003A、按钮、指示灯等辅助硬件电路,设计了步进电机正反转及调速系统。绘制软件流程图,进行了软件设计并编写了源程序,最后对软硬件系统进行联合调试。该步进电机的正反转及调速系统具有控制步进电机正反转的功能,还可以对步进电机进行调速,不同的按钮对应不同的速度,并且在没有速度按钮按下的时候,步进电机自动切换到停止状态。
关键词:步进电机;正反转;调速控制;ULN2003A芯片;8086微机系统
1.1 课程设计的目的·············································· 4
1.2课程设计的要求············································4 二、总体设计方案及说明
2.1 系统总体设计方案··········································5 2.2系统工作框图··············································5 三、系统硬件电路设计
3.1 Intel 8086 微处理器的简介···································6 3.2 步进电机的原理············································7 3.3 ULN2003A的简介··········································8 3.4 74154芯片简介·············································9 3.5 74LS273芯片简介·········································· 10 3.6 8086最小系统的设计········································11
3.7 步进电机及其驱动电路的设计································12
3.8 电机状态显示电路的设计····································12
3.9 输入采样电路的设计········································13
3.10系统总电路图··············································14 四、系统软件部分设计
4.1 系统流程图················································15
4.2 系统软件源程序············································16
4.2.1电机绕组通电顺序设定····································16
4.2.2 延时子程序设计·········································16
4.2.3 汇编源程序及说明········································16 五、总结
5.1 系统软硬件的联合调试·······································21
5.2 问题分析和解决方案·········································23 5.3 心得与体会·················································23 六、参考文献······················································23
附录:总电路图····················································25
1.1 课程设计的目的
通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。使学生进一步掌握微型计算机应用系统的硬、软件开发方法,输入/输出(I/O)接口技术,应用程序设计技术,并能结合专业设计简单实用的微型计算机应用系统。针对课堂重点讲授内容使学生加深对微型计算机硬件原理的理解及提高汇编语言程序设计的能力,为以后的毕业设计搭建了微机系统应用平台,提高学生的开发创新能力。
1.2 课程设计的要求
步进电动机正反转控制系统的设计
设计一个步进电动机正反转控制系统,要求:
1)系统功能:点动SW1按键控制步进电动机正转,点动SW2按键控制步进电动机反转,点动SW3按键控制步进电动机停止,在进行相应操作时,对应LED将被点亮。按下SW4按键使步进电机在所设定的一级速度下运转,按下SW5使步进电机在所设定的二级速度下运转,按下SW6使步进电机在设定的三级速度下运转,按下SW7使步进电机在满转速下运转;
2)给出系统设计方案,画出硬件连线图,并说明工作原理; 3)画出程序框图并编写程序; 4)软硬件联调,完成系统工作调试;
在以上工作基础上完成课程设计报告,包括设计任务与要求,总体方案说明,电路原理图与说明,软件流程图和源程序清单,问题分析与解决方案,结论与体会,参考资料等。
二、总体设计方案与说明 2.1 系统总体设计方案
本设计是基于Windows环境下的Proteus7.8软件,在其中进行硬件电路的的设计,汇编语言源程序的编写以及以上两部分工作完成后的软硬件系统的联合调试。
本设计的处理控制系统由Intel 8086微处理器在最小模式下组成的单处理器系统构成,用来进行对外围硬件电路进行信息采集、数据处理和控制。由8086芯片来检测外围电路中正反转按键是否按下,若按下,则相应地改变对步进电机的施加的脉冲顺序,实现正转和反转的控制,没有键按下则电机处于停止状态;同样由8086处理器来检测外围电路中的调速按钮是否按下,若有键按下,则调用相应的时间的延时子程序,以对脉冲频率进行控制以实现对步进电机速度的调节。
显示电路采用LED指示灯来指示电机的运行状态
驱动电路采用ULN2003A芯片,该芯片的电流增益高,带负载能力强。 步进电机采用35BY48S03四相步进电机,电压为DC12V,额定转速为360RPM。
2.2系统工作框图
图1 系统工作框图
三、系统硬件部分设计 3.1 Intel 8086 微处理器的简介
Intel 8086是Intel公司于1978年推出的16位微处理器。它采用HMOS工艺制造,片内有2.9万个晶体管,单一电源+5V供电,时钟频率4.77-10MHz,片内数据总线、寄存器和外部数据总线都为16位,最大可寻址的物理地址为1M。
要掌握一个CPU的工作性能及使用方法,首先应该了解它的编程结构。在8086
CPU的编程结构上,从功能上,分为两部分,即总线接口部件(BIU)和执行部件(EU)。8086的逻辑地址为20位,物理地址为16位,,对于编程员来说,只需要考虑逻辑地址即可。8086为40只引脚双列直插式封装。
Intel 8086 可以工作在最大和最小两种模式下,最小模式和最大模式的确定是通过一条MN/MN所接的逻辑电平是“1”还是“0”来完成。
在最小方式下,微处理器被用来构成一个小规模的单处理机系统,微处理器本身必须提供全部的的控制信号给外围电路。
在最大方式下,微处理器被用来构成一个较大规模的多机系统。 在最小模式下的信号如下:
(1)AD15~AD0(address data bus)地址/数据复用引脚(双向工作) 分时复用的地址/数据线。
(2)A19/S6~A16/S3(Address/Status)输出,是分时复用的地址/状态线。用作地址线时,A19~A16与A15~A0一起构成访问存储器的20位物理地址。 (3)BHE/ S7 (Bus High Enabale/Status)总线高字节有效信号。三态输出,低电平有效,用来表示当前高8 位数据线上的数据有效。
(4)NMI(Non Maskable Interrupt Request)不可屏蔽中断请求信号。由外部输入,上升沿触发,不受中断允许标志的限制。
(5)INTR(Interrupt Request)可屏蔽中断请求信号。由外部输入,电平触发,高电平有效。
(6)RD(Read)读信号。三态输出,低电平有效,表示当前CPU正在读存储器或IO端口。
(7) CLK(Clock)主时钟引脚(输入)。由8284时钟发生器输入。8286CPU可使用的最高时钟频率随芯片型号不同而异,8086为5MHz,MHz,8086-2 为8MHz。
(8) RESET(reset)复位信号。由外部输入,高电平有效。
(9) READY(ready)准备就绪信号。由外部输入,高电平有效,表示CPU 访问的存储器或IO端口已准备好传送数据。
(10) TEST 测试信号。由外部输入,低电平有效。CPU 执行WAIT 指令时,每隔5 个时钟周期对TEST 进行一次测试,若测试TEST 无效,则CPU 处于踏步等待状态,直到TEST有效,CPU才继续执行下一条指令。
(11) MN/MX 工作模式选择信号。由外部输入,MN/MX 为高电平时,CPU 工作在最小模式;MN/MX为低电平时,CPU工作在最大模式。
(12) GND/VCC电源地和电源。8086CPU只需要单一的+5V电源,由VCC引脚输入。
(13) INTA 中断响应信号。向外部输出,低电平有效。在中断响应周期,该信号表示CPU响应外部发来的INTR信号,用作读中断类型码的选通信号。 (14) ALE 地址锁存允许信号。向外部输出,高电平有效。在最小模式系统中用作地址锁存器的片选信号。
(15) DEN数据允许信号,三态输出,低电平有效。 (16) DT/R 数据发送/接收控制信号 (17) M/IO 存储器/IO 端口访问信号。
(18) WR写信号。三态输出,低电平有效,表示当前CPU正在写存储器或IO端口。
(19) HOLD总线请求信号。由外部输入、高电平有效。表示有其他共享总线的处理器/控制
器向CPU请求使用总线。
(20) HLDA 总线请求响应信号。向外部输出,高电平有效。CPU 一旦测试到有HOLD 请求,就在当前总线周期结束后,使HLDA有效,表示响应这一总线请求,并立即让出总线使用权。在不要求使用总线的情况下,CPU中指令执行部件可继续工作。HOLD变为无效后,CPU也将HLDA置成无效,并收回对总线的使用权,继续操作。
3.2 步进电机的原理
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
本设计采用35BY48S03四相八拍型步进电机,电压为DC12V,额定转速为
步进电机的工作原理示意图如下:
图2 四相步进电机步进示意图
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
在本设计中,我们使用四相八拍的运行方式,即控制正转时,电机绕组的通电顺序为:AD-D-DC-C-CB-B-BA-A;反转时,电机绕组的通电顺序为A-AB-B-BC-C-CD-D-DA。
3.3 ULN2003A的简介
ULN2003A是一个7路反向器电路,即当输入端为高电平时ULN2003A输出端为低电平,当输入端为低电平时ULN2003A输出端为高电平。
图3 ULN2003A
由于集成电路集驱动和保护于一体,作为小功率步进电机的专用驱动芯片,ULN2003A是该高耐压、大电流达林顿陈列,由7个硅NPN达林顿管组成。该电路的特点如下:
ULN2003A的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下,它能与TTL、CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003A工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。
ULN2003A在各种控制电路中常常作为驱动继电器的芯片,其芯片内部做成一个消线圈反电动势二极管。ULN2003A的输出端允许通过IC电流200mA,饱和压降Vce约1V左右,耐压BVceo约为36V。输出电流大,故可以用来直接驱动步进电机。
图4 ULN2003A内部结构
3.4 74154芯片简介
74HC154是一款高速CMOS器件,74HC154引脚兼容低功74154这种单片4 线—16 线译码器非常适合用于 高性能
耗肖特基TTL(LSTTL)系列。
存储器的译码器。当两个选通输入G1 和G2 为低时, 它可将4 个二进制编码的输入译成16 个互相独立的输出之一。实现解调功能的办法是:用4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高。
74154 的引脚图如右图所示:
74154真值表
3.5 74LS273芯片简介
74HC373是8位数据锁存器。主要用于数码管、按键等等的控制
芯片管脚图如下:
图6 74LS273引脚图
U2的功能是实现AD[0..7]的锁存,由于8086 CPU的总线是地址/数据复用总线,因此需要在传送地址信号的时候,将数据信号锁存起来,即将数据信号锁存在74273触发器中,待地址传送完毕后再按需要将数据信号输出。
3.6 8086最小系统的设计
8086最小系统原理图如下所示:
图7 8086最小系统图
8086最小系统由Intel 8086微处理器、74273 TTL带公共时钟复位八D触发器、以及74154 TTL 4线—16线译码器等组成。
8086有20位地址线,其中高4位A19-A16与状态线S6-S3分时复用,低16位AD15-AD0与数据线分时复用。在总线周期的T1时将地址送出后,就必须用锁存器将它们锁存起来,以便在T2及以后搞死位地址线改为状态输出,低16位地址线该做数据线使用。另外,表明八位数据线是否起作用的数据总线允许信号是与状态线S7分时复用的,故也需要锁存。21条线需采用3片8位地址锁存器,这里采用74273。与外围硬件电路的连接的I/O部分由4线-16线译码器74154组成,用来分配I/O硬件地址。
3.7 步进电机及其驱动电路的设计
步进电机及其驱动电路图如下图所示:
步进电机35BY48S03由驱动芯片ULN2003A驱动,步进电机脉冲信号由8086芯片发出,由数据线AD0-AD7经过锁存器74273传送到步进电机的驱动芯片,由驱动芯片带动步进电机运转。还有三只反应电机转动方向的LED由锁存器直接驱动。
3.8 电机状态显示电路的设计
电机状态显示电路的电路图如下:
电机状态显示电路由三只LED发光二极管串接限流电阻,接在数据锁存器的输出端组成,电机工作时的状态信号由CPU 8086给出,经过数据总线送到数据锁存器输入端,再由锁存器的输出端输出显示在LED发光二极管上。
3.9 输入采样电路的设计
输入采样电路的电路图如下:
图10 输入采样电路1(正反转)
图11 输入采样电路2 (调速)
输入采样电路是由按键SW1-SW7经过上拉电阻与74244 TTL 八同相三态缓冲器-线驱动器相连组成,当地址总线的地址信号经地址译码器译码后,输出地址片选信号,选中相应的总线驱动器,将按键数据读出,并将数据经过地址/数据复用总线AD0-AD3送到8086芯片,由处理器进行处理并做出相应的响应。
系统总电路图由上述的808 CPU组成的最小系统和外围的硬件电路如输入采样电路、电机驱动电路、显示电路、步进电机组成。系统运行时,线初始化电机,使其处于停止等待响应状态,由输入采样电路采集正反转和调速按钮开关状态,若有正反转按钮按下,且有调速按钮按下时,8086 CPU 相应地输出正转或反转的脉冲序列,并调用调速按钮对应的延时子程序,使得步进电机以某一设定的速度正转或反转运行起来,并且响应的正、反转指示灯被点亮,按停止按钮,电机停转。
四、系统软件部分设计 4.1 系统流程图如下:
图13 软件流程图
4.2 系统软件源程序
4.2.1 电机绕组通电顺序设定:
A相接数据线AD0,B相接数据线AD1,C相接数据线AD2,D相接数据线AD3;首先要定义电机顺序运行时正反转的数据表: 正转:AD-D-DC-C-CB-B-BA-A
根据转动相序可知,若要步进电机正转,则要将正转步数设置为 069H, 068H, 06CH, 064H, 066H, 062H, 063H, 061H 反转:A-AB-B-BC-C-CD-D-DA
根据转动相序可知,若要步进电机反转,则要将反转步数设置为051H, 053H, 052H, 056H, 054H, 05CH, 058H, 059H
4.2.2 延时子程序设计:
延时子程序利用CPU执行指令时所需要耗费的始终周期,来实现延时功能 DELAY1 PROC NEAR
所用周期数
MOV BX,200
4 DEL1:MOV CX,295
4 DEL2:LOOP DEL2
先将BX、CX入栈保护,给CX赋记数初值为295,在LOOP DEL2这条指令中,使得上述标注时钟周期的指令执行了295次,此时BX←BX-1,重新给CX赋记数初值为295,执行了295次后再BX←BX-1,以此类推,直到BX中的数值减至0,将BX、CX弹出栈,返回调用延时子程序处。
延时时间的计算:
8086 CPU时钟频率f=5MHz,时钟周期为0.2us DELAY1=(4+4+17/5+2+16/4)*0.2us*295*25=25ms 以此设计其他延时子程序的延时时间,详见汇编源程序。 4.2.3汇编源程序及说明: .MODEL SMALL .8086
.STACK .CODE .STARTUP MOV DX,0200H
MOV AL,00B3H
;电动机停止,指示灯点亮 OUT DX,AL
AGAIN:MOV DX,0400H
TEST AL,01H
JZ FOREWARD
TEST AL,02H
JZ BACKWARD
JMP AGAIN FOREWARD:MOV SI,0
LOP0:MOV DX,0200H
MOV AL,FFW[SI]
MOV DX,0600H
TEST AL,01H
JZ SPEEDZ1
TEST AL,02H
JZ SPEEDZ2
TEST AL,04H
JZ SPEEDZ3
TEST AL,08H
JZ SPEEDZ4
FORE:MOV DX,0400H
TEST AL,02H
JZ BACKWARD
TEST AL,04H
;读入开关状态
;反转 ;输出口地址
;读入开关状态
;一级调速按钮是否按下
;二级调速按钮是否按下
;三级调速按钮是否按下
;满转速按钮是否按下 ;244地址 ;读开关状态
;反转按钮是否按下
;停止按钮是否按下
JMP FOREWARD BACKWARD:MOV SI,0
LOP1:MOV DX,0200H
;输出口地址
MOV AL,REV[SI]
MOV DX,0600H
TEST AL,01H
JZ SPEEDF1
TEST AL,02H
JZ SPEEDF2
TEST AL,04H
JZ SPEEDF3
TEST AL,08H
JZ SPEEDF4
BACK:MOV DX,0400H
TEST AL,01H
JZ FOREWARD
TEST AL,04H
JMP BACKWARD STOP:MOV DX,0200H
MOV AL,00B3H
SPEEDZ1:CALL DELAY1
;一级调速按钮是否按下 ;二级调速按钮是否按下 ;三级调速按钮是否按下 ;全转速按钮是否按下 ;244地址 ;读入开关状态
;正转按钮是否按下
;停止按钮是否按下
;电动机停止,指示灯点亮 ;正转一级转速
;读入开关状态
SPEEDZ2:CALL DELAY2
;正转二级转速
SPEEDZ3:CALL DELAY3
;正转三级转速
SPEEDZ4:CALL DELAY4
;正转满转速
SPEEDF1:CALL DELAY1
SPEEDF2:CALL DELAY2
SPEEDF3:CALL DELAY3
SPEEDF4:CALL DELAY4
DELAY4 PROC NEAR
MOV BX,25 DEL41:MOV CX,295 DEL42:LOOP DEL42
RET DELAY4 ENDP
DELAY3 PROC NEAR
MOV BX,50 DEL31:MOV CX,295 DEL32:LOOP DEL32
;反转一级转速 ;反转二级转速 ;反转三级转速 ;反转满转速 ;满转速延时子程序;三级速延时子程序
RET DELAY3 ENDP
DELAY2 PROC NEAR
;二级转速延时子程序
MOV BX,100 DEL21:MOV CX,295 DEL22:LOOP DEL22
RET DELAY2 ENDP
DELAY1 PROC NEAR
;满转速延时子程序
MOV BX,200 DEL11:MOV CX,295 DEL12:LOOP DEL12
RET DELAY1 ENDP .DATA
FFW DB 069H,068H,06CH,064H,066H,062H,063H,061H
;正转REV DB 051H,053H,052H,056H,054H,05CH,058H,059H
5.1 系统软硬件的联合调试
将编写好的汇编语言源程序在MASM32软件中进行汇编、连接生成可执行文件,并将其载入到8086芯片进行仿真。仿真的效果图如下:
例如:按下反转按钮,按下满转速按钮,此时反转指示灯亮,电机满转速运行;
图13 源文件的汇编、连接
图14 仿真效果图-反转
按下正转按钮,电机按调速按钮设定的速度运行;
图15 仿真效果图-正转
按下停止按钮,电机停止运转。
图16 仿真效果图-停止
通过以上的调试过程和仿真调试结果可知,所设计的电路和所编写的程序满足实验要求。
5.2 问题分析和解决方案
问题分析:
在调试的时候,发现了一些没有完善的问题,在系统运行的时候,如果调速按钮都没有按下的时候,步进电机依然会以一个速度很微小的速度转动,研究了程序后发现,当调速按钮都没有按下时,虽然没有调用延时子程序,但是由于程序以很快的速度一遍一遍地运行,所以每次执行的时候仍然在把脉冲输给步进电机,导致了这样的情况。 解决方案:
即在系统检测到调速按钮没有键按下的时候,自动转跳到停止子程序,可以有效地解决以上产生的问题。
5.3 心得与体会
通过这次课程设计,我了解了步进电机的工作原理及接口电路原理,学会了用汇编实现步进电机正反转及速度控制的方法。通过汇编实现让8086控制步进电机正反转、变速,使我更加了解了了对步进电机的编程的李丽娜基础,并从中获得了初步的应用经验。在编程的过程中,我巩固了用汇编语言处理数据的能力,特表示对表数据的灵活运用能力。在调试和运行的过程中也遇到不少问题,最后都通过努力的思考和查阅书籍得到了相应的解决。在这个过程中,让我既提升了对实际步进电动机编程应用的能力,又巩固了8086的接口扩展技术编程技术,正确书写课程设计报告等。这次使我的知识层面不仅仅停留在书面的基础上,同时更进一步提高实践动手能力。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。
经过这次设计,我知道了学习的重要,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作夯实了坚实的基础,我更明白了作为一名在校的大学生,我应该在大学里面学到的卟仅仅是书本上的知识,我们应该学会的是“再学习”的能力,只有具备了这种再学习的能力,才能在没有老师指导的情况下自己查阅书籍做出以前没有学过的东西。这次课程设计更让我明白了做任何事都应该仔仔细细、一丝不苟,在把自己编写的程序输入电脑的时候,由于自己一点小小的疏忽,打错了一个字符,导致程序运行有错误,做学问需要严谨的态度。这次课程设计真的让我学到很多,这也会是求学路途中的一次重要的进步。
六、参考文献
[1]许立梓.微型计算机原理及应用[M].北京:机械工业出版社,2003. [2]江正战.三级偏硬考试教程[M].江苏:东南大学出版社,2012. [3]杨邦华.微机原理与接口技术实用教程.北京:清华大学出版社,2008. [4]本书编辑委员会.《微型计算机及外部设备常用芯片手册》[M].北京:清华大学出版社,1999.
[5]顾滨.80X86微型计算机组成、原理和[M].北京:电子工业出版社,2001.
可以跟我要仿真源文件,QQ
附录:总电路图
课程设计报告 题目 步进电机正反转及调速控制系统的设计课 程 名 称 微机原理及应用 院 部 名 称 机电工程学院 专 业 电气工程及其自动化 班 级 10电气1班 学 生 姓 名 管志成 学 号 课程设计地点课程设计学时 20 指 导 教 师 李…
广府古城小记作文450字今天,我的心情无比地激动,因为我学校要去素有 四面荷花三面柳,一城景色半城湖 之美称的邯郸永年县广府古城采风。经过一个多小时的车程,终于到达了目的地。迈步在广府古城,首先闯入眼中的是那一湾芦苇丛生的绕城碧水,当穿行于城内狭窄的…
建通教育初二升初三数学测试卷一、选择题:(每小题3分,共30分)1.在相同时刻物高与影长成比例,如果高为1米的测竿的影长为80厘米,那么影长为9.6米的旗杆的高为( )(A)15米 (B)13米 (C)12米 (D)10米 2.商品的原售价为m元,若…
宜昌市2014届高三元月调考试题参考答案及评分标准语文参考答案命题:三峡高中何斌师、刘艾国等审题:李伟杰、肖生银、何洋、李红梅、简家红、李政、金华一、1答案:A (B指摘(zhāi) 针灸(jiǔ) C房椽(chuán) 脊(jǐ)髓 D旋(xuán…
本文由()首发,转载请保留网址和出处!
免费下载文档:

我要回帖

更多关于 步进电动机原理 的文章

 

随机推荐