步进电机速度控制系统设计
步进电机速度控制课程设计

步进电机速度控制课程设计一、课程目标知识目标:1. 让学生理解步进电机的原理与结构,掌握步进电机速度控制的基本概念。
2. 使学生掌握步进电机速度控制的相关公式,并能进行简单的计算。
3. 让学生了解步进电机速度控制系统的组成及工作原理。
技能目标:1. 培养学生运用所学知识,设计简单的步进电机速度控制系统的能力。
2. 培养学生运用相关软件工具对步进电机速度控制系统进行仿真与调试的能力。
3. 培养学生通过团队合作,解决实际步进电机速度控制问题的能力。
情感态度价值观目标:1. 培养学生对步进电机速度控制技术的兴趣,激发学生的创新意识。
2. 培养学生严谨的科学态度,注重实验数据的准确性和可靠性。
3. 培养学生具备良好的团队协作精神,学会分享与交流。
课程性质:本课程为实践性较强的课程,旨在让学生通过理论学习与实践操作,掌握步进电机速度控制的相关知识。
学生特点:本课程面向高中年级学生,他们对电机控制有一定的基础知识,具备一定的动手能力和探究精神。
教学要求:结合学生特点,课程目标分解为具体的学习成果,注重理论与实践相结合,强调学生动手操作能力的培养。
在教学过程中,注重启发式教学,引导学生主动思考,培养学生的创新能力。
同时,注重团队合作,提高学生的沟通与协作能力。
二、教学内容1. 步进电机原理与结构:介绍步进电机的种类、工作原理、主要性能参数,使学生了解步进电机的特点及应用场景。
教材章节:第一章第一节2. 步进电机速度控制基本概念:讲解步进电机速度控制的方法、原理,引导学生掌握步进电机速度控制的基本知识。
教材章节:第二章第一节3. 步进电机速度控制公式与计算:推导步进电机速度控制的相关公式,通过实例讲解,使学生掌握计算方法。
教材章节:第二章第二节4. 步进电机速度控制系统组成及工作原理:分析步进电机速度控制系统的组成部分,阐述各部分的工作原理及相互关系。
教材章节:第三章第一节5. 步进电机速度控制系统设计与仿真:教授步进电机速度控制系统的设计方法,指导学生运用相关软件进行仿真与调试。
步进电机调速系统的建模与仿真

步进电机调速系统的建模与仿真步进电机调速系统的建模与仿真步进电机调速系统是一种常见的工业控制系统,它通常用于控制电机的转速和位置。
本文将按照步骤思考的方式,介绍步进电机调速系统的建模与仿真方法。
1. 确定系统需求和参数在开始建模之前,我们首先需要确定步进电机调速系统的需求和参数。
例如,我们需要知道电机的额定转速、最大转矩以及负载的惯性等。
这些参数将对系统的建模和仿真过程产生重要影响。
2. 绘制系统框图根据步进电机调速系统的工作原理,我们可以绘制出系统的框图。
框图是由各个组成部分和它们之间的关系组成的图形,有助于我们理清系统的功能和信号流动。
在步进电机调速系统中,通常包括电机、驱动器、编码器和控制器等组件。
3. 建立数学模型在建模过程中,我们需要将系统转化为数学模型。
对于步进电机调速系统,可以采用转子惯性、电机动力学方程和电机驱动器的特性等来建立数学模型。
根据这些模型,我们可以得到系统的状态方程和输出方程。
4. 设计控制策略设计控制策略是步进电机调速系统建模的重要一步。
根据系统的需求和数学模型,我们可以选择适合的控制策略。
常见的控制策略包括比例积分控制(PID)和模糊控制等。
选择合适的控制策略可以提高系统的稳定性和性能。
5. 进行仿真分析完成步进电机调速系统的建模和控制策略设计后,我们可以进行仿真分析。
使用仿真软件,我们可以将系统的数学模型输入,并模拟系统的运行情况。
通过仿真分析,我们可以评估系统的性能,例如转速响应、位置控制精度等。
6. 优化和调试在仿真分析过程中,我们可能会发现系统存在一些问题,例如过大的超调、不稳定等。
这时,我们需要进行优化和调试,尝试调整控制策略的参数,以改善系统的性能。
通过多次优化和调试,最终得到满足系统需求的步进电机调速系统。
总结通过以上步骤,我们可以建立步进电机调速系统的数学模型,并进行仿真分析。
这种建模与仿真的方法可以帮助我们更好地了解步进电机调速系统的工作原理和性能,为实际系统的设计和控制提供参考。
步进电机控制系统设计报告

