基于单片机的步进电机控制综合系统汇编及C语言程序各一个.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 步进 电机 控制 综合 系统 汇编 语言 程序 一个
- 资源描述:
-
基于单片机步进电机控制系统 前 言 步进电机是一个进行正确步进运动机电实施元件,它广泛应用于工业机械数字控制,为使系统可靠性、通用性、可维护性和性价比最优,依据控制系统功效要求及步进电机应用环境,确定了设计系统硬件和软件功效划分,从而实现了基于8051单片机四相步进电机开环控制系统。控制系统经过单片机存放器、I/O接口、中止、键盘、LED显示器扩展、步进电机环形分频器、驱动及保护电路、人机接口电路、中止系统及复位电路、单电压驱动电路等设计,实现了四相步进电机正反转,急停等功效。为实现单片机控制步进电机系统在数控机床上应用,系统设计了两个外部中止,以实现步进电机在某段时间内反复正反转功效,也即数控机床刀架自动进给运动,伴随单片机技术不停发展,单片机在日用电子产品中应用越来越广泛,自六十年代早期以来,步进电机应用得到很大提升。大家用它来驱动时钟和其它采取指针仪器,打印机、绘图仪,磁盘光盘驱动器、多种自动控制阀、多种工具,还有机器人等机械装置。另外作为实施元件,步进电机是机电一体化关键产品之一,被广泛应用在多种自动化控制系统中,伴随微电子和计算机技术发展,它需要量和日俱增,在各个国民经济领域全部有应用。步进电机是机电数字控制系统中常见实施元件,因为其精度高、体积小、控制方便灵活,所以在智能仪表和位置控制中得到了广泛应用,大规模集成电路发展和单片机技术快速普及,为设计功效强,价格低步进电机控制驱动器提供了优异技术和充足资源。 1.步进电机原理及硬件和软件设计 1.1步进电机原理及控制技术 因为步进电机是一个将电脉冲信号转换成直线或角位移实施元件,它不能直接接到交直流电源上,而必需使用专业设备----步进电机控制驱动器,经典步进电机控制系统图1所表示:控制器能够发出脉冲频率从几赫兹到几千赫兹能够连续改变脉冲信号,它为环形分配器提供脉冲序列,环形分配器关键功效是把来自控制步骤脉冲序列按一定规律分配后,经过功率放大器放大加到步进电机驱动电源各项输入端,以驱动步进电机转动,环形分配器关键有两大类:一类是用计算机软件设计方法实现环形分配器要求功效,通常称软环形分配器。另一类是用硬件组成环形分配器,通常称硬环形分配器。功率放大器关键对环形分配器较小输出信号进行放大,以达成驱动步进电机目标,步进电机基础控制包含转向控制和速度控制两个方面。从结构上看,步进电机分为三相单三拍、三相双三拍和三相六拍3种,其基础原理以下: (1) 换相次序控制 通电换相这一过程称为脉冲分配。比如,三相步进电机在单三拍工作方法下,其各相通电次序为A→B→C→A,通电控制脉冲必需严格根据这一次序分别控制A、B、C相通断。三相双三拍通电次序为AB→BC→CA→AB,三相六拍通电次序为A→AB→B→BC→C→CA→A。 (2) 步进电机换向控制 假如给定工作方法正序换相通电,步进电机正转。若步进电机励磁方法为三相六拍,即A→AB→B→BC→C→CA→A。假如按反序通电换相,即A→AC→C→CB→B→BA→A,则电机就反转。其它方法情况类似。 (3) 步进电机速度控制 假如给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲间隔越短,步进电机就转得越快。调整送给步进电机脉冲频率,就能够对步进电机进行调试。 (4) 步进电机起停控制 步进电机因为其电气特征,运转时会有步进感。为了使电机转动平滑,减小振动,可在步进电机控制脉冲上升沿和下降沿采取细分梯形波,能够减小步进电机步进角,跳过电机运行平稳性。在步进电机停转时,为了预防因惯性而使电机轴产生顺滑,则需采取适宜锁定波形,产生锁定磁力矩,锁定步进电机转轴,使步进电机转轴不能自由转动。 (5) 步进电机加减速控制 在步进电机控制系统中,经过试验发觉,假如信号改变太快,步进电机因为惯性跟不上电信号改变,这时就会产生堵转和失步现象。全部步进电机在开启时,必需有加速过程,在停止时波形有减速过程。理想加速曲线通常为指数曲线,步进电机整个降速过程频率改变规律是整个加速过程频率改变规律逆过程。选定曲线比较符合步进电机升降过程运行规律,能充足利用步进电机有效转矩,快速响应性好,缩短了升降速时间,并可预防失步和过冲现象。在一个实际控制系统中,要依据负载情况来选择步进电机。步进电机能响应而不失步最高步进频率称为“开启频率”,于这类似“停止频率”是指系统控制信号忽然关断,步进电机不冲过目标位置最高步进频率。电机开启频率、停止频率和输出转矩全部要和负载转动惯量相适应,有了这些数据,才能有效地对电机进行加减速控制。加速过程有忽然施加脉冲开启频率f0。步进电机最高开启频率(突跳频率)通常为0.1KHz到3~4KHz,而最高运行频率则能够达成N*102KHz,以超出最高开启频率频率直接开启,会产生堵转和失步现象。 f/Hz fa fb 0 t/s 图1 步进电机运行过程中频率改变曲线 在通常应用中,经过大量实践和反复验证,频率如按直线上升或下降,控制效果就能够满足常规应用要求。用PLC实现步进电机加P减速控制,实践上就是控制发脉冲频率。加速时,使脉冲频率增高,减速则相反。假如使用定时器来控制电机速度,加减速控制就是不停改变定时中止设定值。速度从v1~v2改变,假如是线性增加,则按给定斜率加P减速;假如是突变,则按阶梯加速处理。在此过程中要处理好两个问题: ①速度转换时间应尽可能短。为了缩短速度转换时间,能够采取建立数据表方法。结合各曲线段频率和各段间阶梯频率,就能够建立一个连续数据表,并经过转换程序将其转换为定时初始表。经过在不一样阶段调用对应定时初值,就可控制电机运行。定时初值计算是在定时中止外实现,并不占用中止时间,确保电机高速运行。 ②确保控制速度正确性。要从一个速度正确达成另一个速度,就要建立一个校验机制,以防超出或未达成所需速度。 (6) 步进电机换向控制 步进电机换向时,一定要在电机降速停止或降到突跳频率范围之内在换向,以免产生较大冲击而损坏电机。换向信号一定要在前一个方向最终一个脉冲结束后和下一个方向第一个脉冲前发出。对于脉冲设计关键要求其有一定脉冲宽度、脉冲序列均匀度及高低电平方法。在某一高速下正、反向切换实质包含了降速→换向→加速3个过程。 步进电机有以下特点: ① 步进电机角位移和输入脉冲数严格成正比,所以当它转一转后,没有累计误差,含有良好跟随性。 ② 由步进电机和驱动电路组成开环数控系统,既很方便、廉价,也很可靠。同时,它也能够有角度反馈步骤组成高性能闭环数控系统。 ③ 步进电机动态响应快,易于启停、正反转及变速。 ④ 速度可在相当宽范围内平滑调整,低速下仍能确保取得很大转矩,所以通常能够不用减速器而直接驱动负载。 ⑤ 步进电机只能经过脉冲电源供电才能运行,它不能直接用交流电源或直流电源。 ⑥ 步进电机本身噪声和振动比较大,带惯性负载能力强。 1.2总体设计方框图 总体设计方框图图2所表示。 1.3设计原理分析 1.3.1元器件介绍 (1)步进电机 步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,所以很适合于单片机控制。步进电机区分于其它控制电机最大特点是:它是经过输入脉冲信号来进行控制,即电机总转动角度由输入脉冲数决定,而电机转速由脉冲信号频率决定。 步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一个能够快速开启,反转和制动实施 89C51 单片机 复位电路 键盘控制电路 ULN2803 开启电路 步进 电机 状态显示电路 电源立即钟电路 图2 总体设计方框图 元件,其功用是将电脉冲转换为对应角位移或直线位移,因为开环下就能实现正确定位特点,使其在工业控制领域取得了广泛应用。步进电机运转是由电脉冲信号控制,其角位移量或线位移量和脉冲数成正比,每个一个脉冲,步进电机就转动一个角度(不距角)或前进、倒退一步。步进电机旋转角度由输入电脉冲数确定,所以,也有些人称步进电机为数字/角度转换器。 ① 四相步进电机工作原理 该设计采取了20BY-0型步进电机,该电机为四相步进电机,采取单极性直流电源供电。只要对步进电机各相绕组按适宜时序通电,就能使步进电机转动。当某一相绕组通电时,对应磁极产生磁场,并和转子形成磁路,这时,假如定子和转子小齿没有对齐,在磁场作用下,因为磁通含有力图走磁阻最小路径特点,则转子将转动一定角度,使转子和定子齿相互对齐,由此可见,错齿是促进电机旋转原因。 ② 步进电机静态指标及术语 相数:产生不一样队N、S磁场激磁线圈对数,常见m表示。 拍数:完成一个磁场周期性改变所需脉冲用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方法即AB→BC→CD→DA→AB,四相八拍运行方法即A→AB→B→BC→C→CD→D→DA→A。 步距角:对应一个脉冲信号,电机转子转过角位移用θ表示。Θ=360度(转子齿角运行拍数),以常规二、四相,转子齿角为50齿角电机为例。四相运行时步距角zz x为θ=360度/(50*4)=1.8度,八拍运行时步距角为θ=360度/(50*8)=0.9度。 定位转矩:电机在不通电状态下,电机转子本身锁定力矩(由磁场齿形谐波和机械误差造成)。 静转矩:电机在额定静态作业下,电机不做旋转运动时,电机转轴锁定力矩。此力矩是衡量电机体积标准,和驱动电压及驱动电源等无关。即使静态转矩和电磁激磁匝数成正比,和定子和转子间气隙相关。但过分采取减小气隙,增加励磁匝数来提升静转矩是不可取,这么会造成电机发烧及机械噪音。 ③ 四相步进电机脉冲分配规律 现在,对步进电机控制关键有分散器件组成环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。本设计利用单片机进行控制,关键是利用软件进行环形脉冲分配。四相步进电机工作方法为四相单四拍,双四拍和四相八拍工作方法。多种工作方法在电源通电时时序 和波形分别图1 a、b、c所表示。本设计电机工作方法为四相单四拍,依据步进电机工作时序和波形图,总结出其工作方法为四相单四拍时脉冲分配规律,四相双四拍脉冲分配规律,在每一个工作方法中,脉冲频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率改变后电机会出现失步现象,所以脉冲频率一定要控制在步进电机许可范围内。 (2)89C51单片机 Atmel企业生产89C51单片机是一个低功耗/低电压‘高性能8位单片机,它采取CMOS和高密度非易失性存放技术,而且其输出引脚和指令系统全部和MCS-51兼容;片内Flash ROM许可在系统内改编程序或用常规非易失性编程器来编程,内部除CPU外,还包含256字节RAM,4个8位并行I/O口,5个中止源,2个中止优先级,2个16位可编程定时计数器,89C51单片机是一个功效强、灵活性高且价格合理单片机,完全满足本系统设计需要。 1.3.2方案论证 从该系统设计 要求可知,该系统输入量为速度和方向,速度应该有增减改变,通常见加减按钮控制速度,这么只要2根口线,再加上一根方向线盒一根开启信号线共需要4根输入线。系统输出线和步进电机绕组数相关。这里选 进电机,该电机共有四相绕组,工作电压为+5V,能够个单片机共用一个电源。步进电机四相绕组用P1口P1.0~P1.3控制,因为P1口驱动能力不够,所以用一片2803增加驱动能力。用P0口控制第一数码管用于显示正反转,用P2口控制第二个数码管用于显示转速等级。数码管采取共阳。 1.3.3硬件设计 本设计硬件电路只要包含控制电路、最小系统、驱动电路、显示电路四大部分。最小系统只要是为了使单片机正常工作。控制电路只要由开关和按键组成,由操作者依据对应工作需要进行操作。显示电路关键是为了显示电机工作状态和转速。驱动电路关键是对单片机输出脉冲进行功率放大,从而驱动电机转动。 (1)控制电路 依据系统控制要求,控制输入部分设置了开启控制,换向控制,加速控制和减速控制按钮,分别是K1、K2、S2、S3,控制电路图4所表示。经过K1、K2状态改变来实现电机开启和换向功效。当K1、K2状态改变时,内部程序检测P1.0和P1.1状态来调用对应开启和换向程序,发觉系统电机开启和正反转控制。 依据步进电机工作原理能够知道,步进电机转速控制关键是经过控制通入电机脉冲频率,从而控制电机转速。对于单片机而言,关键方法有:软件延时和定时中止在此电路中电机转速控制关键是经过定时器中止来实现,该电路控制电机加速度关键是经过S2、S3断开和闭合,从而控制外部中止依据按键次数,改变速度值存放区中数据(该数据为定时器中止次数),这么就改变了步进电机输出脉冲频率,从而改变了电机转速。 图4 控制电路原理图 (2)最小系统 单片机最小系统或称为最小应用系统,素质用最少元件组成单片机能够工作系统,对51系列单片机来说,最小系统通常应该包含:单片机、复位电路、晶振电路。 复位电路:使用了独立式键盘,单片机P1口键盘接口。该设计要求只需4个键对步进电机状态进行控制,但考虑到对控制功效扩展,使用了6路独立式键盘。复位电路采取手动复位,所谓手动复位,是指经过接通一按钮开关,使单片机进入复位状态,晶振电路用30PF电容和一12M晶体振荡器组成为整个电路提供时钟频率。图5示。 晶振电路:8051单片机时钟信号通常见两种电路形式电路得到:内部震荡方法和外部中止方法。在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就组成了内部晶振方法。因为单片机内部有一个高增益反相放大器,当外接晶振后,就组成了自激振荡器并产生振荡时钟脉冲。内部振荡方法外部电路图5示。其电容值通常在5~30pf,晶振频率经典值为12MHz,采取6MHz情况也比较多。内部振荡方法所得时钟信号比较稳定,实用电路实用较多。 图5 复位立即钟振荡电路 (3)驱动电路 经过ULN2803组成比较多驱动电路,电路图图6所表示。经过单片机P1.0~P1.3输出脉冲到ULN28031B~4B口,经信号放大后从1C~4C口分别输出到电机A、B、C、D相。 图6 步进电机驱动电路 (4)显示电路 在该步进电机控制器中,电机能够正反转,能够加速、减速,其中电机转速等级分为七级,为了方便知道电机运行状态和电机转速等级,这里设计了电机转速和电机工作状态显示电路。在显示电路中,关键是利用了单片机P0口和P2口。采取两个共阳数码管作显示。第一个数码管接a、b、c、d、e、f、g、h分别接P0.0~P0.7口,用于显示电机正反转状态,正转时显示“1”,反转时显示“一”,不转时显示“0”。第二个数码管a、b、c、d、e、f、g、h分别接P2.0~P2.7口,用于显示电机转速等级,共七级,即从1~7转速依次递增,“0”表示转速为零。电路图7所表示。 图7 显示电路 (5)总体电路图 把各个部分电路图组合成总电路图,图8所表示。 图8 总体电路图 1.3.4软件设计 经过分析能够看出,实现系统功效能够采取多个方法,因为随时有可能输入加速、加速信号和方向信号,所以采取中止方法效率最高,这么总共要完成4个部分工作才能满足课题要求,即主程序部分、定时器中止部分、外部中止0和外部中止1部分,其中主程序关键功效是系统初始参数设置及开启开关检测,若开启开关合上则系统开始工作,反之系统停止工作;定时器部分控制脉冲频率,它决定了步进电机转速快慢;两个外部中止程序要做工作全部是为了完成改变速度这一功效。下面分析主程序和定时器中止程序及外部中止程序。 (1)主程序设计 主程序中要完成工作关键有系统初始值设置、系统状态显示和多种开关状态检测判定等。其中系统初始状态设置内容较多,该系统中,需要初始化定时器、外部中止;对P1口送初值以决定脉冲分配方法,速度值存放区送初值决定步进电机开启速度,对方向值存放区送初值决定步进电机旋转方向等内容。若初始化P1=11H、速度和方向初始值均设为0,就意味着步进电机按四相单四拍运行,系统上电后在没有操作情况下,步进电机不旋转,方向值显示“0”,速度值显示“0”,主程序步骤图图9所表示。 开 始 初 始 化 速度值为0? 开启开关为0? 停止计时器 显 示 开启计时器 延 时 停止计时器 图9 主程序步骤图 Y N Y N (2)定时中止设计 步进电机转动关键是给电机各绕组按一定时间间隔连续不停地按规律通入电流,步进电机才会旋转,时间间隔越短,速度就越快。在这个系统中,这个时间间隔是用定时器反复中止一定次数产生,即调整时间间隔就是调整定时器中止次数,所以在定时器中止程序中,要做工作关键是判定电机运行方向、发下一个脉冲,和保留目前多种状态。程序步骤图图10所表示。 中止返回 T0中止入口 发速度脉冲 读方向指示 重送相关状态 恢复现场 保护现场 中止次数-1=0? N Y 图10 定时中止程序步骤图 (3)外部中止设计 外部中止所要完成工作是依据按键次数,改变速度值存放区中数据(该数据为定时器中止次数),这么就改变了步进电机输出脉冲频率,也就是改变了电机转速。速度增加按钮S2为INT0中止,其程序步骤为原数据,当值等于7时,不改变原数值返回,小于7时,数据加1后返回;速度降低按钮S3,当原数据不为0,减1保留数据,原数据为0则保持不变。程序步骤图图11所表示。 外部中止入口 保护现场 延时去抖 中止返回 速度值±1 恢复现场 速度=上或限值? 按钮是否弹起? N N N Y Y 图11 外部中止程序步骤图 1.3.5源程序(汇编、C语言程序各一个) 汇编程序以下: SPEED EQU 10H ;SPEED为转速等级标志,共7级,即1~7 FX EQU 11H ;FX为方向标志 COUNT EQU 12H ;COUNT中止次数标志 ORG 0000H AJMP MAIN ORG 0003H ;外部中止0入口地址,加速子程序 AJMP UP ORG 0013H ;外部中止1入口地址,减速子程序 AJMP DOWN ORG 000BH ;定时器0中止入口地址,控制中止次数来达成控制转速 AJMP ZDT0 ORG 0030H MAIN: MOV SP,#60H MOV TMOD,#01H ;工作于定时、软件置位开启!模式1(16位计时器) MOV TH0,#0CFH MOV TL0,#2CH MOV COUNT,#01H SETB ET0 ;定时/计数器许可中止 CLR IT0 ;外部中止为电平触发方法,低电平有效 CLR IT1 SETB EX0 ;外部许可中止 SETB EX1 SETB EA ;开总中止 MOV R1,#11H ; 四相单四拍运行,共阳数码管方向显示8,速度值显示0 MOV SPEED,#00H MOV FX,#00H XIANS: MOV A,SPEED MOV DPTR,#LED MOVC A,@A+DPTR ;查表获取等级对应数码管代码 MOV P2,A ;第二个数码管显示转速等级 MOV A,FX ;准备判定转向 CJNE A,#11H,ELS MOV P0, #0F9H ;第一个数码管显示1,表示正转 AJMP QD ELS: CJNE A,#00H,ZHENG MOV P0,#0C0H ;第一个数码管显示0,表示不转 AJMP QD ZHENG: MOV P0,#0BFH ;第一个数码管显示-,表示反转 QD: JB P3.4,DD ;P3.4接开启开关K1,P3.4=1时开启 CLR TR0 ;停止定时/计数器 MOV P0,#0C0H ;第一个数码管显示0,表示不转 MOV P2,#0C0H ;第二个数码管显示0,表示转速为0 MOV SPEED,#00H ;重新赋初值 MOV FX,#00H AJMP QD DD: MOV A,SPEED JNZ GO ;A不等于0,即初始速度不为零,则转移到GO CLR TR0 ;停止定时/计数器 AJMP QD GO: SETB TR0 ;开启定时/计数器 ACALL DELAY AJMP XIANS DELAY: MOV R6,#10 ;延时子程序 DEL1: MOV R7,#250 HERE1: DJNZ R7, HERE1 DJNZ R6,DEL1 RET ;以下ZDT0为定时器中止程序 ZDT0: PUSH ACC PUSH DPH PUSH DPL MOV TH0,#0D8H MOV TL0,#0F0H DJNZ COUNT,EXIT JB P3.5,NIZHUAN ;查询方向标志,P3.5接换向开关K2 MOV FX,#11H NIZHUAN:MOV A,FX CJNE A,#11H,FZ ;若A不等于11,即正转,则转移到FZ MOV A,R1 ;R1统计上一次电机脉冲状态 MOV P1,A RR A ;循环右一位 MOV R1,A MOV P1,A AJMP RE FZ: MOV A,R1 MOV P1,A RL A ;循环左移一位 MOV P1,A MOV R1,A RE: MOV A,SPEED MOV DPTR,#TAB MOVC A,@A+DPTR MOV COUNT,A ;把转速等级赋给COUNT JB P3.5 ,FFX ; P3.5接换向开关K2, 即换向位,若P3.5=1,则跳到FFX MOV FX,#11H AJMP EXIT FFX: MOV FX,#0FEH ;只要FX不等于11H,就能够经过循环左移或右移进行换向 EXIT: POP DPL POP DPH POP ACC RETI ;以下UP为加速中止程序 UP: PUSH ACC ACALL DELAY ;延时防抖动 JB P3.2,UPEX ;P3.2为外部中止0位,接增速开关S2,低电平有效,若P3.2=1,则退出 MOV A,SPEED CJNE A,#7,SZ ;最大等级为7,若A不等于7,则转移到SZ AJMP UPEX ;若A=7,则退出 SZ: INC SPEED ;SPEED= SPEED+1 UPEX: POP ACC HERE2: JNB P3.2,HERE2 ;本条指令为预防开关S2按下去后弹不起,造成一直产生中止 RETI ;以下DOWN为减速中止程序 DOWN: PUSH ACC ACALL DELAY JB P3.3,DEX ; P3.3为外部中止1位,接减速开关S3,低电平有效,若P3.3=1,则退出 MOV A,SPEED CJNE A,#0,SJ AJMP DEX SJ: DEC SPEED ;SPEED= SPEED-1 DEX: POP ACC HERE3: JNB P3.3,HERE3 RETI TAB: DB 0,60,40,35,30,28,25,21 ;经仿真,小于21时,因为脉冲太快,会出现失步 ; 0 1 2 3 4 5 6 7 8 9 LED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H END C语言程序以下: #include <reg51.h> #define uint unsigned int sbit k1=P3^4; //开启开关 sbit k2=P3^5; //换向开关 sbit s2=P3^2; //加速按钮 sbit s3=P3^3; //减速按钮 void isr_int0(void);//外部中止0中止服务函数申明 void isr_int1(void); void zd_t0ist(void); uint speed,count,r1,i,t,k; main() {k=0; t=0; r1=0x11 ; speed=0; count=1; TMOD=0x01; ET0=1; EA=1; EX0=1; EX1=1; TH0=0xcf; TL0=0x2c; for(;;) {if(k1==0) {P0=0xff; P2=0xff; speed=0; TR0=0; } else { if(k2==0) P0=0xbf; else P0=0xf9; if(speed==0) {P2=0xc0; TR0=0; } else TR0=1; } } } void isr_int0(void) interrupt 0 { if(speed<7) speed=speed+1; while(s2==0) {for(i=0;i<10;i++);} } void isr_int1(void) interrupt 2 { if(speed>0) speed=speed-1; while(s3==0) {for(i=0;i<10;i++);} } void zd_t0ist(void) interrupt 1 { TH0=0xd8; TL0=0xf0; switch(speed) { case 0:P2=0xc0;count=0;break; case 1:P2=0xf9;count=60;break; case 2:P2=0xa4;count=40;break; case 3:P2=0xb0;count=35;break; case 4:P2=0x99;count=30;break; case 5:P2=0x92;count=28;break; case 6:P2=0x82;count=25;break; case 7:P2=0xf8;count=21;break; default :break; } if(t==0) t=count; if(t>0) t=t-1; if(k2==0) { if(t==0) { switch(k) { case 0:P1=0x01;break; case 1:P1=0x02;break; case 2:P1=0x04;break; case 3:P1=0x08;break; default :break; } k=k+1; if(k==4) k=0; } } else { if(t==0) { switch(k) { case 0:P1=0x08;break; case 1:P1=0x04;break; case 2:P1=0x02;break; case 3:P1=0x01;break; default :break; } k=k+1; if(k==4) k=0; } } } 2.总结 本设计经过分析步进电机结构、工作原理,查阅步进电机控制系统相关科技文件,遵照实用、简单、可靠和低成本标准,设计了一个既可用于精度要求不高,但控制需完备场所。对此次设计,有以下结论: (1)采取单片机为控制关键,利用其强大功效,把键盘和显示电路有机结合起来,组成一个操作方便、交互性强控制系统。而且整个系统所包含技术几乎包含了现本科学校控制专业所要求知识,有利于实践教学取得最大效果。 (2)键盘电路和显示电路采取了动态扫描技术,节省了单片机资源。 (3)系统软件采取结构化设计,含有易维护性,依据用户新要求,对软件系统进行少许修改,使系统功效得到一定程度提升。 3.结束语 本人深知自己做工作还很不够,因为软件和硬件各方面原因,系统应用讨论不够,精度还有待于深入提升。因为时间原因,设备原因,试验做不好不够,相关验证性数据、信息不够丰富。能够肯定,伴随技术不停发展,步进电机控制应用前景将越来越宽广,而其控制系统也将向着智能化和网络化方向发展。本论文研究和探讨还远远不够,我们要在现在基础上,不停吸收新技术和方法,并将它们应用于本课题研究上来,深入深化我们研究深度,争取有更多收获。 4.参考文件 【1】张家生. 电机原理和拖动基础【M】. 北京:北京邮电大学出版社,. 【2】马淑华,王凤文,张美金. 单片机原理和接口技术【M】.北京:北京邮电大学出版社,. 【3】顾德英,张健,马淑华.计算机控制技术【M】. 北京:北京邮电大学出版社,. 【4】华成英,童诗白. 模拟电子技术基础【M】. 北京:高等教育出版社, 【5】张靖武,周灵彬. 单片机系统PROTEUS设计和仿真【M】. 北京:电子工业出版社,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




基于单片机的步进电机控制综合系统汇编及C语言程序各一个.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2862226.html