基于S7-200的步进电机控制器设计
时间:04-26
来源:互联网
点击:
控制器设计
通常情况下,步进电机驱动系统由控制电路、驱动电路和步进电机三部分构成,如图3a所示。图3b为步进电机驱动控制电路的硬件连接框图。
图中I1.0、I1.1和I1.5为输入控制信号端;Q0.0和Q0.1为两路高速脉冲,分别负责驱动电机开启定位和停止控制。
控制电路
控制电路用于产生脉冲,以控制电机的速度和转向[5]。本设计中采用SIMATIC S7-200 CPU-214 PLC[6]作为控制核心部件。S7-200PLC 的CPU214有两个脉冲输出,可以用来产生控制步进电机驱动器的脉冲,实现控制要求。S7-200CPU 含有高速脉冲输出功能,CPU脉冲输出频率达20KHz~100KHz,可以用来驱动步进电机或伺服电机,并由电机直接驱动负载主轴旋转,完成控制工艺所要求的动作。
驱动电路
驱动电路由脉冲信号分配和功率细分驱动电路组成。根据控制器输入的脉冲和方向信号,为步进电机各绕组提供正确的通电顺序,以及电机需要的高电压、大电流;同时提供各种保护措施,如过流、过热等保护[7]。功率驱动器将控制脉冲按照设定的模式转换成步进电机线圈的电流,产生旋转磁场,使得转子只能按固定的步数来改变它的位置[6]。连续的脉冲序列产生与其对应同频率的步序列。如果控制频率足够高,步进电机的转动可看作连续的转动。
步进电机
控制信号经驱动器放大后驱动步进电机,带动负载[8]。用S7-200PLC Q0.0和Q0.1的输出脉冲触发步进电机驱动器。当输入端I1.0发出“START”信号后,控制器将输出固定数目的方波脉冲,使步进电机按对应的步数转动;当输入端I1.1 发出“STOP”信号后,步进电机停止转动;接在输入端I1.5的方向开关位置决定电机正转或反转。本设计采用带有标准功率驱动器和相关连接电缆的步进电机。
各组成模块的选择和功能
由于“额定电流可调的等角度恒力矩细分”驱动方法的实质是恒流控制,其关键是电流的精确控制,本设计在器件选择是同时兼顾以下各个条件:D/A 转换器输出的电流值与期望值相当接近,而且转换速度要快;SPI口通信,频率高达50 MHz,建立时间快,同时单电压供电,连接简单;检测到的电流可正确地反映此时的相电流,采用的检测方法为霍尔传感器,该方法检测准确、干扰小、连接也较简单;比较器分辨率高、转换速度快;控制功率管开关的逻辑电路有很高的实时性,保证相电流在设定电流上下做很小的波动,避免了引起浪涌而干扰控制电路。
S7-200根据收到的脉冲信号进行脉冲信号分配,确定各相通电顺序,并与电流检测模块里的D触发器相连。同时根据用户设定的电流值和细分数通过SPI口与A/D转换器通信,得到设定的电流值(实际上是电流对应的电压值)。
A/D转换器输出的值为期望的电流对应的电压值,它必须与从功率模块检测得到的电流对应的电压值进行比较,并把比较结果与电流检测模块里面的D 触发器相连。
电流检测模块主要由D触发器进行逻辑控制。该模块与电流、细分设定的拨码开关相连,把得到的值通过SPI口传给单片机。以D触发器为核心的控制逻辑,根据单片机的各相通电顺序和比较器的比较结果确定各功率管的开关。功率驱动模块直接与电机相连,驱动电机。可采用8个MOS管IRF740构成2个 H桥双极型驱动电路。
软件设计
在程序的编制中,为使步进电机换向时平滑过渡,避免产生错步,应在每一步中设置标志位[3]。在正转时,不仅给正转标志位赋值,也同时给反转标志位赋值;在反转时也需做如此处理。这样,当步进电机换向时,以上一次的位置作为起点反向运动,避免了电机换向时产生错步[10]。步进电机控制系统的软件主要由主控程序、细分驱动程序、键处理程序、显示数据处理及显示驱动程序、通信监控程序等部分组成。细分驱动主控制程序控制整个程序的流程,主要完成程序的初始化、参考点的设置和取消、定位控制和电机的停止/启动等。初始化。在程序的第一个扫描周期,初始化重要参数。选择旋转方向和解除联锁。
设置和取消参考点。如果还没有确定参考点,那么参考点曲线应从按“START”按钮(I1.0)开始。CPU有可能输出最大数量的控制脉冲。在所需的参考点,按“设置/取消参考点”开关后,首先调用停止电机的子程序。然后,再把新的操作模式“定位控制激活”显示在输出端Q1.0。如果开关已激活,而且“定位控制”也被激活,则切换到“参考点曲线”,并取消“定位控制激活”(Q1.0=0)。此外,控制还为输出最大数量的控制脉冲做准备。当再次激活开关,便在两个模式之间切换。如果此信号产生的同时电机在运转,那么电机就自动停止。
定位控制。如果确定了一个参考点,而且没有联锁,那么就执行相对的定位控制,控制器从输入字节读出对偶码方式的定位角度。与此角度有关的脉冲数,根据下面的公式计算:N=f/360o×S(式中N表示控制脉冲数,f表示旋转角度,S表示每转所需的步数)。
停止电机。按“STOP”(停止)按扭(I1.1),控制端Q0.0输出结束脉冲,可在任何时候停止电机。
通常情况下,步进电机驱动系统由控制电路、驱动电路和步进电机三部分构成,如图3a所示。图3b为步进电机驱动控制电路的硬件连接框图。
图中I1.0、I1.1和I1.5为输入控制信号端;Q0.0和Q0.1为两路高速脉冲,分别负责驱动电机开启定位和停止控制。
控制电路
控制电路用于产生脉冲,以控制电机的速度和转向[5]。本设计中采用SIMATIC S7-200 CPU-214 PLC[6]作为控制核心部件。S7-200PLC 的CPU214有两个脉冲输出,可以用来产生控制步进电机驱动器的脉冲,实现控制要求。S7-200CPU 含有高速脉冲输出功能,CPU脉冲输出频率达20KHz~100KHz,可以用来驱动步进电机或伺服电机,并由电机直接驱动负载主轴旋转,完成控制工艺所要求的动作。
驱动电路
驱动电路由脉冲信号分配和功率细分驱动电路组成。根据控制器输入的脉冲和方向信号,为步进电机各绕组提供正确的通电顺序,以及电机需要的高电压、大电流;同时提供各种保护措施,如过流、过热等保护[7]。功率驱动器将控制脉冲按照设定的模式转换成步进电机线圈的电流,产生旋转磁场,使得转子只能按固定的步数来改变它的位置[6]。连续的脉冲序列产生与其对应同频率的步序列。如果控制频率足够高,步进电机的转动可看作连续的转动。
步进电机
控制信号经驱动器放大后驱动步进电机,带动负载[8]。用S7-200PLC Q0.0和Q0.1的输出脉冲触发步进电机驱动器。当输入端I1.0发出“START”信号后,控制器将输出固定数目的方波脉冲,使步进电机按对应的步数转动;当输入端I1.1 发出“STOP”信号后,步进电机停止转动;接在输入端I1.5的方向开关位置决定电机正转或反转。本设计采用带有标准功率驱动器和相关连接电缆的步进电机。
各组成模块的选择和功能
由于“额定电流可调的等角度恒力矩细分”驱动方法的实质是恒流控制,其关键是电流的精确控制,本设计在器件选择是同时兼顾以下各个条件:D/A 转换器输出的电流值与期望值相当接近,而且转换速度要快;SPI口通信,频率高达50 MHz,建立时间快,同时单电压供电,连接简单;检测到的电流可正确地反映此时的相电流,采用的检测方法为霍尔传感器,该方法检测准确、干扰小、连接也较简单;比较器分辨率高、转换速度快;控制功率管开关的逻辑电路有很高的实时性,保证相电流在设定电流上下做很小的波动,避免了引起浪涌而干扰控制电路。
S7-200根据收到的脉冲信号进行脉冲信号分配,确定各相通电顺序,并与电流检测模块里的D触发器相连。同时根据用户设定的电流值和细分数通过SPI口与A/D转换器通信,得到设定的电流值(实际上是电流对应的电压值)。
A/D转换器输出的值为期望的电流对应的电压值,它必须与从功率模块检测得到的电流对应的电压值进行比较,并把比较结果与电流检测模块里面的D 触发器相连。
电流检测模块主要由D触发器进行逻辑控制。该模块与电流、细分设定的拨码开关相连,把得到的值通过SPI口传给单片机。以D触发器为核心的控制逻辑,根据单片机的各相通电顺序和比较器的比较结果确定各功率管的开关。功率驱动模块直接与电机相连,驱动电机。可采用8个MOS管IRF740构成2个 H桥双极型驱动电路。
软件设计
在程序的编制中,为使步进电机换向时平滑过渡,避免产生错步,应在每一步中设置标志位[3]。在正转时,不仅给正转标志位赋值,也同时给反转标志位赋值;在反转时也需做如此处理。这样,当步进电机换向时,以上一次的位置作为起点反向运动,避免了电机换向时产生错步[10]。步进电机控制系统的软件主要由主控程序、细分驱动程序、键处理程序、显示数据处理及显示驱动程序、通信监控程序等部分组成。细分驱动主控制程序控制整个程序的流程,主要完成程序的初始化、参考点的设置和取消、定位控制和电机的停止/启动等。初始化。在程序的第一个扫描周期,初始化重要参数。选择旋转方向和解除联锁。
设置和取消参考点。如果还没有确定参考点,那么参考点曲线应从按“START”按钮(I1.0)开始。CPU有可能输出最大数量的控制脉冲。在所需的参考点,按“设置/取消参考点”开关后,首先调用停止电机的子程序。然后,再把新的操作模式“定位控制激活”显示在输出端Q1.0。如果开关已激活,而且“定位控制”也被激活,则切换到“参考点曲线”,并取消“定位控制激活”(Q1.0=0)。此外,控制还为输出最大数量的控制脉冲做准备。当再次激活开关,便在两个模式之间切换。如果此信号产生的同时电机在运转,那么电机就自动停止。
定位控制。如果确定了一个参考点,而且没有联锁,那么就执行相对的定位控制,控制器从输入字节读出对偶码方式的定位角度。与此角度有关的脉冲数,根据下面的公式计算:N=f/360o×S(式中N表示控制脉冲数,f表示旋转角度,S表示每转所需的步数)。
停止电机。按“STOP”(停止)按扭(I1.1),控制端Q0.0输出结束脉冲,可在任何时候停止电机。
步进电机 机器人 电路 电流 电压 电动机 PLC 传感器 比较器 单片机 集成电路 红外 电子 相关文章:
- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 用MSP430单片机实现微波成像系统的扫描控制与数据采集(06-20)
- 基于可调式模拟激光脉冲的激光告警器在线检测仪(10-20)
- 单片机对仪表步进电机的细分控制(10-20)
- 使用L6506 实现步进电机的电流控制(12-10)
- 基于嵌入式Web服务器的智能温室监控系统(01-25)