课程设计报告单片机课程设计课程设计题目:步进电机无级调速系统设计姓名:学号:专业:班级:指导教师:10年4月29 日目录摘要随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。
研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。
步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。
采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。
软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。
本设计是采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。
系统由硬件设计和软件设计两部分组成。
其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动(集成达林顿ULN2003)模块、数码显示(SM420361K数码管)模块、测速模块(含霍尔片UGN3020)6个功能模块的设计,以及各模块在电路板上的有机结合而实现。
软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在LED数码管上,对速度进行实时监控显示。
软件采用在Keil软件环境下编辑的C语言。
本系统具有智能性、实用性及可靠性的特点。
本控制系统的设计采用实验室中的试验箱单片机控制,通过人为按动各开关实现步进电机的开关,以及电机的加速及减速功能,另外还增加可设正反转的功能,具有灵活方便、适应范围广易懂的特点,能够满足实现自身实践动手能力提高的需求。
基于stm32的步进电机控制系统设计与实现

基于stm32的步进电机控制系统设计与实现基于STM32的步进电机控制系统设计与实现1. 概述步进电机是一种非常常见的电动机,在许多自动化系统和工控设备中得到广泛应用。
它们具有精准的定位能力和高效的控制性能。
本文将介绍如何使用STM32微控制器来设计和实现步进电机控制系统。
2. 硬件设计首先需要确定步进电机的规格和要求,包括步距角、相数、电流和电压等。
根据步进电机的规格,选择合适的驱动器芯片,常见的有L298N、DRV8825等。
接下来,将选定的驱动器芯片与STM32微控制器相连。
通常,步进电机的控制信号需要使用到微控制器的GPIO引脚,同时由于步进电机的工作电流比较大,需要使用到微控制器的PWM输出信号来调节驱动器芯片的电流限制。
除此之外,还需要一个电源电路来提供驱动器和步进电机所需的电源。
可以选择使用一个电源模块,也可以自行设计电源电路。
3. 软件设计软件设计是步进电机控制系统的核心部分,主要包括步进电机驱动代码的编写和控制算法的实现。
首先,需要在STM32的开发环境中编写步进电机驱动代码。
根据所选的驱动器芯片和步进电机规格,编写相应的GPIO控制代码和PWM输出代码。
同时,可以添加一些保护性的代码,例如过流保护和过热保护等。
接下来,需要设计和实现步进电机的控制算法。
步进电机的控制算法通常是基于位置控制或速度控制的。
对于位置控制,可以使用开环控制或闭环控制,闭环控制通常需要使用到步进电机的编码器。
对于开环控制,可以通过控制步进电机的脉冲数来控制位置。
通过控制脉冲的频率和方向,可以实现步进电机的转动和停止。
这种方法简单直接,但是定位精度有限。
对于闭环控制,可以使用PID控制算法或者更高级的控制算法来实现位置控制。
通过读取步进电机的编码器反馈信号,可以实时调整控制输出。
这种方法可以提高定位精度和抗干扰能力,但是算法实现相对复杂。
4. 系统实现在完成硬件设计和软件设计后,可以进行系统的调试和实现。
毕业设计(论文)—基于plc的步进电机控制系统设计

