实例介绍
【实例简介】
STC89C51单片机,L297和L298N驱动电路及步进电机的基本原理与功能
入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信 号频率决定。步进电机是数字控制电机,它将脉冲信号转变成角位移,因此非常适合于单片 机控制。步进电机的角位移或线位移量与电脉冲个数成正比,它的转速或线速度与电脉冲频 率成正比。在负载能力范围内这些关系不因电源电压、负载大小、环境条件的波动而变化。 通过改变脉冲频率的高低可以在很大范围内实现步进电机的词速,并能进行快速启动、制动 和反转。 L298N的原理 L298N是ST公司生产的一种高电压,大电流电机驱动芯片。该芯片采用15脚封装 主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持 续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机 和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制:;具有两个使能控制端, 在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路 部分在低电压下工作:可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱 动电机,该芯片可以驱动两个二相电机,也可以驱动一个匹相电机,可以直接通过电源来调 节输出电压;并可以直接用单片机的O口提供信号;而且电路简单,使用比较方便。 L297的原理 L297芯片是具有20个引脚的双列直插式塑胶封装的步进电动机控制器(包括集成的硬 件环形分配器)。它可产生四相驱动信号,能用半步(八拍)和全步(四拍)等方式驱动单片机控 制两相双极或四相单极步进电机。该芯片内部的PWM斩波器允许在关模式下控制步进电动 机绕组电流,由于相序信号也是由内部产生的,因此它只需要时钟、方向和模式输入信号便 能控制步进电动机,可减轻微处理器和程序设计的负担。L297单片步进电动机控制器集成 电路的核心是脉冲分配器,L297还设有两个PWM斩波器来控制线绕组电流,实现恒流斩 波控制,以获得良好的转矩—频率特性。适用于双极性两相步进电动机或单极性四相步进 电动机的控制。L297只需从上位机接受方向(正/反转),模式(半步/基本步距),时钟(步进 脉冲)3个输入信号。它产生3种相序的信号,对应于3种不同的工作方式:半步方式(四相八 拍);基本步距,单相激励方式(单相四拍);基本步距,两相激励方式(两相两拍)。其工作方 式输出的波形如图4~6所示,初状态(HOME)是ABCD=0101。L297是20脚双列直插式塑 料封装,常以+5V供电。该单片步进电机控制器集成电路的核心是脉冲分配器,L297还设 有两个PWM斩波器来控制绕组电流,实现恒流斩波控制,以获得良好的转矩-频率特性, 实用于双极两相步进电机或者单极四相步进电机的控制。 步进电机起动及加/减速控制 速度控制中加/减控制是最基本的控制。电机由静止到达设定的最大的速度所需的时间 是由调试决定的。加速度太大,电机甚至不能克服惯性而失步,加速度太少,则完成指定的 运动耗费时间太多, 加速度有两中方案:线性加减速度控制和等步距加/减速度控制。前者規定从加速度开 始,每加速度周期指令电机速度递增相同的增量△f;后者则是要求每加速度周期屯机 走过相同的步数。等步距加/减速度控制的优点,在于加减过程中电机走的步数可以非常精 的计算,这一点对于加/的位置控制非常重要,但从电机要克服惯性力来看,线性加速 方案好些。调试也方便。线性加/减控制曲线如下图: f idocin. com △S △S 线性加速控制曲线 f=(2f1)/n,其中n为加速过程的台阶数,减速控制也类似,只是△f为负值。 步进电动机的最高起动频率〈突跳频率)一般为0.1KHz到3-4KHz,而最高运行频率则 可以达到N102kHz。以超过最高起动频率的频率直接起动,将出现失步”现象,甚至无法 起动。较为理想的起动曲线,应是按指数规律起动。但实际应用对起动段的处理可采用直线 拟合的方法,即"阶梯升速法"。可按两种情况处理,①已知突跳频窣则按突跳频率分段起动, 分段数n=所q。②未知突跳频率,则按段拟合至给定的起动频率,每段频率的递增量(后称 阶梯频率)△f=f8,即采用8段拟合。在运行控制过程中,将起始的速度(频率)分为n分作 为阶稊频率,采用"阶梯升速法"将速度连续升到所需要的速庋,然后锁定:按预置的曲线运 行。如(图9)所示。 用单片机实现步进电机的加/减速控制,实际上就是控制发脉冲的频率,升速时, 使脉冲頻率増高,减速时相反。如果使用定时中断来控制电机的速度,加减速控制就是不断 改变定时器的初值。速度从V1V2如果是线性增加,则按给定的斜率升降速;如果是突变 则按"阶梯升速法"处理。在此过程中要处理好两个问题 ①速度转换时间应尽量短;为了缩短速度转换的时间,可以采用建立数据表的方法。结 合各曲线段的频率和各段间的阶梯频率便可以建立一个连续的数据表,并通过转换程序将其 转换为定时初值表。通过在不同的阶段调用相应的定时初值,控制电机的运行。定时初值的 计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行 ⑨保证控制速度的精确性;要从一个速度准确达到另外一个速度,就要建立一个校验机 制,以防超过或未达到所需速度。 f放大的启动过程运 曲 线 aomen com f1(v1) Af t 启动频率 阶梯升速起动 步进电机的换向控制 般来说,驱动器的输入共有3路,它们是:步进脉冲信号CP、方向电平DR、脱机 信号FREE。它们在驱动器内部分别通过限流电阻接入光藕的负输入端,且电路形式完全相 同,在这三路输入信号的共同的控制下,驱动器将输入合适的电流来控制步进电机完成指定 的操作。另外,驱动器一般有一个接入端OPTO,该端口为三路信号的公共正端。三路输 入信号在驱动器内部接成共阳方式,所以OPTO端须接外部系统的VCC,并在需要的情况 下加限流电阻R,保证驱动器内部光藕提供合适的驱动电流 ①步进脉冲信号CP 步进脉冲信号CP用于控制步进电机的位置与速度,也就是说:驱动器每接受一个CP 脉冲就驱动步进电机一个旋转的步距角,CP脉冲的频率改变则会使步进电机的转速改变, 控制CP脉冲的个数,则可以使步进电机精确定位。 ②方向电平DR 方向电平信号DR用于控制步进电机的旋转方向,此端为高电平时,电机一个转向, 此端为低电平时,电机转向另外一个方向,电机转相必须在电机停机后进行,并且换向信号 定要在前一个方向的最后一个CP脉冲结束后以及下一个方向的第一个脉冲前发出。 ③脱机电平信号FREE 当驱动器上电后,步进电机处于锁定状态(未施加CP脉冲时)或者运行状态(施加 CP脉冲时),但当用户想手动调整电机而又不想关闭驱动器电源,这时就可以用到此信号, 当此信号起作用时(低电平有效),电机处于自由无力矩状态,当此信号为高电平时或悬空 不接时,取消脱机状态。此信号用户可选用,如果不需要此功能,此端不接即可。 步进电机换向时,定要在电机降速停止或降到突跳频率范围之内再换向,以兔产 生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个CP脉冲结束后以及下 一个方向的第一个CP脉冲前发出。如(图10)所示。对于CP脉冲的设计主要要求其有一定 的脉冲宽度(一般不小于5s)、脉冲序列的均匀度及高低电平方式。在某一高速下的正 反向切换实质包含了降速→换向→升速三个过程。 脉冲cP 前⑩R的最后 一个cP脉冲 下F的第 个cF脉冲 方向mR 此时IE转向 转向信号起作用的时刻 步进电机的位置控制 步进电机的位置控制是指要求电机从当前位置转过一个给定的步数。电机不丢步数这 控制的实际。就是要求精确地发出定量的步进脉冲,例如,机器人再现工作时的启动信号后, 要走到示教时给出的初始作业位置,就是用到位置控制。不过不带加/减速控制,位置控制 很容易实现的。将发给电机的脉冲,用计数器通道计数,到最后通过CPU停发脉冲就是了 但是这种不带加/减速的位置控制,除非速度特别低,否则会在起停时造成器械冲击、失步 图11示出了带加减速控制的速度曲线,此曲线、跟T轴间包含的面积正比于电机走过的步 数S∑,显然,电机走过的总步数S∑由三部分构成:加速阶段电机走的步数向阶梯段电机 走过的步数和减速阶段电机走的步数 vadocin coml Sa t 位置控制速度曲线 系统的设计思路 本设计的目的是实现单片机能同时实现3台或3台以上步进电机的起停、转向、加减速 和位置控制。在熟悉好各芯片的性能特点后,接下来就是分配好各芯片的控制任务。 单片机主要完成脉冲的分配,使步进电机按照设定的方式运转,通过程序设定,从单片 机的MO口输出一系列有规律的脉冲信号;由于直接输出的脉冲信号驱动功率有限,很难直 接驱动步进电机运转,所以必须经过驱动器进行脉冲放大,本设计采用的L297与L298N芯 片能解决这个问题,它可以驱动两个二相电机,也可以驱动一个四相电机。但是如果要实现 多台步电机控制的设计,就不仅要重新分配好◎资源,还要增加相应驱动芯片的数量。再 利用单片机程序分配好控制字的存储单元,以及相应的内存地址赋值,使单片机能控制步进 电机的起停、挨向顺序、速度和位置变化。 系统的设计框架 MI 动若 )动老 外部 L298 控制 电路 STC89C51 L298N 部解[(M L297、L298N与电机的电路设计 WW.Om.(前 MOTOR E 33 22K OWI CoW HALFILLL 29 A我E sINu NH2 sElct 系统的总电路设计比电路由一块STC89c51,3块L297、3块L298N、3台4相4拍步进 电机器以及相关的电路组成。利用单片机3个并行O口的部分引脚(P0.0-P0.6 P1.0.~P1.6,P2.0~P2.6)连接驱动芯片,各个端口直接与驱动芯片L297直接相连,L297 与L298N共用一个+5V的电源,输出+36V的步进电机驱动电压;L298N的2、3、13、14 四个输出引脚直接与一个四相四拍的步进电机和连。以同样的方式,连接另外两台电机的控 制电路 系统的总电路设计图 哥 1 N3时 同:6 。 P 非 2 ,目 】于 = 步进电机的转向控任务 ①判断旋转方向 ②按顺序送出控制字 ③判断字是否送完 四相四拍控制程序的设计方法步进电动机所要走的步数在R4中,转向标志存放在程 序状态寄存器PsW的用户标志位F(D5H)中。当F0=0时,步进电动机正转,当F0=1时, 步进电动机反转。正反转控制字存放在单元见表1中。 表1反转控制字存放单元 节拍 通电顺序 控制字 正转 反转 二进制 十六进制 4 A 00000001 01 2 3 00000010 02 2 00000100 04 www.aoC 00001000 08 表2正反转的内存地址斌值 控制字 内存字节地址 01H 20H 02H 21H 正转 04H 22H 08H 23H 00H 24H 【实例截图】
【核心代码】
STC89C51单片机,L297和L298N驱动电路及步进电机的基本原理与功能
入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信 号频率决定。步进电机是数字控制电机,它将脉冲信号转变成角位移,因此非常适合于单片 机控制。步进电机的角位移或线位移量与电脉冲个数成正比,它的转速或线速度与电脉冲频 率成正比。在负载能力范围内这些关系不因电源电压、负载大小、环境条件的波动而变化。 通过改变脉冲频率的高低可以在很大范围内实现步进电机的词速,并能进行快速启动、制动 和反转。 L298N的原理 L298N是ST公司生产的一种高电压,大电流电机驱动芯片。该芯片采用15脚封装 主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持 续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机 和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制:;具有两个使能控制端, 在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路 部分在低电压下工作:可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱 动电机,该芯片可以驱动两个二相电机,也可以驱动一个匹相电机,可以直接通过电源来调 节输出电压;并可以直接用单片机的O口提供信号;而且电路简单,使用比较方便。 L297的原理 L297芯片是具有20个引脚的双列直插式塑胶封装的步进电动机控制器(包括集成的硬 件环形分配器)。它可产生四相驱动信号,能用半步(八拍)和全步(四拍)等方式驱动单片机控 制两相双极或四相单极步进电机。该芯片内部的PWM斩波器允许在关模式下控制步进电动 机绕组电流,由于相序信号也是由内部产生的,因此它只需要时钟、方向和模式输入信号便 能控制步进电动机,可减轻微处理器和程序设计的负担。L297单片步进电动机控制器集成 电路的核心是脉冲分配器,L297还设有两个PWM斩波器来控制线绕组电流,实现恒流斩 波控制,以获得良好的转矩—频率特性。适用于双极性两相步进电动机或单极性四相步进 电动机的控制。L297只需从上位机接受方向(正/反转),模式(半步/基本步距),时钟(步进 脉冲)3个输入信号。它产生3种相序的信号,对应于3种不同的工作方式:半步方式(四相八 拍);基本步距,单相激励方式(单相四拍);基本步距,两相激励方式(两相两拍)。其工作方 式输出的波形如图4~6所示,初状态(HOME)是ABCD=0101。L297是20脚双列直插式塑 料封装,常以+5V供电。该单片步进电机控制器集成电路的核心是脉冲分配器,L297还设 有两个PWM斩波器来控制绕组电流,实现恒流斩波控制,以获得良好的转矩-频率特性, 实用于双极两相步进电机或者单极四相步进电机的控制。 步进电机起动及加/减速控制 速度控制中加/减控制是最基本的控制。电机由静止到达设定的最大的速度所需的时间 是由调试决定的。加速度太大,电机甚至不能克服惯性而失步,加速度太少,则完成指定的 运动耗费时间太多, 加速度有两中方案:线性加减速度控制和等步距加/减速度控制。前者規定从加速度开 始,每加速度周期指令电机速度递增相同的增量△f;后者则是要求每加速度周期屯机 走过相同的步数。等步距加/减速度控制的优点,在于加减过程中电机走的步数可以非常精 的计算,这一点对于加/的位置控制非常重要,但从电机要克服惯性力来看,线性加速 方案好些。调试也方便。线性加/减控制曲线如下图: f idocin. com △S △S 线性加速控制曲线 f=(2f1)/n,其中n为加速过程的台阶数,减速控制也类似,只是△f为负值。 步进电动机的最高起动频率〈突跳频率)一般为0.1KHz到3-4KHz,而最高运行频率则 可以达到N102kHz。以超过最高起动频率的频率直接起动,将出现失步”现象,甚至无法 起动。较为理想的起动曲线,应是按指数规律起动。但实际应用对起动段的处理可采用直线 拟合的方法,即"阶梯升速法"。可按两种情况处理,①已知突跳频窣则按突跳频率分段起动, 分段数n=所q。②未知突跳频率,则按段拟合至给定的起动频率,每段频率的递增量(后称 阶梯频率)△f=f8,即采用8段拟合。在运行控制过程中,将起始的速度(频率)分为n分作 为阶稊频率,采用"阶梯升速法"将速度连续升到所需要的速庋,然后锁定:按预置的曲线运 行。如(图9)所示。 用单片机实现步进电机的加/减速控制,实际上就是控制发脉冲的频率,升速时, 使脉冲頻率増高,减速时相反。如果使用定时中断来控制电机的速度,加减速控制就是不断 改变定时器的初值。速度从V1V2如果是线性增加,则按给定的斜率升降速;如果是突变 则按"阶梯升速法"处理。在此过程中要处理好两个问题 ①速度转换时间应尽量短;为了缩短速度转换的时间,可以采用建立数据表的方法。结 合各曲线段的频率和各段间的阶梯频率便可以建立一个连续的数据表,并通过转换程序将其 转换为定时初值表。通过在不同的阶段调用相应的定时初值,控制电机的运行。定时初值的 计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行 ⑨保证控制速度的精确性;要从一个速度准确达到另外一个速度,就要建立一个校验机 制,以防超过或未达到所需速度。 f放大的启动过程运 曲 线 aomen com f1(v1) Af t 启动频率 阶梯升速起动 步进电机的换向控制 般来说,驱动器的输入共有3路,它们是:步进脉冲信号CP、方向电平DR、脱机 信号FREE。它们在驱动器内部分别通过限流电阻接入光藕的负输入端,且电路形式完全相 同,在这三路输入信号的共同的控制下,驱动器将输入合适的电流来控制步进电机完成指定 的操作。另外,驱动器一般有一个接入端OPTO,该端口为三路信号的公共正端。三路输 入信号在驱动器内部接成共阳方式,所以OPTO端须接外部系统的VCC,并在需要的情况 下加限流电阻R,保证驱动器内部光藕提供合适的驱动电流 ①步进脉冲信号CP 步进脉冲信号CP用于控制步进电机的位置与速度,也就是说:驱动器每接受一个CP 脉冲就驱动步进电机一个旋转的步距角,CP脉冲的频率改变则会使步进电机的转速改变, 控制CP脉冲的个数,则可以使步进电机精确定位。 ②方向电平DR 方向电平信号DR用于控制步进电机的旋转方向,此端为高电平时,电机一个转向, 此端为低电平时,电机转向另外一个方向,电机转相必须在电机停机后进行,并且换向信号 定要在前一个方向的最后一个CP脉冲结束后以及下一个方向的第一个脉冲前发出。 ③脱机电平信号FREE 当驱动器上电后,步进电机处于锁定状态(未施加CP脉冲时)或者运行状态(施加 CP脉冲时),但当用户想手动调整电机而又不想关闭驱动器电源,这时就可以用到此信号, 当此信号起作用时(低电平有效),电机处于自由无力矩状态,当此信号为高电平时或悬空 不接时,取消脱机状态。此信号用户可选用,如果不需要此功能,此端不接即可。 步进电机换向时,定要在电机降速停止或降到突跳频率范围之内再换向,以兔产 生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个CP脉冲结束后以及下 一个方向的第一个CP脉冲前发出。如(图10)所示。对于CP脉冲的设计主要要求其有一定 的脉冲宽度(一般不小于5s)、脉冲序列的均匀度及高低电平方式。在某一高速下的正 反向切换实质包含了降速→换向→升速三个过程。 脉冲cP 前⑩R的最后 一个cP脉冲 下F的第 个cF脉冲 方向mR 此时IE转向 转向信号起作用的时刻 步进电机的位置控制 步进电机的位置控制是指要求电机从当前位置转过一个给定的步数。电机不丢步数这 控制的实际。就是要求精确地发出定量的步进脉冲,例如,机器人再现工作时的启动信号后, 要走到示教时给出的初始作业位置,就是用到位置控制。不过不带加/减速控制,位置控制 很容易实现的。将发给电机的脉冲,用计数器通道计数,到最后通过CPU停发脉冲就是了 但是这种不带加/减速的位置控制,除非速度特别低,否则会在起停时造成器械冲击、失步 图11示出了带加减速控制的速度曲线,此曲线、跟T轴间包含的面积正比于电机走过的步 数S∑,显然,电机走过的总步数S∑由三部分构成:加速阶段电机走的步数向阶梯段电机 走过的步数和减速阶段电机走的步数 vadocin coml Sa t 位置控制速度曲线 系统的设计思路 本设计的目的是实现单片机能同时实现3台或3台以上步进电机的起停、转向、加减速 和位置控制。在熟悉好各芯片的性能特点后,接下来就是分配好各芯片的控制任务。 单片机主要完成脉冲的分配,使步进电机按照设定的方式运转,通过程序设定,从单片 机的MO口输出一系列有规律的脉冲信号;由于直接输出的脉冲信号驱动功率有限,很难直 接驱动步进电机运转,所以必须经过驱动器进行脉冲放大,本设计采用的L297与L298N芯 片能解决这个问题,它可以驱动两个二相电机,也可以驱动一个四相电机。但是如果要实现 多台步电机控制的设计,就不仅要重新分配好◎资源,还要增加相应驱动芯片的数量。再 利用单片机程序分配好控制字的存储单元,以及相应的内存地址赋值,使单片机能控制步进 电机的起停、挨向顺序、速度和位置变化。 系统的设计框架 MI 动若 )动老 外部 L298 控制 电路 STC89C51 L298N 部解[(M L297、L298N与电机的电路设计 WW.Om.(前 MOTOR E 33 22K OWI CoW HALFILLL 29 A我E sINu NH2 sElct 系统的总电路设计比电路由一块STC89c51,3块L297、3块L298N、3台4相4拍步进 电机器以及相关的电路组成。利用单片机3个并行O口的部分引脚(P0.0-P0.6 P1.0.~P1.6,P2.0~P2.6)连接驱动芯片,各个端口直接与驱动芯片L297直接相连,L297 与L298N共用一个+5V的电源,输出+36V的步进电机驱动电压;L298N的2、3、13、14 四个输出引脚直接与一个四相四拍的步进电机和连。以同样的方式,连接另外两台电机的控 制电路 系统的总电路设计图 哥 1 N3时 同:6 。 P 非 2 ,目 】于 = 步进电机的转向控任务 ①判断旋转方向 ②按顺序送出控制字 ③判断字是否送完 四相四拍控制程序的设计方法步进电动机所要走的步数在R4中,转向标志存放在程 序状态寄存器PsW的用户标志位F(D5H)中。当F0=0时,步进电动机正转,当F0=1时, 步进电动机反转。正反转控制字存放在单元见表1中。 表1反转控制字存放单元 节拍 通电顺序 控制字 正转 反转 二进制 十六进制 4 A 00000001 01 2 3 00000010 02 2 00000100 04 www.aoC 00001000 08 表2正反转的内存地址斌值 控制字 内存字节地址 01H 20H 02H 21H 正转 04H 22H 08H 23H 00H 24H 【实例截图】
【核心代码】
标签:
好例子网口号:伸出你的我的手 — 分享!
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论