毕业设计(论文)—基于plc的步进电机控制系统设计基于PLC步进电机控制系统摘要:随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。
研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。
步进电机是将电脉冲信号变换成机械角位移的一种装置,每个脉冲使转轴步进一个步距角增量,输出角位移与输入脉冲数成正比,转速与输入脉冲成正比,转速与输入脉冲频率成正比。
步进电机的控制方式简单,属于开环控制,且无累积定位误差,有较高的定位精度,而PLC作为一种工业控制微机,是实现电机一体化的有力工具,因此基于PLC的步进电机控制技术已广泛用于数字定位控制中。
本控制系统的设计,由硬件设计和软件设计两部分组成。
其中,硬件设计主要包括步进电机的工作原理、步进电机的驱动电路设计、PLC的输入输出特性、PLC的外围电路设计以及PLC与步进电机的连接与匹配等问题的实现。
软件设计包括主程序以及各个模块的控制程序,最终实现对步进电机转动方向及转动速度的控制。
本系统具有智能性、实用性及可靠性的特点。
关键词:步进电机、PLC、转速控制、方向控制Stepping motor control system based on PLC Abstract:With the development of microelectronics and computer technology, the stepper motor is increasing demanded, which is widely used in printers, electric toys and other consumer products, and CNC machine tools, industrial robots, medical equipment and other electrical machinery products, and is applied in the national economy in various fields. Researching of stepper motor control system to improve the control accuracy and response speed, energy conservation is so important.Stepper motor is a device which will transform electrical pulses into mechanical angular displacement so that Shaft of each pulse to a step angle stepping increment, SO output angular displacement is proportional to the input pulses, speed is proportional to the input pulse speed and speed is proportional to input pulse frequency. Stepper motor control is simple, is open-loop control, and no accumulation of positioning error, a high positioning accuracy,and the PLC as an industrial control computer, is a powerful tool for the integration of the motor, Therefore, the stepper motor control based on PLC technology has been widely used for digital positioning control.The control system consists of hardware and software design of two parts. Among them, the hardware design includes the working principle of stepper motor, stepper motor drive circuit design, PLC input and output characteristics, PLC and PLC external circuit connection with the stepper motor and matching Problem. Software design, including the main program and each module of the control program, ultimately realizes on the stepper motor rotation direction and rotation speed control This system has the intelligence, practicality and reliability features.Keywords: Stepper motor, PLC, speed control, direction control目录1、绪论 (1)1.2问题的提出 (3)1.3设计目的及系统功能 (4)2、PLC控制步进电机系统简介 (5)2.1PLC控制系统 (5)2.1.1 PLC概述 (5)2.1.2 PLC系统的其它设备 (9)2.1.3 PLC的通信联网 (9)2.1.4 PLC控制系统的设计基本原则 (9)2.1.5 PLC软件系统及常用编程语言 (10)2.1.6 PLC的特点 (10)2.1.7 PLC的应用领域 (12)2.1.8 PLC未来展望 (13)2.2步进电机 (13)2.2.1 步进电机概述 (13)2.2.2 步进电机的特性 (14)2.2.3 与直流电机的比较 (14)2.2.4 步进电机的种类 (17)2.2.5 反应式步进电机的控制 (17)2.3本设计所用步进电机 (21)3、硬件电路设计 (23)3.1硬件设计思路 (23)3.2总体设计框图 (23)3.3外围电路设计及分析 (24)3.3.1 键盘控制电路 (24)3.3.2步进电动机驱动电路 (26)2.6.3 LED数码显示电路 (31)3.4步进电机控制系统电路图 (34)4、软件设计 (36)4.1可编程控制器软件设计原理 (36)4.1.1可编程序控制器的工作原理 (36)4.1.2 扫描周期 (37)4.2 PLC的选型 (38)4.2.1 输入输出(I/O)点数的估算 (38)4.2.2 存储器容量的估算 (38)4.2.3 控制功能的选择 (38)4.2.4 机型的选择 (40)4.3FX可编程序控制器简介 (42)2N4.4PLC控制程序设计 (42)4.4.1 PLC控制系统的设计基本原则 (42)4.4.2 PLC编程步骤 (42)4.4.3 PLC提供的编程语言 (42)4.5.1启动停止控制环节 (45)4.5.2 PLC实用驱动电源控制环节 (45)结论 (50)致谢 (51)参考文献 (52)附录 (53)1、绪论1.1技术概述在电气时代的今天,电动机一直在现代化的生产和生活中起着十分重要的作用。
基于51单片机的步进电机控制系统设计

基于51单片机的步进电机控制系统设计步进电机是一种特殊的直流电动机,具有定角度、定位置、高精度等特点,在许多领域得到广泛应用,如机械装置、仪器设备、医疗设备等。
本文将基于51单片机设计一个步进电机控制系统,主要包括硬件设计和软件设计两部分。
一、硬件设计步进电机控制系统的硬件设计主要包括51单片机、外部电源、步进电机驱动模块、以及其他辅助电路。
1.51单片机选择由于步进电机控制需要执行复杂的算法和时序控制,所以需要一个性能较高的单片机。
本设计选择51单片机作为主控芯片,因为51单片机具有丰富的外设接口、强大的计算能力和丰富的资源。
2.外部电源步进电机需要较高的电流供给,因此外部电源选择稳定的直流电源,能够提供足够的电流供电。
电源电压和电流的大小需要根据具体的步进电机来确定。
3.步进电机驱动模块步进电机驱动模块是连接步进电机和51单片机的关键部分,它负责将51单片机输出的脉冲信号转化为对步进电机的驱动信号,控制步进电机准确转动。
常用的步进电机驱动芯片有L297、ULN2003等。
4.其他辅助电路为了保证步进电机控制系统的稳定运行,还需要一些辅助电路,如限流电路、电源滤波电路、保护电路等。
这些电路的设计需要根据具体的应用来确定。
二、软件设计1.系统初始化系统初始化主要包括对51单片机进行外部中断、定时器、串口和IO 口等初始化设置。
根据实际需求还可以进行其他模块的初始化设置。
2.步进电机驱动程序步进电机的驱动程序主要通过脉冲信号来控制电机的转动。
脉冲信号的频率和脉冲宽度决定了电机的转速和运行方向。
脉冲信号可以通过定时器产生,也可以通过外部中断产生。
3.运动控制算法步进电机的运动控制可以采用开环控制或闭环控制。
开环控制简单,但无法保证运动的准确性和稳定性;闭环控制通过对电机转动的反馈信号进行处理来调整脉冲信号的生成,从而实现精确的运动控制。
4.其他功能设计根据具体的应用需求,可以加入其他功能设计,如速度控制、位置控制、加速度控制等。
基于51单片机的步进电机控制系统设计与实现

步进电机工作原理
步进电机是一种基于磁场的控制系统,工作原理是当电流通过定子绕组时,会 产生一个磁场,该磁场会吸引转子铁芯到相应的位置,从而产生一定的角位移。 步进电机的角位移量与输入的脉冲数量成正比,因此,通过控制输入的脉冲数 量和频率,可以实现精确的角位移和速度控制。同时,步进电机具有较高的分 辨率和灵敏度,可以满足各种高精度应用场景的需求。
二、系统设计
1、硬件设计
本系统主要包括51单片机、步进电机、驱动器、按键和LED显示等部分。其中, 51单片机负责接收按键输入并控制步进电机的运动;步进电机用于驱动负载运 动;驱动器负责将51单片机的输出信号放大,以驱动步进电机。LED显示用于 显示当前步进电机的状态。
2、软件设计
软件部分主要包括按键处理、步进电机控制和LED显示等模块。按键处理模块 负责接收用户输入,并根据输入控制步进电机的运动;步进电机控制模块根据 按键输入和当前步进电机的状态,计算出步进电机下一步的运动状态;LED显 示模块则负责实时更新LED显示。
三、系统实现
1、按键输入的实现
为了实现按键输入,我们需要在主程序中定义按键处理函数。当按键被按下时, 函数将读取按键的值,并将其存储在全局变量中。这样,主程序可以根据按键 的值来控制步进电机的转动。
2、显示输出的实现
为了实现显示输出,我们需要使用单片机的输出口来控制显示模块的输入。在 中断服务程序中,我们根据设定的值来更新显示模块的输出,以反映步进电机 的实时转动状态。
基于单片机的步进电机控制系统需要硬件部分主要包括单片机、步进电机、驱 动器、按键和显示模块等。其中,单片机作为系统的核心,负责处理按键输入、 控制步进电机转动以及显示输出等功能。步进电机选用四相八拍步进电机,驱 动器选择适合该电机的驱动器,按键用于输入设定值,显示模块用于显示当前 步进电机的转动状态。
基于增量式PID的步进电机速度控制系统设计

·172·文章编号:2095-6835(2022)01-0172-04基于增量式PID 的步进电机速度控制系统设计*许洋,周奎,杨亚会,杨倩,向婧燕(湖北汽车工业学院,湖北十堰442002)摘要:步进电机是将电脉冲信号转换成角位移的机电执行机构,其输入为脉冲序列,输出为相应的转角或直线增量。
针对步进电机的速度控制,推导了步进电机转速传递函数公式,提出了基于MCS51和增量式PID 算法的步进电机闭环控制系统。
通过MATLAB 仿真和相关实验对控制系统可行性和精度进行了测试验证。
实验结果表明设计的控制系统具有无极调速的特点以及响应速度快和平滑性好等优点。
关键词:步进电机;闭环控制系统;MCS51;增量式PID 中图分类号:TM383文献标志码:ADOI :10.15913/ki.kjycx.2022.01.053闭环控制系统设计是研究步进电机的关键技术之一,控制算法更是控制系统的重要组成部分。
基于步进电机的控制系统设计,邱靖超等[1]提出了基于FPGA 技术通过梯形加、减速算法实现了对步进电机的闭环控制;李娟等[2]使用单片机最小系统和驱动芯片实现了步进电机角度与转动方向的设计;谢海明[3]利用电脉冲信号控制相绕组电流,实现了步进电机的开环控制;王鹏宇等[4]提出了基于单片机和霍尔传感器来测量步进电机转速;朱嵘涛等[5]基于增量式PID 算法实现了对直流电机的调速控制;控制系统设计中,一般会增设相关测速传感器来捕捉步进电机实时运动状态,但额外成本将随之增加,同时可能引入影响精度的其他不确定因素;考虑到设计的难易程度,相关学者通常采用开环或者应用常规PID 算法,但电机运转精度将会受限;若应用模糊PID 等算法,则需要实时权值优化,会加大核心硬件设备的运算负荷。
李亚文等[6]设计了一种位置式PID 算法来控制四旋翼飞行器的飞行姿态,但此算法可能存在积分饱和现象,且运算量大及占用存储单元多,会影响采样精度,造成采样信号失损;同时大幅升速或突加负载也会造成电机丢步甚至堵转。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1 总体方案的确定 (1)1.1 对步进电机的分析 (1)1.2 电机的控制方案 (2)1.3 控制算法的方案 (3)1.4 串口通讯的模拟 (3)2 硬件的设计与实现 (4)2.1 微处理器的选择 (4)2.2 控制电路的实现 (4)2.3 键盘和显示电路 (6)3 软件的设计与实现 (6)3.1 控制信号输入程序 (7)3.2 步进电机控制程序设计 (8)3.3 程序分析及说明 (9)4 系统的仿真与调试 (10)4.1 程序的调试 (11)4.2 串口通信的调试 (11)4.3 调试结果及分析 (11)5 设计总结 (13)参考文献 (14)附录 (15)步进电机速度控制系统设计报告1 总体方案的确定系统以单片机为核心,接收并分析来自键盘或串口的控制指令,经过CPU 的逻辑计算输出控制信息,让步进电机按要求转动。
由于步进电机是开环元件,系统不需反馈环节,但也同时要求控制信号足够精确。
此外,为实现单片机与电机之间信号对接,需要加入步进电机驱动单元。
1.1 对步进电机的分析步进电机又叫脉冲电机,它是一种将电脉冲信号转化为角位移的机电式数模转换器。
在开环数字程序控制系统中,输出控制部分常采用步进电机作为驱动元件。
步进电机控制线路接收计算机发来的指令脉冲,控制步进电机做相应的转动,步进电机驱动数控系统的工作台或刀具。
很明显,指令脉冲的总数就决定了数控系统的工作台或刀具的总位移量,指令脉冲的频率决定了移动的速度。
因此,指令脉冲能否被可靠地执行,基本上取决于步进电机的性能。
步进电机的工作就是步进转动。
在一般的步进电机工作中,其电源都是采用单极性的直流电源。
要是步进电机转动,就必须对步进电机定子的各相绕组以适当的时序进行通电。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。
通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,即可达到调速的目的。
本设计是用单片机输出可调脉冲作为单片机的控制信号,通过改写脉冲频率调节单片机转速。
常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小;反应式步进一般为三相,可实现大转矩输出,但噪声和振动都很大。
混合式步进是指混合了永磁式和反应式的优点,它又分为两相和五相,应用最为广泛。
单片机管脚输出电压一般不足以驱动步进电机转动,所以需要在单片机和步进电机之间加入驱动电路。
1.2 电机的控制方案步进电机有三相、四相、五相、六相等多种,不同的电机又各有很多工作方式。
由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专用设备-步进电机控制驱动器。
典型步进电机控制系统如图1所示:控制器可以发出脉冲频率从几赫兹到几十千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列。
环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输人端,以驱动步进电机的转动。
环形分配器主要有两大类:一类是用计算机软件设计的方法实现环分器要求的功能,通常称软环形分配器。
另一类是用硬件构成的环形分配器,通常称为硬环形分配器。
功率放大器主要对环形分配器的较小输出信号进行放大,以达到驱动步进电机目的。
图1 典型步进电机控制框图软环形分配即采用微机控制取代脉冲分配器,直接将控制信号分管脚送到驱动电路,常用的办法是通过编程输出内存中定义好的控制方式输出字。
这样,当步进电机的相数和控制方式确定之后,以一定规律输出控制字就可以了。
软环形分配用程序取代了脉冲分配器,一定程度上降低了成本。
但如果要预存的控制字很多,就会占用单片机较多内存。
此外,当所控制的步进电机相数较多,需要的输出管脚也会随之增加,这样就占用了单片机较多的数据口,降低接口的利用率的同时限制了单片机实现更多功能。
由于任务要求系统有键盘、显示以及串口控制等多个部分,且要控制两部电机,为留出更多的数据接口实现上述功能,设计选择常规的电机控制电路。
由脉冲分配器完成对电机绕组电平的时序控制(即脉冲分配),从而每个电机只需单片机对应输出一个触发信号(控制方向)和一组脉冲波(控制速度)即可。
要注意的是,对脉冲波频率的计算和输出控制没有直接输出控制字的方法精确,响应效果也会因脉冲分配器的存在而稍差一些。
1.3 控制算法的方案单片机对步进电机的控制算法也有多种,如上述的输出字法就是利用单片机内部的计时功能定时输出控制字,把对电机速度的控制转变为对两次输出时间间隔的控制。
控制算法很大程度决定于电机的控制方案。
上文选定的电机控制方案是要求单片机实时输出改变电机方向的触发信号和控制电机转速的脉冲信号。
对于电机方向的控制,由按键或串口控制指令改写对应的标志量的值并由接口输出即可。
对电机速度的控制就是对输出脉冲波频率的控制,而频率的大小是要有时间标尺衡量的。
单片机内部对输出频率的控制是通过两个中间变量的比较运算实现的:其中一个变量(以A代替)由单片机内部的计时器改写,表征时间量作为标尺;另一个变量(以B代替)由按键或串口控制指令改写,表征速度值(其大小可通过算数运算与实际速度相统一)。
程序在每次执行计时中断程序时改变一次电平:原来是高电平则变为低电平,原来是低电平则变为高电平。
显然,B值的大小直接决定了比较结果产生的快慢,即输出端高低电平变化的快慢。
改变B 的大小就可以改变输出的脉冲频率,从而控制步进电机的速度。
变量的使用不仅方便地实现了对输出脉冲频率的控制,还有利于实现多部步进电机的异步运行。
针对每个电机定义一个速度变量,分别与时间标量进行比较运算,比较结果控制各自的管脚电平变化。
用取反运算或者位异或运算改写管脚电平,可以有效控制输出电平而不互相干扰。
1.4 串口通讯的模拟单片机上有通用异步接收/发送器用于串行通信,发送时数据由TXD端送出,接收时数据由RXD端输入。
有两个缓冲器SBUF,一个作发送缓冲器,另一个作接收缓冲器。
短距离的机间通讯可使用UART的TTL电平,使用驱动芯片可接成RS232C与通用微机进行通讯。
波特率时钟必须从内部定时器1或定时器2获得。
本设计运用软件模拟上位机控制端,经过串口输出控制信号到单片机串行口,形成区别于键盘的另一种控制方式。
2 硬件的设计与实现2.1 微处理器的选择AT89C51是一种带4K字节闪烁可编程可擦除只读存储器和128bytes随机存取数据存储器的低电压、高性能CMOS8位微处理器。
片内置通用8位中央处理器,采用ATMEL公司的高密度、非易失性存储技术的生产,兼容标准MCS-51指令系统。
AT89C51提供以下标准功能:4K字节Flash闪存存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器;一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式,空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一次硬件复位。
用AT89C51足以实现对步进电机的简单控制。
2.2 控制电路的实现常规步进电机的驱动是用ULN达林顿驱动器实现的,其内部含有多个达林顿管,适于感性负载的驱动。
本文所设计的步进电机控制驱动器的框路图如图2:图2 步进电机控制驱动器框图L297芯片是一种硬件环分集成芯片,可产生四相驱动信号,用于计算机控制的两相双极或四相单极步进电机。
其内部主要部分是一组译码器,能产生各种所需的相序。
这一部分是由两种输入模式控制,方向控制(CW/CCW)和HALF/FULL,以及步进式时钟CLOCK,能将译码器从一阶梯推进至另一阶梯。
译码器有四个输出点连接到输出逻辑部分,提供抑制和斩波功能所需的相序。
因此L297能产生三种相序信号,对应于三种不同的工作方式:即半步方式(HALF STEP),基本步距(FULL STEP,整步)一相激励方式,基本步距两相激励方式。
脉冲分配器内部是一个3bit可逆计数器,加上组合逻辑产生每周期8步格雷码时序信号,就是半步工作方式的时序信号,此时HALF/FULL信号为高电。
若HALF/FULL取低电平,得到基本步距工作方式,即双四拍全阶梯工作方式。
L297另一个重要组成是由两个PWM斩波器来控制相绕组电流,实现恒流斩波控制以获得良好的矩频特性。
每个斩波器由一个比较器、一个RS触发器和外接采样电阻组成,并设有一个公用振荡器,向两个斩波器提供触发脉冲信号。
L298是一种高压、大电流双全桥式驱动器,其设计是为接受标准TTL逻辑电平信号和驱动电感负载的,例如继电器、圆筒形线圈、直流电动机和步进电动机等。
L298具有两抑制输入,可使器件不受输入信号影响。
每桥的三级管的射极是连接在一起的,相应外接线端可用来连接外设传感电阻,还可安置另一输入电源,使逻辑能在低电压下工作。
L298芯片是具有15个引出脚的多瓦数直插式封装的集成芯片。
由L297和L298所组成的步进电机控制电路如图3所示。
这种控制电路的优点是需要的元件较少,装配线路简单,成本低,可靠性高,占空间少。
控制电路所需信号也比较简易,可以简化和减轻微型计算机的负担。
另外,L297和L298都是独立的芯片,所以组合和控制十分灵活。
但缺点是,所控制的电机类型以及运行方式会受芯片限制。
图3 步进电机控制电路2.3 键盘和显示电路本设计键盘采用低电平有效的独立键盘,用位运算进行键盘扫描。
显示选用LM016L液晶显示器,可同时显示两部电机的运行方向和速度。
加入通信串口,晶振以及相关配件后的系统总电路图如下,(系统调试后的完整电路图见附录):3 软件的设计与实现单片机是系统的核心,主要承担控制信号的接受,逻辑分析和运算,控制量的输出和显示的运算和输出等功能。
本程序采用模块化设计,针对上述功能主要包括主函数、键盘扫描、串口中断、计时中断和显示程序几个模块。
其中,主函数主要负责对单片机、内部元件及中断等工作方式进行定义和设定,并协调好各模块之间的运行时序,其流程图如下:图5 主函数流程图3.1 控制信号输入程序控制信号可以通过独立键盘和串口通讯两种方式输入。
键盘的输入主要是用扫描程序,即不停取键盘接口的逻辑值,与特定值进行位运算就可以识别键盘的控制信息。
串口通讯控制信号的输入也是利用了扫描,不过单片机内软件所要做的,主要是定义计数器工作及串口协议,如波特率等。
成功实现串口通讯后,对获得的数据编辑运算就可以形成对应的控制输出。
为避免两种方式的控制信号冲突,程序通过外接开关选定控制方式。